ID.nl logo
Review Kia Niro EV - Zuinigheid met vlijt
© Igor Stuifzand
Mobiliteit

Review Kia Niro EV - Zuinigheid met vlijt

De eerste generatie van de Kia Niro was een groot succes. De auto verkocht zelfs zó goed dat hij enige tijd de nummer 1 in de Nederlandse verkoopstatistieken was. De tweede generatie van de Niro, die sinds 2022 leverbaar is, kan dat succes niet evenaren. Is daarvoor een oorzaak aan te wijzen? Een test met de elektrisch aangedreven Kia Niro EV wijst het uit.

Uitstekend
Conclusie

Bijna alle goede eigenschappen van de eerste generatie van de Kia Niro keren in gemoderniseerde en aantrekkelijker verpakte vorm terug in het huidige model. De auto rijdt erg prettig, de elektromotor combineert prima prestaties met een heel laag verbruik en de hoeveelheid binnenruimte voor passagiers en bagage is overdadig. Helaas is het laadsysteem van de Niro EV niet met zijn tijd meegegaan en kan de auto aan de snellaadpaal niet overtuigen. Ten opzichte van het vorige model heeft Kia de prijs van de Niro EV echter flink verhoogd. Bovendien is het aantal ijzersterke alternatieven flink toegenomen. Daardoor is de Niro EV niet meer de zonneklare keuze die het vorige model nog wel was.

Plus- en minpunten
  • Veel ruimte voor passagiers en bagage
  • Prima presterende, zuinige aandrijflijn
  • Uitgebreide (veiligheids)uitrusting
  • Soepele, comfortabele rijeigenschappen
  • Doordachte bediening
  • Matige snellaadprestaties
  • Weinig frivool en donker interieur
  • Hoge prijs
  • Alleen SEPP-geschikt in basisuitvoering

In deze review van de Kia Niro EV komen de volgende onderwerpen aan bod:

• Eerst even een rondje om de Kia Niro EV • Is de Kia Niro EV een praktische auto? • De accutechniek en aandrijflijn onder de loep • Is het beloofde verbruik in de praktijk haalbaar? • En hoe bevalt de Niro EV op de weg? • Wat kost de Niro EV en wat zit er voor dat geld op? • Wat zijn de concurrenten van de Kia Niro EV?

©Igor Stuifzand

Vergeleken met de eerste Kia Niro (2016-2022), is het huidige model een karakteristieke verschijning.

Ontdek jouw ideale elektrische auto

Vergelijk en vind de beste deals op Kieskeurig.nl!

Eerst even een rondje om de Kia Niro EV

Toen de eerste Kia Niro in 2016 op de weg verscheen, was het een tamelijk curieuze verschijning. Geen traditionele gezinshatchback, maar ook geen SUV of MPV. De Niro combineerde van elke soort het beste, en dat resulteerde in een compacte tussenvorm met heel veel binnenruimte. Ondanks zijn tamelijk ingetogen uitstraling wist het grote publiek de kwaliteiten van de Niro op de juiste waarde te schatten, met uitstekende verkoopcijfers als resultaat.

Er was een hybrideversie, een plug-in hybride met oplaadbaar batterijpakket én een volledig elektrische variant. Bovendien zette Kia de auto scherp geprijsd in de markt en was 7 jaar fabrieksgarantie nog een uniek aanbod. Zakelijke rijders profiteerden van aantrekkelijke fiscale voordelen op een auto met een lage (of geen) CO₂-uitstoot, en ook dat wist Kia ten volle te benutten. Wie momenteel een gebruikte Niro zoekt, heeft dan ook volop keuze.

©Igor Stuifzand

Intrigerende stroomlijn: de dakstijlen staan als het ware los van de carrosserie, de rijwind wordt vanaf de zijruiten achter het plaatwerk geleid.

De tweede generatie van de Kia Niro, die sinds 2022 wordt aangeboden, heeft (bijna) alle goede eigenschappen van zijn voorganger overgenomen. Opnieuw wordt de auto als hybride, PHEV en EV aangeboden. De ontwerpers van Kia hebben het huidige model echter een veel expressiever uiterlijk gegeven dan zijn voorganger, met karakteristieke koplampen op de buitenste hoeken van de voorbumper, boemerangvormige achterlichten en (à 295 euro extra) dakstijlen in een contrasterende kleur.

Ook het interieur van de nieuwe Niro is een stuk minder saai dan dat van het vorige model. De gebogen lijnen van het dashboard liggen prettig op het netvlies, de overzichtelijkheid is uitstekend en over de afwerking hebben we geen klachten. Van een kleurrijk geheel kan echter onmogelijk worden gesproken. Terwijl je vanbuiten nog een beetje kunt spelen met de kleurstelling van de Niro, blijft vanbinnen alles gitzwart.

©Igor Stuifzand

Het dashboard is overzichtelijk van opzet, maar geeft het interieur van de Niro EV weinig kleur.

Is de Kia Niro EV een praktische auto?

Hoewel de Niro met zijn lengte van 4,42 meter niet heel lang is, biedt hij dankzij zijn hoge bouw verrassend veel binnenruimte. Je zit wat hoger en meer rechtop dan in een conventionele gezins-hatchback. Ook op de achterbank is er beenruimte in overvloed, en aan hoofdruimte heeft niemand gebrek. Met een inhoud van 475 liter mag ook de kofferbak riant worden genoemd. Wanneer de achterbank in zijn geheel is neergeklapt, past er een lading van 1.392 liter achter in de Niro EV. Dat is aanzienlijk meer dan de op hetzelfde platform gebaseerde Hyundai Kona Electric te bieden heeft.

