98 lines
2.3 KiB
YAML
98 lines
2.3 KiB
YAML
services:
|
|
web:
|
|
image: sheep-service/web
|
|
build: ./web
|
|
restart: always
|
|
expose:
|
|
- "4002"
|
|
volumes:
|
|
- "${DATA_PATH:-./data}:/app/data"
|
|
environment:
|
|
- TZ=${TZ}
|
|
- CARDS_PATH=/app/data/cards/
|
|
- MAP_PATH=/app/data/map/
|
|
networks:
|
|
- network
|
|
|
|
api:
|
|
image: sheep-service/api
|
|
build: ./api
|
|
restart: always
|
|
expose:
|
|
- "4003"
|
|
volumes:
|
|
- "${DATA_PATH:-./data}:/app/data"
|
|
environment:
|
|
- TZ=${TZ}
|
|
- 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}
|
|
- ADMIN_TOKEN=${ADMIN_TOKEN}
|
|
- TELEGRAM_TOKEN=${TELEGRAM_TOKEN}
|
|
- STAND_CHAT_ID=${STAND_CHAT_ID}
|
|
shm_size: '1gb'
|
|
networks:
|
|
- network
|
|
|
|
ws:
|
|
image: sheep-service/ws
|
|
build: ./ws
|
|
restart: always
|
|
expose:
|
|
- "4004"
|
|
volumes:
|
|
- "${DATA_PATH:-./data}:/app/data"
|
|
environment:
|
|
- TZ=${TZ}
|
|
- DATABASE_PATH=/app/data/
|
|
- VAPID_PUBLIC_KEY=${VAPID_PUBLIC_KEY}
|
|
- VAPID_PRIVATE_KEY=${VAPID_PRIVATE_KEY}
|
|
- DOMAIN=${DOMAIN}
|
|
networks:
|
|
- network
|
|
|
|
nginx:
|
|
image: nginx:latest
|
|
restart: always
|
|
ports:
|
|
- "${HTTP_PORT}:80"
|
|
- "${HTTPS_PORT}: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:
|
|
- TZ=${TZ}
|
|
- 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
|
|
|
|
cron:
|
|
image: sheep-service/cron
|
|
build: ./cron
|
|
restart: always
|
|
volumes:
|
|
- "${DATA_PATH:-./data}:/app/data"
|
|
environment:
|
|
- TZ=${TZ}
|
|
- DATABASE_PATH=/app/data/
|
|
- TELEGRAM_TOKEN=${TELEGRAM_TOKEN}
|
|
- STAND_CHAT_ID=${STAND_CHAT_ID}
|
|
- CHAT_ID=${CHAT_ID}
|
|
- VAPID_PUBLIC_KEY=${VAPID_PUBLIC_KEY}
|
|
- VAPID_PRIVATE_KEY=${VAPID_PRIVATE_KEY}
|
|
- DOMAIN=${DOMAIN}
|
|
networks:
|
|
- network
|
|
|
|
volumes:
|
|
data:
|
|
|
|
networks:
|
|
network:
|
|
driver: bridge |