166 lines
3.8 KiB
Markdown
Executable File
166 lines
3.8 KiB
Markdown
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:
|
|
|
|
```yaml
|
|
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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
docker compose -f zimaos-docker-compose.yml down
|
|
```
|
|
|
|
## Actualizar a nueva versión
|
|
|
|
```bash
|
|
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):
|
|
|
|
```bash
|
|
docker compose -f docker-compose.local.yml up -d
|
|
```
|
|
|
|
Para producción (imagen autocontenida):
|
|
|
|
```bash
|
|
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:
|
|
```bash
|
|
docker volume ls | grep bot
|
|
```
|
|
|
|
## Solución de Problemas
|
|
|
|
### El contenedor no inicia
|
|
|
|
```bash
|
|
docker logs bot_lastwar_funcionando
|
|
```
|
|
|
|
### Verificar variables de entorno
|
|
|
|
```bash
|
|
docker exec bot_lastwar_funcionando env | grep -E "DB_|DISCORD_|TELEGRAM_|APP_"
|
|
```
|
|
|
|
### Verificar archivo .env generado
|
|
|
|
```bash
|
|
docker exec bot_lastwar_funcionando cat /var/www/html/bot/.env
|
|
```
|
|
|
|
### Base de datos no conecta
|
|
|
|
Verificar credenciales en variables de entorno.
|
|
|
|
### Reiniciar contenedor
|
|
|
|
```bash
|
|
docker restart bot_lastwar_funcionando
|
|
```
|
|
|
|
## Construcción de imagen (para actualizar)
|
|
|
|
```bash
|
|
# 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
|
|
```
|