9f36a48864c50f4c5720abd1db4128379ddb0f60
Homelab
Prerequisites
- Docker and Docker Compose
- Host paths used by the stacks:
/srv/homelab/srv/media/backup
Setup
1. Media dirs
sudo mkdir -p /srv/media/{movies,shows,downloads,immich}
sudo chown -R 1000:1000 /srv/media
2. Monitoring permissions
sudo mkdir -p /srv/homelab/data/monitoring/{prometheus,loki,grafana,alloy}
sudo chown -R 65534:65534 /srv/homelab/data/monitoring/prometheus
sudo chown -R 10001:10001 /srv/homelab/data/monitoring/loki
sudo chown -R 472:472 /srv/homelab/data/monitoring/grafana
sudo chown -R 10001:10001 /srv/homelab/data/monitoring/alloy
3. Env
- Glance:
stacks/monitoring/glance.env - Immich:
stacks/media/immich.env
Deploying
From the repo root (/srv/homelab):
| Stack | Command |
|---|---|
| Media | docker compose -f stacks/media/compose.yaml up -d |
| Monitoring | docker compose -f stacks/monitoring/compose.yaml up -d |
| Storage | docker compose -f stacks/storage/compose.yaml up -d |
To update images:
docker compose -f stacks/media/compose.yaml pull
docker compose -f stacks/media/compose.yaml up -d
To stop a stack:
docker compose -f stacks/media/compose.yaml down
Ports
| Service | Port(s) | Stack |
|---|---|---|
| Media | ||
| Sonarr | 8989 | media |
| Radarr | 7878 | media |
| Lidarr | 8686 | media |
| Prowlarr | 9696 | media |
| qBittorrent | 8081, 6881 (tcp/udp) | media |
| Jellyfin | 8096 | media |
| Immich | 2283 | media |
| Navidrome | 4533 | media |
| Seer | 5055 | media |
| Monitoring | ||
| Grafana | 3034 | monitoring |
| Prometheus | 9094 | monitoring |
| Loki | 3100 | monitoring |
| Node Exporter | 9100 | monitoring |
| Alloy | 12345 | monitoring |
| cAdvisor | 8088 | monitoring |
| Glance | 9090 | monitoring |
| Portainer | 9443, 8000 | monitoring |
| Storage | ||
| Gitea | 3000, 222 | storage |
| Copyparty | 3923 | storage |
Description
Languages
Shell
100%