diff --git a/.env.sample b/.env.sample
index 4f5483aa15940159b3e02b521b0caf4864ed2f31..c48a20436cc74a7c328a7c9c30cf79b30bbeb183 100644
--- a/.env.sample
+++ b/.env.sample
@@ -1,12 +1,22 @@
-COMPOSE_FILE=docker-compose.yml
+# For prod
+# COMPOSE_FILE=docker-compose.yml:traefik.yml
+# For local
+COMPOSE_FILE=docker-compose.yml:ports.yml
 
+NAME=servermon
+HOST=some-host.fqdn
+
+# For local deployment
+PORT=3000
+
+# Variable to change
+
+SECRET_ROOT_USER=                       # User as the root admin user
+SECRET_ROOT_PASSWORD=                   # The admin user password (change this after signed in)
+SECRET_ROOT_EMAIL=                      # The email for the admin user
+SECRET_JWT_SECRET=                      # Override this for the secret signin JWT tokens for log in
+
+# Instance variable
 SECRET_LOCAL_HOSTNAME=0.0.0.0           # The local hostname for the fastify instance
-SECRET_PORT=3000                        # The port number for the fastify instance
-SECRET_HOST=!changeme!                  # Used for i.e. set cors/cookies to your domain name
-SECRET_ROOT_USER=groot                  # User as the root admin user
-SECRET_ROOT_PASSWORD=iamroot            # The admin user password (change this after signed in)
-SECRET_ROOT_EMAIL=groot@hemmelig.app    # The email for the admin user
 SECRET_FILE_SIZE=4                      # Set the total allowed upload file size in mb
 SECRET_FORCED_LANGUAGE=fr               # Set the default language for the application
-SECRET_JWT_SECRET=!changeme!            # Override this for the secret signin JWT tokens for log in
-SECRET_MAX_TEXT_SIZE=256                # The max text size for the secret. Is set in kb. i.e. 256 for 256kb
diff --git a/docker-compose.yml b/docker-compose.yml
index 8712614a7daf04346b62e0a5adc75e8de6211f99..c954f0b76066b52967cfe0633080039f19ff96f3 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -10,20 +10,15 @@ services:
             - ./database/:/home/node/hemmelig/database/
         environment:
             - SECRET_LOCAL_HOSTNAME=${SECRET_LOCAL_HOSTNAME}
-            - SECRET_PORT=${SECRET_PORT}
-            - SECRET_HOST=${SECRET_HOST}
+            - SECRET_PORT=${PORT}
+            - SECRET_HOST=${HOST}
             - SECRET_ROOT_USER=${SECRET_ROOT_USER}
             - SECRET_ROOT_PASSWORD=${SECRET_ROOT_PASSWORD}
             - SECRET_ROOT_EMAIL=${SECRET_ROOT_EMAIL}
-            - SECRET_FILE_SIZE=${SECRET_FILE_SIZE}
             - SECRET_FORCED_LANGUAGE=${SECRET_FORCED_LANGUAGE}
             - SECRET_JWT_SECRET=${SECRET_JWT_SECRET}
-            - SECRET_MAX_TEXT_SIZE=${SECRET_MAX_TEXT_SIZE}
-        ports:
-            - '3000:3000'
         restart: unless-stopped
 
 volumes:
   data:
   database:
-
diff --git a/ports.yml b/ports.yml
new file mode 100644
index 0000000000000000000000000000000000000000..535bab542f7bfcd7fdb74f777e6befd55f485377
--- /dev/null
+++ b/ports.yml
@@ -0,0 +1,6 @@
+version: "3"
+
+services:
+    hemmelig:
+        ports:
+            - ${PORT}:3000
diff --git a/traefik.yml b/traefik.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f0f3b69d3c83ac9e4211bc5386939fc8b08ec2c2
--- /dev/null
+++ b/traefik.yml
@@ -0,0 +1,18 @@
+version: "3"
+services:
+  kasm:
+    networks:
+      - default
+      - traefik
+    labels:
+      - "traefik.enable=true"
+      - "traefik.docker.network=traefik"
+      - "traefik.http.routers.${NAME}.rule=Host(`${HOST}`)"
+      - "traefik.http.routers.${NAME}.tls.certresolver=myresolver"
+      - "traefik.http.routers.${NAME}.entrypoints=web,websecure"
+      - "traefik.http.services.${NAME}.loadbalancer.server.port=3000"
+      - "traefik.http.services.${NAME}.loadbalancer.server.scheme=https"
+
+networks:
+  traefik:
+    external: true