Modularny stos usług self‑hosted na Raspberry Pi, zarządzany przez Docker Compose.
Każda usługa posiada własny katalog z plikiem docker-compose.yml.
Wszystkie współdzielą wspólny plik konfiguracji .env.
- Usługi
- Wymagania
- Szybki start
- Konfiguracja sieci
- Zarządzanie usługami
- Struktura repozytorium
- Licencja
| Usługa | Obraz | Opis |
|---|---|---|
| 🚀 Dashy | lissy93/dashy |
Dashboard domowy |
| 📊 Glances | nicolargo/glances |
Monitoring systemu |
| 🏠 Home Assistant | home-assistant |
Automatyka domowa |
| 📡 Zigbee2MQTT | koenkk/zigbee2mqtt |
Most Zigbee → MQTT |
| 🔗 Mosquitto | eclipse-mosquitto |
Broker MQTT |
| 🍔 Mealie | mealie-recipes/mealie |
Przepisy i planowanie posiłków |
| 🍓 Pi‑hole | pihole/pihole |
Blokowanie reklam (DNS) |
| 📁 FileBrowser | filebrowser/filebrowser |
Menedżer plików (web UI) |
| 🎬 Stremio | tsaridas/stremio-docker |
Serwer multimedialny |
| Komponent | Minimum |
|---|---|
| System operacyjny | Linux (Raspberry Pi OS, Debian, Ubuntu) |
| Docker | >= 24.0 |
| Docker Compose | >= 2.20 (plugin V2) |
| Dostęp | SSH lub terminal lokalny |
git clone https://github.com/Kogut01/HomeLab.git
cd HomeLabcp .env_example .envEdytuj .env i uzupełnij wymagane wartości — strefę czasową, IP hosta, porty oraz hasła:
TZ=Europe/Warsaw
PIHOLE_WEBPASS=moje_tajne_haslo
DASHY_PORT=61337
# ...Aby uniknąć powtarzania --env-file przy każdym poleceniu, wyeksportuj ścieżkę globalnie:
export COMPOSE_ENV_FILES="$PWD/.env"Następnie uruchom wybraną usługę:
cd dashy && docker compose up -dLub podaj plik .env jawnie:
cd dashy && docker compose --env-file ../.env up -dRepozytorium zawiera skrypty pomocnicze do zarządzania adresem IP hosta:
| Skrypt | Opis |
|---|---|
set_static_ip.sh |
Ustaw statyczny adres IP |
set_auto_ip.sh |
Przywróć automatyczne DHCP |
# Statyczny IP
sudo bash ./set_static_ip.sh
# Powrót do DHCP
sudo bash ./set_auto_ip.shWszystkie polecenia wykonywane są z katalogu danej usługi (np. cd dashy/).
# ▶ Uruchomienie
docker compose up -d
# 🔄 Aktualizacja obrazów + restart
docker compose pull && docker compose up -d
# 📋 Podgląd logów (na żywo)
docker compose logs -f
# ♻️ Restart
docker compose restart
# ⏹ Zatrzymanie i usunięcie kontenerów
docker compose downHomeLab/
├── .env_example # 📜 Szablon zmiennych środowiskowych
├── .github/ # ⚙️ CI/CD, Dependabot, konfiguracja GitHub
│ ├── workflows/
│ └── dependabot.yml
├── dashy/ # 🚀 Dashboard
│ ├── docker-compose.yml
│ └── config/
│ └── conf-example.yml # ⚙️ Przykładowa konfiguracja Dashy
├── filebrowser/ # 📁 Menedżer plików
│ └── docker-compose.yml
├── glances/ # 📊 Monitoring systemu
│ └── docker-compose.yml
├── home-assistant/ # 🏠 Automatyka domowa
│ └── docker-compose.yml
├── mealie/ # 🍔 Przepisy kulinarne
│ └── docker-compose.yml
├── mqtt/ # 🔗 Broker MQTT (Mosquitto)
│ └── docker-compose.yml
├── pihole/ # 🍓 DNS ad‑blocker
│ ├── docker-compose.yml
│ ├── blacklist/
│ │ └── blacklist_urls.txt # 🚪 Własna blacklista URL
│ └── config/
│ └── etc-dnsmasq.d # ⚙️ Konfiguracja dnsmasq
├── stremio/ # 🎬 Serwer multimedialny
│ └── docker-compose.yml
├── zigbee2mqtt/ # 📡 Most Zigbee → MQTT
│ ├── docker-compose.yml
│ └── config/
│ └── conf-example.yml # ⚙️ Przykładowa konfiguracja
├── set_static_ip.sh # ⌨️ Ustawienie statycznego IP
├── set_auto_ip.sh # 🚌 Powrót do DHCP
└── LICENSE # 📜 Licencja MIT