Files
NovaWoW/docker-compose.yml
Inna b43b888f53 Añade README de despliegue y soporte Docker
- README.md: guía de instalación (venv, .env, migraciones, gunicorn) y notas de producción/seguridad
- Dockerfile: imagen Python 3.14 con deps de sistema para mysqlclient/Pillow
- docker-compose.yml: servicios web (Django+gunicorn) y db (MySQL 8.4) con las 4 BBDD
- docker/entrypoint.sh: espera a MySQL, migra, collectstatic y arranca gunicorn
- docker/mysql-init.sql: crea django_wow + bases acore_*
- .dockerignore y gunicorn en requirements

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 16:16:29 +00:00

45 lines
1.1 KiB
YAML

services:
db:
image: mysql:8.4
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: django_wow
MYSQL_USER: novawow
MYSQL_PASSWORD: novawow_pass
volumes:
- db_data:/var/lib/mysql
- ./docker/mysql-init.sql:/docker-entrypoint-initdb.d/init.sql:ro
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-prootpass"]
interval: 5s
timeout: 5s
retries: 20
web:
build: .
restart: unless-stopped
# Secretos de la app (Stripe, SumUp, SOAP, email, SECRET_KEY...) desde .env
env_file:
- path: .env
required: false
# Las variables de BD las fija compose para apuntar al servicio 'db'
environment:
DJANGO_DEBUG: "False"
DB_HOST: db
DB_PORT: "3306"
DB_USER: novawow
DB_PASSWORD: novawow_pass
DB_NAME_DEFAULT: django_wow
DB_NAME_AUTH: acore_auth
DB_NAME_CHARACTERS: acore_characters
DB_NAME_WORLD: acore_world
ports:
- "8000:8000"
depends_on:
db:
condition: service_healthy
volumes:
db_data: