Home
🏠 Selfhosted¶
Unified • Automated • Production-Ready
-
Get up and running in minutes with our step-by-step guide
-
Learn how to manage and configure your self-hosted services
-
Understand the unified system architecture
-
See what's coming next in our development roadmap
What is Selfhosted?¶
A Docker Swarm-based homelab deployment platform that simplifies running multiple self-hosted services. With pre-configured compose files for 25+ popular services, automatic SSL certificates via Traefik, centralized SSO via Authentik, automated backups, and network storage integration, you can have a complete homelab infrastructure running in minutes.
What is self-hosting?
Self-hosting is the practice of running and maintaining your own services instead of relying on third-party providers, giving you control over your data and infrastructure. For more information, see r/selfhosted.
🚀 Why This Homelab Platform?¶
-
Pre-Configured Services
25+ ready-to-deploy services with Docker Compose files
-
Automatic SSL
Traefik reverse proxy with Let's Encrypt + Cloudflare DNS
-
:network-wired: Network Storage
Built-in SMB/CIFS support for persistent data on NAS
-
Docker Swarm Ready
Multi-node orchestration and high availability
-
Battle-Tested
Comprehensive linting, static analysis, and validation playbooks
-
One-Command Deploy
Deploy everything with
task ansible:deploy:fullafter a one-time setup.
✨ Key Features¶
Environment-Based Configuration¶
Single .env file contains all configuration - domains, credentials, storage paths, and API keys.
Pre-Built Service Stack¶
25+ popular services with production-ready Docker Compose configurations including Traefik labels and Authentik SSO integration.
Simple Deployment Interface¶
A simple Taskfile.yml provides a clean and consistent interface for all management commands, powered by Ansible.
SSL Certificate Automation¶
Traefik reverse proxy with Let's Encrypt certificates via Cloudflare DNS challenge - fully automated.
Reverse Proxy Integration¶
Every service pre-configured with Traefik labels for automatic routing and SSL termination.
Docker Swarm Orchestration¶
Multi-node deployment with automatic service placement, health checks, and rolling updates.
📋 Available Services¶
Pre-configured Docker Compose stacks ready for deployment:
- Actual Budget - Personal finance and budgeting application
- PhotoPrism - AI-powered photo management and organization
- Emby - Media server for streaming movies and TV shows
- Home Assistant - Open source home automation platform
- Homepage - Centralized dashboard for all services
- Traefik - Reverse proxy with automatic SSL certificates
- Technitium DNS - Local DNS server for internal service resolution
Total: 25+ pre-configured services with more being added regularly!
New in v3.4.0: - Authentik - Identity provider and SSO (integrated with 8+ services) - Kopia - Automated encrypted backups to cloud storage - iSCSI Storage - Enhanced storage backend for media services
🎯 Quick Example¶
Deploy your entire homelab with just a few commands:
# 1. Clone and setup
git clone https://github.com/chutch3/homelab.git
cd homelab
# 2. Configure your environment
cp .env.example .env
nano .env # Set your domain, Cloudflare credentials, etc.
# 3. Configure your hosts
nano ansible/inventory/02-hosts.yml # Add your hosts and their roles
# 4. Install Ansible and dependencies
task ansible:install
# 5. Deploy everything
task ansible:bootstrap
task ansible:cluster:init
task ansible:deploy:full
That's it! All services deploy automatically with: - ✅ Automatic SSL certificates via Let's Encrypt + Cloudflare - ✅ Traefik reverse proxy routing - ✅ SMB/CIFS network storage integration - ✅ Docker Swarm orchestration across multiple nodes - ✅ Homepage dashboard showing all services
Or deploy specific services only:
🏗️ Architecture Overview¶
🚀 Getting Started¶
Ready to start your self-hosting journey? Choose your path:
-
:material-timer-fast: Quick Start →
Get your first service running in 5 minutes
-
Complete setup with all configuration options
-
Help improve the platform - report issues or contribute code
🏷️ Tags¶
Browse by tags to find content relevant to your use case.