version: "3.9" services: db: build: context: . dockerfile: docker/db/Dockerfile container_name: mariadb restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: rootpass MYSQL_DATABASE: tg_autopost MYSQL_USER: tguser MYSQL_PASSWORD: tgpass ports: - "3306:3306" volumes: - ./app/var/lib/mysql:/var/lib/mysql redis: image: redis:7.2 container_name: redis restart: unless-stopped ports: - "6379:6379" django: build: context: . dockerfile: docker/main/Dockerfile container_name: django command: python manage.py runserver 0.0.0.0:8000 volumes: - ./app:/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:/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:/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:/app env_file: - .env depends_on: - db - redis