71 lines
2.0 KiB
Bash
71 lines
2.0 KiB
Bash
#!/bin/bash
|
|
# Development setup script
|
|
|
|
set -e
|
|
|
|
echo "🚀 Setting up Stiftung development environment..."
|
|
|
|
# Check if Docker is running
|
|
if ! docker info > /dev/null 2>&1; then
|
|
echo "❌ Docker is not running. Please start Docker first."
|
|
exit 1
|
|
fi
|
|
|
|
# Check if .env exists
|
|
if [ ! -f ".env" ]; then
|
|
echo "📝 Creating .env file from template..."
|
|
cp env-template.txt .env
|
|
echo "✅ Please edit .env file with your configuration"
|
|
fi
|
|
|
|
# Start services
|
|
echo "🐳 Starting Docker services..."
|
|
docker-compose up -d
|
|
|
|
# Wait for database to be ready
|
|
echo "⏳ Waiting for database to be ready..."
|
|
sleep 10
|
|
|
|
# Run migrations
|
|
echo "🔄 Running database migrations..."
|
|
docker-compose exec web python manage.py migrate
|
|
|
|
# Create superuser if needed
|
|
echo "👤 Creating superuser (if needed)..."
|
|
docker-compose exec web python manage.py shell << 'EOF'
|
|
from django.contrib.auth import get_user_model
|
|
User = get_user_model()
|
|
if not User.objects.filter(is_superuser=True).exists():
|
|
print("No superuser found. Please create one:")
|
|
exit()
|
|
else:
|
|
print("Superuser already exists")
|
|
EOF
|
|
|
|
# Collect static files
|
|
echo "📦 Collecting static files..."
|
|
docker-compose exec web python manage.py collectstatic --noinput
|
|
|
|
# Check health
|
|
echo "🏥 Checking application health..."
|
|
sleep 5
|
|
if curl -f -s http://localhost:8000/health/ > /dev/null; then
|
|
echo "✅ Application is healthy!"
|
|
else
|
|
echo "❌ Application health check failed"
|
|
fi
|
|
|
|
echo ""
|
|
echo "🎉 Development environment is ready!"
|
|
echo ""
|
|
echo "📊 Services:"
|
|
echo " - Application: http://localhost:8000"
|
|
echo " - Admin: http://localhost:8000/admin/"
|
|
echo " - HelpBox Admin: http://localhost:8000/help-box/admin/"
|
|
echo ""
|
|
echo "🛠️ Useful commands:"
|
|
echo " - View logs: docker-compose logs -f web"
|
|
echo " - Run tests: docker-compose exec web python manage.py test"
|
|
echo " - Django shell: docker-compose exec web python manage.py shell"
|
|
echo " - Create superuser: docker-compose exec web python manage.py createsuperuser"
|