Files
Containr/docs/guides/AUTO_DEPLOY_GUIDE.md
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

6.2 KiB

🚀 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

# 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

# Deploy any template instantly
./scripts/auto-deploy.sh umami
./scripts/auto-deploy.sh plex
./scripts/auto-deploy.sh nextcloud

Option 3: Deploy Everything

# Deploy all 20 templates at once
./scripts/auto-deploy.sh --all

🔄 What Happens Automatically

🔍 Dependency Check

✅ Checks if Docker is installed
✅ Installs Docker if missing
✅ Checks if Docker Compose is installed  
✅ Installs Docker Compose if missing

📁 Directory Creation

✅ Creates deployment directory
✅ Creates required subdirectories
✅ Sets proper permissions
✅ Handles existing deployments

🔧 Configuration Setup

✅ 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

✅ Pulls all required images
✅ Starts all services
✅ Waits for services to be ready
✅ Checks service health
✅ Shows deployment status

🌐 Access Information

✅ Shows all access URLs
✅ Provides management commands
✅ Shows deployment directory
✅ Opens browser automatically (optional)

🎮 Try It Now

Easiest Way:

./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:

# 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

# 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

# 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

✅ Detects port conflicts
✅ Auto-assigns available ports
✅ Handles existing deployments
✅ Cleans up previous installations

Security

✅ Generates strong random secrets
✅ Uses secure default passwords
✅ Isolates deployments in separate directories
✅ Logs all actions for audit trail

Error Handling

✅ 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:

# 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! 🚀