©Igor Stuifzand

Met een volume van 475 tot 1.392 liter heeft de Niro EV een bagageruimte van MPV-proporties.

Bij de Kia-dealer kan een trekhaak als accessoire onder de Niro EV worden gemonteerd. Een aanhanger met oploopremmen mag een hoogste gewicht hebben van 750 kilo. Een caravan is te zwaar, maar de Niro EV is prima in staat om in de zomervakantie met de vouwwagen naar de camping te gaan. Onder de voorklep heeft Kia een kleine ‘frunk’ (front trunk) gecreëerd. Met een inhoud van 20 liter biedt die net genoeg ruimte voor de laadkabel.

©Igor Stuifzand

Voor een auto met een lengte van 4,42 meter, heeft de Kia Niro EV bovengemiddeld veel ruimte te bieden.

De accutechniek en aandrijflijn onder de loep

De Kia Niro wordt uitsluitend geleverd met een batterij van 64,8 kWh. Bij het vorige model was er ook een (goedkopere) versie met 39,2kWh-batterij, maar die is met de modelwisseling niet in de prijslijst teruggekeerd. Om misverstanden te voorkomen: de Niro EV maakt van een heel ander elektrisch systeem gebruik dan de grotere Kia EV6 en EV9. In het prijssegment waarin deze modellen opereren, hebben zij een toonaangevende boordspanning van 800 volt, waardoor snelladen met 175 tot zelfs 234 kW mogelijk is.

Bij de Niro werkt het elektrische systeem op een spanning van 358 volt. Onder optimale omstandigheden blijft het piekvermogen aan de snellaadpaal daardoor beperkt tot 82 kW. De batterij opladen van 10 naar 80 procent duurt daardoor 43 minuten. Een schril contrast met bijvoorbeeld de Renault Megane E-Tech Electric, die (met 60kWh-batterij) 130 kW aan de snellader haalt. De standaard 3-fase-boordlader van de Niro EV bereikt aan een hoogste laadsnelheid van 11 kW.

Download nu GRATIS het EV Duurtest-rapport 2024!

In het EV Duurtest-rapport zijn nieuwe elektrische auto's door verschillende consumenten getest. Alle resultaten vind je terug in dit digitale rapport. Door het invullen van je naam en e-mailadres meld je je aan voor ontvangst van het Kieskeurig EV Duurtest-rapport. Tevens ben je ingeschreven voor de Kieskeurig.nl EV-nieuwsbrief.

©Igor Stuifzand

De laadpoort van de Kia Niro EV zit in de neus. Wij ervaren dat als een handige plek. Voor snelladen moet je de tijd nemen.

De elektromotor van de Kia Niro EV is voorin geplaatst en drijft de voorwielen aan. Met 204 pk levert de motor net zo veel vermogen als in het vorige model (met 64kWh-batterij). Het maximumkoppel werd door Kia echter wel flink teruggeschroefd. Kregen de voorwielen van de vorige elektrische Niro nog 395 Nm te verwerken, in het huidige model is daarvan nog 255 newtonmeter over.

Maar daarmee kom je helemaal niets tekort. Met een kentekengewicht van 1657 kilo is de auto immers niet overdreven zwaar en blijft hij een vlotte sprinter. Met het acceleratiepedaal helemaal gevloerd zit je vanuit stilstand in 7,8 seconden op de 100 km/u. Kia heeft de topsnelheid begrensd op 167 km/u. Juist doordat het koppel is teruggeschroefd, heeft de Kia Niro EV zelfs op een natte weg amper de neiging om met zijn voorwielen door te slippen.

©Igor Stuifzand

Veel eenvoudiger wordt het niet: een draaiknop voor de rijrichting, een drukknop voor de parkeerstand.

Is het beloofde verbruik in de praktijk haalbaar?

Voor een goede verbruiksindicatie rijden we met elke elektrische testauto dezelfde route van 170 kilometer. Deze route leidt door de stad met veel verkeer en verkeerslichten, via provinciale en secundaire wegen en over enkele snelwegtrajecten, waar we de cruisecontrol op 100 km/u en 130 km/u vastzetten. We leggen onze verbruiksronde na de avondspits af, om bij 130 km/u geen snelheidsovertredingen te riskeren en druk (vracht)verkeer zoveel mogelijk te ontlopen. We maken van de verbruikstest geen race of recordpoging ‘zuinig rijden’, en proberen met elke testauto zoveel mogelijk dezelfde rijstijl aan te houden. We zetten de airco op 21 graden en schakelen (indien aanwezig) het regeneratief remmen op ‘one-pedal driving’ altijd in.

Volgens de fabrieksopgave ligt het gemiddelde energieverbruik van de Niro EV op 16,2 kWh/100 km. Dat is niet slecht, maar ook niet bijzonder goed. Berekend volgens de genormeerde WLTP-formule, moet een actieradius van 460 kilometer binnen bereik liggen. Maar tijdens onze vaste verbruiksronde blijkt Kia de energiebehoefte van de Niro EV wel heel voorzichtig te hebben ingeschat. Tijdens de test profiteert de auto van aangename weersomstandigheden met weinig wind, zodat de opgeslagen energie in de batterij vrijwel geheel wordt ingezet voor de aandrijving.

