- Redis ahora es un Database Resource externo en Coolify
Configurar: REDIS_HOST, REDIS_PORT, REDIS_PASSWORD en env vars
- Worker corre dentro del contenedor app via Supervisor (no servicio aparte)
- Eliminados: servicio redis, worker, redis-commander, volumenes db-data/redis-data
- Solo queda: servicio app + volumen php-socket
- entrypoint.sh: Redis wait tenía loop infinito sin timeout → el contenedor
se quedaba colgado para siempre si Redis tardaba, causando 504 Gateway Timeout
Ahora tiene MAX_RETRIES=15 (30s) y continúa aunque Redis no esté disponible
- entrypoint.sh: removido set -e para que errores no-críticos (permisos,
SSL, etc.) no maten el arranque del contenedor
- docker-compose.yml: removido depends_on redis con condition:service_healthy
Docker bloqueaba el inicio de app hasta que Redis estuviera healthy,
lo que podía exceder el timeout de Traefik
El archivo docker-compose.yml es el que usa Coolify por defecto.
Con 'ports: 8080:80' Traefik no sabía a qué puerto rutear en cada
redeploy. Con 'expose: 80' Traefik detecta el puerto 80 del contenedor
directamente (igual que docker-compose.prod.yml).
Para desarrollo local usar: docker-compose -f docker-compose.dev.yml up