Files
sistema_funcionando_lastwar/docker/entrypoint.sh

67 lines
2.2 KiB
Bash
Executable File

#!/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