From 102e11725c2f20f3d6a7381a0baf8669823f8a2e Mon Sep 17 00:00:00 2001 From: Vadym Samoilenko Date: Wed, 25 Feb 2026 18:30:41 +0000 Subject: [PATCH] Use ports 1220/1221 for Redis/PostgreSQL to avoid host conflicts Co-Authored-By: Claude Opus 4.6 --- docker-compose.prod.yml | 53 +++++++++++++++++++++++++++++++++++------ 1 file changed, 46 insertions(+), 7 deletions(-) diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index ca57888..9e62fbc 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -1,22 +1,26 @@ -# Production Docker Compose — worker only -# Uses host Redis + PostgreSQL (already running on server) +# Production Docker Compose — worker + Redis + PostgreSQL # Apache/Nginx on host serves PHP + frontend files natively +# Redis on 1220, PostgreSQL on 1221 to avoid host conflicts services: worker: build: context: . dockerfile: Dockerfile.worker - network_mode: host volumes: - ${WEB_DIR:-/var/www/html/pdf-accessibility}/uploads:/app/uploads - ${WEB_DIR:-/var/www/html/pdf-accessibility}/results:/app/results - ./logs:/app/logs + depends_on: + redis: + condition: service_healthy + postgres: + condition: service_healthy environment: - - REDIS_HOST=${REDIS_HOST:-127.0.0.1} - - REDIS_PORT=${REDIS_PORT:-6379} - - DB_HOST=${DB_HOST:-127.0.0.1} - - DB_PORT=${DB_PORT:-5432} + - REDIS_HOST=redis + - REDIS_PORT=6379 + - DB_HOST=postgres + - DB_PORT=5432 - DB_NAME=${DB_NAME:-pdf_checker} - DB_USER=${DB_USER:-pdf_checker} - DB_PASSWORD=${DB_PASSWORD:-dev_password} @@ -25,3 +29,38 @@ services: deploy: replicas: ${WORKER_COUNT:-2} restart: unless-stopped + + redis: + image: redis:7-alpine + ports: + - "127.0.0.1:1220:6379" + volumes: + - redis-data:/data + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 10s + timeout: 3s + retries: 3 + restart: unless-stopped + + postgres: + image: postgres:16-alpine + ports: + - "127.0.0.1:1221:5432" + volumes: + - pg-data:/var/lib/postgresql/data + - ./db/init.sql:/docker-entrypoint-initdb.d/init.sql + environment: + POSTGRES_DB: ${DB_NAME:-pdf_checker} + POSTGRES_USER: ${DB_USER:-pdf_checker} + POSTGRES_PASSWORD: ${DB_PASSWORD:-dev_password} + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-pdf_checker}"] + interval: 10s + timeout: 3s + retries: 3 + restart: unless-stopped + +volumes: + redis-data: + pg-data: