feat: Add webshot roulette

This commit is contained in:
Tony Du 2025-02-12 11:38:56 -08:00
parent 4ca635b1bc
commit 60ceaa529a

View File

@ -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