Coolify usa /artifacts/.../docker-compose.prod.yml en el deploy. Ese archivo tenía 'whatsapp-network' local bridge — el contenedor nunca se conectaba a la red 'coolify' donde está el Redis → SERVFAIL en DNS. Cambios: - networks: whatsapp-network → coolify (external: true) - container_name: removido (Coolify asigna el suyo) - healthcheck: timeout 5s→10s, start_period 30s→60s
79 lines
2.2 KiB
YAML
79 lines
2.2 KiB
YAML
# Docker Compose para PRODUCCIÓN
|
|
# Base de datos: gestionada externamente (Coolify Database Resource o cualquier MySQL/MariaDB externo)
|
|
# Configurar DB_HOST, DB_NAME, DB_USER, DB_PASS en las variables de entorno de Coolify.
|
|
|
|
services:
|
|
# Aplicación PHP con Nginx - MODO PRODUCCIÓN
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
args:
|
|
- APP_ENV=production
|
|
# container_name: NO definir — Coolify asigna su propio nombre
|
|
restart: always
|
|
# Coolify/Traefik gestiona el enrutamiento - no exponer puertos directamente
|
|
expose:
|
|
- "80"
|
|
volumes:
|
|
- app-logs:/var/www/html/logs
|
|
- app-uploads:/var/www/html/uploads
|
|
environment:
|
|
# Zona horaria Colombia
|
|
- TZ=America/Bogota
|
|
|
|
# Entorno
|
|
- APP_ENV=production
|
|
- APP_DEBUG=false
|
|
|
|
# Base de datos - configurar en Coolify Environment Variables
|
|
- DB_HOST=${DB_HOST:-mysql}
|
|
- DB_PORT=${DB_PORT:-3306}
|
|
- DB_NAME=${DB_NAME:-usite_whatsapp_bot}
|
|
- DB_USER=${DB_USER:-usite_whatsapp_user}
|
|
- DB_PASS=${DB_PASS}
|
|
|
|
# Redis — gestionado por Coolify (configurar REDIS_HOST en env vars)
|
|
- REDIS_HOST=${REDIS_HOST:-127.0.0.1}
|
|
- REDIS_PORT=${REDIS_PORT:-6379}
|
|
- REDIS_PASSWORD=${REDIS_PASSWORD:-}
|
|
|
|
# WhatsApp API
|
|
- WHATSAPP_TOKEN=${WHATSAPP_TOKEN}
|
|
- WHATSAPP_PHONE_NUMBER_ID=${WHATSAPP_PHONE_NUMBER_ID}
|
|
- WEBHOOK_VERIFY_TOKEN=${WEBHOOK_VERIFY_TOKEN}
|
|
|
|
# Configuración de producción
|
|
- LOG_LEVEL=WARNING
|
|
- ENABLE_RATE_LIMIT=true
|
|
- DISPLAY_ERRORS=0
|
|
- ERROR_REPORTING=0
|
|
|
|
# PHP optimizado para producción
|
|
- PHP_MEMORY_LIMIT=512M
|
|
- PHP_MAX_EXECUTION_TIME=300
|
|
- PHP_OPCACHE_ENABLE=1
|
|
|
|
networks:
|
|
- coolify
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "curl -sf http://localhost/health.php || exit 1"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 60s
|
|
|
|
# Redis: gestionado como Database Resource en Coolify (externo)
|
|
# Worker: corre dentro del contenedor app vía Supervisor
|
|
# Maintenance: deshabilitado en Coolify
|
|
|
|
volumes:
|
|
app-logs:
|
|
driver: local
|
|
app-uploads:
|
|
driver: local
|
|
|
|
networks:
|
|
coolify:
|
|
external: true
|