Files
stiftung-management-system/DEPLOYMENT.md
Stiftung Development 1589cff171 Disable deployment until production server is configured
- 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.
2025-09-06 21:17:34 +02:00

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:

  1. Set up your production server following the detailed guide: 📖 Complete Production Server Setup Guide

  2. 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/stiftung directory 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:

  1. Automatic Triggers:

    • Push to main branch
    • Manual workflow dispatch from GitHub Actions
  2. 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
  3. Deployment Files:

    • deploy-production/ - Ubuntu/Debian production setup
    • deploy-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:

  1. Monitor the first automated deployment
  2. Configure SSL certificates with Certbot
  3. Set up monitoring and backups
  4. Configure domain DNS

Last updated: September 6, 2025 Pipeline configured for user: deployment