feat: configure realtime services and update environment variables

This commit is contained in:
Giuseppe Raffa
2026-04-14 13:23:26 +02:00
parent 0ae64d0c5b
commit 1044837080
4 changed files with 98 additions and 86 deletions

View File

@@ -1,32 +1,32 @@
services:
# auth:
# container_name: auth
# build:
# context: ./auth
# dockerfile: Dockerfile
# restart: unless-stopped
# command: npm run dev
# volumes:
# - ./auth:/app
# - /app/node_modules
# env_file:
# - ./auth/.env
# healthcheck:
# test: ["CMD", "node", "-e", "fetch('http://localhost:3006/health').then(r => r.ok ? process.exit(0) : process.exit(1))"]
# interval: 30s
# timeout: 5s
# retries: 3
# networks:
# - meb-proxy-net
# - meb-internal
# ports:
# - "3006:3006"
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.auth.rule=Host(`auth.${URL_DOMAIN}`)"
# - "traefik.http.routers.auth.entrypoints=web"
# - "traefik.http.services.auth.loadbalancer.server.port=3006"
# - "traefik.docker.network=meb-proxy-net"
auth:
container_name: auth
build:
context: ./auth
dockerfile: Dockerfile
restart: unless-stopped
command: npm run dev
volumes:
- ./auth:/app
- /app/node_modules
env_file:
- ./auth/.env
healthcheck:
test: ["CMD", "node", "-e", "fetch('http://localhost:3006/health').then(r => r.ok ? process.exit(0) : process.exit(1))"]
interval: 30s
timeout: 5s
retries: 3
networks:
- meb-public
- meb-private
ports:
- "3006:3006"
labels:
- "traefik.enable=true"
- "traefik.http.routers.auth.rule=Host(`auth.mebboat.it`)"
- "traefik.http.routers.auth.entrypoints=websecure"
- "traefik.http.services.auth.loadbalancer.server.port=3006"
- "traefik.docker.network=meb-public"
api:
container_name: api-services
@@ -45,8 +45,6 @@ services:
networks:
- meb-public
- meb-private
ports:
- "3003:3003"
labels:
- "traefik.enable=true"
- "traefik.http.routers.api.rule=Host(`api.mebboat.it`)"
@@ -55,56 +53,74 @@ services:
- "traefik.http.routers.api.tls.certresolver=letsencrypt"
- "traefik.docker.network=meb-public"
# console:
# build:
# context: ./console
# dockerfile: Dockerfile
# restart: unless-stopped
# command: npm run dev
# volumes:
# - ./console:/app
# - /app/node_modules
# env_file:
# - ./console/.env
# networks:
# - meb-proxy-net
# - meb-internal
# ports:
# - "3004:3004"
console:
build:
context: ./console
dockerfile: Dockerfile
restart: unless-stopped
command: npm run dev
volumes:
- ./console:/app
- /app/node_modules
env_file:
- ./console/.env
networks:
- meb-public
- meb-private
labels:
- "traefik.enable=true"
- "traefik.http.routers.console.rule=Host(`console.mebboat.it`)"
- "traefik.http.routers.console.entrypoints=websecure"
- "traefik.http.services.console.loadbalancer.server.port=3004"
- "traefik.http.routers.console.tls.certresolver=letsencrypt"
- "traefik.docker.network=meb-public"
# realtime:
# build:
# context: ./realtime
# dockerfile: Dockerfile
# restart: unless-stopped
# command: npm run dev
# ports:
# - "3002:3002"
# - "3102:3102"
# volumes:
# - ./realtime:/app
# - /app/node_modules
# env_file:
# - ./realtime/.env
# networks:
# - meb-proxy-net
# - meb-internal
realtime:
build:
context: ./realtime
dockerfile: Dockerfile
restart: unless-stopped
command: npm run dev
volumes:
- ./realtime:/app
- /app/node_modules
env_file:
- ./realtime/.env
networks:
- meb-private
- meb-public
labels:
- "traefik.enable=true"
- "traefik.http.routers.realtime.rule=Host(`realtime.mebboat.it`)"
- "traefik.http.routers.realtime.entrypoints=websecure"
- "traefik.http.services.realtime.loadbalancer.server.port=3002"
- "traefik.http.routers.realtime.tls.certresolver=letsencrypt"
- "traefik.docker.network=meb-public"
# ml:
# container_name: ml-service
# build:
# context: ./ml
# dockerfile: Dockerfile
# restart: unless-stopped
# volumes:
# - ./ml:/app
# env_file:
# - ./ml/.env
# ports:
# - "3005:3005"
# networks:
# - meb-proxy-net
# - meb-internal
- "traefik.http.services.realtime.loadbalancer.sticky.cookie=true"
- "traefik.http.services.realtime.loadbalancer.sticky.cookie.name=realtime-ws"
- "traefik.http.services.realtime.loadbalancer.sticky.cookie.secure=true"
ml:
container_name: ml-service
build:
context: ./ml
dockerfile: Dockerfile
restart: unless-stopped
volumes:
- ./ml:/app
env_file:
- ./ml/.env
networks:
- meb-private
- meb-public
labels:
- "traefik.enable=true"
- "traefik.http.routers.ml.rule=Host(`ml.mebboat.it`)"
- "traefik.http.routers.ml.entrypoints=websecure"
- "traefik.http.services.ml.loadbalancer.server.port=8000"
- "traefik.http.routers.ml.tls.certresolver=letsencrypt"
- "traefik.docker.network=meb-public"
# marine:
# container_name: marine-service