3.8 KiB
Executable File
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/logsbot-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