From 60ceaa529a66a10ce9f89b6421ad4bd9f3abf5a9 Mon Sep 17 00:00:00 2001 From: Tony Du Date: Wed, 12 Feb 2025 11:38:56 -0800 Subject: [PATCH] feat: Add webshot roulette --- .../webshot-roulette/docker-compose.yml | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 docker/stacks/webshot-roulette/docker-compose.yml diff --git a/docker/stacks/webshot-roulette/docker-compose.yml b/docker/stacks/webshot-roulette/docker-compose.yml new file mode 100644 index 0000000..3a1e15b --- /dev/null +++ b/docker/stacks/webshot-roulette/docker-compose.yml @@ -0,0 +1,74 @@ +--- +version: '3.8' + +networks: + webshot-roulette: + name: webshot-roulette + traefik: + external: true + +services: + redis: + image: "redis:7.4.2-alpine" + restart: unless-stopped + networks: + - webshot-roulette + + server: + image: ${SERVER_IMAGE:-ghcr.io/tonyd33/webshot-roulette/server} + restart: unless-stopped + depends_on: + - redis + command: "node dist/server/src/main.js" + environment: + - PORT=6707 + - NODE_ENV=production + - REDIS_HOST=redis + - REDIS_PORT=6379 + networks: + - webshot-roulette + deploy: + mode: replicated + replicas: 1 + placement: + constraints: [node.role != manager] + resources: + limits: + cpus: '0.5' + memory: 512M + reservations: + cpus: '0.1' + memory: 64M + + client: + image: ${CLIENT_IMAGE:-ghcr.io/tonyd33/webshot-roulette/client} + restart: unless-stopped + depends_on: + - server + command: "npm run start" + environment: + - PORT=9422 + - "SERVER_URL=http://server:6707" + networks: + - webshot-roulette + - traefik + deploy: + labels: + - "traefik.enable=true" + - "traefik.http.routers.webshot_roulette.rule=Host(`${WEBSHOT_ROULETTE_HOST:-rlt.stingray.mnke.org}`)" + - "traefik.http.routers.webshot_roulette.entrypoints=websecure" + - "traefik.http.routers.webshot_roulette.tls.certresolver=letsencrypt" + - "traefik.http.services.webshot_roulette.loadbalancer.server.port=9422" + - "traefik.swarm.network=traefik" + mode: replicated + replicas: 1 + placement: + constraints: [node.role != manager] + resources: + limits: + cpus: '0.5' + memory: 512M + reservations: + cpus: '0.1' + memory: 64M +