This commit is contained in:
Lizandro Guarnizo
2026-01-28 02:23:36 -05:00
parent 37d6bf1e20
commit 6ebf5c9a22
30 changed files with 2264 additions and 118 deletions
+69 -11
View File
@@ -2,6 +2,31 @@
# Uso: docker-compose -f docker-compose.dev.yml up -d
services:
# MySQL Database
mysql:
image: mysql:8.0
container_name: whatsapp-dev-mysql
restart: unless-stopped
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-root_password_2026}
MYSQL_DATABASE: ${DB_NAME:-usite_whatsapp_bot}
MYSQL_USER: ${DB_USER:-usite_whatsapp_user}
MYSQL_PASSWORD: ${DB_PASS:-6q!Vio0fn@PFmsLyHjH5}
volumes:
- mysql-dev-data:/var/lib/mysql
- ./database:/docker-entrypoint-initdb.d:ro
command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
networks:
- whatsapp-dev-network
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${DB_ROOT_PASSWORD:-root_password_2026}"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
# Aplicación PHP con Nginx - MODO DEV
app:
build:
@@ -13,25 +38,28 @@ services:
restart: unless-stopped
working_dir: /var/www/html
ports:
- "8080:80" # Aplicación web
- "8080:80" # HTTP
- "8443:443" # HTTPS
- "9003:9003" # XDebug (para IDEs)
volumes:
# Hot-reload: cambios en código se reflejan inmediatamente
- ./:/var/www/html
- ./logs:/var/www/html/logs
- ./uploads:/var/www/html/uploads
- ./docker/nginx/ssl.conf:/etc/nginx/http.d/ssl.conf:ro
- ssl-certs:/etc/nginx/ssl
- php-socket:/run/php
environment:
# Entorno de desarrollo
- APP_ENV=development
- APP_DEBUG=true
# Base de datos
- DB_HOST=${DB_HOST}
# Base de datos - apuntar a MySQL local
- DB_HOST=mysql
- DB_PORT=${DB_PORT:-3306}
- DB_NAME=${DB_NAME}
- DB_USER=${DB_USER}
- DB_PASS=${DB_PASS}
- DB_NAME=${DB_NAME:-usite_whatsapp_bot}
- DB_USER=${DB_USER:-usite_whatsapp_user}
- DB_PASS=${DB_PASS:-6q!Vio0fn@PFmsLyHjH5}
# Redis
- REDIS_HOST=redis
@@ -62,6 +90,8 @@ services:
depends_on:
redis:
condition: service_healthy
mysql:
condition: service_healthy
networks:
- whatsapp-dev-network
healthcheck:
@@ -109,11 +139,11 @@ services:
environment:
- APP_ENV=development
- APP_DEBUG=true
- DB_HOST=${DB_HOST}
- DB_HOST=mysql
- DB_PORT=${DB_PORT:-3306}
- DB_NAME=${DB_NAME}
- DB_USER=${DB_USER}
- DB_PASS=${DB_PASS}
- DB_NAME=${DB_NAME:-usite_whatsapp_bot}
- DB_USER=${DB_USER:-usite_whatsapp_user}
- DB_PASS=${DB_PASS:-6q!Vio0fn@PFmsLyHjH5}
- REDIS_HOST=redis
- REDIS_PORT=6379
- REDIS_PASSWORD=${REDIS_PASSWORD:-}
@@ -123,6 +153,8 @@ services:
depends_on:
redis:
condition: service_healthy
mysql:
condition: service_healthy
networks:
- whatsapp-dev-network
command: php worker.php --daemon
@@ -161,14 +193,40 @@ services:
ports:
- "8083:8080"
environment:
- ADMINER_DEFAULT_SERVER=${DB_HOST}
- ADMINER_DEFAULT_SERVER=mysql
- ADMINER_DESIGN=nette
depends_on:
mysql:
condition: service_healthy
networks:
- whatsapp-dev-network
# phpMyAdmin - Gestor de base de datos alternativo
phpmyadmin:
image: phpmyadmin:latest
container_name: whatsapp-dev-phpmyadmin
restart: unless-stopped
ports:
- "8084:80"
environment:
PMA_HOST: mysql
PMA_PORT: 3306
PMA_USER: ${DB_USER:-usite_whatsapp_user}
PMA_PASSWORD: ${DB_PASS:-6q!Vio0fn@PFmsLyHjH5}
UPLOAD_LIMIT: 100M
depends_on:
mysql:
condition: service_healthy
networks:
- whatsapp-dev-network
volumes:
mysql-dev-data:
driver: local
redis-dev-data:
driver: local
ssl-certs:
driver: local
php-socket:
driver: local