version: '3' services: postgres: image: postgres:15-alpine ports: - "5432:5432" env_file: - .env environment: - POSTGRES_DB=${POSTGRES_DB:-my_uploader_db} - POSTGRES_USER=${POSTGRES_USER:-my_user} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-secure_password} - POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C volumes: - postgres_data:/var/lib/postgresql/data restart: always healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-my_user} -d ${POSTGRES_DB:-my_uploader_db}"] interval: 10s timeout: 5s retries: 3 redis: image: redis:7-alpine ports: - "6379:6379" volumes: - redis_data:/data restart: always healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 3 app: build: context: . dockerfile: Dockerfile command: python -m app env_file: - .env restart: always links: - postgres - redis ports: - "15100:15100" volumes: - /Storage/logs:/app/logs - /Storage/storedContent:/app/data depends_on: postgres: condition: service_healthy redis: condition: service_healthy indexer: build: context: . dockerfile: Dockerfile restart: always command: python -m app indexer env_file: - .env links: - postgres - redis volumes: - /Storage/logs:/app/logs - /Storage/storedContent:/app/data depends_on: postgres: condition: service_healthy redis: condition: service_healthy ton_daemon: build: context: . dockerfile: Dockerfile command: python -m app ton_daemon restart: always env_file: - .env links: - postgres - redis volumes: - /Storage/logs:/app/logs - /Storage/storedContent:/app/data depends_on: postgres: condition: service_healthy redis: condition: service_healthy license_index: build: context: . dockerfile: Dockerfile command: python -m app license_index restart: always env_file: - .env links: - postgres - redis volumes: - /Storage/logs:/app/logs - /Storage/storedContent:/app/data depends_on: postgres: condition: service_healthy redis: condition: service_healthy convert_process: build: context: . dockerfile: Dockerfile command: python -m app convert_process restart: always env_file: - .env links: - postgres - redis volumes: - /Storage/logs:/app/logs - /Storage/storedContent:/app/data - /var/run/docker.sock:/var/run/docker.sock depends_on: postgres: condition: service_healthy redis: condition: service_healthy volumes: postgres_data: driver: local redis_data: driver: local