🔨 Integra scripts y código para docker

This commit is contained in:
Manuel Cillero 2025-06-22 01:16:32 +02:00
parent 4cea38117d
commit 3d487e4279
7 changed files with 281 additions and 0 deletions

35
entrypoint.sh Normal file
View file

@ -0,0 +1,35 @@
#!/bin/bash
set -e
echo "📌 Esperando a que la base de datos esté lista..."
until mysql -h db -u"$REDMINE_DB_USERNAME" -p"$REDMINE_DB_PASSWORD" -e "SELECT 1;" &> /dev/null; do
sleep 5
done
echo "📌 Verificando si la base de datos está preparada..."
# Comprobar si la tabla 'projects' existe
TABLE_EXISTS=$(mysql -h db -u"$REDMINE_DB_USERNAME" -p"$REDMINE_DB_PASSWORD" -D "$REDMINE_DB_DATABASE" \
-se "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = '$REDMINE_DB_DATABASE' AND table_name = 'projects';")
if [ "$TABLE_EXISTS" -eq 0 ]; then
echo "🚀 Tabla 'projects' no existe. Importando backup..."
mysql -h db -u"$REDMINE_DB_USERNAME" -p"$REDMINE_DB_PASSWORD" "$REDMINE_DB_DATABASE" < /suitepro-backup.sql
echo "✅ Importación completada."
else
# Si la tabla existe, se comprueba si tiene registros
RECORD_COUNT=$(mysql -h db -u"$REDMINE_DB_USERNAME" -p"$REDMINE_DB_PASSWORD" -D "$REDMINE_DB_DATABASE" \
-se "SELECT COUNT(*) FROM projects;")
if [ "$RECORD_COUNT" -eq 0 ]; then
echo "🚀 Tabla 'projects' está vacía. Importando backup..."
mysql -h db -u"$REDMINE_DB_USERNAME" -p"$REDMINE_DB_PASSWORD" "$REDMINE_DB_DATABASE" < /suitepro-backup.sql
echo "✅ Importación completada."
fi
fi
echo "🚀 Ejecutando migraciones de plugins..."
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
# Iniciar Redmine
echo "🚀 Iniciando Redmine..."
exec rails server -b 0.0.0.0