mirror of
https://github.com/Dvorinka/Containr.git
synced 2026-10-28 07:41:27 +00:00
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>
7.1 KiB
7.1 KiB
Docker Template Auto-Setup Guide
🚀 How It Works
The templates are configuration files that define how to run each service with Docker Compose. They don't auto-execute - you need to use the setup script to deploy them.
📋 Quick Start
1. Interactive Mode (Recommended)
# Run the setup script interactively
./scripts/setup-template.sh
2. Direct Template Selection
# Setup a specific template
./scripts/setup-template.sh umami
# List all available templates
./scripts/setup-template.sh --list
# Setup only (don't deploy)
./scripts/setup-template.sh --setup umami
# Deploy existing setup
./scripts/setup-template.sh --deploy umami
🔄 What the Script Does
Step 1: Dependency Check
- ✅ Verifies Docker is installed
- ✅ Verifies Docker Compose is installed
- ✅ Checks template directory exists
Step 2: Template Selection
- 📋 Shows available templates with descriptions
- 🎯 Lets you choose interactively or via command line
Step 3: Project Setup
- 📁 Creates deployment directory (
template-name-deployment/) - 📄 Extracts
docker-compose.ymlfrom template - 🔧 Creates
.envfile template with required variables - ⚠️ Shows setup requirements and warnings
Step 4: Deployment (Optional)
- 🐳 Pulls Docker images
- 🚀 Starts services with
docker-compose up -d - 📊 Shows service status and access URLs
- 📝 Provides useful commands
📁 Directory Structure After Setup
your-project/
├── scripts/
│ └── setup-template.sh # Auto-setup script
├── templates/
│ ├── umami.md # Template documentation
│ ├── plex.md
│ ├── immich.md
│ └── ...
└── umami-deployment/ # Created by setup script
├── docker-compose.yml # Extracted from template
├── .env # Environment variables
└── README.md # Setup instructions
🎯 Interactive Walkthrough Example
Running Umami Setup:
$ ./scripts/setup-template.sh
========================================
Checking Dependencies
========================================
✅ Docker is installed
Docker version: 24.0.6
✅ Docker Compose is installed
Docker Compose version: 2.21.0
✅ All dependencies are met
========================================
Select Template
========================================
1) umami - Umami Analytics - Privacy-focused web analytics
2) plex - Plex Media Server - Media streaming and organization
3) immich - Immich - Photo and video backup solution
...
Select a template (1-20): 1
✅ Selected template: umami
========================================
Setting up umami
========================================
✅ Created project directory: /path/to/umami-deployment
✅ docker-compose.yml extracted
⚠️ This template requires environment variables:
- `DATABASE_URL`: PostgreSQL connection string
- `APP_SECRET`: Random string for application secrets
✅ Created .env template file
⚠️ Please edit umami-deployment/.env with your values before starting
Do you want to deploy the template now? (y/N): y
========================================
Deploying umami
========================================
✅ Pulling Docker images...
✅ Starting services...
✅ Deployment completed!
========================================
Access Information
========================================
✅ Service access URLs:
• http://localhost:3000 (container port: 3000)
Useful commands:
• View logs: docker-compose logs -f
• Stop services: docker-compose down
• Restart services: docker-compose restart
• Update services: docker-compose pull && docker-compose up -d
🔧 Manual Setup (Without Script)
If you prefer manual setup:
- Choose a template from
/templates/ - Copy the docker-compose.yml section
- Create a project directory
- Set up environment variables
- Run
docker-compose up -d
Example for Umami:
mkdir umami-deployment
cd umami-deployment
# Copy docker-compose.yml from templates/umami.md
# Create .env file with required variables
docker-compose up -d
🎛️ Available Templates
| Template | Description | Difficulty |
|---|---|---|
| umami | Web Analytics | Easy |
| plex | Media Server | Medium |
| immich | Photo Backup | Medium |
| n8n | Workflow Automation | Medium |
| supabase | Backend Service | Hard |
| home-assistant | Smart Home | Medium |
| uptime-kuma | Monitoring | Easy |
| grafana | Metrics Dashboard | Medium |
| traefik | Reverse Proxy | Medium |
| memos | Note-taking | Easy |
| meilisearch | Search Engine | Easy |
| vaultwarden | Password Manager | Medium |
| pihole | DNS Blocker | Medium |
| appwrite | Backend Platform | Hard |
| gitea | Git Hosting | Medium |
| mastodon | Social Network | Hard |
| jellyfin | Media Server | Medium |
| nextcloud | Cloud Storage | Hard |
| glance | Dashboard | Easy |
| cloudreve | File Manager | Medium |
🛠️ Advanced Usage
Custom Deployment Directory
# Set custom deployment directory
export DEPLOY_DIR="/opt/my-services"
./scripts/setup-template.sh umami
Batch Setup
# Setup multiple templates
for template in umami plex nextcloud; do
./scripts/setup-template.sh --setup "$template"
done
Production Deployment
# Setup with production considerations
./scripts/setup-template.sh --setup umami
cd umami-deployment
# Edit .env with production values
# Configure reverse proxy
# Set up SSL certificates
# Run deployment
./scripts/setup-template.sh --deploy umami
🔍 Troubleshooting
Common Issues
-
Docker not installed
# Install Docker curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh -
Permission denied
# Add user to docker group sudo usermod -aG docker $USER # Log out and back in -
Port conflicts
# Check what's using ports netstat -tulpn | grep :3000 # Modify docker-compose.yml to use different ports -
Environment variables not set
# Edit .env file nano umami-deployment/.env # Replace change_me values
Getting Help
Each template includes:
- ✅ Complete setup instructions
- ✅ Environment variable explanations
- ✅ Troubleshooting section
- ✅ Backup strategies
- ✅ Performance optimization
🎯 Next Steps
-
Try the interactive setup:
./scripts/setup-template.sh -
Start with an easy template (umami, glance, memos)
-
Read the template documentation before deployment
-
Check the troubleshooting section if you encounter issues
-
Join the community for each service for additional support
📞 Support
For issues with:
- Setup script: Create an issue in this repository
- Specific service: Check the service's official documentation
- Docker issues: Refer to Docker documentation
Each template includes links to official documentation and community support channels.