Files
Sheep-Service/docker-compose.yml
2025-09-09 00:10:53 +03:00

77 lines
1.8 KiB
YAML

services:
api:
container_name: sheep-service-api
image: sheep-service/api
build: ./api
restart: always
ports:
- "4000:4000"
volumes:
- "${DB_PATH:-./data}:/app/data"
- "${CARDS_PATH:-./data}:/app/data/cards"
environment:
- DATABASE_PATH=/app/data/
- CARDS_PATH=/app/data/cards/
- PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
- VAPID_PUBLIC_KEY=${VAPID_PUBLIC_KEY}
- VAPID_PRIVATE_KEY=${VAPID_PRIVATE_KEY}
- DOMAIN=${DOMAIN}
shm_size: '1gb'
networks:
- network
ws:
container_name: sheep-service-ws
image: sheep-service/ws
build: ./ws
restart: always
ports:
- "4001:4001"
volumes:
- "${DB_PATH:-./data}:/app/data"
environment:
- DATABASE_PATH=/app/data/
networks:
- network
web:
container_name: sheep-service-web
image: sheep-service/web
build: ./web
restart: always
ports:
- "4002:4002"
volumes:
- "${CARDS_PATH:-./data}:/app/data/cards"
- "${MAP_PATH:-./data}:/app/data/map"
environment:
- CARDS_PATH=/app/data/cards/
- MAP_PATH=/app/data/map/
networks:
- network
nginx:
profiles: ["with-nginx"]
image: nginx:latest
container_name: sheep-service-nginx
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx/default.conf.template:/etc/nginx/templates/default.conf.template:ro
- ./nginx/certs:/etc/letsencrypt/live
- ./nginx/html:/usr/share/nginx/html
- ./nginx/log:/var/log/nginx
environment:
- DOMAIN=${DOMAIN}
command: /bin/sh -c "envsubst '\$DOMAIN' < /etc/nginx/templates/default.conf.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
networks:
- network
volumes:
data:
networks:
network:
external: false