services: telegram-bot: build: context: . dockerfile: docker/telegram/Dockerfile image: "${CM_IMAGE_PREFIX:-local}/cm-telegram:${DOCKER_IMAGE_TAG:-dev}" profiles: ["bots"] api-server: build: context: . dockerfile: docker/api/Dockerfile image: "${CM_IMAGE_PREFIX:-local}/cm-api:${DOCKER_IMAGE_TAG:-dev}" command: ["python", "-m", "app.cm_api"] ports: - "127.0.0.1:3000:3000" depends_on: mysql: condition: service_healthy web-view: build: context: . dockerfile: docker/web/Dockerfile image: "${CM_IMAGE_PREFIX:-local}/cm-web:${DOCKER_IMAGE_TAG:-dev}" command: ["python", "-m", "app.cm_web_view"] web-next: build: context: . dockerfile: docker/web-next/Dockerfile image: "${CM_IMAGE_PREFIX:-local}/cm-web-next:${DOCKER_IMAGE_TAG:-dev}" transfer-bot: build: context: . dockerfile: docker/transfer/Dockerfile image: "${CM_IMAGE_PREFIX:-local}/cm-transfer:${DOCKER_IMAGE_TAG:-dev}" environment: API_BASE_URL: http://api-server:3000 CM_TRANSFER_MAX_THREADS: "1" mem_limit: 2g cpus: 2 profiles: ["bots"] mysql: image: mysql:8.0 container_name: ${CM_DEPLOY_NAME:-cm}-mysql restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-devroot} MYSQL_DATABASE: ${DB_NAME} MYSQL_USER: ${DB_USER} MYSQL_PASSWORD: ${DB_PASSWORD} ports: - "127.0.0.1:3306:3306" volumes: - mysql-data:/var/lib/mysql - ./docker/mysql/init.d:/docker-entrypoint-initdb.d:ro - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-u", "root", "-p${MYSQL_ROOT_PASSWORD:-devroot}"] interval: 5s timeout: 3s retries: 12 networks: - bot-network volumes: mysql-data: name: ${CM_DEPLOY_NAME:-cm}-mysql-data web-next-auth-data: name: ${CM_DEPLOY_NAME:-cm}-web-next-auth-data