Files
postbot/docker-compose.yml
2025-08-17 11:44:54 +09:00

84 lines
1.7 KiB
YAML

services:
db:
image: mariadb:11.6
environment:
MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MARIADB_DATABASE: ${DB_NAME}
MARIADB_USER: ${DB_USER}
MARIADB_PASSWORD: ${DB_PASSWORD}
volumes:
- db_data:/var/lib/mysql
env_file: .env
ports:
- "3306:3306"
healthcheck:
test: ["CMD-SHELL", "mariadb-admin ping -h 127.0.0.1 -u\"$DB_USER\" -p\"$DB_PASSWORD\" --silent || exit 1"]
interval: 5s
timeout: 3s
retries: 10
start_period: 30s
restart: unless-stopped
redis:
image: redis:7-alpine
env_file: .env
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 3s
retries: 5
restart: unless-stopped
api:
build:
context: .
dockerfile: docker/Dockerfile.api
env_file: .env
environment:
RUN_MIGRATIONS: "true"
depends_on:
db:
condition: service_healthy
ports: ["8000:8000"]
restart: unless-stopped
editor-bot:
build:
context: .
dockerfile: docker/Dockerfile.bot
env_file: .env
environment:
RUN_MIGRATIONS: "false"
depends_on:
db:
condition: service_healthy
restart: unless-stopped
worker:
build:
context: .
dockerfile: docker/Dockerfile.worker
env_file: .env
environment:
RUN_MIGRATIONS: "false"
depends_on:
redis:
condition: service_healthy
db:
condition: service_healthy
restart: unless-stopped
beat:
build:
context: .
dockerfile: docker/Dockerfile.beat
env_file: .env
environment:
RUN_MIGRATIONS: "false"
depends_on:
- worker
restart: unless-stopped
volumes:
db_data: