diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000000000000000000000000000000000000..04cf8d5a11b7fac02175b8de61c6621c58e0b01c
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,7 @@
+.idea
+.env.example
+.gitignore
+./docker-compose.yml
+./Dockerfile
+./README.md
+./tonality-soap.iml
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..a0d1603b73447e98a7ab2319a71c102b267bd3eb
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,7 @@
+FROM adoptopenjdk/maven-openjdk8
+
+WORKDIR /tonality/tonality-soap
+
+COPY . .
+
+CMD ["sh", "-c", "mvn clean package && java -jar ./target/tonality-soap-1.0-SNAPSHOT-shaded.jar"]
diff --git a/pom.xml b/pom.xml
index 639daede46f78db37c3cafa2f064b6c9d110414d..69810637e78173085af8df55c3ed2b080703f265 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,6 +14,29 @@
                 <directory>src/main/resources</directory>
             </resource>
         </resources>
+
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-shade-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>shade</goal>
+                        </goals>
+                        <configuration>
+                            <shadedArtifactAttached>true</shadedArtifactAttached>
+                            <transformers>
+                                <transformer implementation=
+                                                     "org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+                                    <mainClass>org.tonality.App</mainClass>
+                                </transformer>
+                            </transformers>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
     </build>
 
     <properties>
diff --git a/src/main/java/App.java b/src/main/java/org/tonality/App.java
similarity index 93%
rename from src/main/java/App.java
rename to src/main/java/org/tonality/App.java
index bb905f9271fbbdb0021870785ac5a873439d172a..edd367b7a2a64d3a675ddf701d0dff5c10d8b2ec 100644
--- a/src/main/java/App.java
+++ b/src/main/java/org/tonality/App.java
@@ -1,10 +1,12 @@
+package org.tonality;
+
 import org.tonality.service.Subscription;
 
 import javax.xml.ws.Endpoint;
 
 public class App {
     public static void main(String[] args) {
-        System.out.println("Endpoint published at http://localhost:8888/subscription");
         Endpoint.publish("http://localhost:8888/subscription", new Subscription());
+        System.out.println("Endpoint published at http://localhost:8888/subscription");
     }
 }