Heus: we hebben met de Niro EV echt niet het onderste uit de kan willen halen om een laag verbruik te realiseren, maar aan het einde van de testronde geeft de boordcomputer slechts 15,0 kWh/100 km aan. Met een dergelijk verbruik is op een volle batterij van 64,8 kWh een afstand van maar liefst 432 kilometer haalbaar. En het kan dus nóg zuiniger, als je je best doet.

©Igor Stuifzand

Belangrijk pluspunt: de zeer efficiënte elektrische aandrijflijn van de Niro EV.

En hoe bevalt de Niro EV op de weg?

Wat mede bijdraagt aan het keurige energieverbruik, is het rustgevende karakter van de Niro EV. Met 204 pk onder je rechtervoet heb je onder alle omstandigheden genoeg power tot je beschikking, maar tijdens de testweek hebben we geen moment de behoefte gevoeld om aanspraak te maken op het volledige vermogen. De elektrische bediende stoelen zitten als je favoriete shirt, met in de duurste ExecutiveLine zowel stoelverwarming als stoelventilatie als onderdeel van de uitrusting.

Ondanks de nogal donkere omgeving (een paar sierlijstjes in een contrasterende kleur hadden het geheel nét wat vrolijker gemaakt) voel je je dankzij de overzichtelijke lay-out van het dashboard en de begrijpelijke opbouw van de menu’s in het bedienings- en multimediasysteem algauw vertrouwd in de Niro EV. Ook de knopjes van de cruisecontrol werken logisch, en met de flippertjes achter het stuur kun je de mate van vertraging bij regeneratie naar behoefte instellen. In ‘i-Pedal’ komt de auto zelfs geheel tot stilstand; ‘one-pedal driving’ laat zich uitstekend doseren.

Dat het balkje met de bedieningstoetsen voor de airco een dubbelrol speelt en ook te gebruiken is voor de navigatie en audio, heeft Kia slim bedacht. In de praktijk vraagt het echter wel wat aandacht, waardoor je je ogen soms te lang van de weg afkeert en te lang niet ziet wat er om je heen gebeurt.

©Igor Stuifzand

Eén balkje, twee functies: wanneer je het navigatiepijltje indrukt, veranderen de airco-opties in navigatie en audioknopjes.

Hoewel de Niro EV ruim 150 kilo zwaarder is dan de Niro PHEV (plug-in hybride), heeft dat weinig consequenties voor de rijeigenschappen. De vering is soepel, de schokdempers zijn prima in staat het extra gewicht op te vangen. De afstemming van het onderstel is zelfs verrassend evenwichtig; terwijl menig andere EV moeite heeft met de verwerking van korte oneffenheden in het wegdek, raakt de Niro EV hierdoor niet uit evenwicht. De wielbewegingen worden soepel opgevangen en zonder protest geïncasseerd.

Ook de besturing is erg prettig: niet te licht, niet te zwaar, aangenaam direct en voldoende communicatief. Of je nou lange dagen achter het stuur van de Niro EV zit of vooral korte afstanden in druk stadsverkeer aflegt, de Niro EV leent zich uitstekend voor elke vorm van gebruik.

©Igor Stuifzand

De mate van zelfremmend vermogen regel je met de flippertjes achter het stuur; 'one-pedal driving' is eveneens mogelijk.

Wat kost de Niro EV en wat zit er voor dat geld op?

De keuzemogelijkheden zijn erg overzichtelijk. Zoals eerder gemeld is er slechts één vermogens- en batterijvariant van de Niro EV. Daarnaast biedt Kia drie verschillende uitvoeringen aan: de DynamicLine als basisversie, de DynamicPlusLine als upgrade en de ExecutiveLine als meest complete versie.

Prijs van de DynamicLine bedraagt 44.395 euro (maart 2024). Daarmee blijft deze versie keurig onder de grens van 45.000 euro, die geldt voor de Subsidie Elektrische Personenauto's Particulieren (SEPP). Het subsidiebedrag op een nieuwe EV bedraagt 2950 euro. En dat geldt ook wanneer je kiest voor private lease. Op basis van 10.000 kilometer op jaarbasis en een leasetermijn van 60 maanden betaal je 599 euro per maand (exclusief aftrek van SEPP).

©Igor Stuifzand

Vanaf de DynamicLine heeft de Niro EV al een uitgebreide hoeveelheid veiligheidsvoorzieningen aan boord.

Standaard zit de DynamicLine al behoorlijk rijk in zijn toebehoren. Stoelen met hoogteverstelling, navigatie, een achteruitrijcamera, airco met twee temperatuurzones, 17-inch lichtmetalen wielen en een warmtepomp zitten er allemaal op. Het scherm van het multimediasysteem meet 10,25 inch en staat online in verbinding met Kia Connect en live-services.

Alle veiligheidsvoorzieningen verdienen hun eigen alinea. De Niro EV heeft acht airbags, een automatische noodremfunctie met herkenning van voetgangers en fietsers, adaptieve cruisecontrol met ondersteuning van het navigatiesysteem en filehulp, een actieve rijbaanassistent, vermoeidheidsherkenning, automatisch grootlicht en verkeersbordherkenning. En dat allemaal standaard.

©Igor Stuifzand

In de ExecutiveLine heeft de passagiersstoel een relaxstand. Stoelventilatie is eveneens standaard.

De DynamicPlusLine, die voor 47.295 euro in de prijslijst staat (maart 2024) en dus niet in aanmerking komt voor SEPP-subsidie, voegt nog enkele aantrekkelijke opties toe aan de lijst. Denk bijvoorbeeld aan een head-up display en een schuif-/kanteldak. De stoelen en het stuur zijn verwarmd, en de veiligheidsuitrusting wordt uitgebreid met dodehoekwaarschuwing, uitstapbeveiliging en waarschuwing voor naderend verkeer bij achteruitrijden.

©Igor Stuifzand

Standaard staat de Kia Niro EV op 17-inch lichtmetalen wielen.

De auto waarmee wij hebben gereden is uitgevoerd als ExecutiveLine. Aan deze versie hangt een prijskaartje van 50.395 euro (maart 2024). Ook al krijg je voor dat geld onder meer stoelventilatie, snelwegassistentie met rijbaanwissel, een uitgebreid audiosysteem van Harman Kardon, elektrische stoelverstelling (met linksvoor geheugen) en leatherlook bekleding, de Niro EV wordt dan opeens wel een erg prijzige auto. Voor 4.000 euro meer ten opzichte van de vorige elektrische Niro in ExecutiveLine-uitvoering krijg je namelijk niet zo veel extra's terug...

©Igor Stuifzand

Met de Drive Mode-knop links op het stuur wissel je van rijprogramma.

Wat zijn de concurrenten van de Kia Niro EV?

De eerste elektrisch aangedreven Niro was een 'lone ranger'. In een periode van een gunstig fiscaal klimaat had de betaalbare en ruime cross-over een monopoliepositie. Maar inmiddels is de alternatievenlijst flink uitgebreid en kan de Niro EV helaas niet meer profiteren van zo'n lage prijsstelling als zijn voorganger.

Modellen als de Hyundai Kona Electric, de BYD Atto 3, de nieuwe Peugeot e-3008, de Ford Explorer, de Honda e:Ny1 en 'Auto van het Jaar 2024' Renault Scenic E-Tech Electric zijn door hun ruimtelijke concept voor de hand liggende concurrenten. Daarnaast kun je voor een lagere prijs algauw een model als de Volkswagen ID.3 of Renault Megane E-Tech Electric met een grotere batterij en een rijke standaarduitrusting aanschaffen. Terwijl er ook de SEPP-gunstige versies van grotere EV's als de Skoda Enyaq iV, Ford Mustang Mach-E en (uit eigen huis) Kia EV6 zijn.

©Igor Stuifzand

Fijne auto, die Kia Niro EV! Alleen jammer dat-ie zo veel duurder is geworden dan zijn voorganger...

Vraag een offerte aan voor laadpalen:

▼ Volgende artikel
Een echte herfstklus: zo maak je je dakgoot schoon
© © 2019, JJ Gouin All Rights Reserved
Huis

Een echte herfstklus: zo maak je je dakgoot schoon

Met de herfst in aantocht dwarrelen de bladeren weer massaal naar beneden – en niet zelden belanden ze in je dakgoot. Samen met ander vuil kan dat de afvoer verstoppen, vooral bij nat weer. Om lekkages en andere problemen te voorkomen, is het verstandig je dakgoot regelmatig schoon te maken. Maar hoe pak je dat aan?

⏱️ Dit artikel in het kort:
  • Gereedschap: dit heb je nodig

  • De dakgoot schoonmaken: hoe vaak en wanneer?

  • Stappenplan dakgoot schoonmaken

  • Dakgoot schoonmaken? Zo doe je het veilig

  • Slimme tips voor een schone dakgoot

Lees ook: 🍂 Herfstklus: zo maak je je tuinmeubilair winterklaar

Gereedschap: wat heb je nodig?

Voor het doorspoelen van je dakgoten is een tuinslang onmisbaar. Monteer hier een dakgootreiniger op: een opzetstuk met borstel en harkje waarmee je vuil verwijdert en de goot grondig schoonmaakt. Met een telescoopsteel kun je zelfs vanaf de grond werken – handig en veilig. Toch is het slim om af en toe de ladder te nemen, zodat je goed kunt zien wat je doet en geen hoeken overslaat.

Lees ook: Zo werk je veilig in de hoogte met een ladder

Handschoenen zijn een must, of het nu tuinhandschoenen of huishoudhandschoenen zijn. Draag daarnaast oude kleding met lange mouwen, want het water dat uit de goot spat is meestal niet schoon.

Zink of kunststof

Dakgoten zijn meestal van zink of kunststof. Bij zinken dakgoten is het extra belangrijk om ze goed schoon te houden, omdat rottende bladeren de beschermende oxidelaag kunnen aantasten.

Een dakgoot heeft altijd een lichte helling, zodat het water naar de regenpijp kan stromen. Met een tuinslang kun je controleren of dit goed werkt. Blijft het water staan, dan moet je de dakgoot repareren. Dit is vooral van belang bij zinken dakgoten vanwege het risico op aantasting van de oxidelaag. Het repareren van een zinken dakgoot is relatief eenvoudig, bijvoorbeeld met rubber seal, reparatietape of vloeibare zink.

Hoe vaak en wanneer schoonmaken?

Eén keer per jaar je dakgoot reinigen is meestal genoeg. Woon je echter tussen veel bomen, dan kun je beter wat vaker aan de slag. Meer blad betekent immers meer kans op verstopping. De beste periode voor de grote schoonmaak is het late najaar: als het niet meer vriest en de meeste bladeren gevallen zijn. Net na een regenbui werkt het schoonmaken makkelijker, omdat het vuil dan losser ligt. Je kunt de goot ook zelf natmaken met de tuinslang.

©bildlove

Stappenplan voor een schone dakgoot

Voordat je begint: veiligheid eerst! Gebruik een stevige ladder die stabiel op een vlakke ondergrond staat. Draag kleding die vies mag worden (bijvoorbeeld een oud shirt met lange mouwen, een stevige broek en rubberen handschoenen) zodat je beschermd bent tegen vuil en scherpe randen.

1 - Verwijder grof vuil

Gebruik een plastic schep, gootschep of oude spatel om bladeren, takjes en ander afval uit de goot te halen. Leg een zeil op de grond of gebruik een emmer of vuilniszak om het netjes te houden. Heb je vooral droog blad in de goot liggen, dan kan een bladblazer met speciaal opzetstuk ook uitkomst bieden.

2 - Spoel alles goed door

Spoel de goot en regenpijp door met een tuinslang, van het ene uiteinde naar het andere. Zo controleer je meteen of het water goed doorstroomt. Blijft er vuil achter, gebruik dan een schuurspons of staalborstel om het te verwijderen.

3 - Controleer op verstoppingen en schade

Kijk tijdens het schoonmaken of er geen blokkades in de afvoerpijp zitten. Gebruik eventueel een ontstoppingsveer. Controleer ook de staat van de goot zelf: scheuren, losse verbindingen of roestige beugels kun je beter direct repareren of vervangen.

4 - Onderhoud op de lange termijn

Een jaarlijkse schoonmaakbeurt houdt je dakgoot in goede conditie. Zo voorkom je dat water blijft staan of in huis doordringt, wat schimmel of vochtproblemen kan veroorzaken.

5 - Maak je dakgoot winterklaar

Voordat de vorst invalt, is een extra controle aan te raden. Blokkades kunnen in de winter leiden tot ijsvorming en schade aan de goot.

❄️ IJsdammen

Een ijsdam ontstaat wanneer smeltwater van sneeuw of ijs op het dak niet goed kan wegstromen door een verstopte dakgoot. Het water bevriest vervolgens aan de randen van het dak, waardoor er een opeenhoping van ijs ontstaat. Dit kan leiden tot ernstige problemen, zoals lekkages, omdat het smeltwater zich onder de dakbedekking kan ophopen en in je huis kan sijpelen. IJsdammen kunnen ook extra gewicht op de dakgoten en het dak veroorzaken, wat schade kan aanrichten.

©Tomasz Zajda


Veilig werken op hoogte

Zorg altijd voor een stevige, stabiele ladder op een vlakke ondergrond. Draag schoenen met grip en overweeg een veiligheidsharnas bij hogere daken. Is de ladder nat, wacht dan tot deze droog is. Laat bij voorkeur iemand in de buurt blijven terwijl je werkt.


Slimme tips voor een blijvend schone goot

Bladvangers helpen, maar houden niet alles tegen. Klein vuil kan alsnog ophopen en zelfs mosgroei veroorzaken. Bevestig tijdens het schoonmaken je emmer of vuilniszak aan de ladder, zodat je beide handen vrij hebt. Laat je het vuil liever op de grond vallen, dan moet je later nog opruimen – extra werk dus.

Een hogedrukreiniger kan handig zijn, maar gebruik een lage stand om schade te voorkomen. Een gewone tuinslang met een goede sproeikop werkt vaak net zo goed.


▼ Volgende artikel
Bouw je eigen dashboard met Homepage: al je webapplicaties overzichtelijk op één plek
Huis

Bouw je eigen dashboard met Homepage: al je webapplicaties overzichtelijk op één plek

Heb je meer dan een handvol webapplicaties op een Linux-server draaien? Dan is een dashboard met links naar deze applicaties een uitkomst. Het project Homepage biedt precies dat, inclusief widgets die allerlei statistieken van je services weergeven. In dit artikel installeren we Homepage en laten we je zien hoe je het integreert met je bestaande services.

Dit gaan we doen

In deze masterclass richten we een persoonlijk dashboard in met Homepage. Je leert hoe je de tool installeert in Docker, services groepeert en uitbreidt met widgets voor statistieken zoals cpu- en geheugengebruik, uptime of weersinformatie. We laten zien hoe je containers automatisch herkent, monitoring toevoegt en ook bladwijzers of alternatieve dashboards gebruikt. Zo krijg je één centrale plek waar je al je webapplicaties en services snel terugvindt en beheert.

Lees ook: Windows gebruiken naast of binnen Linux? Zo krijg je het soepel aan de praat met Docker


⬇️ Code downloaden

In dit artikel staat voorbeelden met YAML-code. Omdat YAML erg gevoelig is voor foute spaties en inspringingen, kun je die code beter downloaden en daarna bekijken of kopiëren. Zie het bestand homecode.txt, beschikbaar via deze link.


Homepage helpt je om diverse webapplicaties in één dashboard te organiseren. Dit is handig als je services in Docker-containers draait of eenvoudig toegang wilt tot de beheerpagina’s van apparaten zoals je modem, router en NAS.

Hoewel dit klinkt als een veredelde bookmark-manager, doet Homepage meer dan alleen links op een pagina verzamelen. Het project ondersteunt widgets voor meer dan honderd services en kan zo bijvoorbeeld het cpu- en geheugenverbruik van je hypervisor of het aantal ongelezen artikels in je RSS-lezer tonen. Je hoeft daardoor vaak zelfs niet op de links te klikken om even snel de status van je services te bekijken.

Docker Compose

We gaan ervan uit dat je een Linux-server hebt waarop je services met behulp van Docker Compose in Docker-containers draait. Homepage draai je dan gewoon in een Docker-container naast je bestaande services, al zijn er ook andere installatie-opties. In ons voorbeeld draaien we Docker op Debian 12. Maak om te beginnen een map waarin de container van Homepage zijn data en configuratie kan opslaan, met deze opdracht:

$ mkdir -p containers/homepage

Zet vervolgens in je bestand docker-compose.yml (het bestand waarin je al je containers definieert) een service voor Homepage:

services:

  homepage:

    image: ghcr.io/gethomepage/homepage:latest

    container_name: homepage

    ports:

      - 3000:3000

    volumes:

      - /home/koan/containers/homepage:/app/config

    environment:

      HOMEPAGE_ALLOWED_HOSTS: debian.home:3000

    restart: unless-stopped

Homepage kun je op diverse manieren installeren.

Homepage opstarten

Wijzig in het gedefinieerde volume de directory vóór de dubbele punt naar het volledige pad van de directory die je voor de container hebt aangemaakt. Stel de waarde van de omgevingsvariabele HOMEPAGE_ALLOWED_HOSTS gelijk aan het domein of het ip-adres van de host, gescheiden door een dubbele punt van het poortnummer. Als je met een reverse proxy werkt, zet je hier het domein waarop de applicatie via die proxy bereikbaar is.

Start de container met:

$ docker-compose up -d

Zodra het image gedownload is en de container draait, open je Homepage in je browser op de url die je in HOMEPAGE_ALLOWED_HOSTS hebt gedefinieerd. Je ziet dan een voorbeeldpagina met van boven naar onder een header, groepen met services en groepen met bladwijzers.

Het standaarddashboard van Homepage vlak na de installatie.

Informatiewidgets

In de header vind je enkele informatiewidgets. Hoewel deze niet de kern van de functionaliteit van Homepage uitmaken, bieden ze nuttige aanvullende informatie. Standaard zie je het cpu-verbruik, het beschikbare geheugen en de vrije schijfruimte van de host. Er is ook een tekstveld om te zoeken via DuckDuckGo. De definitie van deze twee widgets vind je in het bestand widgets.yaml in de directory van de Homepage-container.

In de online documentatie van de informatiewidgets lees je hoe je hun gedrag aanpast. Zo kunnen we de widget Resources ook de uptime van het systeem laten tonen (uptime: true) en met de optie expanded: true meer informatie over de cpu, het geheugen en de schijfruimte laten weergeven. De widget ziet er dan als volgt uit in widgets.yaml:

- resources:

    label: System

    expanded: true

    cpu: true

    memory: true

    uptime: true

    disk: /

Weersomstandigheden

Homepage biedt twee widgets om het weer in de header te tonen: één via Open-Meteo en één via OpenWeatherMap. De eerste vereist geen registratie, dus daarvoor hoef je alleen maar de gps-coördinaten van je locatie in te voeren. In widgets.yaml ziet dat er als volgt uit:

- openmeteo:

    label: Attenrode

    latitude: 50.8773405

    longitude: 4.9213237

    timezone: Europe/Brussels

    units: metric

    cache: 5

    format:

      maximumFractionDigits: 1

Met cache: 5 laten we de widget de weergegevens vijf minuten lang cachen om de servers van Open-Meteo te ontlasten. Verder biedt Homepage nog andere informatiewidgets aan, bijvoorbeeld voor beurskoersen of de datum en tijd.

In de header van Homepage plaats je allerlei informatiewidgets.

Services toevoegen

De kernfunctionaliteit van Homepage ligt uiteraard in het groeperen van services in één dashboard. De standaardconfiguratie voegt drie groepen toe met elk één service. De YAML-code hiervoor vind je in het bestand services.yaml. Vervang die door je eigen groepen. Je kunt bijvoorbeeld een groep Network aanmaken met links naar de beheerinterfaces van je modem/router en accesspoints:

- Network:

  - Proximus:

      href: http://192.168.1.1

      description: Modem

      icon: mdi-web

  - OpenWrt:

      href: http://gl-mt3000.home

      description: Accesspoint

      icon: openwrt

De eigenschap icon kan een absolute url zijn of een naam uit de lijst op de website Dashboard Icons. Begin de naam van een pictogram met mdi- voor een keuze uit Material Design Icons , met si- voor een keuze uit Simple, of met sh- voor een keuze uit Self-Hosted Dashboard Icons.

Ook groepen kunnen een pictogram krijgen. Dat definieer je dan in het bestand settings.yaml:

layout:

  Network:

    icon: mdi-lan-connect

  Infrastructure:

    icon: mdi-server-network

  Services:

    icon: mdi-apps

Services en groepen kun je pictogrammen geven, bijvoorbeeld van de website Self-Hosted Dashboard Icons.

Servicewidgets

Tot nu toe lijkt ons dashboard wat op een veredeld lijstje met bladwijzers. Maar Homepage ondersteunt ook servicewidgets voor meer dan honderd services. Controleer in de lijst of je services ondersteund zijn. Draai je bijvoorbeeld OPNsense op je router, dan krijg je met de volgende widget de processorbelasting, het gebruikte geheugen, en de upload- en downloadhoeveelheden van je WAN-interface te zien:

- OPNsense:

      href: https://opnsense.home

      description: Router

      icon: opnsense

      widget:

        type: opnsense

        url: https://opnsense.home

        username: KEY

        password: SECRET

