Self-Hosted Services
Containerized applications for your homelab infrastructure.
Service Categories
Infrastructure
Applications
Monitoring
| Service | Description |
| Uptime Kuma | Status pages and monitoring |
Deployment Patterns
Recommended Stack
Internet
│
v
┌─────────────────┐
│ Reverse Proxy │ (Traefik/Caddy)
│ + SSL/TLS │
└─────────────────┘
│
├──> Authentication (Authentik)
│
├──> Applications
│ ├── Jellyfin
│ ├── Homepage
│ └── Other services
│
└──> Monitoring
├── Uptime Kuma
└── Prometheus/Grafana
DNS: Pi-hole (network-wide)
Docker Network Setup
# Create shared network
networks:
proxy:
external: true
# In each service's docker-compose.yml
services:
myservice:
networks:
- proxy
- default
networks:
proxy:
external: true
# Create network
docker network create proxy
Common Configurations
Environment Variables
# .env file template
DOMAIN=example.com
TZ=Europe/Oslo
PUID=1000
PGID=1000
Volume Permissions
services:
app:
environment:
- PUID=1000
- PGID=1000
volumes:
- ./config:/config
Resource Limits
services:
app:
deploy:
resources:
limits:
memory: 2G
reservations:
memory: 512M
Getting Started
- Set up Reverse Proxy first
- Configure Authentication for SSO
- Deploy services as needed
- Add Homepage dashboard
- Set up Uptime Kuma monitoring
See Also