diff --git a/.env.prod.example b/.env.prod.example
new file mode 100644
index 0000000000000000000000000000000000000000..75a375e5d56b795552299b94aa4d3ae6106443b7
--- /dev/null
+++ b/.env.prod.example
@@ -0,0 +1,15 @@
+# example .env file for docker-compose.prod.yml
+
+DB_USER=postgres
+DB_PASSWORD=postgrespassword
+DB_DATABASE=postgres
+HASURA_LISTEN_PORT=8888
+HASURA_GRAPHQL_ADMIN_SECRET=hasura_admin_secret
+KUBO_GATEWAY_PORT=8080
+KUBO_DOMAIN=datapod.coinduf.eu
+KUBO_WEBSOCKET_DOMAIN=websocket.datapod.coinduf.eu
+KUBO_GATEWAY_DOMAIN=gateway.datapod.coinduf.eu
+KUBO_GATEWAY_SUBDOMAIN=pagu.re
+
+# configure the node boot
+DATAPOD_BOOT=bafyreih4jspnqnsd4o3sdqv7c765uyylhtlh5majjw6aq6clilkq7tmqey
\ No newline at end of file
diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml
index 452aa5603958595a8a1663c4522f29106f23122f..def34aea7a68384887e41142ced1d7775b9be4e0 100644
--- a/docker-compose.prod.yml
+++ b/docker-compose.prod.yml
@@ -8,11 +8,11 @@ services:
     volumes:
       - db_data:/var/lib/postgresql/data
     environment:
-      POSTGRES_USER: ${DB_USER:-postgres}
-      POSTGRES_PASSWORD: ${DB_PASSWORD:-postgrespassword}
-      POSTGRES_DB: ${DB_DATABASE:-postgres}
+      POSTGRES_USER: ${DB_USER}
+      POSTGRES_PASSWORD: ${DB_PASSWORD}
+      POSTGRES_DB: ${DB_DATABASE}
     healthcheck:
-      test: ['CMD-SHELL', 'pg_isready -U postgres -d postgres']
+      test: ["CMD-SHELL", "pg_isready -U ${DB_USER} -d postgres"]
       interval: 1s
 
   # ------
@@ -23,14 +23,14 @@ services:
         condition: service_healthy
     restart: always
     ports:
-      - '${HASURA_LISTEN_PORT:-8765}:8080'
+      - "127.0.0.1:${HASURA_LISTEN_PORT}:8080"
     environment:
-      HASURA_GRAPHQL_DATABASE_URL: postgres://${DB_USER:-postgres}:${DB_PASSWORD:-postgrespassword}@postgres:5432/${DB_DATABASE:-postgres}
+      HASURA_GRAPHQL_DATABASE_URL: postgres://${DB_USER}:${DB_PASSWORD}@postgres:5432/${DB_DATABASE}
       HASURA_GRAPHQL_ENABLE_CONSOLE: true
       HASURA_GRAPHQL_DEV_MODE: false
       HASURA_GRAPHQL_UNAUTHORIZED_ROLE: public
       HASURA_GRAPHQL_ENABLE_TELEMETRY: false
-      HASURA_GRAPHQL_ADMIN_SECRET: ${HASURA_GRAPHQL_ADMIN_SECRET:-my_hasura_secret}
+      HASURA_GRAPHQL_ADMIN_SECRET: ${HASURA_GRAPHQL_ADMIN_SECRET}
 
   # ------
   kubo:
@@ -39,8 +39,11 @@ services:
       # p2p port public
       - 4001:4001
       - 4001:4001/udp
+      # p2p through websocket
+      - 127.0.0.1:4002:4002
       # public gateway
-      - ${KUBO_GATEWAY_PORT:-8080}:8080
+      - 127.0.0.1:${KUBO_GATEWAY_PORT}:8080
+      - "[::1]:${KUBO_GATEWAY_PORT}:8080"
       # expose RPC locally to allow access with ssh tunnel
       - 127.0.0.1:5001:5001
     volumes:
@@ -48,10 +51,10 @@ services:
       # optional volume if you want to persist the configuration script in order to change it
       # - kubo_init:/container-init.d
     environment:
-      KUBO_DOMAIN: 'datapod.coinduf.eu'
-      KUBO_WEBSOCKET_DOMAIN: 'websocket.datapod.coinduf.eu'
-      KUBO_GATEWAY_DOMAIN: 'gateway.datapod.coinduf.eu'
-      KUBO_GATEWAY_SUBDOMAIN: 'subgateway.datapod.coinduf.eu'
+      KUBO_DOMAIN: ${KUBO_DOMAIN}
+      KUBO_WEBSOCKET_DOMAIN: ${KUBO_WEBSOCKET_DOMAIN}
+      KUBO_GATEWAY_DOMAIN: ${KUBO_GATEWAY_DOMAIN}
+      KUBO_GATEWAY_SUBDOMAIN: ${KUBO_GATEWAY_SUBDOMAIN}
     restart: always
 
   # ------
@@ -62,8 +65,8 @@ services:
     depends_on:
       kubo:
         condition: service_healthy
-    entrypoint: 'ipfs'
-    command: ['--api=/dns/kubo/tcp/5001', 'pubsub', 'sub', 'ddd']
+    entrypoint: "ipfs"
+    command: ["--api=/dns/kubo/tcp/5001", "pubsub", "sub", "ddd"]
 
   # ------
   datapod:
@@ -74,14 +77,14 @@ services:
       kubo:
         condition: service_healthy
     environment:
-      KUBO_RPC: 'http://kubo:5001'
+      KUBO_RPC: "http://kubo:5001"
       DB_HOST: postgres
       DB_PORT: 5432
-      DB_USER: ${DB_USER:-postgres}
-      DB_PASSWORD: ${DB_PASSWORD:-postgrespassword}
+      DB_USER: ${DB_USER}
+      DB_PASSWORD: ${DB_PASSWORD}
     restart: always
     # use the datapod collector and indexer, start using given IPNS entry
-    command: ['./src/indexer/start.ts', '/ipns/k51qzi5uqu5dieiax3cwjph3w0ijvgaoiowclruxcrrt7k171e1ik855or2b37']
+    command: ["./src/indexer/start.ts", "${DATAPOD_BOOT}"]
 
 volumes:
   db_data: