version: '3.9' services: mysql: image: mysql:8.0 container_name: mysql environment: MYSQL_ROOT_PASSWORD: ${DB_PASSWORD} MYSQL_DATABASE: ${DB_NAME} MYSQL_USER: ${DB_USER} MYSQL_PASSWORD: ${DB_PASSWORD} TMPDIR: /var/tmp ports: - "${DB_PORT}:3306" volumes: - mysql_data:/var/lib/mysql - /var/tmp:/var/tmp django-admin: build: context: . dockerfile: .docker/admin/Dockerfile container_name: django-admin restart: on-failure volumes: - .:/app env_file: - .env environment: - DJANGO_SETTINGS_MODULE=touchh.settings - DATABASE_URL=mysql://${DB_USER}:${DB_PASSWORD}@mysql:3306/${DB_NAME} - LOG_LEVEL=${LOG_LEVEL} depends_on: - mysql ports: - "8000:8000" command: python manage.py runserver 0.0.0.0:8000 bot: build: context: . dockerfile: .docker/bot/Dockerfile container_name: bot restart: on-failure volumes: - .:/app environment: - TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN} - DJANGO_SETTINGS_MODULE=project.settings - DATABASE_URL=mysql://${DB_USER}:${DB_PASSWORD}@mysql:3306/${DB_NAME} - LOG_LEVEL=${LOG_LEVEL} depends_on: - mysql scheduler: build: context: . dockerfile: .docker/scheduler/Dockerfile container_name: scheduler restart: on-failure volumes: - .:/app env_file: - .env environment: - DJANGO_SETTINGS_MODULE=project.settings - DATABASE_URL=mysql://${DB_USER}:${DB_PASSWORD}@mysql:3306/${DB_NAME} - SCHEDULED_SYNC_LOG_LEVEL=${SCHEDULED_SYNC_LOG_LEVEL} depends_on: - mysql volumes: mysql_data: