version: '3.7' services: app: build: context: app dockerfile: docker/Dockerfile target: DEVELOP depends_on: - db - app-redis - captcha-app ports: - ${DOCKER_APP_PORT}:9000 volumes: - ./app/application:/var/www/html app-redis: image: redis:3.0-alpine captcha-app: image: korelf/service-captcha:0.8.1 cap_drop: - ALL cap_add: - SETGID - SETUID - CHOWN - FOWNER depends_on: - db - captcha-redis env_file: captcha-app/.env ports: - ${DOCKER_CAPTCHA_PORT}:9000 captcha-queue: image: korelf/service-captcha:0.8.1 # restart: always depends_on: - db - captcha-redis environment: CONTAINER_ROLE: queue env_file: captcha-app/.env captcha-reverb: image: korelf/service-captcha:0.8.1 # restart: always depends_on: - db - captcha-redis environment: CONTAINER_ROLE: websockets env_file: captcha-app/.env ports: - ${DOCKER_CAPTCHA_WEBSOCKET_PORT}:9000 captcha-scheduler: image: korelf/service-captcha:0.8.1 # restart: always depends_on: - db - captcha-redis environment: CONTAINER_ROLE: scheduler env_file: captcha-app/.env captcha-redis: image: redis:3.0-alpine 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 artisan: build: context: app dockerfile: docker/Dockerfile target: ARTISAN user: "${UID}:${GID}" volumes: - ./app/application:/var/www/html composer: build: context: app dockerfile: docker/Dockerfile target: COMPOSER user: "${UID}:${GID}" volumes: - ./app/application:/var/www/html npm: build: context: app dockerfile: docker/Dockerfile target: NPM user: "${UID}:${GID}" volumes: - ./app/application:/var/www/html