Merge: Complete merge of remote changes, including user's requested additions.

This commit completes the merge process, incorporating remote changes that conflicted with local modifications. It also stages and commits all remaining modified and untracked files as per the user's instruction to 'upload everything without exception'.
This commit is contained in:
2026-02-08 16:33:43 -06:00
22 changed files with 1165 additions and 121 deletions

86
docker/bot-lastwar.yaml Executable file
View File

@@ -0,0 +1,86 @@
name: bot-lastwar
services:
bot-lastwar:
image: 10.10.4.3:5000/bot-lastwar:v3
container_name: bot_lastwar_funcionando
restart: unless-stopped
ports:
- target: 80
published: "8086"
protocol: tcp
volumes:
- type: bind
source: /media/ZimaOS-HD/AppData/bot_lastwar/logs
target: /var/www/html/bot/logs
environment:
# --- App Configuration ---
- APP_ENV=production
- APP_ENVIRONMENT=reod
- APP_URL=https://reod-dragon.ddns.net
- INTERNAL_API_KEY=b5dda33b8eb062e06e100c98a8947c0248b6e38973dfd689e81f725af238d23c
- TEST_ENV_LOAD=caos_cargado
- TZ=America/Mexico_City
- USE_LOCALHOST=false
# --- Database Configuration ---
- DB_DIALECT=mysql
- DB_HOST=10.10.4.17
- DB_NAME=bot
- DB_PASS='MiPo6425@@'
- DB_PORT=3390
- DB_USER=nickpons666
# --- Discord Configuration ---
- DISCORD_BOT_TOKEN=MTM4NTc5MDM0NDU5NDk4NTA2MQ.GvobiS.TRQM9dX7vDjmuGVa3Ckp6YRtGEWxdW0gBDbvCI
- DISCORD_CLIENT_ID=1385790344594985061
- DISCORD_CLIENT_SECRET=hK9SNiYdenHQVxakt8Mx3RoMkZ5oOJvk
- DISCORD_GUILD_ID=1338327171013541999
# --- JWT Configuration ---
- JWT_ALGORITHM=HS256
- JWT_EXPIRATION=3600
- JWT_SECRET=19c5020fa8207d2c3b9e82f430784667e001f1eb733848922f7bcb9be98f93c2
# --- Services Configuration ---
- 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 Configuration ---
- TELEGRAM_BOT_TOKEN=8469229183:AAEVIV5e7rjDXKNgFTX0dnCW6JWB88X4p2I
- TELEGRAM_WEBHOOK_TOKEN=webhook_secure_token_12345
# --- Docker Specific Settings ---
command:
- /entrypoint.sh
user: 0:0
network_mode: bridge
privileged: false
cpu_shares: 90
deploy:
resources:
limits:
memory: 16663138304
reservations:
devices: []
cap_add: []
devices: []
labels:
icon: https://www.ruthlessreviews.com/wp-content/uploads/2025/12/last-war-image.jpg
x-casaos:
author: self
category: self
hostname: ""
icon: https://www.ruthlessreviews.com/wp-content/uploads/2025/12/last-war-image.jpg
index: /
is_uncontrolled: false
port_map: "8086"
scheme: http
store_app_id: bot-lastwar
title:
custom: ""
en_us: bot-lastwar

View File

@@ -1,38 +1,68 @@
#!/bin/bash
# ============================================
# Script para construir y subir imagen Docker
# Target: 10.10.4.3:5000/bot-lastwar:v2
# ============================================
# ==================================================
# Script para construir y subir una imagen Docker.
#
# Uso:
# ./deploy.sh
#
# El script te preguntará interactivamente:
# - Tag para la imagen
# - Si deseas usar caché al construir
# ==================================================
set -e
# Cambiar al directorio del proyecto (carpeta padre de donde está este script)
# --- Configuración ---
REGISTRY_URL="10.10.4.3:5000"
IMAGE_NAME="bot-lastwar"
# Preguntar por el tag si no se proporciona como argumento
if [ -n "$1" ]; then
TAG="$1"
else
read -p "Introduce el tag para la imagen [latest]: " TAG
TAG="${TAG:-latest}"
fi
# Preguntar si quiere usar caché
read -p "¿Usar caché al construir? (s/n) [n]: " USE_CACHE
if [ "${USE_CACHE,,}" = "s" ]; then
BUILD_CACHE_FLAG=""
CACHE_STATUS="con caché"
else
BUILD_CACHE_FLAG="--no-cache"
CACHE_STATUS="sin caché"
fi
# --- Fin de la Configuración ---
# Nombres completos de la imagen
LOCAL_IMAGE_NAME="${IMAGE_NAME}:${TAG}"
REMOTE_IMAGE_NAME="${REGISTRY_URL}/${IMAGE_NAME}:${TAG}"
# Cambiar al directorio raíz del proyecto (un nivel arriba de este script)
cd "$(dirname "$0")/.."
echo "=========================================="
echo "Construyendo imagen Docker..."
echo "Directorio: $(pwd)"
echo "Directorio de trabajo: $(pwd)"
echo "Construyendo imagen: ${LOCAL_IMAGE_NAME}"
echo "Opción de build: ${CACHE_STATUS}"
echo "Destino del registry: ${REMOTE_IMAGE_NAME}"
echo "=========================================="
# Construir la imagen usando el Dockerfile en docker/
docker build -t bot-lastwar:latest -f docker/Dockerfile .
# 1. Construir la imagen Docker
echo "Paso 1: Construyendo imagen Docker ${CACHE_STATUS}..."
docker build ${BUILD_CACHE_FLAG} -t "${LOCAL_IMAGE_NAME}" -f docker/Dockerfile .
# 2. Etiquetar la imagen para el registry
echo "Paso 2: Etiquetando imagen como ${REMOTE_IMAGE_NAME}..."
docker tag "${LOCAL_IMAGE_NAME}" "${REMOTE_IMAGE_NAME}"
# 3. Subir la imagen al registry
echo "Paso 3: Subiendo imagen al registry..."
docker push "${REMOTE_IMAGE_NAME}"
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 "✅ Imagen subida exitosamente:"
echo "${REMOTE_IMAGE_NAME}"
echo "=========================================="

View File

@@ -13,7 +13,7 @@ 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
env > /tmp/env_vars.txt
# Determinar el nombre del archivo .env según el entorno
if [ "$ENVIRONMENT" = "reod" ]; then
@@ -39,7 +39,10 @@ fi
rm -f /tmp/env_vars.txt
echo "Archivo .env generado"
echo "Archivo .env generado en ${ENV_FILE}"
# Corregir permisos para que el servidor web (www-data) pueda leerlo
chown www-data:www-data "$ENV_FILE"
chmod 644 "$ENV_FILE"
if [ -f /var/www/html/bot/composer.json ]; then
echo "Instalando dependencias de Composer..."
@@ -55,12 +58,12 @@ 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..."
echo "Configurando sitio Apache y limpiando caché de Opcache..."
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..."
echo "Iniciando Supervisor (que gestionará Apache y los workers)..."
exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf