Homarr: het ultieme dashboard voor jouw server
Een dashboard is een ideale toevoeging aan je server, omdat je hiermee een helder overzicht creëert van alle toepassingen die op je server draaien. Homarr weet zich op meerdere vlakken te onderscheiden. Zo kun je het dashboard eenvoudig wijzigen met een visuele editor. Ook geven widgets inzicht in bijvoorbeeld de prestaties van je server, de status van downloads en geblokkeerde advertenties.
Dit artikel legt uit hoe je een dashboard met Homarr instelt, zodat je inzichtelijk hebt wat er allemaal op je thuisserver draait. Voeg bijvoorbeeld de volgende toepassingen toe:
- Netwerktoepassingen
- Integraties als Docker, zodat je eenvoudig containers kunt beheren
- Widgets voor downloads en downloadsnelheden, serverprestaties en het blokkeren van advertenties
Ook interessant: Zo zet je in een handomdraai je eigen virtual private server op
Code downloaden In dit artikel worden voorbeelden van stukken code gegeven. Omdat overtikken van code erg foutgevoelig is, kun je die code beter downloaden en daarna bekijken of kopiëren. Zie het bestand homarrcode.txt, te downloaden via deze pagina.
Ga je met je thuisserver aan de slag, dan zul je al snel heel veel toepassingen in je netwerk hebben draaien via bijvoorbeeld Docker, Linux-containers en virtuele machines. Voor elke toepassing geldt een ander ip-adres of poortnummer. Dat is al snel niet meer bij te houden. Je zou de favorieten van je browser kunnen vullen, maar het is veel mooier om een dashboard te maken, waarop je alle toepassingen rangschikt. Vaak geeft zo’n dashboard ook leuke extra’s, zoals statusinformatie of widgets. Er bestaan talloze goede dashboards, waaronder Heimdall, Dashy, Homer, Flame, Homepage, Organizr en Homarr. De meeste werken met een configuratiebestand in yaml of json. Dat is vaak een hele studie en maakt aanpassingen omslachtig. Daarom gaan we in dit artikel met Homarr aan de slag. Deze tool laat je heel flexibel een dashboard maken en ook wijzigen dankzij de visuele editor. Je kunt je dashboard niet alleen met je favoriete toepassingen vullen, maar ook met allerlei widgets.
Lees ook: Efficiënt en kostenbesparend: zo bouw je je eigen energiezuinige server
Docker op je server Wil je relatief eenvoudig verschillende toepassingen op je server naast elkaar gebruiken, dan is Docker een aanrader. Toepassingen zijn eenvoudig te installeren en up-to-date te houden. Het is ontwikkeld voor Linux, maar kent ook ondersteuning voor andere besturingssystemen, zoals Windows. Op een server is Linux uiteraard de meest logische keuze. Hoewel er besturingssystemen bestaan speciaal voor containers, kun je beter iets kiezen waar je zelf gemakkelijk mee werkt. Voor veel mensen is dat Debian of Ubuntu. De server-editie van Ubuntu is dan ook erg populair. Grotendeels zul je met Docker-containers werken of met configuratiebestanden voor Docker Compose. Maar soms zul je toch enkele handelingen in het besturingssysteem moeten doen, zoals het mounten van een schijf. Ook dan is het handig als je vertrouwd bent met het besturingssysteem. Overigens kun je merendeels ontsnappen aan de Opdrachtprompt: toepassingen als Homarr, Portainer en Dash, die in dit artikel allemaal aan bod komen, bieden een eenvoudige webinterface aan voor het beheer.
1 Installatie
Heb je nog geen systeem met Docker, dan raden we Docker CE (Community Edition) aan. De installatie komt in dit artikel niet aan bod. Er zijn echter goede gidsen, zoals van DigitalOcean, of lees dit artikel. Hoewel je Homarr eventueel via één regel kunt starten met Docker, vinden we het makkelijker om met een apart configuratiebestand te werken voor Docker Compose. Maak daarvoor op je systeem een map voor Homarr en maak daarin vervolgens met nano docker-compose.yml het configuratiebestand met onderstaande inhoud.
In het bestand zie je dat onder volumes: de lokale mappen (./configs en ./icons) worden gekoppeld met mappen in de container. Het zorgt ervoor dat de gemaakte configuratiebestanden lokaal op je systeem worden bewaard, wat handig is voor back-up of migratie. Voor de integratie van Docker, waar we later op inhaken, voegen we het pad naar de socket voor Docker toe (/var/run/docker.sock). Als laatste zie je dat bij 7575:7575 het lokale poortnummer 7575 wordt gekoppeld met poort 7575 in de container. Je kunt eventueel de lokale poort veranderen (het linkernummer). Dat moet een nog ongebruikte poort zijn.
2 Container starten
Geef de opdracht docker compose up -d om Homarr op de achtergrond te starten. Als je vervolgens naar het ip-adres van de server op de lokale poort (in ons voorbeeld 7575) bladert, in de vorm http://ipadres:poortnummer, zie je de beginpagina van Homarr met een eenvoudige startpagina. Gaat er iets fout? Start Homarr eventueel met docker compose up om meldingen te zien. Op je homepage kun je via het menu (de drie streepjes rechtsboven) omschakelen naar de donkere modus. Deze voorkeur wordt overigens opgeslagen in je browser via een cookie. Je ziet in het menu ook een verwijzing naar de instellingen. Die gaan we nu eerst kort doornemen.
Slimme apparaten in huis? Zo maak je een dashboard voor Home Assistant
3 Instellingen
Op de instellingenpagina zie je de tabjes Algemeen en Aanpassingen. Onder Algemeen kun je onder andere instellen welke zoekmachine moet worden gebruikt voor de zoekbalk. Ook kun je de taal veranderen. Onder Aanpassingen kun je nog enkele details veranderen die vooral betrekking hebben op het uiterlijk en de toegankelijkheid. Zo kun je onder Indeling links en rechts een zijbalk inschakelen voor apps en integraties. Tevens kun je hier de zoekbalk en Docker-integratie in- of uitschakelen, waar we later op terugkomen. Onder Gridstack kun je de breedte van kolommen van je dashboard wijzigen, onder Pagina metadata kun je een ander logo toevoegen en onder Opmaak kun je de achtergrond en kleuren veranderen. Vul je hier bij Achtergrond de link https://source.unsplash.com/featured/ in, dan wordt een willekeurige afbeelding als achtergrond gebruikt.
4 Zoekbalk gebruiken
We noemden al de mogelijkheid om de zoekmachine voor de zoekbalk in te stellen en de zoekbalk in- of uit te schakelen. Er zit nog een handigheidje in de zoekbalk: klik je op het zoekicoontje, dan kun je ook andere opties kiezen, zoals zoeken op YouTube of naar torrentbestanden. Er zijn ook shortcuts: begin je een zoekopdracht bijvoorbeeld met !y dan zoek je meteen op YouTube. Met !s wordt op het web gezocht.
5 Lay-out aanpassen
Een sterk punt van Homarr is dat je niet met ingewikkelde configuratiebestanden hoeft te werken. Een enkeling zal weliswaar ook de voordelen zien van configuratiebestanden, na een onvermijdelijke leercurve. Maar elke latere kleine aanpassing, zoals het toevoegen van een app, gaat in de praktijk vaak veel sneller via de webinterface. Homarr kent daarvoor een bewerkingsmodus, die je bereikt door op het potloodje te klikken. Je kunt in deze modus bestaande tegels wijzigen via het instellingenicoontje, ze verplaatsen of de grootte ervan veranderen. Houd er rekening mee dat er drie schermgroottes zijn (zie kader ‘Verschillende schermgroottes’). In de bovenbalk zie je een optie om tegels toe te voegen. Daarbij heb je de keuze tussen apps, widgets en categorieën. Een categorie is in feite een afgezonderd vlak waarin je apps en widgets kunt groeperen, bijvoorbeeld rondom entertainment of downloads. Klik na het bewerken opnieuw op het potlood om de wijzigingen op te slaan.
Verschillende schermgroottes Gebruik je Homarr op verschillende apparaten, zoals een smartphone, tablet en desktop, dan wil je dat je startscherm er op elk apparaat goed uitziet. Daarom werkt Homarr met verschillende schermgroottes: klein, gemiddeld en groot. Deze hebben elk een eigen lay-out. Klein is voor schermen tot 768 pixels breed, gemiddeld voor toestellen met meer dan 768 pixels breed en groot voor apparaten met een schermgrootte vanaf 1400 pixels breed. Bij het aanzetten van de bewerkingsmodus zie je voor welke grootte de bewerkingsmodus is ingeschakeld. Na het maken van aanpassingen in de lay-out kun je eventueel nog de lay-out voor andere schermgroottes aanpassen, door je browservenster kleiner of groter te maken.
6 Apps toevoegen
Met apps worden toepassingen bedoeld die in je netwerk draaien. Je voegt ze als tegel aan je dashboard toe. Hierbij vul je onder Algemeen alle details in. Op het tabje Netwerk kun je een statuscontrole activeren. Via een http(s)-verzoek zal dan worden gecontroleerd of de service online is. Onder Opmaak zal voor heel veel bekende apps automatisch een relevant icoontje worden gekozen. Voor sommige apps is diepere integratie mogelijk. Ze kunnen dan extra gegevens verstrekken die je in een geschikte widget kunt laten zien. Het werken met widgets behandelen we verderop. Om de integratie mogelijk te maken, kies je bij het toevoegen van een app op het tabblad Integratie de bijbehorende integratie en vul je de details in.
7 Integraties toevoegen
Voor een integratie zijn dus extra details nodig om gegevens op te kunnen halen. Er is al een vrij brede ondersteuning van integraties (zie kader ‘Beschikbare integraties in Homarr’). Afhankelijk van de integratie moet je bijvoorbeeld een API-sleutel of gebruikersnaam en wachtwoord invoeren. Als voorbeeld voegen we Deluge toe, een bekende client voor het downloaden van bestanden via het torrentnetwerk. Ook veel grote software wordt op deze manier verspreid, zoals images voor Ubuntu. Via Docker heb je Deluge snel gestart. De webinterface vind je standaard op poort 8112. Bij het toevoegen van Deluge als app hoef je op het tabblad Integratie alleen de optie Deluge te selecteren. Vervolgens hoef je daaronder alleen nog maar het wachtwoord in te voeren dat je voor Deluge gebruikt. De integratie zorgt ervoor dat je de widgets Torrent en Download Speed kunt toevoegen. Dat gaan we in stap 9 doen.
Beschikbare integraties in Homarr Op dit moment biedt Homarr integraties aan voor de usenet-clients SABnzbd en NZBGet en de torrentclients Deluge, Transmission en qBittorrent. Verder is er een integratie voor Sonarr, Radarr, Lidarr en Readarr. Die helpen je bij het beheer van respectievelijk je collecties series, films, muziek en boeken, door het downloadproces te stroomlijnen. Ook zijn er integraties voor de twee populairste mediaservers Plex en Jellyfin, voor de netwerktoepassingen PiHole en AdGuard Home en voor Jellyseerr en Overseerr. Die laatste twee helpen je je mediabibliotheek te beheren. Overseerr is het bekendst, hiermee kun je interessante series en films ontdekken. Ook kunnen gebruikers verzoeken indienen voor ontbrekende content.
8 Integratie Docker
Homarr kent een handige integratie met Docker. Dit geeft je de mogelijkheid om containers te beheren die op je systeem draaien. Denk aan het starten, stoppen of verwijderen van containers. Ook kun je apps die in zo’n container draaien in enkele klikken aan je dashboard toevoegen. Wel moet je de integratie voor Docker nog aanzetten. Ga hiervoor naar Instellingen / Aanpassingen en kies Indeling. Zet nu een vinkje bij Docker-integratie inschakelen. Sluit het menu. Je ziet nu een icoontje dat je naar een venster brengt met alle Docker-containers. Zet een vinkje bij de toepassing die je wilt toevoegen, bijvoorbeeld SABnzbd, en klik op Toevoegen aan Homarr. Wil je meer hulp bij het beheer van Docker? Dan raden we Portainer (zie kader ‘Beheer je Docker-containers met Portainer’) aan. Ook Portainer kun je ook via Docker draaien.
Beheer je Docker-containers met Portainer Als je op je server veel gebruik gaat maken van Docker, raden we zeker aan ook eens naar Portainer te kijken. Hiermee kun je zien welke containers actief zijn en deze ook gemakkelijk beheren. In een paar klikken kun je containers starten, stoppen, verwijderen of bijwerken. Ook kun je de prestaties van je containers in realtime bekijken. Het maken van nieuwe containers is ook mogelijk, bijvoorbeeld via de vooraf gedefinieerde templates. Portainer is een praktische hulp en ook iets sneller te leren als je niet zo vertrouwd bent met de opdrachtprompt.
Widgets
9 Downloads en downloadsnelheid
Als je de integratie voor Deluge gebruikt, kun je de widget Torrent aan je dashboard toevoegen. Deze toont een lijst met al je downloads, de downloadsnelheid en de progressie. Je ziet zo direct hoe het ervoor staat met je downloads. De widget werkt niet alleen voor Deluge, maar ook voor de andere torrentclients Transmission en qBittorrent. Gebruik je het eerder genoemde SABnzbd voor het downloaden uit nieuwsgroepen, dan kun je de widget Usenet gebruiken om zicht te houden op je downloads. Naast SABnzbd ondersteunt deze widget ook NZBGet. Verder kun je de widget Download speed gebruiken om de huidige download- en uploadsnelheid te zien. Deze werkt met alle hier genoemde downloadclients samen. Overigens hoef je een widget altijd maar één keer toe te voegen, ook als je meerdere integraties hebt die er geschikt voor zijn. Er is bovendien geen verdere configuratie nodig.
10 Serverprestaties
Het is altijd praktisch om zicht te hebben op het processor- en geheugengebruik van je server en de beschikbare opslagruimte. Homarr kan dit eenvoudig in een widget weergeven. Hiervoor werkt het samen met Dash. Dit kun je net als Homarr eenvoudig installeren via Docker Compose. De inhoud van docker-compose.yml is als volgt:
Start de toepassing met docker compose up -d. Dash heeft een eigen kleurrijk dashboard waarop je de serverbelasting kunt zien. Merk op dat we de lokale poort 80 gebruiken. Daarom kun je Dash direct op het ip-adres van je server bezoeken (http://ipadres). Uiteraard zijn we vooral geïnteresseerd in de integratie met Homarr. Om de widget hiervan toe te voegen, open je de bewerkingsmodus. Voeg een widget toe en kies voor Dash. Kies via het instellingenicoontje voor Wijzig. Bij Dash. URL voer je het adres in voor Dash. In dit voorbeeld is dat het ip-adres van de server. Daaronder kun je kiezen welke details getoond moeten worden en in welke vorm. Deze worden dan aan de widget toegevoegd.
11 Advertenties blokkeren
Gebruik je in je netwerk een tool om advertenties te blokkeren, zoals PiHole of AdGuard Home, dan kun je enkele speciale widgets gebruiken. Als voorbeeld nemen we PiHole. Hiervoor is een API-sleutel nodig. Ga in de webinterface van PiHole naar Settings / API. Klik op Show API token en kopieer de sleutel. Voeg nu in Homarr de integratie voor PiHole toe. Belangrijk is dat je op het tabblad Algemeen onder Intern adres alleen het adres van PiHole in de vorm http://ipadres:poort invult. Op het tabblad Integratie kies je PiHole en vul je de zojuist opgehaalde sleutel in. Je kunt nu de widgets DNS hole summary en DNS hole controls toevoegen. De eerste geeft een samenvatting van wat er geblokkeerd is, met de tweede kun je PiHole tijdelijk uitzetten.