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_HOST=46.202.93.92
|
||||||
DB_PORT=3306
|
DB_PORT=3306
|
||||||
DB_NAME=usite_whatsapp_bot
|
DB_NAME=usite_whatsapp_bot
|
||||||
DB_USER=usite_whatsapp_user
|
DB_USER=usite_whatsapp_user
|
||||||
DB_PASS=6q!Vio0fn@PFmsLyHjH5
|
DB_PASS=6q!Vio0fn@PFmsLyHjH5
|
||||||
|
DB_ROOT_PASSWORD=root_password_2026
|
||||||
DB_CHARSET=utf8mb4
|
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_TOKEN=EAAcGjPRqunIBQjy3mZAVLX2vfMcyfUtcAXAwul5tZCQjsdxyEljIV1C4mOfTNAOIseZCMDZCy2O5AVM6wBXZC6nEfSNxkhosevtlZCRDr8uxe4zHiiZClW88mnjj2sv2t6PAh63VtUfY5DYAands4O5E9E6L6yiugZCZCBRIFjEWEtE1WXOn6GZCy8mgKpqTD2aQvNogZDZD
|
||||||
WHATSAPP_PHONE_NUMBER_ID=959898150536936
|
WHATSAPP_PHONE_NUMBER_ID=959898150536936
|
||||||
WHATSAPP_API_URL=https://graph.facebook.com/v22.0/
|
WHATSAPP_API_URL=https://graph.facebook.com/v22.0/
|
||||||
WEBHOOK_VERIFY_TOKEN=XimenaCaicedo2026*+
|
WEBHOOK_VERIFY_TOKEN=XimenaCaicedo2026*+
|
||||||
|
|
||||||
# Auto-approve templates: true|false
|
|
||||||
AUTO_APPROVE_TEMPLATES=true
|
AUTO_APPROVE_TEMPLATES=true
|
||||||
|
|
||||||
# Configuración general
|
# ── Aplicación ────────────────────────────────────────────────
|
||||||
|
APP_ENV=development
|
||||||
|
APP_DEBUG=true
|
||||||
APP_NAME=WhatsApp Bot System
|
APP_NAME=WhatsApp Bot System
|
||||||
APP_VERSION=1.0.0
|
APP_VERSION=2.0.0
|
||||||
APP_URL=https://bot.u-s.app/
|
APP_URL=https://bot.u-s.app/
|
||||||
TIMEZONE=America/Bogota
|
TIMEZONE=America/Bogota
|
||||||
|
|
||||||
# Seguridad
|
# ── Logs ──────────────────────────────────────────────────────
|
||||||
ADMIN_USERNAME=admin
|
# Valores: DEBUG | INFO | WARNING | ERROR
|
||||||
ADMIN_PASSWORD=contraseña_admin_segura
|
LOG_LEVEL=DEBUG
|
||||||
SESSION_TIMEOUT=31536000
|
ENABLE_LOGGING=true
|
||||||
|
LOG_FILE=logs/system.log
|
||||||
|
|
||||||
|
# ── Seguridad ─────────────────────────────────────────────────
|
||||||
|
SESSION_TIMEOUT=1800
|
||||||
MAX_LOGIN_ATTEMPTS=3
|
MAX_LOGIN_ATTEMPTS=3
|
||||||
LOGIN_LOCKOUT_TIME=900
|
LOGIN_LOCKOUT_TIME=900
|
||||||
|
|
||||||
# Logs
|
# ── Rate Limiting ─────────────────────────────────────────────
|
||||||
ENABLE_LOGGING=true
|
ENABLE_RATE_LIMIT=false
|
||||||
LOG_LEVEL=INFO
|
|
||||||
LOG_FILE=logs/system.log
|
# ── 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
|
||||||
# ===========================================
|
# ===========================================
|
||||||
REDIS_HOST=redis
|
REDIS_HOST=127.0.0.1
|
||||||
REDIS_PORT=6379
|
REDIS_PORT=6379
|
||||||
REDIS_PASSWORD=
|
REDIS_PASSWORD=
|
||||||
REDIS_DB=0
|
REDIS_DB=0
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ LOG_PATH=logs
|
|||||||
|
|
||||||
# Redis (para colas y caché)
|
# Redis (para colas y caché)
|
||||||
REDIS_SCHEME=tcp
|
REDIS_SCHEME=tcp
|
||||||
|
# Redis gestionado por Coolify — reemplazar con el hostname del recurso Redis
|
||||||
REDIS_HOST=127.0.0.1
|
REDIS_HOST=127.0.0.1
|
||||||
REDIS_PORT=6379
|
REDIS_PORT=6379
|
||||||
REDIS_PASSWORD=
|
REDIS_PASSWORD=
|
||||||
|
|||||||
+6
-90
@@ -33,9 +33,9 @@ services:
|
|||||||
- DB_USER=${DB_USER:-usite_whatsapp_user}
|
- DB_USER=${DB_USER:-usite_whatsapp_user}
|
||||||
- DB_PASS=${DB_PASS}
|
- DB_PASS=${DB_PASS}
|
||||||
|
|
||||||
# Redis
|
# Redis — gestionado por Coolify (configurar REDIS_HOST en env vars)
|
||||||
- REDIS_HOST=redis
|
- REDIS_HOST=${REDIS_HOST:-127.0.0.1}
|
||||||
- REDIS_PORT=6379
|
- REDIS_PORT=${REDIS_PORT:-6379}
|
||||||
- REDIS_PASSWORD=${REDIS_PASSWORD:-}
|
- REDIS_PASSWORD=${REDIS_PASSWORD:-}
|
||||||
|
|
||||||
# WhatsApp API
|
# WhatsApp API
|
||||||
@@ -54,9 +54,6 @@ services:
|
|||||||
- PHP_MAX_EXECUTION_TIME=300
|
- PHP_MAX_EXECUTION_TIME=300
|
||||||
- PHP_OPCACHE_ENABLE=1
|
- PHP_OPCACHE_ENABLE=1
|
||||||
|
|
||||||
depends_on:
|
|
||||||
redis:
|
|
||||||
condition: service_healthy
|
|
||||||
networks:
|
networks:
|
||||||
- whatsapp-network
|
- whatsapp-network
|
||||||
healthcheck:
|
healthcheck:
|
||||||
@@ -66,96 +63,15 @@ services:
|
|||||||
retries: 3
|
retries: 3
|
||||||
start_period: 30s
|
start_period: 30s
|
||||||
|
|
||||||
# Redis para colas y caché
|
# Redis: gestionado como Database Resource en Coolify (externo)
|
||||||
redis:
|
# Worker: corre dentro del contenedor app vía Supervisor
|
||||||
image: redis:7-alpine
|
# Maintenance: deshabilitado en Coolify
|
||||||
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
|
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
redis-data:
|
|
||||||
driver: local
|
|
||||||
app-logs:
|
app-logs:
|
||||||
driver: local
|
driver: local
|
||||||
app-uploads:
|
app-uploads:
|
||||||
driver: local
|
driver: local
|
||||||
maintenance-cron-logs:
|
|
||||||
driver: local
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
whatsapp-network:
|
whatsapp-network:
|
||||||
|
|||||||
+1
-1
@@ -53,7 +53,7 @@ try {
|
|||||||
|
|
||||||
$health['checks']['redis'] = [
|
$health['checks']['redis'] = [
|
||||||
'status' => ((string)$ping === 'PONG' || $ping === true) ? 'ok' : 'error',
|
'status' => ((string)$ping === 'PONG' || $ping === true) ? 'ok' : 'error',
|
||||||
'host' => getenv('REDIS_HOST') ?: 'redis'
|
'host' => getenv('REDIS_HOST') ?: '127.0.0.1'
|
||||||
];
|
];
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
$health['checks']['redis'] = [
|
$health['checks']['redis'] = [
|
||||||
|
|||||||
Reference in New Issue
Block a user