Files
tg_autopost/docker-compose.yml
2025-08-08 09:43:34 +09:00

86 lines
1.6 KiB
YAML

services:
db:
build:
context: .
dockerfile: docker/db/Dockerfile
container_name: mariadb
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
MYSQL_DATABASE: ${DB_NAME}
MYSQL_USER: ${DB_USER}
MYSQL_PASSWORD: ${DB_PASSWORD}
ports:
- "${DB_PORT}:3306"
volumes:
- ./db_storage/mysql:/var/lib/mysql
env_file:
- .env
redis:
image: redis:7.2
container_name: redis
restart: unless-stopped
ports:
- "${REDIS_PORT}:6379"
env_file:
- .env
django:
build:
context: .
dockerfile: docker/main/Dockerfile
container_name: django
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/app
ports:
- "8000:8000"
env_file:
- .env
depends_on:
- db
- redis
bot:
build:
context: .
dockerfile: docker/bot/Dockerfile
container_name: bot
command: python manage.py runbot
volumes:
- .:/app
env_file:
- .env
depends_on:
- db
- redis
celery_worker:
build:
context: .
dockerfile: docker/celery/Dockerfile
container_name: celery_worker
command: celery -A tg_autopost worker -l info
volumes:
- .:/app
env_file:
- .env
depends_on:
- db
- redis
celery_beat:
build:
context: .
dockerfile: docker/celery/Dockerfile
container_name: celery_beat
command: celery -A tg_autopost beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler
volumes:
- .:/app
env_file:
- .env
depends_on:
- db
- redis