Files
my-projects-website/docker-compose-prod.yml
T
kor-elf 59e6709be3 Update production Docker Compose with captcha-web service and MDHub image updates
- Add the captcha-web service with environment variables, dependencies, and volume configurations.
- Replace existing Docker Hub image references with MDHub equivalents for all captcha services.
- Improve configuration with production-specific environment variables (`APP_ENV`) and updated volume bindings.
2026-10-24 00:44:41 +05:00

175 lines
4.6 KiB
YAML

#version: '3.7'
services:
web:
build:
context: app
dockerfile: docker/Dockerfile
target: WEB_PRODUCTION
# restart: always
depends_on:
- app
ports:
- ${DOCKER_WEB_PORT}:80
environment:
IS_GZIP: 1
# FRONTEND_PORT: ${DOCKER_WEB_PORT}
BACKEND_HOST: app
BACKEND_PORT: 9000
TRUSTED_PROXY_CIDR: 172.16.0.0/12
volumes:
- ./app/application/public:/usr/share/nginx/html
- ./app/application/storage/app/public:/usr/share/nginx/html/storage
app:
build:
context: app
dockerfile: docker/Dockerfile
target: APP_PRODUCTION
# restart: always
depends_on:
- db
- app-redis
- captcha-app
volumes:
- ./app/application:/var/www/html
environment:
CONTAINER_ROLE: app
APP_ENV: production
queue:
build:
context: app
dockerfile: docker/Dockerfile
target: APP_PRODUCTION
# restart: always
depends_on:
- app
- db
- app-redis
environment:
CONTAINER_ROLE: queue
volumes:
- ./app/application:/var/www/html
scheduler:
build:
context: app
dockerfile: docker/Dockerfile
target: APP_PRODUCTION
# restart: always
depends_on:
- app
- db
- app-redis
environment:
CONTAINER_ROLE: scheduler
volumes:
- ./app/application:/var/www/html
app-redis:
image: redis:3.0-alpine # docker hub
# restart: always
volumes:
- ./redis/data:/data
captcha-web:
# image: korelf/service-captcha-web:0.9.0 # docker hub
image: docker.mdhub.kor-elf.net/kor-elf/service-captcha-web:0.9.0 # MDHub
# restart: always
depends_on:
- captcha-app
ports:
- ${DOCKER_CAPTCHA_PORT}:80
environment:
IS_GZIP: 0
# FRONTEND_PORT: ${DOCKER_CAPTCHA_PORT}
BACKEND_HOST: captcha-app
BACKEND_PORT: 9000
TRUSTED_PROXY_CIDR: 172.16.0.0/12
# Enable swagger
ENABLE_API_DOCS: 0
# SWAGGER_HOST: captcha-swagger
# SWAGGER_PORT: 8080
volumes:
- ./captcha-app/app/storage/app/public:/usr/share/nginx/html/storage
captcha-app:
# image: korelf/service-captcha-app:0.9.0 # docker hub
image: docker.mdhub.kor-elf.net/kor-elf/service-captcha-app:0.9.0 # MDHub
# restart: always
depends_on:
- db
- captcha-redis
- captcha-reverb
env_file: captcha-app/.env
environment:
CONTAINER_ROLE: app
APP_ENV: production
volumes:
- ./captcha-app/app/storage/app:/var/www/html/storage/app
- ./captcha-app/app/storage/logs:/var/www/html/storage/logs
captcha-queue:
# image: korelf/service-captcha-app:0.9.0 # docker hub
image: docker.mdhub.kor-elf.net/kor-elf/service-captcha-app:0.9.0 # MDHub
# restart: always
depends_on:
- db
- captcha-redis
environment:
CONTAINER_ROLE: queue
APP_ENV: production
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-reverb:
# image: korelf/service-captcha-app:0.9.0 # docker hub
image: docker.mdhub.kor-elf.net/kor-elf/service-captcha-app:0.9.0 # MDHub
# restart: always
depends_on:
- db
- captcha-redis
environment:
CONTAINER_ROLE: websockets
APP_ENV: production
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-app:0.9.0 # docker hub
image: docker.mdhub.kor-elf.net/kor-elf/service-captcha-app:0.9.0 # MDHub
# restart: always
depends_on:
- db
- captcha-redis
environment:
CONTAINER_ROLE: scheduler
APP_ENV: production
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 # docker hub
# restart: always
volumes:
- ./captcha-app/redis/data:/data
db:
image: docker.io/mysql:8.0.33 # docker hub
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