Files
sistema_funcionando_lastwar/docker/entrypoint.sh
nickpons666 7953a56501 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'.
2026-02-08 16:33:43 -06:00

70 lines
2.3 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 > /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 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..."
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 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 (que gestionará Apache y los workers)..."
exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf