fix: eliminar REDIS_HOST hardcodeado 'redis' en todos los archivos
- docker-compose.prod.yml: REDIS_HOST=redis → ${REDIS_HOST:-127.0.0.1}
eliminados servicios redis/worker/maintenance (usan Coolify/Supervisor)
- .env, .env.docker: REDIS_HOST=redis → 127.0.0.1 (fallback seguro)
- .env.example: actualizado con comentario de Coolify
- health.php: fallback 'redis' → '127.0.0.1'
- PHP files (RedisQueue, ConversationState, etc.) ya usaban getenv() correctamente
This commit is contained in:
@@ -1,37 +1,55 @@
|
||||
# Configuración de ejemplo para WhatsApp Bot Manager
|
||||
# Copia este archivo como .env y completa los valores
|
||||
# ============================================================
|
||||
# WhatsApp Bot Manager — Variables de entorno
|
||||
# Fuente única de verdad para desarrollo local.
|
||||
# En producción (Coolify): configurar en Environment Variables de la app.
|
||||
# ⚠️ Este archivo NO se sube a git (.gitignore lo excluye).
|
||||
# ============================================================
|
||||
|
||||
# Base de datos
|
||||
# ── Base de datos ─────────────────────────────────────────────
|
||||
DB_HOST=46.202.93.92
|
||||
DB_PORT=3306
|
||||
DB_NAME=usite_whatsapp_bot
|
||||
DB_USER=usite_whatsapp_user
|
||||
DB_PASS=6q!Vio0fn@PFmsLyHjH5
|
||||
DB_ROOT_PASSWORD=root_password_2026
|
||||
DB_CHARSET=utf8mb4
|
||||
|
||||
# WhatsApp Business API
|
||||
# ── Redis ─────────────────────────────────────────────────────
|
||||
REDIS_HOST=127.0.0.1
|
||||
REDIS_PORT=6379
|
||||
REDIS_PASSWORD=
|
||||
|
||||
# ── WhatsApp Business API ─────────────────────────────────────
|
||||
WHATSAPP_TOKEN=EAAcGjPRqunIBQjy3mZAVLX2vfMcyfUtcAXAwul5tZCQjsdxyEljIV1C4mOfTNAOIseZCMDZCy2O5AVM6wBXZC6nEfSNxkhosevtlZCRDr8uxe4zHiiZClW88mnjj2sv2t6PAh63VtUfY5DYAands4O5E9E6L6yiugZCZCBRIFjEWEtE1WXOn6GZCy8mgKpqTD2aQvNogZDZD
|
||||
WHATSAPP_PHONE_NUMBER_ID=959898150536936
|
||||
WHATSAPP_API_URL=https://graph.facebook.com/v22.0/
|
||||
WEBHOOK_VERIFY_TOKEN=XimenaCaicedo2026*+
|
||||
|
||||
# Auto-approve templates: true|false
|
||||
AUTO_APPROVE_TEMPLATES=true
|
||||
|
||||
# Configuración general
|
||||
# ── Aplicación ────────────────────────────────────────────────
|
||||
APP_ENV=development
|
||||
APP_DEBUG=true
|
||||
APP_NAME=WhatsApp Bot System
|
||||
APP_VERSION=1.0.0
|
||||
APP_VERSION=2.0.0
|
||||
APP_URL=https://bot.u-s.app/
|
||||
TIMEZONE=America/Bogota
|
||||
|
||||
# Seguridad
|
||||
ADMIN_USERNAME=admin
|
||||
ADMIN_PASSWORD=contraseña_admin_segura
|
||||
SESSION_TIMEOUT=31536000
|
||||
# ── Logs ──────────────────────────────────────────────────────
|
||||
# Valores: DEBUG | INFO | WARNING | ERROR
|
||||
LOG_LEVEL=DEBUG
|
||||
ENABLE_LOGGING=true
|
||||
LOG_FILE=logs/system.log
|
||||
|
||||
# ── Seguridad ─────────────────────────────────────────────────
|
||||
SESSION_TIMEOUT=1800
|
||||
MAX_LOGIN_ATTEMPTS=3
|
||||
LOGIN_LOCKOUT_TIME=900
|
||||
|
||||
# Logs
|
||||
ENABLE_LOGGING=true
|
||||
LOG_LEVEL=INFO
|
||||
LOG_FILE=logs/system.log
|
||||
# ── Rate Limiting ─────────────────────────────────────────────
|
||||
ENABLE_RATE_LIMIT=false
|
||||
|
||||
# ── PHP ───────────────────────────────────────────────────────
|
||||
PHP_MEMORY_LIMIT=512M
|
||||
PHP_MAX_EXECUTION_TIME=300
|
||||
DISPLAY_ERRORS=1
|
||||
ERROR_REPORTING=E_ALL
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ DB_ROOT_PASSWORD=root_password_super_seguro
|
||||
# ===========================================
|
||||
# REDIS
|
||||
# ===========================================
|
||||
REDIS_HOST=redis
|
||||
REDIS_HOST=127.0.0.1
|
||||
REDIS_PORT=6379
|
||||
REDIS_PASSWORD=
|
||||
REDIS_DB=0
|
||||
|
||||
@@ -36,6 +36,7 @@ LOG_PATH=logs
|
||||
|
||||
# Redis (para colas y caché)
|
||||
REDIS_SCHEME=tcp
|
||||
# Redis gestionado por Coolify — reemplazar con el hostname del recurso Redis
|
||||
REDIS_HOST=127.0.0.1
|
||||
REDIS_PORT=6379
|
||||
REDIS_PASSWORD=
|
||||
|
||||
+6
-90
@@ -33,9 +33,9 @@ services:
|
||||
- DB_USER=${DB_USER:-usite_whatsapp_user}
|
||||
- DB_PASS=${DB_PASS}
|
||||
|
||||
# Redis
|
||||
- REDIS_HOST=redis
|
||||
- REDIS_PORT=6379
|
||||
# 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
|
||||
@@ -54,9 +54,6 @@ services:
|
||||
- PHP_MAX_EXECUTION_TIME=300
|
||||
- PHP_OPCACHE_ENABLE=1
|
||||
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- whatsapp-network
|
||||
healthcheck:
|
||||
@@ -66,96 +63,15 @@ services:
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
|
||||
# Redis para colas y caché
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
container_name: whatsapp-redis
|
||||
restart: always
|
||||
command: >
|
||||
redis-server
|
||||
--appendonly yes
|
||||
--maxmemory 128mb
|
||||
--maxmemory-policy allkeys-lru
|
||||
volumes:
|
||||
- redis-data:/data
|
||||
networks:
|
||||
- whatsapp-network
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: 10s
|
||||
timeout: 3s
|
||||
retries: 5
|
||||
|
||||
# Workers para procesamiento en background
|
||||
worker:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile.worker
|
||||
container_name: whatsapp-worker
|
||||
restart: always
|
||||
volumes:
|
||||
- app-logs:/var/www/html/logs
|
||||
environment:
|
||||
- TZ=America/Bogota
|
||||
- APP_ENV=production
|
||||
- APP_DEBUG=false
|
||||
- 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_HOST=redis
|
||||
- REDIS_PORT=6379
|
||||
- REDIS_PASSWORD=${REDIS_PASSWORD:-}
|
||||
- LOG_LEVEL=WARNING
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- whatsapp-network
|
||||
command: php worker.php --daemon
|
||||
|
||||
# Mantenimiento automatizado - PRODUCCIÓN
|
||||
maintenance:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile.maintenance
|
||||
container_name: whatsapp-maintenance-prod
|
||||
restart: always
|
||||
cap_add:
|
||||
- SYS_NICE
|
||||
- SETGID
|
||||
- SETUID
|
||||
volumes:
|
||||
- app-logs:/var/www/html/logs
|
||||
- ./backups:/backups
|
||||
- maintenance-cron-logs:/var/log/cron
|
||||
environment:
|
||||
- TZ=America/Bogota
|
||||
- APP_ENV=production
|
||||
- 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_HOST=redis
|
||||
- REDIS_PORT=6379
|
||||
- APP_URL=http://app
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- whatsapp-network
|
||||
# Redis: gestionado como Database Resource en Coolify (externo)
|
||||
# Worker: corre dentro del contenedor app vía Supervisor
|
||||
# Maintenance: deshabilitado en Coolify
|
||||
|
||||
volumes:
|
||||
redis-data:
|
||||
driver: local
|
||||
app-logs:
|
||||
driver: local
|
||||
app-uploads:
|
||||
driver: local
|
||||
maintenance-cron-logs:
|
||||
driver: local
|
||||
|
||||
networks:
|
||||
whatsapp-network:
|
||||
|
||||
+1
-1
@@ -53,7 +53,7 @@ try {
|
||||
|
||||
$health['checks']['redis'] = [
|
||||
'status' => ((string)$ping === 'PONG' || $ping === true) ? 'ok' : 'error',
|
||||
'host' => getenv('REDIS_HOST') ?: 'redis'
|
||||
'host' => getenv('REDIS_HOST') ?: '127.0.0.1'
|
||||
];
|
||||
} catch (Exception $e) {
|
||||
$health['checks']['redis'] = [
|
||||
|
||||
Reference in New Issue
Block a user