77 lines
1.8 KiB
YAML
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 |