Files
sistema_funcionando_lastwar/docker/README-ZimaOS.md

3.8 KiB
Executable File

Docker Configuration for ZimaOS

Archivos Incluidos

docker/
├── Dockerfile                    # Imagen base Ubuntu 22.04 (incluye todo el proyecto)
├── docker-compose.yml           # Desarrollo local
├── docker-compose.local.yml     # Pruebas locales con volumen
├── zimaos-docker-compose.yml    # Producción ZimaOS
├── zimaos.env.template          # Template de variables
├── entrypoint.sh                # Script de inicio (genera .env)
├── supervisord.conf             # Configuración Supervisor
├── supervisor/
│   ├── discordbot.conf          # Bot de Discord
│   └── translation-worker.conf  # Worker de traducciones
├── apache/
│   ├── ponsprueba.ddns.net.conf # Apache desarrollo
│   └── reod-dragon.ddns.net.conf # Apache producción
└── www/
    └── index.html               # Página de bienvenida

Uso en ZimaOS

1. Preparar Archivos

Copia zimaos-docker-compose.yml a tu almacenamiento en ZimaOS.

2. Configurar Variables

Edita zimaos-docker-compose.yml y ajusta las variables de entorno:

environment:
  - DB_HOST=tu_host_db
  - DB_PORT=tu_puerto
  - DB_NAME=tu_db
  - DB_USER=tu_usuario
  - DB_PASS=tu_password
  
  - DISCORD_BOT_TOKEN=tu_token
  - TELEGRAM_BOT_TOKEN=tu_token
  
  - APP_BASE_URL=http://tu-dominio:8086
  # ... otras variables

3. Ejecutar

# Descargar imagen
docker compose -f zimaos-docker-compose.yml pull

# Iniciar contenedor
docker compose -f zimaos-docker-compose.yml up -d

# Ver logs
docker logs -f bot_lastwar_funcionando

4. Detener

docker compose -f zimaos-docker-compose.yml down

Actualizar a nueva versión

docker compose -f zimaos-docker-compose.yml pull
docker compose -f zimaos-docker-compose.yml up -d

Variables de Entorno

Variable Descripción Ejemplo
APP_ENVIRONMENT Entorno (pruebas|reod) pruebas
USE_LOCALHOST Usar URLs localhost false
DB_* Configuración base de datos Ver template
DISCORD_* Credenciales Discord Ver template
TELEGRAM_* Credenciales Telegram Ver template
N8N_* URLs de N8N Ver template
JWT_SECRET Secreto para sesiones openssl rand -hex 32
INTERNAL_API_KEY API key interna openssl rand -hex 32
APP_BASE_URL URL base pública http://tu-ip:8086

Desarrollo Local

Para desarrollar localmente con volúmenes (los cambios se ven sin rebuild):

docker compose -f docker-compose.local.yml up -d

Para producción (imagen autocontenida):

docker compose -f docker-compose.yml build
docker compose -f docker-compose.yml up -d

Puertos

  • 8086 → Puerto HTTP del contenedor (80)

Servicios

  • Apache2 - Servidor web
  • Discord Bot - Bot de Discord
  • Translation Worker - Procesador de traducciones

Volúmenes Persistentes

Los volúmenes para logs y galería se crean automáticamente con Docker:

  • bot-logs → /var/www/html/bot/logs
  • bot-galeria → /var/www/html/bot/galeria

Para verlos:

docker volume ls | grep bot

Solución de Problemas

El contenedor no inicia

docker logs bot_lastwar_funcionando

Verificar variables de entorno

docker exec bot_lastwar_funcionando env | grep -E "DB_|DISCORD_|TELEGRAM_|APP_"

Verificar archivo .env generado

docker exec bot_lastwar_funcionando cat /var/www/html/bot/.env

Base de datos no conecta

Verificar credenciales en variables de entorno.

Reiniciar contenedor

docker restart bot_lastwar_funcionando

Construcción de imagen (para actualizar)

# En la carpeta del proyecto
docker compose build

# Subir al registry
docker tag bot-bot-lastwar:latest 10.10.4.3:5000/bot-lastwar:latest
docker push 10.10.4.3:5000/bot-lastwar:latest