49 lines
1.2 KiB
YAML
49 lines
1.2 KiB
YAML
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
container_name: taiko-web-app
|
|
depends_on:
|
|
mongo:
|
|
condition: service_started
|
|
redis:
|
|
condition: service_healthy
|
|
environment:
|
|
PYTHONUNBUFFERED: "1"
|
|
TAIKO_WEB_MONGO_HOST: mongo:27017
|
|
TAIKO_WEB_REDIS_HOST: redis
|
|
REDIS_URI: redis://redis:6379/0
|
|
TAIKO_WEB_SONGS_DIR: /data/songs
|
|
TAIKO_WEB_SECRET_KEY_FILE: /run/secrets/taiko-web-secret-key
|
|
ports:
|
|
- "80:80"
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./config.py:/app/config.py:ro
|
|
- ./.taiko-secret-key:/run/secrets/taiko-web-secret-key:ro
|
|
- ${TAIKO_WEB_DATA_DIR:-/srv/taiko-web-data}/songs:/data/songs
|
|
|
|
mongo:
|
|
container_name: taiko-web-mongo
|
|
image: mongo:7.0
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ${TAIKO_WEB_DATA_DIR:-/srv/taiko-web-data}/mongo:/data/db
|
|
|
|
redis:
|
|
command:
|
|
- redis-server
|
|
- --appendonly
|
|
- "yes"
|
|
container_name: taiko-web-redis
|
|
image: redis:7-alpine
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 5s
|
|
timeout: 3s
|
|
retries: 12
|
|
start_period: 5s
|
|
volumes:
|
|
- ${TAIKO_WEB_DATA_DIR:-/srv/taiko-web-data}/redis:/data
|