Voor username en password vul je de API-sleutel en het ‘secret’ in die je in de webinterface van OPNsense aanmaakt via System / Access / Users. De documentatie van Homepage voor de OPNsense-widget legt dit gedetailleerd uit. Wil je slechts een deel van de statistieken zien, dan kan dat door de widget uit te breiden met een regel als:

fields: ["wanDownload", "wanUpload"]

Homepage ondersteunt widgets voor meer dan honderd services.

Meerdere widgets

Je kunt een service ook van meerdere widgets voorzien. Dat is bijvoorbeeld handig bij monitoringtools zoals Uptime Kuma. Voeg aan de OPNsense-service dan de OPNsense-widget toe voor servicespecifieke statistieken en de widget van Uptime Kuma voor beschikbaarheidsstatistieken. In plaats van één object widget bevat de service dan een object widgets met een lijst die beide widgets bevat:

  - OPNsense:

      href: https://opnsense.home

      description: Router

      icon: opnsense

      widgets:

        - type: opnsense

          url: https://opnsense.home

          username: KEY

          password: SECRET

        - type: uptimekuma

          url: https://uptime-kuma.rubus.home

          slug: router

          fields: ["uptime", "incident"]

De widget van Uptime Kuma gebruikt data van een statuspagina. Die moet je dus eerst in Uptime Kuma aanmaken, en de naam van de statuspagina vul je bij slug in de widget in. Als de statuspagina bijvoorbeeld toegankelijk is via https://uptime-kuma.rubus.home/status/router, dan is de slug router.

Homepage kan een statuspagina van Uptime Kuma in een service integreren.

Beschikbaarheid monitoren

Ook zonder speciale monitoringtools kun je met Homepage eenvoudig te zien krijgen of al je services momenteel online zijn. Dat kan met de eigenschap ping of siteMonitor in de service. Voeg bijvoorbeeld aan de service voor OPNsense ping: opnsense.home toe. Homepage stuurt dan regelmatig een ICMP-echopakket (ping) naar de host en toont de beschikbaarheid in de rechterbovenhoek van het kader van de service.

Met siteMonitor: https://opnsense.home daarentegen voert Homepage een HTTP HEAD-verzoek uit naar de url om te controleren of de webpagina beschikbaar is. Zo weet je niet alleen dat de host online is, maar ook dat de webserver tenminste draait en de pagina aanbiedt. Let op dat je hier de volledige url met https:// of http:// dient te gebruiken. De stijl van de getoonde status kun je overigens in settings.yaml aanpassen met bijvoorbeeld statusStyle: dot of statusStyle: basic.

Enkele services met pictogrammen, widgets en statusinformatie.

Docker-containers integreren

Als je services in Docker-containers draait, kan Homepage via de API van de Docker-engine statistieken over die containers opvragen en zelfs automatisch services herkennen. Configureer hiervoor een Docker-instance voor Homepage in docker.yaml. Als je Homepage met de Docker-socket laat verbinden, kan dat met de volgende configuratie:

local-docker:

  socket: /var/run/docker.sock

In je Docker Compose-bestand moet je deze socket als volume in de Homepage-container aankoppelen:

    volumes:

      - /home/koan/containers/homepage:/app/config

      - /var/run/docker.sock:/var/run/docker.sock

Docker Socket Proxy

Een veiliger alternatief om Homepage toegang tot Docker te geven, is via Docker Socket Proxy. Je laat die laatste dan rechtstreeks met de Docker-socket verbinden en de andere containers via een HTTP API beperkte bevoegdheden geven. Voeg daarvoor in je Docker Compose-bestand de volgende service voor Docker Socket Proxy toe:

  docker-socket-proxy:

    image: ghcr.io/tecnativa/docker-socket-proxy:0.3.0

    container_name: docker-socket-proxy

    volumes:

      - /var/run/docker.sock:/var/run/docker.sock:ro

    environment:

      CONTAINERS: 1

    restart: unless-stopped

Standaard geeft Docker Socket Proxy sterk ingeperkte API-toegang tot de Docker-engine, en sowieso alleen-lezen. Met de omgevingsvariabele CONTAINERS: 1 geven we toegang tot informatie over containers, precies wat Homepage nodig heeft.

Wijzig nu in het bestand docker.yaml de definitie van local-docker naar:

local-docker:

  host: docker-socket-proxy

  port: 2375

Omdat de container van Docker Socket Proxy zich in hetzelfde netwerk als Homepage bevindt, is die onder de naam docker-socket-proxy bereikbaar, wat we hier als host invullen.

Maak dan de containers opnieuw aan met de opdrachten:

docker-compose down

docker-compose up -d

Containers monitoren

Containers die in hetzelfde Docker Compose-bestand als Homepage zijn gedefinieerd, kun je nu door die laatste laten monitoren. Je moet dan bij de service in services.yaml de Docker-server en de naam van de container opgeven, bijvoorbeeld:

- Services:

  - FreshRSS:

      href: http://debian.home:8081

      description: Feed aggregator

      icon: freshrss

      server: local-docker

      container: freshrss

De waarde van server is hier de naam van de Docker-instance in docker.yaml, namelijk local-docker. De waarde van container is hier de naam van de container, gedefinieerd in container_name in het Docker Compose-bestand.

Na het herladen van de webpagina van Homepage krijgt de FreshRSS-service de status RUNNING in de rechterbovenhoek of EXITED wanneer de container gestopt is. Klik op de status voor gedetailleerdere statistieken zoals de processorbelasting, het geheugengebruik en netwerkverkeer.

