- Temporarily disable automatic deployment to prevent CI failures - Add comprehensive production server setup documentation - Update deployment guide with clear setup requirements - Format manually edited code files for CI compliance - Provide step-by-step server configuration instructions - Enable safe CI/CD pipeline operation without deployment errors The deployment will be re-enabled once the production server is properly set up following the new documentation.
2.4 KiB
2.4 KiB
Deployment Guide
⚠️ Production Server Setup Required
IMPORTANT: The automated deployment is currently disabled until your production server is properly configured.
Current Status:
- ✅ CI/CD Pipeline: Fully configured
- ✅ Code Quality: Automated checks working
- ✅ Docker Images: Building successfully
- ❌ Production Server: Needs setup (deployment disabled)
Required Setup Steps:
-
Set up your production server following the detailed guide: 📖 Complete Production Server Setup Guide
-
Enable automatic deployment once server is ready by editing
.github/workflows/ci-cd.yml
Deployment Secrets Configured:
- ✅
PROD_HOST- Production server address - ✅
PROD_USERNAME- SSH username (deployment) - ✅
PROD_SSH_KEY- SSH private key for authentication
Why Deployment is Disabled:
The CI/CD pipeline was failing because:
/opt/stiftungdirectory doesn't exist on server- Docker is not installed on production server
- Git repository not cloned to server
- Environment variables not configured
Re-enabling Deployment:
After completing the server setup, edit .github/workflows/ci-cd.yml and change:
if: github.ref == 'refs/heads/main' && false # Disabled until production server is set up
To:
if: github.ref == 'refs/heads/main'
Deployment Process:
-
Automatic Triggers:
- Push to
mainbranch - Manual workflow dispatch from GitHub Actions
- Push to
-
Pipeline Steps:
- Code quality checks (flake8, black, isort, bandit)
- Automated testing with PostgreSQL
- Docker image building
- Secure deployment to production server
- Health checks and verification
-
Deployment Files:
deploy-production/- Ubuntu/Debian production setupdeploy-synology/- Synology NAS deployment option
Manual Deployment:
If you need to deploy manually:
# 1. Prepare production server
sudo bash deploy-production/server-setup.sh
# 2. Deploy application
bash deploy-production/deploy.sh
Monitoring:
- GitHub Actions: Monitor deployment status
- Server logs:
docker-compose logs -f - Application health: Check configured health endpoints
Next Steps:
- Monitor the first automated deployment
- Configure SSL certificates with Certbot
- Set up monitoring and backups
- Configure domain DNS
Last updated: September 6, 2025 Pipeline configured for user: deployment