Commit inicial con archivos existentes
This commit is contained in:
84
docker/Dockerfile
Executable file
84
docker/Dockerfile
Executable file
@@ -0,0 +1,84 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
LABEL maintainer="bot-lastwar"
|
||||
LABEL description="Bot LastWar - Discord/Telegram Bot with Web Interface"
|
||||
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
apache2 \
|
||||
php \
|
||||
php-cli \
|
||||
php-mysql \
|
||||
php-mbstring \
|
||||
php-xml \
|
||||
php-curl \
|
||||
php-zip \
|
||||
php-json \
|
||||
libapache2-mod-php \
|
||||
composer \
|
||||
nodejs \
|
||||
npm \
|
||||
supervisor \
|
||||
curl \
|
||||
git \
|
||||
unzip \
|
||||
nano \
|
||||
libzip-dev \
|
||||
bash \
|
||||
bash-completion \
|
||||
readline-common \
|
||||
less \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN a2enmod rewrite headers env
|
||||
|
||||
RUN npm install -g yarn
|
||||
|
||||
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
||||
|
||||
RUN mkdir -p /var/www/html/bot/logs \
|
||||
&& mkdir -p /var/www/html/bot/galeria \
|
||||
&& mkdir -p /var/run/supervisor \
|
||||
&& mkdir -p /etc/supervisor/conf.d
|
||||
|
||||
COPY docker/apache/*.conf /etc/apache2/sites-available/
|
||||
COPY docker/supervisor/*.conf /etc/supervisor/conf.d/
|
||||
|
||||
RUN a2ensite reod-dragon.ddns.net.conf || true
|
||||
RUN a2dissite 000-default.conf || true
|
||||
|
||||
WORKDIR /var/www/html/bot
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
COPY docker/entrypoint.sh /entrypoint.sh
|
||||
RUN chmod +x /entrypoint.sh
|
||||
|
||||
COPY docker/zimaos.env.template /var/www/html/bot/docker/
|
||||
|
||||
COPY . . /var/www/html/bot/
|
||||
|
||||
# Eliminar archivos .env de desarrollo que vienen del código fuente
|
||||
# En Docker usaremos el archivo .env generado desde variables de entorno
|
||||
RUN rm -f /var/www/html/bot/.env.reod /var/www/html/bot/.env.pruebas /var/www/html/bot/.env.example 2>/dev/null || true
|
||||
|
||||
RUN rm -rf /var/www/html/bot/docker/Dockerfile \
|
||||
/var/www/html/bot/docker-compose*.yml 2>/dev/null || true
|
||||
|
||||
RUN chmod -R 777 /var/www/html/bot/logs \
|
||||
/var/www/html/bot/galeria \
|
||||
/var/run/supervisor
|
||||
|
||||
RUN touch /var/log/apache2/error.log \
|
||||
/var/log/apache2/access.log \
|
||||
&& chmod 666 /var/log/apache2/*.log
|
||||
|
||||
# Set index.php as first DirectoryIndex
|
||||
RUN cat > /etc/apache2/mods-enabled/dir.conf << 'EOF'
|
||||
<IfModule mod_dir.c>
|
||||
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
|
||||
</IfModule>
|
||||
EOF
|
||||
|
||||
CMD ["/entrypoint.sh"]
|
||||
165
docker/README-ZimaOS.md
Executable file
165
docker/README-ZimaOS.md
Executable file
@@ -0,0 +1,165 @@
|
||||
# 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
|
||||
```
|
||||
72
docker/README.md
Executable file
72
docker/README.md
Executable file
@@ -0,0 +1,72 @@
|
||||
# Docker Configuration for Bot LastWar
|
||||
|
||||
## Estructura de Archivos
|
||||
|
||||
```
|
||||
docker/
|
||||
├── Dockerfile # Imagen base Ubuntu con Apache, PHP, Composer, Node, Supervisor
|
||||
├── docker-compose.yml # Orquestación del contenedor
|
||||
├── entrypoint.sh # Script de inicio
|
||||
├── supervisord.conf # Configuración principal de Supervisor
|
||||
├── supervisor/
|
||||
│ ├── discordbot.conf # Proceso del bot de Discord
|
||||
│ └── translation-worker.conf # Worker de traducciones
|
||||
├── apache/
|
||||
│ ├── ponsprueba.ddns.net.conf # Configuración Apache desarrollo
|
||||
│ └── reod-dragon.ddns.net.conf # Configuración Apache producción
|
||||
├── www/
|
||||
│ └── index.html # Página de bienvenida
|
||||
└── zimaos.env.template # Template de variables para ZimaOS
|
||||
```
|
||||
|
||||
## Configuración para ZimaOS
|
||||
|
||||
1. Copia `docker/zimaos.env.template` a `.env` en ZimaOS
|
||||
2. Ajusta las variables según tu red
|
||||
3. La variable clave es `APP_ENVIRONMENT`:
|
||||
- `pruebas` → usa `.env.pruebas`
|
||||
- `reod` → usa `.env.reod`
|
||||
|
||||
## Construcción y Ejecución
|
||||
|
||||
```bash
|
||||
# Construir la imagen
|
||||
docker-compose build
|
||||
|
||||
# Ejecutar el contenedor
|
||||
docker-compose up -d
|
||||
|
||||
# Ver logs
|
||||
docker logs bot_lastwar_funcionando
|
||||
|
||||
# Detener
|
||||
docker-compose down
|
||||
```
|
||||
|
||||
## Puertos
|
||||
|
||||
- **8086 (host)** → **80 (contenedor)**
|
||||
- Accede a: http://localhost:8086
|
||||
|
||||
## Servicios Incluidos
|
||||
|
||||
- **Apache2** - Servidor web en puerto 80
|
||||
- **PHP** - Interpreter para la aplicación
|
||||
- **Composer** - Gestor de dependencias PHP
|
||||
- **Node.js** - Runtime JavaScript
|
||||
- **Supervisor** - Gestión de procesos (bot + worker)
|
||||
- **Discord Bot** - Bot de Discord (configurable via APP_ENVIRONMENT)
|
||||
- **Translation Worker** - Procesador de cola de traducciones
|
||||
|
||||
## Variables de Entorno
|
||||
|
||||
| Variable | Descripción | Default |
|
||||
|----------|-------------|---------|
|
||||
| `APP_ENVIRONMENT` | Entorno (pruebas\|reod) | pruebas |
|
||||
| `TZ` | Zona horaria | UTC |
|
||||
|
||||
## Notas
|
||||
|
||||
- Los logs se almacenan en `./logs/`
|
||||
- La galería de imágenes está en `./galeria/`
|
||||
- El contenedor copia automáticamente el .env correspondiente según `APP_ENVIRONMENT`
|
||||
21
docker/apache/reod-dragon.ddns.net.conf
Executable file
21
docker/apache/reod-dragon.ddns.net.conf
Executable file
@@ -0,0 +1,21 @@
|
||||
<VirtualHost *:80>
|
||||
ServerName reod-dragon.ddns.net
|
||||
SetEnv APP_ENVIRONMENT "reod"
|
||||
SetEnv DOCKER_CONTAINER "1"
|
||||
|
||||
# Content Security Policy para permitir jsdelivr CDN
|
||||
Header set Content-Security-Policy "default-src 'self'; script-src 'self' https://cdn.jsdelivr.net https://code.jquery.com 'unsafe-inline'; style-src 'self' https://cdn.jsdelivr.net 'unsafe-inline'; connect-src 'self' https://cdn.jsdelivr.net; img-src 'self' data: https:; font-src 'self' https://cdn.jsdelivr.net data:;"
|
||||
|
||||
ErrorLog /var/www/html/bot/logs/reod_error.log
|
||||
CustomLog /var/www/html/bot/logs/reod_access.log combined
|
||||
|
||||
DocumentRoot /var/www/html/bot/
|
||||
<Directory /var/www/html/bot/>
|
||||
Options -Indexes +FollowSymLinks
|
||||
AllowOverride All
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
php_admin_value upload_max_filesize 20M
|
||||
php_admin_value post_max_size 20M
|
||||
</VirtualHost>
|
||||
38
docker/deploy.sh
Executable file
38
docker/deploy.sh
Executable file
@@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ============================================
|
||||
# Script para construir y subir imagen Docker
|
||||
# Target: 10.10.4.3:5000/bot-lastwar:v2
|
||||
# ============================================
|
||||
|
||||
set -e
|
||||
|
||||
# Cambiar al directorio del proyecto (carpeta padre de donde está este script)
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
echo "=========================================="
|
||||
echo "Construyendo imagen Docker..."
|
||||
echo "Directorio: $(pwd)"
|
||||
echo "=========================================="
|
||||
|
||||
# Construir la imagen usando el Dockerfile en docker/
|
||||
docker build -t bot-lastwar:latest -f docker/Dockerfile .
|
||||
|
||||
echo "=========================================="
|
||||
echo "Etiquetando imagen para el registry..."
|
||||
echo "=========================================="
|
||||
|
||||
# Etiquetar la imagen con la versión v2
|
||||
docker tag bot-lastwar:latest 10.10.4.3:5000/bot-lastwar:v2
|
||||
|
||||
echo "=========================================="
|
||||
echo "Subiendo imagen al registry..."
|
||||
echo "=========================================="
|
||||
|
||||
# Subir al registry
|
||||
docker push 10.10.4.3:5000/bot-lastwar:v2
|
||||
|
||||
echo "=========================================="
|
||||
echo "Imagen subida exitosamente:"
|
||||
echo "10.10.4.3:5000/bot-lastwar:v2"
|
||||
echo "=========================================="
|
||||
60
docker/diagnostico_zimaos.sh
Executable file
60
docker/diagnostico_zimaos.sh
Executable file
@@ -0,0 +1,60 @@
|
||||
# Comandos para diagnosticar problemas en ZimaOS
|
||||
# Copia y pega estos comandos en la terminal de ZimaOS
|
||||
|
||||
# 1. Ver logs del discordbot
|
||||
docker exec bot_lastwar_funcionando cat /var/www/html/bot/logs/discordbot.out.log
|
||||
|
||||
# 2. Ver logs del discordbot (errores)
|
||||
docker exec bot_lastwar_funcionando cat /var/www/html/bot/logs/discordbot.err.log
|
||||
|
||||
# 3. Ver logs del translation-worker
|
||||
docker exec bot_lastwar_funcionando cat /var/www/html/bot/logs/translation-worker.out.log
|
||||
|
||||
# 4. Verificar si el archivo discord_bot.php existe
|
||||
docker exec bot_lastwar_funcionando ls -la /var/www/html/bot/discord_bot.php
|
||||
|
||||
# 5. Verificar el .env generado
|
||||
docker exec bot_lastwar_funcionando cat /var/www/html/bot/.env
|
||||
|
||||
# 6. Verificar si los archivos del proyecto están montados
|
||||
docker exec bot_lastwar_funcionando ls -la /var/www/html/bot/ | head -20
|
||||
|
||||
# 7. Verificar permisos de la carpeta logs
|
||||
docker exec bot_lastwar_funcionando ls -la /var/www/html/bot/logs/
|
||||
|
||||
# 8. Ver todos los procesos en ejecución
|
||||
docker exec bot_lastwar_funcionando ps aux
|
||||
|
||||
# 9. Ver estado de supervisor
|
||||
docker exec bot_lastwar_funcionando supervisorctl status
|
||||
|
||||
# ==== DIAGNÓSTICO DE APACHE ====
|
||||
# 10. Ver si Apache está escuchando en puerto 80
|
||||
docker exec bot_lastwar_funcionando netstat -tulpn | grep :80
|
||||
|
||||
# 11. Ver procesos de Apache
|
||||
docker exec bot_lastwar_funcionando ps aux | grep apache
|
||||
|
||||
# 12. Ver log de error de Apache
|
||||
docker exec bot_lastwar_funcionando cat /var/log/apache2/error.log
|
||||
|
||||
# 13. Ver log de error del sitio
|
||||
docker exec bot_lastwar_funcionando cat /var/www/html/bot/logs/apache2.err.log
|
||||
|
||||
# 14. Probar Apache directamente dentro del contenedor
|
||||
docker exec bot_lastwar_funcionando curl -v http://localhost:80/ 2>&1 | head -20
|
||||
|
||||
# 15. Ver configuración de Apache
|
||||
docker exec bot_lastwar_funcionando apache2ctl -S 2>&1
|
||||
|
||||
# 16. Ver módulos de Apache cargados
|
||||
docker exec bot_lastwar_funcionando apache2ctl -M 2>&1 | grep php
|
||||
|
||||
# 17. Verificar si hay algo escuchando en el puerto publicado
|
||||
netstat -tulpn | grep 8086
|
||||
|
||||
# 18. Ver logs del contenedor
|
||||
docker logs bot_lastwar_funcionando 2>&1 | tail -30
|
||||
|
||||
# 19. Reiniciar el contenedor (si necesitas hacer cambios)
|
||||
docker restart bot_lastwar_funcionando
|
||||
20
docker/docker-compose.local.yml
Executable file
20
docker/docker-compose.local.yml
Executable file
@@ -0,0 +1,20 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
bot-lastwar:
|
||||
container_name: bot_lastwar_funcionando
|
||||
build:
|
||||
context: .
|
||||
dockerfile: docker/Dockerfile
|
||||
ports:
|
||||
- "8086:80"
|
||||
environment:
|
||||
- APP_ENVIRONMENT=pruebas
|
||||
- USE_LOCALHOST=true
|
||||
- TZ=UTC
|
||||
volumes:
|
||||
- .:/var/www/html/bot:rw
|
||||
- ./docker/supervisor/supervisord.conf:/etc/supervisor/supervisord.conf:ro
|
||||
working_dir: /var/www/html/bot
|
||||
restart: unless-stopped
|
||||
command: ["/entrypoint.sh"]
|
||||
66
docker/entrypoint.sh
Executable file
66
docker/entrypoint.sh
Executable file
@@ -0,0 +1,66 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "=========================================="
|
||||
echo "Bot LastWar - Docker Startup Script"
|
||||
echo "=========================================="
|
||||
|
||||
ENVIRONMENT=${APP_ENVIRONMENT:-reod}
|
||||
echo "Environment: $ENVIRONMENT"
|
||||
|
||||
echo "Generando archivo .env desde variables de entorno..."
|
||||
|
||||
# Eliminar todos los archivos .env existentes para evitar conflictos
|
||||
rm -f /var/www/html/bot/.env* 2>/dev/null || true
|
||||
|
||||
env | grep -E "^(DB_|JWT_|DISCORD_|TELEGRAM_|LIBRETRANSLATE_|N8N_|APP_|INTERNAL_API_KEY|TEST_ENV_LOAD)" > /tmp/env_vars.txt
|
||||
|
||||
# Determinar el nombre del archivo .env según el entorno
|
||||
if [ "$ENVIRONMENT" = "reod" ]; then
|
||||
ENV_FILE="/var/www/html/bot/.env"
|
||||
else
|
||||
ENV_FILE="/var/www/html/bot/.env.${ENVIRONMENT}"
|
||||
fi
|
||||
|
||||
{
|
||||
echo "# Auto-generado desde variables de entorno"
|
||||
echo "# NO editar manualmente - los cambios se perderán al reiniciar"
|
||||
echo ""
|
||||
while IFS='=' read -r name value; do
|
||||
[ -z "$name" ] && continue
|
||||
# Renombrar APP_BASE_URL a APP_URL para compatibilidad con el código
|
||||
if [ "$name" = "APP_BASE_URL" ]; then
|
||||
echo "APP_URL=${value}"
|
||||
else
|
||||
echo "${name}=${value}"
|
||||
fi
|
||||
done < /tmp/env_vars.txt
|
||||
} > "$ENV_FILE"
|
||||
|
||||
rm -f /tmp/env_vars.txt
|
||||
|
||||
echo "Archivo .env generado"
|
||||
|
||||
if [ -f /var/www/html/bot/composer.json ]; then
|
||||
echo "Instalando dependencias de Composer..."
|
||||
composer install --no-interaction --optimize-autoloader --no-dev 2>/dev/null || composer install --no-interaction
|
||||
fi
|
||||
|
||||
mkdir -p /var/www/html/bot/logs 2>/dev/null || true
|
||||
mkdir -p /var/www/html/bot/galeria 2>/dev/null || true
|
||||
mkdir -p /var/run/supervisor 2>/dev/null || true
|
||||
chmod -R 777 /var/www/html/bot/logs /var/log/apache2 2>/dev/null || true
|
||||
touch /var/log/apache2/error.log 2>/dev/null || true
|
||||
touch /var/log/apache2/access.log 2>/dev/null || true
|
||||
chmod 666 /var/log/apache2/*.log 2>/dev/null || true
|
||||
chown -R www-data:www-data /var/www/html/bot/logs /var/log/apache2 2>/dev/null || true
|
||||
|
||||
echo "Configurando sitio Apache..."
|
||||
if [ "$ENVIRONMENT" = "reod" ]; then
|
||||
a2ensite reod-dragon.ddns.net.conf 2>/dev/null || true
|
||||
else
|
||||
a2dissite reod-dragon.ddns.net.conf 2>/dev/null || true
|
||||
fi
|
||||
|
||||
echo "Iniciando Supervisor..."
|
||||
exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
|
||||
9
docker/supervisor/discordbot.conf
Executable file
9
docker/supervisor/discordbot.conf
Executable file
@@ -0,0 +1,9 @@
|
||||
[program:discordbot]
|
||||
command=/usr/bin/php /var/www/html/bot/discord_bot.php
|
||||
directory=/var/www/html/bot/
|
||||
autostart=true
|
||||
autorestart=true
|
||||
stderr_logfile=/var/www/html/bot/logs/discordbot.err.log
|
||||
stdout_logfile=/var/www/html/bot/logs/discordbot.out.log
|
||||
user=root
|
||||
redirect_stderr=false
|
||||
17
docker/supervisor/supervisord.conf
Executable file
17
docker/supervisor/supervisord.conf
Executable file
@@ -0,0 +1,17 @@
|
||||
[supervisord]
|
||||
nodaemon=true
|
||||
logfile=/var/www/html/bot/logs/supervisor.log
|
||||
loglevel=info
|
||||
pidfile=/var/run/supervisor/supervisord.pid
|
||||
childlogdir=/var/www/html/bot/logs
|
||||
user=root
|
||||
|
||||
[program:apache2]
|
||||
command=/bin/bash -c "source /etc/apache2/envvars && exec apache2 -D FOREGROUND"
|
||||
autostart=true
|
||||
autorestart=true
|
||||
stdout_logfile=/var/www/html/bot/logs/apache2.out.log
|
||||
stderr_logfile=/var/www/html/bot/logs/apache2.err.log
|
||||
|
||||
[include]
|
||||
files=/etc/supervisor/conf.d/*.conf
|
||||
19
docker/supervisor/translation-worker.conf
Executable file
19
docker/supervisor/translation-worker.conf
Executable file
@@ -0,0 +1,19 @@
|
||||
[program:translation-worker]
|
||||
command=/usr/bin/php /var/www/html/bot/process_translation_queue.php
|
||||
directory=/var/www/html/bot/
|
||||
user=root
|
||||
autostart=true
|
||||
autorestart=true
|
||||
stdout_logfile=/var/www/html/bot/logs/translation-worker.out.log
|
||||
stderr_logfile=/var/www/html/bot/logs/translation-worker.err.log
|
||||
redirect_stderr=true
|
||||
|
||||
[program:queue-processor]
|
||||
command=/bin/bash -c "while true; do sleep 60; /usr/bin/php /var/www/html/bot/process_queue.php; done"
|
||||
directory=/var/www/html/bot/
|
||||
user=root
|
||||
autostart=true
|
||||
autorestart=true
|
||||
stdout_logfile=/var/www/html/bot/logs/queue-processor.out.log
|
||||
stderr_logfile=/var/www/html/bot/logs/queue-processor.err.log
|
||||
redirect_stderr=true
|
||||
73
docker/zimaos-docker-compose-corrected.yml
Executable file
73
docker/zimaos-docker-compose-corrected.yml
Executable file
@@ -0,0 +1,73 @@
|
||||
name: bot-lastwar
|
||||
services:
|
||||
bot-lastwar:
|
||||
cpu_shares: 90
|
||||
command:
|
||||
- /entrypoint.sh
|
||||
container_name: bot_lastwar_funcionando
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 16663138304
|
||||
reservations:
|
||||
devices: []
|
||||
environment:
|
||||
- APP_BASE_URL=https://reod-dragon.ddns.net
|
||||
- APP_ENV=production
|
||||
- APP_ENVIRONMENT=reod
|
||||
- APP_URL=https://reod-dragon.ddns.net
|
||||
- DB_DIALECT=mysql
|
||||
- DB_HOST=10.10.4.17
|
||||
- DB_NAME=bot
|
||||
- DB_PASS=MiPo6425@@
|
||||
- DB_PORT=3390
|
||||
- DB_USER=nickpons666
|
||||
- DISCORD_BOT_TOKEN=MTM4NTc5MDM0NDU5NDk4NTA2MQ.GvobiS.TRQM9dX7vDjmuGVa3Ckp6YRtGEWxdW0gBDbvCI
|
||||
- DISCORD_CLIENT_ID=1385790344594985061
|
||||
- DISCORD_CLIENT_SECRET=hK9SNiYdenHQVxakt8Mx3RoMkZ5oOJvk
|
||||
- DISCORD_GUILD_ID=1338327171013541999
|
||||
- INTERNAL_API_KEY=b5dda33b8eb062e06e100c98a8947c0248b6e38973dfd689e81f725af238d23c
|
||||
- JWT_ALGORITHM=HS256
|
||||
- JWT_EXPIRATION=3600
|
||||
- JWT_SECRET=19c5020fa8207d2c3b9e82f430784667e001f1eb733848922f7bcb9be98f93c2
|
||||
- LIBRETRANSLATE_URL=http://10.10.4.17:5000
|
||||
- N8N_IA_WEBHOOK_URL=https://n8n-dragon.ddns.net/webhook/ia
|
||||
- N8N_IA_WEBHOOK_URL_DISCORD=https://n8n-dragon.ddns.net/webhook/42e803ae-8aee-4b1c-858a-6c6d3fbb6230
|
||||
- N8N_PROCESS_QUEUE_WEBHOOK_URL=https://n8n-dragon.ddns.net/webhook/telegram-unified
|
||||
- N8N_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI4MWY4YjU3YS0wMTg2LTQ1NTctOWZlMC1jYWUxNjZlYzZlMTkiLCJpc3MiOiJuOG4iLCJhdWQiOiJwdWJsaWMtYXBpIiwiaWF0IjoxNzU1OTMwODM5fQ.2tLbddyhMTKplp9n-qVNiAgQCUj2YEvVASwLnNjgCt0
|
||||
- N8N_URL=https://n8n-dragon.ddns.net
|
||||
- TELEGRAM_BOT_TOKEN=8469229183:AAEVIV5e7rjDXKNgFTX0dnCW6JWB88X4p2I
|
||||
- TELEGRAM_WEBHOOK_TOKEN=webhook_secure_token_12345
|
||||
- TEST_ENV_LOAD=caos_cargado
|
||||
- TZ=America/Mexico_City
|
||||
- USE_LOCALHOST=false
|
||||
image: 10.10.4.3:5000/bot-lastwar:latest
|
||||
labels:
|
||||
icon: https://icon.casaos.io/main/all/bot-lastwar.png
|
||||
ports:
|
||||
- target: 80
|
||||
published: "8086"
|
||||
protocol: tcp
|
||||
restart: unless-stopped
|
||||
user: 0:0
|
||||
volumes:
|
||||
- type: bind
|
||||
source: /media/ZimaOS-HD/AppData/bot_lastwar/logs
|
||||
target: /var/www/html/bot/logs
|
||||
devices: []
|
||||
cap_add: []
|
||||
network_mode: bridge
|
||||
privileged: false
|
||||
x-casaos:
|
||||
author: self
|
||||
category: self
|
||||
hostname: ""
|
||||
icon: https://icon.casaos.io/main/all/bot-lastwar.png
|
||||
index: /
|
||||
is_uncontrolled: false
|
||||
port_map: "8086"
|
||||
scheme: http
|
||||
store_app_id: bot-lastwar
|
||||
title:
|
||||
custom: ""
|
||||
en_us: bot-lastwar
|
||||
77
docker/zimaos-docker-compose.yml
Executable file
77
docker/zimaos-docker-compose.yml
Executable file
@@ -0,0 +1,77 @@
|
||||
# ZimaOS Docker Compose Configuration for Bot LastWar
|
||||
# Contenedor: bot_lastwar_funcionando
|
||||
# Puerto: 8086 -> 80
|
||||
#
|
||||
# INSTRUCCIONES PARA ZIMAOS:
|
||||
# 1. Copia este archivo en ZimaOS
|
||||
# 2. Ajusta todas las variables de entorno según tu entorno
|
||||
# 3. La imagen ya contiene todos los archivos del proyecto
|
||||
# 4. Ejecuta: docker compose -f zimaos-docker-compose.yml up -d
|
||||
#
|
||||
# La imagen se descarga automáticamente del registry: 10.10.4.3:5000/bot-lastwar:latest
|
||||
|
||||
services:
|
||||
bot-lastwar:
|
||||
image: 10.10.4.3:5000/bot-lastwar:latest
|
||||
container_name: bot_lastwar_funcionando
|
||||
ports:
|
||||
- "8086:80"
|
||||
environment:
|
||||
# Configuración de la aplicación
|
||||
- APP_ENV=production
|
||||
- APP_ENVIRONMENT=reod
|
||||
- APP_DEBUG=false
|
||||
- USE_LOCALHOST=false
|
||||
- TZ=America/Mexico_City
|
||||
- APP_URL=https://reod-dragon.ddns.net
|
||||
|
||||
# Configuración de la base de datos
|
||||
- DB_HOST=10.10.4.17
|
||||
- DB_PORT=3390
|
||||
- DB_NAME=bot
|
||||
- DB_USER=nickpons666
|
||||
- DB_PASS=MiPo6425@@
|
||||
- DB_DIALECT=mysql
|
||||
|
||||
# Configuración de JWT
|
||||
- JWT_SECRET=19c5020fa8207d2c3b9e82f430784667e001f1eb733848922f7bcb9be98f93c2
|
||||
- JWT_ALGORITHM=HS256
|
||||
- JWT_EXPIRATION=3600
|
||||
|
||||
# Configuración de Discord
|
||||
- DISCORD_GUILD_ID=1338327171013541999
|
||||
- DISCORD_CLIENT_ID=1385790344594985061
|
||||
- DISCORD_CLIENT_SECRET=hK9SNiYdenHQVxakt8Mx3RoMkZ5oOJvk
|
||||
- DISCORD_BOT_TOKEN=MTM4NTc5MDM0NDU5NDk4NTA2MQ.GvobiS.TRQM9dX7vDjmuGVa3Ckp6YRtGEWxdW0gBDbvCI
|
||||
|
||||
# Configuración de Telegram
|
||||
- TELEGRAM_BOT_TOKEN=8469229183:AAEVIV5e7rjDXKNgFTX0dnCW6JWB88X4p2I
|
||||
- TELEGRAM_WEBHOOK_TOKEN=webhook_secure_token_12345
|
||||
- TEST_ENV_LOAD=caos_cargado
|
||||
|
||||
# LibreTranslate
|
||||
- LIBRETRANSLATE_URL=http://10.10.4.17:5000
|
||||
|
||||
# N8N Integration
|
||||
- N8N_URL=https://n8n-dragon.ddns.net
|
||||
- N8N_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI4MWY4YjU3YS0wMTg2LTQ1NTctOWZlMC1jYWUxNjZlYzZlMTkiLCJpc3MiOiJuOG4iLCJhdWQiOiJwdWJsaWMtYXBpIiwiaWF0IjoxNzU1OTMwODM5fQ.2tLbddyhMTKplp9n-qVNiAgQCUj2YEvVASwLnNjgCt0
|
||||
|
||||
# Configuración para migración a n8n
|
||||
- APP_BASE_URL=https://reod-dragon.ddns.net
|
||||
- INTERNAL_API_KEY="b5dda33b8eb062e06e100c98a8947c0248b6e38973dfd689e81f725af238d23c"
|
||||
- N8N_PROCESS_QUEUE_WEBHOOK_URL="https://n8n-dragon.ddns.net/webhook/telegram-unified"
|
||||
- N8N_IA_WEBHOOK_URL="https://n8n-dragon.ddns.net/webhook/ia"
|
||||
- N8N_IA_WEBHOOK_URL_DISCORD="https://n8n-dragon.ddns.net/webhook/42e803ae-8aee-4b1c-858a-6c6d3fbb6230"
|
||||
|
||||
restart: unless-stopped
|
||||
user: "0:0"
|
||||
command: ["/entrypoint.sh"]
|
||||
|
||||
volumes:
|
||||
# Volúmenes opcionales para persistencia (puedes quitarlos si no los necesitas)
|
||||
- bot-logs:/var/www/html/bot/logs
|
||||
- bot-galeria:/var/www/html/bot/galeria
|
||||
|
||||
volumes:
|
||||
bot-logs:
|
||||
bot-galeria:
|
||||
50
docker/zimaos.env.template
Executable file
50
docker/zimaos.env.template
Executable file
@@ -0,0 +1,50 @@
|
||||
# ============================================
|
||||
# Plantilla de variables de entorno para Docker
|
||||
# Copiar este archivo a .env y configurar
|
||||
# ============================================
|
||||
|
||||
# Configuración de la aplicación
|
||||
APP_ENV=production
|
||||
APP_ENVIRONMENT=reod
|
||||
APP_DEBUG=false
|
||||
USE_LOCALHOST=false
|
||||
TZ=America/Mexico_City
|
||||
APP_URL=https://reod-dragon.ddns.net
|
||||
|
||||
# Configuración de la base de datos
|
||||
DB_HOST=10.10.4.17
|
||||
DB_PORT=3390
|
||||
DB_NAME=bot
|
||||
DB_USER=nickpons666
|
||||
DB_PASS=MiPo6425@@
|
||||
DB_DIALECT=mysql
|
||||
|
||||
# Configuración de JWT
|
||||
JWT_SECRET=19c5020fa8207d2c3b9e82f430784667e001f1eb733848922f7bcb9be98f93c2
|
||||
JWT_ALGORITHM=HS256
|
||||
JWT_EXPIRATION=3600
|
||||
|
||||
# Configuración de Discord
|
||||
DISCORD_GUILD_ID=1338327171013541999
|
||||
DISCORD_CLIENT_ID=1385790344594985061
|
||||
DISCORD_CLIENT_SECRET=hK9SNiYdenHQVxakt8Mx3RoMkZ5oOJvk
|
||||
DISCORD_BOT_TOKEN=MTM4NTc5MDM0NDU5NDk4NTA2MQ.GvobiS.TRQM9dX7vDjmuGVa3Ckp6YRtGEWxdW0gBDbvCI
|
||||
|
||||
# Configuración de Telegram
|
||||
TELEGRAM_BOT_TOKEN=8469229183:AAEVIV5e7rjDXKNgFTX0dnCW6JWB88X4p2I
|
||||
TELEGRAM_WEBHOOK_TOKEN=webhook_secure_token_12345
|
||||
TEST_ENV_LOAD=caos_cargado
|
||||
|
||||
# LibreTranslate
|
||||
LIBRETRANSLATE_URL=http://10.10.4.17:5000
|
||||
|
||||
# N8N Integration
|
||||
N8N_URL=https://n8n-dragon.ddns.net
|
||||
N8N_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI4MWY4YjU3YS0wMTg2LTQ1NTctOWZlMC1jYWUxNjZlYzZlMTkiLCJpc3MiOiJuOG4iLCJhdWQiOiJwdWJsaWMtYXBpIiwiaWF0IjoxNzU1OTMwODM5fQ.2tLbddyhMTKplp9n-qVNiAgQCUj2YEvVASwLnNjgCt0
|
||||
|
||||
# Configuración para migración a n8n
|
||||
APP_BASE_URL=https://reod-dragon.ddns.net
|
||||
INTERNAL_API_KEY=b5dda33b8eb062e06e100c98a8947c0248b6e38973dfd689e81f725af238d23c
|
||||
N8N_PROCESS_QUEUE_WEBHOOK_URL=https://n8n-dragon.ddns.net/webhook/telegram-unified
|
||||
N8N_IA_WEBHOOK_URL=https://n8n-dragon.ddns.net/webhook/ia
|
||||
N8N_IA_WEBHOOK_URL_DISCORD=https://n8n-dragon.ddns.net/webhook/42e803ae-8aee-4b1c-858a-6c6d3fbb6230
|
||||
Reference in New Issue
Block a user