Files
Containr/docs/guides/AUTO_DEPLOY_GUIDE.md
T
Tomas DvorakandDevin 9f3b196032 Overhaul: real metrics, Git integration UI, open-source hygiene, root cleanup
Backend:
- GET /services/:id/metrics with real Docker container stats
- DELETE /git/providers/:id and GET repo branches endpoint

Frontend:
- Service detail shows real telemetry or honest empty states
- Live status distinguishes idle/polling/reconnecting
- Git providers section in Settings; repo+branch pickers in Add Service
- Real logo, compact Projects header, canvas fitView fix
- index.css deduplicated (1725 -> 1384 lines)
- Fixed smoke tests, lint errors, ToastProvider/context unification

Repo hygiene:
- Added LICENSE (MIT), CONTRIBUTING.md, SECURITY.md; rewrote README
- Untracked .env.prod and data/letsencrypt secrets; fixed .gitignore
- Removed legacy root src/internal/cmd and stale configs/docs/artifacts
- Moved guides and design references under docs/

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-15 18:59:40 +02:00

260 lines
6.2 KiB
Markdown

# 🚀 Zero-Interaction Docker Deployment System
## 🎯 **Fully Automatic Deployment**
I've created a **completely automated deployment system** that requires **ZERO user interaction**. Just run one command and it does everything!
## ⚡ **One-Click Deployment**
### **Option 1: Quick Start (Recommended)**
```bash
# Run the quick deploy script
./scripts/quick-deploy.sh
```
**What happens:**
1. 🎯 **Shows you 6 deployment options**
2. 🚀 **Deploys your choice automatically**
3. 🔧 **Handles everything** (secrets, directories, ports)
4. 🌐 **Shows access URLs** when done
### **Option 2: Direct Command**
```bash
# Deploy any template instantly
./scripts/auto-deploy.sh umami
./scripts/auto-deploy.sh plex
./scripts/auto-deploy.sh nextcloud
```
### **Option 3: Deploy Everything**
```bash
# Deploy all 20 templates at once
./scripts/auto-deploy.sh --all
```
## 🔄 **What Happens Automatically**
### **🔍 Dependency Check**
```bash
✅ Checks if Docker is installed
✅ Installs Docker if missing
✅ Checks if Docker Compose is installed
✅ Installs Docker Compose if missing
```
### **📁 Directory Creation**
```bash
✅ Creates deployment directory
✅ Creates required subdirectories
✅ Sets proper permissions
✅ Handles existing deployments
```
### **🔧 Configuration Setup**
```bash
✅ Extracts docker-compose.yml from template
✅ Creates .env file with all variables
✅ Auto-generates secrets and passwords
✅ Fixes port conflicts automatically
✅ Optimizes volume paths
```
### **🐳 Docker Deployment**
```bash
✅ Pulls all required images
✅ Starts all services
✅ Waits for services to be ready
✅ Checks service health
✅ Shows deployment status
```
### **🌐 Access Information**
```bash
✅ Shows all access URLs
✅ Provides management commands
✅ Shows deployment directory
✅ Opens browser automatically (optional)
```
## 🎮 **Try It Now**
### **Easiest Way:**
```bash
./scripts/quick-deploy.sh
```
You'll see:
```
🚀 One-Click Docker Deployment
============================
🎯 Choose your deployment:
1. 🌐 Deploy Glance Dashboard (Recommended - Simple & Fast)
2. 📊 Deploy Umami Analytics (Web Analytics)
3. 📝 Deploy Memos (Note-taking)
4. 🔍 Deploy MeiliSearch (Search Engine)
5. 📈 Deploy Uptime Kuma (Monitoring)
6. 🚀 Deploy ALL Templates (Advanced)
Enter your choice (1-6): 1
🌐 Deploying Glance Dashboard...
```
### **Direct Way:**
```bash
# Deploy any template instantly
./scripts/auto-deploy.sh glance
```
## 📊 **Example Output**
Here's what you'll see during deployment:
```
🚀 Auto-Deploying glance
========================================
🔄 Checking dependencies...
✅ Docker is installed
✅ Docker Compose is installed
🔄 Auto-deploying glance...
✅ Created deployment directory: /path/to/deployments/glance
🔄 Extracting docker-compose.yml...
✅ docker-compose.yml extracted and optimized
🔄 Creating .env file...
✅ .env file created (no variables required)
🔄 Auto-deploying glance...
🔄 Pulling Docker images...
✅ Images pulled
🔄 Starting services...
✅ Services started successfully
🎉 Deployment Complete!
========================================
✅ Access URLs:
🌐 http://localhost:8080 (port: 8080)
✅ Management Commands:
📋 View logs: docker-compose logs -f
🛑 Stop services: docker-compose down
🔄 Restart: docker-compose restart
📊 Status: docker-compose ps
🗑️ Cleanup: docker-compose down -v
✅ Deployment directory: /path/to/deployments/glance
🎉 glance deployed successfully!
```
## 🔧 **Advanced Options**
### **Custom Configuration**
```bash
# Deploy without auto-generating secrets
./scripts/auto-deploy.sh --no-secrets umami
# Deploy without creating directories
./scripts/auto-deploy.sh --no-dirs plex
# Deploy without auto-starting services
./scripts/auto-deploy.sh --no-start nextcloud
# Deploy and auto-open browser
./scripts/auto-deploy.sh --open-browser glance
```
### **Batch Deployment**
```bash
# Deploy multiple templates
for template in umami glance memos; do
./scripts/auto-deploy.sh "$template"
done
# Deploy all templates
./scripts/auto-deploy.sh --all
```
## 🛡️ **Safety Features**
### **Automatic Conflict Resolution**
```bash
✅ Detects port conflicts
✅ Auto-assigns available ports
✅ Handles existing deployments
✅ Cleans up previous installations
```
### **Security**
```bash
✅ Generates strong random secrets
✅ Uses secure default passwords
✅ Isolates deployments in separate directories
✅ Logs all actions for audit trail
```
### **Error Handling**
```bash
✅ Validates template existence
✅ Checks service health
✅ Provides detailed error messages
✅ Offers rollback commands
```
## 📁 **Directory Structure**
```
your-project/
├── scripts/
│ ├── auto-deploy.sh # 🚀 Main auto-deployment script
│ └── quick-deploy.sh # ⚡ Quick start script
├── templates/
│ ├── umami.md
│ ├── plex.md
│ └── ...
└── deployments/ # 📁 Auto-created
├── glance/ # 📁 Template deployment
│ ├── docker-compose.yml
│ ├── .env
│ ├── data/
│ └── logs/
├── umami/
└── plex/
```
## 🎯 **Template Difficulty Levels**
| **Easy** (Auto-Deploy) | **Medium** (Auto-Deploy) | **Hard** (Auto-Deploy) |
|------------------------|-------------------------|----------------------|
| 🌐 Glance | 📊 Umami | 🗄️ Supabase |
| 📝 Memos | 📈 Uptime Kuma | 🏠 Home Assistant |
| 🔍 MeiliSearch | 🛡️ Vaultwarden | 📊 Grafana |
| 🚪 Pi-hole | 📁 Cloudreve | 🐙 Gitea |
| | 🌐 Traefik | 🦣 Mastodon |
| | 🎬 Jellyfin | ☁️ Nextcloud |
| | 📚 Plex | 🎬 Immich |
| | 🔄 n8n | |
## 🚀 **Ready to Use?**
**Yes! The system is fully automatic. Just run:**
```bash
# Quick start (easiest)
./scripts/quick-deploy.sh
# Or direct deployment
./scripts/auto-deploy.sh glance
```
**That's it!** 🎉
The system will:
- ✅ **Install Docker** if needed
- ✅ **Deploy your chosen service**
- ✅ **Generate all secrets**
- ✅ **Handle all configuration**
- ✅ **Show you the access URL**
- ✅ **Provide management commands**
**Zero user interaction required!** 🚀