67 lines
2.2 KiB
Bash
Executable File
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
|