# 📚 DigiServer Deployment Documentation Index Complete documentation for deploying and maintaining DigiServer. Choose your path below: --- ## 🚀 I Want to Deploy Now! ### Quick Start (2 minutes) ```bash cd /path/to/digiserver-v2 ./deploy.sh ``` → See [DEPLOYMENT_README.md](DEPLOYMENT_README.md) ### Or Step-by-Step Setup ```bash ./setup_https.sh ``` --- ## 📖 Documentation Files ### 1. **[DEPLOYMENT_README.md](DEPLOYMENT_README.md)** ⭐ START HERE - **Size**: 9.4 KB - **Purpose**: Complete deployment guide for beginners - **Contains**: - Quick start instructions - Prerequisites checklist - 3 deployment methods (auto, semi-auto, manual) - Verification procedures - First access setup - Troubleshooting guide - **Read time**: 15-20 minutes ### 2. **[DOCKER_EXEC_COMMANDS.md](DOCKER_EXEC_COMMANDS.md)** ⭐ REFERENCE GUIDE - **Size**: 7.6 KB - **Purpose**: Quick reference for all docker exec commands - **Contains**: - Database migrations - HTTPS configuration - User management - Database inspection - Health checks - Maintenance commands - Troubleshooting commands - **Use when**: You need a specific command - **Read time**: 5-10 minutes (or search for what you need) ### 3. **[DEPLOYMENT_COMMANDS.md](DEPLOYMENT_COMMANDS.md)** - **Size**: 6.8 KB - **Purpose**: Detailed deployment command explanations - **Contains**: - Individual command explanations - Complete deployment script template - Health check procedures - Verification steps - Advanced troubleshooting - **Read time**: 20-30 minutes --- ## 🔧 Executable Scripts ### 1. **[deploy.sh](deploy.sh)** - Fully Automated - **Size**: 6.7 KB - **Purpose**: One-command deployment - **Does**: 1. Starts Docker containers 2. Runs all migrations 3. Configures HTTPS 4. Verifies setup 5. Shows access URLs - **Usage**: ```bash ./deploy.sh ``` - **With custom settings**: ```bash HOSTNAME=server1 DOMAIN=server1.internal ./deploy.sh ``` ### 2. **[setup_https.sh](setup_https.sh)** - Semi-Automated - **Size**: 5.9 KB - **Purpose**: Setup script that works in or outside Docker - **Does**: - Detects environment (Docker container or host) - Runs migrations - Configures HTTPS - Shows status - **Usage**: ```bash ./setup_https.sh ``` --- ## 🎯 Quick Navigation by Task ### "I need to deploy on a new PC" 1. Read: [DEPLOYMENT_README.md](DEPLOYMENT_README.md#prerequisites) 2. Run: `./deploy.sh` 3. Access: https://digiserver.sibiusb.harting.intra ### "I need a specific docker exec command" → Search [DOCKER_EXEC_COMMANDS.md](DOCKER_EXEC_COMMANDS.md) ### "I want to understand what's being deployed" → Read [DEPLOYMENT_COMMANDS.md](DEPLOYMENT_COMMANDS.md#prerequisites) ### "Something went wrong, help!" → See [DEPLOYMENT_README.md](DEPLOYMENT_README.md#-troubleshooting) or [DOCKER_EXEC_COMMANDS.md](DOCKER_EXEC_COMMANDS.md#-troubleshooting) ### "I need to configure custom settings" → Read [DEPLOYMENT_README.md](DEPLOYMENT_README.md#-environment-variables) ### "I want to manage HTTPS" → See [DOCKER_EXEC_COMMANDS.md](DOCKER_EXEC_COMMANDS.md#-https-configuration-management) --- ## 📋 Deployment Checklist - [ ] Docker and Docker Compose installed - [ ] Project files copied to new PC - [ ] Run `./deploy.sh` or `./setup_https.sh` - [ ] Verify with `docker-compose ps` - [ ] Access https://digiserver.sibiusb.harting.intra - [ ] Log in with admin/admin123 - [ ] Change default password - [ ] Configure players and content --- ## 🔑 Configuration Options ### Default Settings ``` Hostname: digiserver Domain: digiserver.sibiusb.harting.intra IP Address: 10.76.152.164 Port: 443 Email: admin@example.com Username: admin Password: admin123 ``` ### Customize During Deployment ```bash HOSTNAME=myserver \ DOMAIN=myserver.internal \ IP_ADDRESS=192.168.1.100 \ EMAIL=admin@myserver.com \ ./deploy.sh ``` --- ## 🆘 Common Tasks | Task | Command | |------|---------| | **Start containers** | `docker-compose up -d` | | **Stop containers** | `docker-compose stop` | | **View logs** | `docker-compose logs -f` | | **Check HTTPS status** | `docker-compose exec -T digiserver-app python /app/https_manager.py status` | | **Reset password** | See [DOCKER_EXEC_COMMANDS.md](DOCKER_EXEC_COMMANDS.md#reset-admin-password) | | **View all tables** | See [DOCKER_EXEC_COMMANDS.md](DOCKER_EXEC_COMMANDS.md#list-all-tables) | | **Create admin user** | See [DOCKER_EXEC_COMMANDS.md](DOCKER_EXEC_COMMANDS.md#create-admin-user) | --- ## 📊 File Structure ``` digiserver-v2/ ├── DEPLOYMENT_README.md ..................... Main deployment guide ├── DOCKER_EXEC_COMMANDS.md ................. Quick reference (BEST FOR COMMANDS) ├── DEPLOYMENT_COMMANDS.md .................. Detailed explanations ├── deploy.sh ............................. Fully automated deployment ├── setup_https.sh ......................... Semi-automated setup ├── docker-compose.yml ..................... Docker services config ├── Caddyfile .............................. Reverse proxy config ├── requirements.txt ....................... Python dependencies │ ├── app/ │ ├── app.py ............................ Flask application │ ├── models/ ........................... Database models │ │ ├── https_config.py │ │ ├── user.py │ │ └── ... │ └── ... │ ├── migrations/ │ ├── add_https_config_table.py │ ├── add_player_user_table.py │ ├── add_email_to_https_config.py │ └── migrate_player_user_global.py │ └── old_code_documentation/ ├── HTTPS_CONFIGURATION.md └── ... ``` --- ## 🚀 Deployment Methods Comparison | Method | Time | Effort | Best For | |--------|------|--------|----------| | `./deploy.sh` | 2-3 min | Click & wait | First-time setup, automation | | `./setup_https.sh` | 3-5 min | Manual review | Learning, step debugging | | Manual commands | 10-15 min | Full control | Advanced users, scripting | --- ## ✨ What Gets Deployed ✅ Flask web application with admin dashboard ✅ HTTPS with self-signed certificates ✅ Caddy reverse proxy for routing ✅ SQLite database with all tables ✅ User management system ✅ HTTPS configuration management ✅ Player and content management ✅ Group and playlist management ✅ Admin audit trail --- ## 🎓 Learning Path 1. **Total Beginner?** - Start: [DEPLOYMENT_README.md](DEPLOYMENT_README.md) - Run: `./deploy.sh` - Learn: Browse [DOCKER_EXEC_COMMANDS.md](DOCKER_EXEC_COMMANDS.md) for available commands 2. **Want to Understand Everything?** - Read: [DEPLOYMENT_README.md](DEPLOYMENT_README.md#-deployment-methods) (all 3 methods) - Study: [DEPLOYMENT_COMMANDS.md](DEPLOYMENT_COMMANDS.md) - Reference: [DOCKER_EXEC_COMMANDS.md](DOCKER_EXEC_COMMANDS.md) 3. **Need to Troubleshoot?** - Check: [DEPLOYMENT_README.md](DEPLOYMENT_README.md#-troubleshooting) - Or: [DOCKER_EXEC_COMMANDS.md](DOCKER_EXEC_COMMANDS.md#-troubleshooting) --- ## 💡 Pro Tips 1. **Use `-T` flag** in docker-compose exec for scripts (prevents TTY issues) 2. **Keep backups** before major changes 3. **Check logs often**: `docker-compose logs -f` 4. **Use environment variables** for custom deployments 5. **Verify after deployment** using health check commands --- ## 🔗 Related Documentation - **HTTPS Setup**: `old_code_documentation/HTTPS_CONFIGURATION.md` - **Admin Features**: Check admin panel after login - **API Documentation**: See `old_code_documentation/PLAYER_EDIT_MEDIA_API.md` --- ## 📞 Support - Logs: `docker-compose logs digiserver-app` - Health Check: See [DOCKER_EXEC_COMMANDS.md#-health-checks](DOCKER_EXEC_COMMANDS.md#-health-checks) - Troubleshooting: See [DEPLOYMENT_README.md#-troubleshooting](DEPLOYMENT_README.md#-troubleshooting) --- **Ready? Start with:** `./deploy.sh` 🚀 Or read [DEPLOYMENT_README.md](DEPLOYMENT_README.md) for the full guide.