version: '3.7' services: app: build: context: app dockerfile: docker/Dockerfile target: PRODUCTION # restart: always depends_on: - db - app-redis - captcha-app ports: - ${DOCKER_APP_PORT}:9000 environment: CONTAINER_ROLE: app UNIT_SOURCE: '"172.16.0.0/12"' volumes: - ./app/application:/var/www/html - ./certs:/var/www/html/resources/certs:ro queue: build: context: app dockerfile: docker/Dockerfile target: PRODUCTION # restart: always depends_on: - db - app-redis environment: CONTAINER_ROLE: queue volumes: - ./app/application:/var/www/html - ./certs:/var/www/html/resources/certs:ro scheduler: build: context: app dockerfile: docker/Dockerfile target: PRODUCTION # restart: always depends_on: - db - app-redis environment: CONTAINER_ROLE: scheduler volumes: - ./app/application:/var/www/html - ./certs:/var/www/html/resources/certs:ro app-redis: image: redis:3.0-alpine # restart: always volumes: - ./redis/data:/data db: image: docker.io/mysql:8.0.33 command: --default-authentication-plugin=mysql_native_password #restart: always ports: - ${DOCKER_DB_PORT}:3306 environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${DB_DATABASE} MYSQL_USER: ${DB_USERNAME} MYSQL_PASSWORD: ${DB_PASSWORD} volumes: - ./db/data:/var/lib/mysql captcha-app: image: korelf/service-captcha:0.8.2 cap_drop: - ALL cap_add: - SETGID - SETUID - CHOWN - FOWNER depends_on: - db - captcha-redis env_file: captcha-app/.env # restart: always volumes: - ./captcha-app/app/storage/app:/var/www/html/storage/app - ./captcha-app/app/storage/logs:/var/www/html/storage/logs ports: - ${DOCKER_CAPTCHA_PORT}:9000 captcha-queue: image: korelf/service-captcha:0.8.2 # restart: always depends_on: - db - captcha-redis environment: CONTAINER_ROLE: queue env_file: captcha-app/.env captcha-reverb: image: korelf/service-captcha:0.8.2 # restart: always depends_on: - db - captcha-redis environment: CONTAINER_ROLE: websockets env_file: captcha-app/.env volumes: - ./captcha-app/app/storage/app:/var/www/html/storage/app - ./captcha-app/app/storage/logs:/var/www/html/storage/logs ports: - ${DOCKER_CAPTCHA_WEBSOCKET_PORT}:9000 captcha-scheduler: image: korelf/service-captcha:0.8.2 # restart: always depends_on: - db - captcha-redis environment: CONTAINER_ROLE: scheduler env_file: captcha-app/.env volumes: - ./captcha-app/app/storage/app:/var/www/html/storage/app - ./captcha-app/app/storage/logs:/var/www/html/storage/logs captcha-redis: image: redis:3.0-alpine # restart: always volumes: - ./captcha-app/redis/data:/data registry-web: image: nginx:alpine ports: - ${DOCKER_REGISTRY_WEB}:80 depends_on: - registry # restart: always volumes: - ./registry/nginx/nginx.conf:/etc/nginx/nginx.conf:ro registry: image: registry:2 # restart: always volumes: - ./registry/data:/images - ./certs:/certs:ro - ./registry/config.yml:/etc/docker/registry/config.yml:ro