Changes committed

This commit is contained in:
2026-06-01 21:49:53 +05:30
parent 8537c653c1
commit 3163bb213e
387 changed files with 21940 additions and 107 deletions

View File

@@ -0,0 +1,154 @@
version: "3.9"
services:
db:
image: postgres:16-alpine
container_name: docengine_db_prod
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: "${DB_PASSWORD}"
POSTGRES_DB: document_engine
ports:
- "7925:5432"
volumes:
- docengine_pgdata_prod:/var/lib/postgresql/data
- ./sql/001_create_schema.sql:/docker-entrypoint-initdb.d/001_create_schema.sql
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres -d document_engine"]
interval: 10s
timeout: 5s
retries: 5
deploy:
resources:
limits:
memory: 2G
cpus: "2.0"
restart: always
networks:
- docengine_net_prod
redis:
image: redis:7-alpine
container_name: docengine_redis_prod
command: redis-server --requirepass "${REDIS_PASSWORD}" --appendonly yes
ports:
- "6379:6379"
volumes:
- docengine_redis_data_prod:/data
healthcheck:
test: ["CMD", "redis-cli", "-a", "${REDIS_PASSWORD}", "ping"]
interval: 10s
timeout: 5s
retries: 5
deploy:
resources:
limits:
memory: 1G
cpus: "1.0"
restart: always
networks:
- docengine_net_prod
app:
build:
context: .
target: app
container_name: docengine_app_prod
env_file:
- .env
environment:
APP_ENV: production
APP_DEBUG: "false"
DB_HOST: db
DB_PORT: 5432
REDIS_HOST: redis
CELERY_BROKER_URL: "redis://:${REDIS_PASSWORD}@redis:6379/0"
CELERY_RESULT_BACKEND: "redis://:${REDIS_PASSWORD}@redis:6379/1"
ports:
- "7989:7989"
volumes:
- docengine_storage_prod:/app/storage
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthy
deploy:
resources:
limits:
memory: 4G
cpus: "4.0"
replicas: 2
restart: always
networks:
- docengine_net_prod
worker:
build:
context: .
target: worker
container_name: docengine_worker_prod
env_file:
- .env
environment:
APP_ENV: production
APP_DEBUG: "false"
DB_HOST: db
DB_PORT: 5432
REDIS_HOST: redis
CELERY_BROKER_URL: "redis://:${REDIS_PASSWORD}@redis:6379/0"
CELERY_RESULT_BACKEND: "redis://:${REDIS_PASSWORD}@redis:6379/1"
volumes:
- docengine_storage_prod:/app/storage
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthy
deploy:
resources:
limits:
memory: 8G
cpus: "4.0"
replicas: 2
restart: always
networks:
- docengine_net_prod
beat:
build:
context: .
target: beat
container_name: docengine_beat_prod
env_file:
- .env
environment:
APP_ENV: production
APP_DEBUG: "false"
DB_HOST: db
DB_PORT: 5432
REDIS_HOST: redis
CELERY_BROKER_URL: "redis://:${REDIS_PASSWORD}@redis:6379/0"
CELERY_RESULT_BACKEND: "redis://:${REDIS_PASSWORD}@redis:6379/1"
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthy
deploy:
resources:
limits:
memory: 512M
cpus: "0.5"
restart: always
networks:
- docengine_net_prod
volumes:
docengine_pgdata_prod:
docengine_redis_data_prod:
docengine_storage_prod:
networks:
docengine_net_prod:
driver: bridge