- Update README.md with comprehensive overview of all 40+ services - Add Quick Setup guide with Dockge deployment steps - List all service stacks by category (Infrastructure, Media, Home Automation, Productivity, etc.) - Update AI assistant examples for Traefik, Authelia, VPN routing - Add network architecture with Traefik routing patterns - Update common operations for Dockge structure - Add storage strategy (opt/stacks vs /mnt/) - Update configuration management section - Add proxying external hosts overview - Update getting started checklist with all new steps - Update docker-guidelines.md with Dockge and Traefik sections - Add comprehensive Dockge structure explanation - Add Traefik and Authelia integration patterns - Document when to use SSO vs bypass - Add VPN routing patterns with Gluetun - Update storage strategy recommendations - Completely rewrite getting-started.md with step-by-step Dockge deployment - Add DuckDNS signup instructions - Add detailed core infrastructure deployment (DuckDNS, Traefik, Authelia, Dockge) - Add Homepage configuration steps - Add API key configuration for widgets - Add troubleshooting section - Add security checklist - Create docs/services-reference.md - comprehensive catalog of all 60+ services - Organized by category with descriptions - Access URLs and SSO requirements - Storage recommendations - Quick deployment guide - Summary table by stack All documentation now accurately reflects the complete homelab setup with Dockge, Traefik, Authelia, Gluetun, Homepage, and all 40+ services across 10 stack files. Co-authored-by: kelinfoxy <67766943+kelinfoxy@users.noreply.github.com>
11 KiB
Complete Services Reference
This document lists all 40+ pre-configured services available in the AI-Homelab repository, organized by category.
Core Infrastructure (4 services)
Required - Deploy First
-
DuckDNS (
duckdns.yml)- Dynamic DNS updater
- Updates your public IP automatically
- Integrates with Let's Encrypt for SSL
- No web UI - runs silently
- Stack:
/opt/stacks/duckdns/
-
Traefik (
traefik.yml)- Reverse proxy with automatic SSL
- HTTP to HTTPS redirect
- File-based and Docker label routing
- Dashboard:
https://traefik.${DOMAIN} - Stack:
/opt/stacks/traefik/
-
Authelia (
authelia.yml)- Single Sign-On (SSO) authentication
- TOTP 2FA support
- File-based or LDAP user database
- Smart bypass rules for media apps
- Login:
https://auth.${DOMAIN} - Stack:
/opt/stacks/authelia/
-
Gluetun (
gluetun.yml)- VPN client (Surfshark WireGuard)
- Includes qBittorrent
- Control panel:
http://gluetun:8000 - qBittorrent:
https://qbit.${DOMAIN} - Stack:
/opt/stacks/gluetun/
Infrastructure Tools (7 services)
From infrastructure.yml - Stack: /opt/stacks/infrastructure/
-
Dockge (PRIMARY management tool)
- Docker Compose stack manager
- Web UI for managing /opt/stacks/
- Direct compose file editing
- Access:
https://dockge.${DOMAIN} - SSO: Yes
-
Portainer (Secondary)
- Docker container management UI
- Access:
https://portainer.${DOMAIN} - SSO: Yes
-
Pi-hole
- Network-wide ad blocking
- DNS server
- Access:
https://pihole.${DOMAIN} - SSO: Yes
-
Watchtower
- Automatic container updates
- Runs 4 AM daily
- No web UI
-
Dozzle
- Real-time Docker log viewer
- Access:
https://dozzle.${DOMAIN} - SSO: Yes
-
Glances
- System and Docker monitoring
- Access:
https://glances.${DOMAIN} - SSO: Yes
-
Docker Proxy
- Secure Docker socket access
- Backend service
- No web UI
Dashboards (2 services)
From dashboards.yml - Stack: /opt/stacks/dashboards/
-
Homepage (AI-configurable)
- Application dashboard with Docker integration
- Service widgets for 15+ services
- 11 organized categories
- Access:
https://home.${DOMAIN} - SSO: No (landing page)
-
Homarr
- Modern alternative dashboard
- Access:
https://homarr.${DOMAIN} - SSO: No
Media Services (6 services)
From media.yml - Stack: /opt/stacks/media/
-
Plex
- Media streaming server
- Hardware transcoding support
- Access:
https://plex.${DOMAIN} - SSO: No (app access)
-
Jellyfin
- Open-source media server
- Hardware transcoding support
- Access:
https://jellyfin.${DOMAIN} - SSO: No (app access)
-
Sonarr
- TV show automation
- Access:
https://sonarr.${DOMAIN} - SSO: Yes
-
Radarr
- Movie automation
- Access:
https://radarr.${DOMAIN} - SSO: Yes
-
Prowlarr
- Indexer manager
- Integrates with Sonarr, Radarr, etc.
- Access:
https://prowlarr.${DOMAIN} - SSO: Yes
-
qBittorrent
- Torrent client (routes through Gluetun VPN)
- See gluetun.yml
Extended Media (10 services)
From media-extended.yml - Stack: /opt/stacks/media-extended/
-
Readarr
- Ebook and audiobook management
- Access:
https://readarr.${DOMAIN} - SSO: Yes
-
Lidarr
- Music collection manager
- Access:
https://lidarr.${DOMAIN} - SSO: Yes
-
Lazy Librarian
- Book download automation
- Access:
https://lazylibrarian.${DOMAIN} - SSO: Yes
-
Mylar3
- Comic book collection manager
- Access:
https://mylar.${DOMAIN} - SSO: Yes
-
Calibre-Web
- Ebook reader and library management
- Access:
https://calibre.${DOMAIN} - SSO: Yes
-
Jellyseerr
- Media request management
- Integrates with Plex/Jellyfin
- Access:
https://jellyseerr.${DOMAIN} - SSO: No (family access)
-
FlareSolverr
- Cloudflare bypass for indexers
- Used by Prowlarr
- No web UI
-
Tdarr Server
- Distributed transcoding server
- Access:
https://tdarr.${DOMAIN} - SSO: Yes
-
Tdarr Node
- Transcoding worker
- No web UI
-
Unmanic
- Library optimization and transcoding
- Access:
https://unmanic.${DOMAIN} - SSO: Yes
Home Automation (7 services)
From homeassistant.yml - Stack: /opt/stacks/homeassistant/
-
Home Assistant
- Home automation platform
- Uses host networking
- Access:
https://ha.${DOMAIN}(or via proxying external host) - SSO: No (has own auth)
-
ESPHome
- ESP8266/ESP32 firmware manager
- Access:
https://esphome.${DOMAIN} - SSO: Yes
-
TasmoAdmin
- Tasmota device management
- Access:
https://tasmoadmin.${DOMAIN} - SSO: Yes
-
Node-RED
- Flow-based automation programming
- Access:
https://nodered.${DOMAIN} - SSO: Yes
-
Mosquitto
- MQTT message broker
- Ports: 1883, 9001
- No web UI
-
Zigbee2MQTT
- Zigbee to MQTT bridge
- Access:
https://zigbee2mqtt.${DOMAIN} - SSO: Yes
-
MotionEye
- Video surveillance system
- Access:
https://motioneye.${DOMAIN} - SSO: Yes
Productivity (8 services + 6 databases)
From productivity.yml - Stack: /opt/stacks/productivity/
-
Nextcloud
- File sync and collaboration platform
- Access:
https://nextcloud.${DOMAIN} - SSO: Yes
- Database: nextcloud-db (MariaDB)
-
Mealie
- Recipe manager and meal planner
- Access:
https://mealie.${DOMAIN} - SSO: No (family access)
-
WordPress
- Blog and website platform
- Access:
https://blog.${DOMAIN} - SSO: No (public blog)
- Database: wordpress-db (MariaDB)
-
Gitea
- Self-hosted Git service
- Access:
https://git.${DOMAIN} - SSO: Yes
- Database: gitea-db (PostgreSQL)
-
DokuWiki
- File-based wiki (no database)
- Access:
https://wiki.${DOMAIN} - SSO: Yes
-
BookStack
- Documentation platform
- Access:
https://docs.${DOMAIN} - SSO: Yes
- Database: bookstack-db (MariaDB)
-
MediaWiki
- Wiki platform
- Access:
https://mediawiki.${DOMAIN} - SSO: Yes
- Database: mediawiki-db (MariaDB)
Utilities (7 services)
From utilities.yml - Stack: /opt/stacks/utilities/
-
Backrest
- Backup management with restic
- Access:
https://backrest.${DOMAIN} - SSO: Yes
-
Duplicati
- Backup software with encryption
- Access:
https://duplicati.${DOMAIN} - SSO: Yes
-
Uptime Kuma
- Uptime monitoring and status page
- Access:
https://status.${DOMAIN} - SSO: No (public status)
-
Code Server
- VS Code in browser
- Full stack access
- Access:
https://code.${DOMAIN} - SSO: Yes
-
Form.io
- Form builder platform
- Access:
https://forms.${DOMAIN} - SSO: Yes
- Database: formio-mongo (MongoDB)
-
Authelia-Redis
- Session storage for Authelia
- No web UI
Monitoring (7 services)
From monitoring.yml - Stack: /opt/stacks/monitoring/
-
Prometheus
- Metrics collection
- Access:
https://prometheus.${DOMAIN} - SSO: Yes
-
Grafana
- Metrics visualization
- Access:
https://grafana.${DOMAIN} - SSO: Yes
-
Loki
- Log aggregation
- No web UI (accessed via Grafana)
-
Promtail
- Log shipping to Loki
- No web UI
-
Node Exporter
- Host metrics exporter
- No web UI
-
cAdvisor
- Container metrics
- Access: Port 8080 (internal)
Development (6 services)
From development.yml - Stack: /opt/stacks/development/
-
GitLab CE
- Git repository with CI/CD
- Access:
https://gitlab.${DOMAIN} - SSO: Yes
-
PostgreSQL
- SQL database
- Port: 5432
- No web UI
-
Redis
- In-memory data store
- Port: 6379
- No web UI
-
pgAdmin
- PostgreSQL management UI
- Access:
https://pgadmin.${DOMAIN} - SSO: Yes
-
Jupyter Lab
- Interactive notebooks
- Access:
https://jupyter.${DOMAIN} - SSO: Yes
Summary by Stack
| Stack | File | Services Count | Description |
|---|---|---|---|
| Core Infrastructure | Multiple files | 4 | Traefik, Authelia, DuckDNS, Gluetun |
| Infrastructure | infrastructure.yml | 7 | Dockge, Portainer, Pi-hole, etc. |
| Dashboards | dashboards.yml | 2 | Homepage, Homarr |
| Media | media.yml | 6 | Plex, Jellyfin, *arr apps |
| Media Extended | media-extended.yml | 10 | Books, comics, music, transcoding |
| Home Automation | homeassistant.yml | 7 | HA, ESPHome, Node-RED, MQTT, etc. |
| Productivity | productivity.yml | 14 | Nextcloud, wikis, Git (includes DBs) |
| Utilities | utilities.yml | 7 | Backups, monitoring, Code Server |
| Monitoring | monitoring.yml | 7 | Prometheus, Grafana, Loki |
| Development | development.yml | 6 | GitLab, databases, Jupyter |
Total: 60+ services (including databases)
Access Patterns
With SSO (Authelia Required)
- Admin tools (Sonarr, Radarr, Prowlarr, etc.)
- Infrastructure management (Dockge, Portainer, Grafana)
- Development tools (GitLab, Code Server, pgAdmin)
- Personal data (Nextcloud, wikis, BookStack)
Without SSO (Direct Access)
- Media streaming (Plex, Jellyfin) - for app access
- Public services (WordPress, Uptime Kuma, Homepage)
- Services with own auth (Home Assistant)
- Family-friendly (Mealie, Jellyseerr)
Via VPN (Gluetun)
- qBittorrent
- Other download clients (add with network_mode: "service:gluetun")
Storage Recommendations
Keep on System Drive (/opt/stacks/)
- All configuration files
- Small databases (< 10GB)
- Application data
Move to Separate Drive (/mnt/)
- Media files (movies, TV, music, photos) → /mnt/media/
- Downloads → /mnt/downloads/
- Backups → /mnt/backups/
- Surveillance footage → /mnt/surveillance/
- Large databases → /mnt/databases/
- Transcoding cache → /mnt/transcode-cache/
Quick Deployment Guide
-
Core (Required)
# Deploy in this order: /opt/stacks/duckdns/ /opt/stacks/traefik/ /opt/stacks/authelia/ /opt/stacks/infrastructure/ (dockge) -
VPN + Downloads
/opt/stacks/gluetun/ -
Dashboard
/opt/stacks/homepage/ -
Choose Your Stacks
- Media:
/opt/stacks/media/+/opt/stacks/media-extended/ - Home Automation:
/opt/stacks/homeassistant/ - Productivity:
/opt/stacks/productivity/ - Monitoring:
/opt/stacks/monitoring/ - Development:
/opt/stacks/development/ - Utilities:
/opt/stacks/utilities/
- Media:
Configuration Files
All configuration templates available in config-templates/:
traefik/- Static and dynamic configsauthelia/- Config and user databasehomepage/- Dashboard services and widgetsprometheus/- Scrape configurationsloki/- Log aggregation config- And more...
Next Steps
- Deploy core infrastructure
- Configure Homepage with API keys
- Set up Authelia users
- Deploy service stacks as needed
- Use VS Code + Copilot for AI assistance
- Proxy external hosts via Traefik (see docs/proxying-external-hosts.md)
For detailed deployment instructions, see docs/getting-started.md