Services automatisch detecteren

Elke keer dat je nu een service toevoegt, moet je de container aan je Docker Compose-bestand toevoegen en een definitie van de service aan het bestand services.yaml van Homepage. Maar Homepage ondersteunt ook het automatisch detecteren van services voor containers met behulp van labels. Met deze aanpak hoef je services.yaml niet meer bij te werken en hoef je slechts één bestand te veranderen. Voor FreshRSS kan dat bijvoorbeeld als volgt:

  freshrss:

    image: docker.io/freshrss/freshrss:1.26.1-alpine

    container_name: freshrss

    ports:

      - 8081:80

    volumes:

      - /home/koan/containers/freshrss/data:/var/www/FreshRSS/data

      - /home/koan/containers/freshrss/extensions:/var/www/FreshRSS/extensions

    environment:

      CRON_MIN: "1,31"

      TZ: Europe/Brussels

    restart: unless-stopped

    labels:

      - homepage.group=Services

      - homepage.name=FreshRSS

      - homepage.href=http://debian.home:8081

      - homepage.description=Feed aggregator

      - homepage.icon=freshrss

In de labels van deze container geef je dus aan dat je in de groep Services een service met de naam FreshRSS toevoegen, met de gegeven link, beschrijving en pictogram. De opties server en container uit de vorige paragraaf zijn met deze aanpak overbodig, omdat Homepage deze automatisch via de API van de geconfigureerde Docker-instance verkrijgt. Na opnieuw het uitvoeren de volgende twee commando’s ontdekt Homepage automatisch de service en voegt deze aan de juiste groep toe:

docker-compose down

docker-compose up -d

Widgets

Op dezelfde manier kun je widgets toevoegen via labels. In het voorbeeld uit de vorige stap voeg je dan de volgende labels toe:

      - homepage.widget.type=freshrss

      - homepage.widget.url=http://freshrss

      - homepage.widget.username=USER

      - homepage.widget.password=PASSWORD

Wil je meerdere widgets aan een container toevoegen, geef dan elk widget een index:

      - homepage.widgets[0].type=freshrss

      - homepage.widgets[0].url=http://freshrss

      - homepage.widgets[0].username=USER

      - homepage.widgets[0].password=PASSWORD

      - homepage.widgets[1].type=uptimekuma

      - homepage.widgets[1].url=https://uptime-kuma.rubus.home

      - homepage.widgets[1].slug=freshrss

Wanneer je nu de container van FreshRSS opnieuw aanmaakt en opstart, detecteert Homepage de widgets en toont ze bij de service.

Alternatieven voor Homepage

Hoewel Homepage een krachtige tool is, zijn er talrijke alternatieven om een dashboard voor al je services te maken, elk met hun eigen benadering. Houd je niet van YAML-configuraties, dan biedt Homarr een gebruiksvriendelijk alternatief om met slepen en neerzetten allerlei services toe te voegen.

Ook populair is Heimdall. Het is minder naar eigen smaak aan te passen dan Homepage of Homarr, maar daardoor eenvoudig om mee aan de slag te gaan.

Bevalt de aanpak met YAML-bestanden je wel, maar ligt Homepage je niet helemaal, kijk dan eens naar Dashy.

Bookmarks

Tot slot kan Homepage ook gewone bladwijzers aan je dashboard toevoegen. Je kunt ze net op dezelfde manier als services groeperen, maar het zijn slechts links zonder extra functionaliteiten zoals widgets en monitoring. Bladwijzers definieer je in het bestand bookmarks.yaml van Homepage, dat er standaard als volgt uitziet:

- Developer:

  - GitHub:

    - abbr: GH

      href: https://github.com

- Social:

  - Reddit:

    - abbr: RE

      href: https://reddit.com

- Entertainment:

  - YouTube:

    - abbr: YT

      href: https://youtube.com

Vervang deze groepen met bladwijzers door jouw eigen keuzes. Dit is bijvoorbeeld handig om alle links naar portaalsites of accounts bij belangrijke diensten op één pagina te verzamelen. Homepage toont dan per groep een lijst met bladwijzers met hun afkorting (de waarde van abbr), naam en het domein van de link.

Wil je in plaats van een afkorting een pictogram bij een bladwijzer tonen, gebruik dan icon in plaats van abbr en geef daar net zoals bij services de naam van een pictogram op. En vul description bij een bladwijzer in om een beschrijving in de plaats van het domein te zien. Ook de groepen van bladwijzers kun je een pictogram geven. Net zoals voor de groepen van services definieer je die pictogrammen in settings.yaml.

Een volledig dashboard van Homepage met header, services en bladwijzers.

En verder

Homepage biedt nog veel meer mogelijkheden dan we hier kunnen behandelen. Vooral in het bestand settings.yaml zijn er nog allerlei aanpassingen mogelijk. Zo kun je een achtergrondafbeelding instellen en daarop allerlei filters toepassen. Ook het thema en het kleurenpalet, die je beide via pictogrammen onderaan de pagina kunt aanpassen, zijn vast in te stellen.

Ook de lay-out van het dashboard is configureerbaar. Zo neemt standaard elke groep een kolom in, waarbij de services onder elkaar komen te staan. Maar met style: row bij een groep laat je de services in die groep naast elkaar in een rij weergeven. Ook het aantal kolommen, de stijl van de header en nog meer zijn in te stellen.

Homepage is tot in de kleinste details aan te passen.

Speciaal voor de jongste Linux-fans

(dit vinden ze zeker leuk!)