Production deployment documentation: Add deployment guides, environment template, verification scripts
This commit is contained in:
246
deployment-commands-reference.sh
Normal file
246
deployment-commands-reference.sh
Normal file
@@ -0,0 +1,246 @@
|
||||
#!/bin/bash
|
||||
|
||||
# DigiServer v2 Production Deployment Commands Reference
|
||||
# Use this file as a reference for all deployment-related operations
|
||||
|
||||
echo "📋 DigiServer v2 Production Deployment Reference"
|
||||
echo "================================================="
|
||||
echo ""
|
||||
echo "QUICK START:"
|
||||
echo " 1. Set environment variables"
|
||||
echo " 2. Create .env file"
|
||||
echo " 3. Run: docker-compose up -d"
|
||||
echo ""
|
||||
echo "Available commands below (copy/paste as needed):"
|
||||
echo ""
|
||||
|
||||
# ============================================================================
|
||||
# SECTION: INITIAL SETUP
|
||||
# ============================================================================
|
||||
|
||||
echo "=== SECTION 1: INITIAL SETUP ==="
|
||||
echo ""
|
||||
echo "Generate Secret Key:"
|
||||
echo ' python -c "import secrets; print(secrets.token_urlsafe(32))"'
|
||||
echo ""
|
||||
echo "Create environment file from template:"
|
||||
echo " cp .env.example .env"
|
||||
echo " nano .env # Edit with your values"
|
||||
echo ""
|
||||
echo "Required .env variables:"
|
||||
echo " SECRET_KEY=<generated-32-char-key>"
|
||||
echo " ADMIN_USERNAME=admin"
|
||||
echo " ADMIN_PASSWORD=<strong-password>"
|
||||
echo " ADMIN_EMAIL=admin@company.com"
|
||||
echo " DOMAIN=your-domain.com"
|
||||
echo " EMAIL=admin@your-domain.com"
|
||||
echo ""
|
||||
|
||||
# ============================================================================
|
||||
# SECTION: DOCKER OPERATIONS
|
||||
# ============================================================================
|
||||
|
||||
echo "=== SECTION 2: DOCKER OPERATIONS ==="
|
||||
echo ""
|
||||
echo "Build images:"
|
||||
echo " docker-compose build"
|
||||
echo ""
|
||||
echo "Start services:"
|
||||
echo " docker-compose up -d"
|
||||
echo ""
|
||||
echo "Stop services:"
|
||||
echo " docker-compose down"
|
||||
echo ""
|
||||
echo "Restart services:"
|
||||
echo " docker-compose restart"
|
||||
echo ""
|
||||
echo "View container status:"
|
||||
echo " docker-compose ps"
|
||||
echo ""
|
||||
echo "View logs (live):"
|
||||
echo " docker-compose logs -f digiserver-app"
|
||||
echo ""
|
||||
echo "View logs (last 100 lines):"
|
||||
echo " docker-compose logs --tail=100 digiserver-app"
|
||||
echo ""
|
||||
|
||||
# ============================================================================
|
||||
# SECTION: DATABASE OPERATIONS
|
||||
# ============================================================================
|
||||
|
||||
echo "=== SECTION 3: DATABASE OPERATIONS ==="
|
||||
echo ""
|
||||
echo "Initialize database (first deployment only):"
|
||||
echo " docker-compose exec digiserver-app flask db upgrade"
|
||||
echo ""
|
||||
echo "Run database migrations:"
|
||||
echo " docker-compose exec digiserver-app flask db upgrade head"
|
||||
echo ""
|
||||
echo "Create new migration (after model changes):"
|
||||
echo " docker-compose exec digiserver-app flask db migrate -m 'description'"
|
||||
echo ""
|
||||
echo "Backup database:"
|
||||
echo " docker-compose exec digiserver-app cp instance/dashboard.db /backup/dashboard.db.bak"
|
||||
echo ""
|
||||
echo "Restore database:"
|
||||
echo " docker-compose exec digiserver-app cp /backup/dashboard.db.bak instance/dashboard.db"
|
||||
echo ""
|
||||
|
||||
# ============================================================================
|
||||
# SECTION: VERIFICATION & TESTING
|
||||
# ============================================================================
|
||||
|
||||
echo "=== SECTION 4: VERIFICATION & TESTING ==="
|
||||
echo ""
|
||||
echo "Health check:"
|
||||
echo " curl -k https://your-domain.com/api/health"
|
||||
echo ""
|
||||
echo "Check CORS headers (should see Access-Control-Allow-*):"
|
||||
echo " curl -i -k https://your-domain.com/api/playlists"
|
||||
echo ""
|
||||
echo "Check HTTPS only (should redirect):"
|
||||
echo " curl -i http://your-domain.com/"
|
||||
echo ""
|
||||
echo "Test certificate:"
|
||||
echo " openssl s_client -connect your-domain.com:443 -showcerts"
|
||||
echo ""
|
||||
echo "Check SSL certificate expiry:"
|
||||
echo " openssl x509 -enddate -noout -in data/nginx-ssl/cert.pem"
|
||||
echo ""
|
||||
|
||||
# ============================================================================
|
||||
# SECTION: TROUBLESHOOTING
|
||||
# ============================================================================
|
||||
|
||||
echo "=== SECTION 5: TROUBLESHOOTING ==="
|
||||
echo ""
|
||||
echo "View full container logs:"
|
||||
echo " docker-compose logs digiserver-app"
|
||||
echo ""
|
||||
echo "Execute command in container:"
|
||||
echo " docker-compose exec digiserver-app bash"
|
||||
echo ""
|
||||
echo "Check container resources:"
|
||||
echo " docker stats"
|
||||
echo ""
|
||||
echo "Remove and rebuild from scratch:"
|
||||
echo " docker-compose down -v"
|
||||
echo " docker-compose build --no-cache"
|
||||
echo " docker-compose up -d"
|
||||
echo ""
|
||||
echo "Check disk space:"
|
||||
echo " du -sh data/"
|
||||
echo ""
|
||||
echo "View network configuration:"
|
||||
echo " docker-compose exec digiserver-app netstat -tuln"
|
||||
echo ""
|
||||
|
||||
# ============================================================================
|
||||
# SECTION: MAINTENANCE
|
||||
# ============================================================================
|
||||
|
||||
echo "=== SECTION 6: MAINTENANCE ==="
|
||||
echo ""
|
||||
echo "Clean up unused Docker resources:"
|
||||
echo " docker system prune -a"
|
||||
echo ""
|
||||
echo "Backup entire application:"
|
||||
echo " tar -czf digiserver-backup-\$(date +%Y%m%d).tar.gz ."
|
||||
echo ""
|
||||
echo "Update Docker images:"
|
||||
echo " docker-compose pull"
|
||||
echo " docker-compose up -d"
|
||||
echo ""
|
||||
echo "Rebuild and redeploy:"
|
||||
echo " docker-compose down"
|
||||
echo " docker-compose build --no-cache"
|
||||
echo " docker-compose up -d"
|
||||
echo ""
|
||||
|
||||
# ============================================================================
|
||||
# SECTION: MONITORING
|
||||
# ============================================================================
|
||||
|
||||
echo "=== SECTION 7: MONITORING ==="
|
||||
echo ""
|
||||
echo "Monitor containers in real-time:"
|
||||
echo " watch -n 1 docker-compose ps"
|
||||
echo ""
|
||||
echo "Monitor resource usage:"
|
||||
echo " docker stats --no-stream"
|
||||
echo ""
|
||||
echo "Check application errors:"
|
||||
echo " docker-compose logs --since 10m digiserver-app | grep ERROR"
|
||||
echo ""
|
||||
|
||||
# ============================================================================
|
||||
# SECTION: GIT OPERATIONS
|
||||
# ============================================================================
|
||||
|
||||
echo "=== SECTION 8: GIT OPERATIONS ==="
|
||||
echo ""
|
||||
echo "Check deployment status:"
|
||||
echo " git status"
|
||||
echo ""
|
||||
echo "View deployment history:"
|
||||
echo " git log --oneline -5"
|
||||
echo ""
|
||||
echo "Commit deployment changes:"
|
||||
echo " git add ."
|
||||
echo " git commit -m 'Deployment configuration'"
|
||||
echo ""
|
||||
echo "Tag release:"
|
||||
echo " git tag -a v2.0.0 -m 'Production release'"
|
||||
echo " git push --tags"
|
||||
echo ""
|
||||
|
||||
# ============================================================================
|
||||
# SECTION: EMERGENCY PROCEDURES
|
||||
# ============================================================================
|
||||
|
||||
echo "=== SECTION 9: EMERGENCY PROCEDURES ==="
|
||||
echo ""
|
||||
echo "Kill stuck container:"
|
||||
echo " docker-compose kill digiserver-app"
|
||||
echo ""
|
||||
echo "Restore from backup:"
|
||||
echo " docker-compose down"
|
||||
echo " cp /backup/dashboard.db.bak data/instance/dashboard.db"
|
||||
echo " docker-compose up -d"
|
||||
echo ""
|
||||
echo "Rollback to previous version:"
|
||||
echo " git checkout v1.9.0"
|
||||
echo " docker-compose down"
|
||||
echo " docker-compose build"
|
||||
echo " docker-compose up -d"
|
||||
echo ""
|
||||
|
||||
# ============================================================================
|
||||
# SECTION: QUICK REFERENCE
|
||||
# ============================================================================
|
||||
|
||||
echo "=== SECTION 10: QUICK REFERENCE ALIASES ==="
|
||||
echo ""
|
||||
echo "Add these to your ~/.bashrc for quick access:"
|
||||
echo ""
|
||||
cat << 'EOF'
|
||||
alias ds-start='docker-compose up -d'
|
||||
alias ds-stop='docker-compose down'
|
||||
alias ds-logs='docker-compose logs -f digiserver-app'
|
||||
alias ds-health='curl -k https://your-domain/api/health'
|
||||
alias ds-status='docker-compose ps'
|
||||
alias ds-bash='docker-compose exec digiserver-app bash'
|
||||
EOF
|
||||
echo ""
|
||||
|
||||
# ============================================================================
|
||||
# DONE
|
||||
# ============================================================================
|
||||
|
||||
echo "=== END OF REFERENCE ==="
|
||||
echo ""
|
||||
echo "For detailed documentation, see:"
|
||||
echo " - PRODUCTION_DEPLOYMENT_GUIDE.md"
|
||||
echo " - DEPLOYMENT_READINESS_SUMMARY.md"
|
||||
echo " - old_code_documentation/"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user