ID.nl logo
Ready, set, go! In 9 stappen vloeiender gamen
© Drobot Dean - stock.adobe.com
Huis

Ready, set, go! In 9 stappen vloeiender gamen

Je game-ervaring hangt sterk af van hoe goed je hardware aansluit bij de vaak hoge eisen van moderne games. Maar zelfs met minder krachtige hardware kun je met de juiste instellingen vaak soepel gamen zonder storende elementen.

In dit artikel laten we zien hoe je een Windows-pc optimaal instelt voor gaming, zonder meteen dure hardware te hoeven kopen:

  • Begin met een benchmark en monitoring van je pc-prestaties
  • Optimaliseer je grafische instellingen in het NVIDIA- of AMD-configuratiescherm
  • Overklok je gpu
  • Zet de Gamemodus aan en stel het energiebeheerschema in op topprestaties
  • Verplaats het pagefile-bestand naar een ssd en schakel eventueel HAGS in
  • Zorg voor een stabiele netwerkverbinding, update je netwerkdrivers en optimaliseer je router

Lees ook: Waar kun je het best pc-games kopen? Een overzicht

In het kader ‘Game-pc’ vind je specifieke tips voor het aanschaffen van hardwarecomponenten die ideaal zijn voor een krachtige game-pc. Dit lijkt ons nuttig, maar het is natuurlijk minder relevant als je niet bereid bent (flink) te investeren in nieuwe onderdelen. Met dit artikel richten we ons daarom hoofdzakelijk op de lezer die met een beperkt budget zijn bestaande systeem wil behouden en optimaliseren.

Je kunt namelijk op veel vlakken verbeteringen aanbrengen, vooral bij hardware (zoals cpu, gpu, monitor en opslagmedium), netwerk, besturingssysteem, drivers, processen en applicaties.

Voor je begint met optimaliseren, is het belangrijk inzicht te krijgen in de belangrijkste factoren voor ‘glitchvrij’ gamen, zodat je weet waar je aandacht aan moet besteden.

Game-pc

Overweeg je een nieuwe game-pc en wil je hierin investeren, dan zijn er diverse hardware-opties beschikbaar. Een uitstekende cpu is bijvoorbeeld de AMD Ryzen 7 9800X3D met 3D V-Cache-technologie. Een goed alternatief is de Intel Core i9-14700K. Voor de gpu biedt minimaal de Nvidia GeForce RTX 4070 Super een goed speelbare ervaring bij 1440p. Een alternatief is de AMD Radeon RX 7800 XT.

Voor het intern geheugen kies je bij voorkeur voor 32 GB DDR5-geheugen van minimaal 6000 MT/s. Als opslagmedium is een snelle NVMe-ssd aan te raden. Controleer dat je moederbord PCIe 5.0 ondersteunt en compatibel is met de nieuwste componenten. Kies een betrouwbare voeding met voldoende vermogen, zoals een 850 watt 80 Plus Gold-voeding, en zorg voor adequate koeling, bijvoorbeeld een AIO-waterkoelsysteem met een radiator van minimaal 240 mm. Gebruik een ruime behuizing met goede luchtstroom.

Een hoogwaardige monitor is ook essentieel. Overweeg een 27inch-model met een QHD-resolutie, een hoge verversingssnelheid (minimaal zo’n 144 Hz), lage reactietijd (zoals 1 ms) en eventueel een oledpaneel, zoals de Samsung Odyssey OLED G8.

In plaats van zelf je game-pc samen te stellen, kun je natuurlijk ook een kant-en-klaar model aanschaffen, zoals deze Acer Predator Orion 3000.

1 Factoren

Een van de belangrijkste factoren is een hoge framerate, doorgaans uitgedrukt in fps (frames per seconde). Dit is de snelheid waarmee de beelden worden getoond en hangt sterk af van je gpu en cpu. Bij eenvoudige games volstaat 30 fps vaak, maar grafisch intensieve games spelen merkbaar beter bij 60 fps. Voor intens competitief gamen is zelfs 144 of meer fps raadzaam. Het is belangrijk dat de fps daarbij stabiel blijft, aangezien schommelingen haperingen in het beeld kunnen veroorzaken.

Ook invoervertraging (input latency) is van belang, zeker bij competitieve games. Een lage vertraging tussen je acties, zoals muisklikken of toetsindrukken, en wat je ziet op het scherm is essentieel. Deze vertraging wordt beïnvloed door de gpu, cpu, monitor en bij online gamen ook door je internetverbinding. Ook netwerkvertraging (lag) wil je in dit geval zeker vermijden.

Daarnaast wil je het zogeheten ‘tearing’ voorkomen, waarbij het beeld lijkt te breken of te verschuiven. Dit probleem ontstaat door een gebrekkige synchronisatie tussen je gpu en monitor, doordat de gpu te weinig of net te veel frames levert.

In dit artikel geven we concrete tips en technieken om precies zulke storende factoren als te lage of inconsistente fps, te hoge invoer- of netwerkvertraging en tearing te vermijden.

Bij tearing lijkt het beeld op te breken in meerdere delen, dat wil je natuurlijk voorkomen.

2 Benchmarking

Voor je met optimalisatietechnieken start, is het verstandig eerst te meten hoe goed je huidige configuratie presteert. Na upgrades of optimalisaties kun je dezelfde meting herhalen voor een duidelijke vergelijking.

Zo’n meting voer je uit met een benchmark. Een van de bekendste is 3DMark. Deze tool bevat verschillende tests om prestaties van je gpu, cpu en je systeem als geheel in een game-context te meten. Je kunt bijvoorbeeld Time Spy gebruiken om DirectX 12-prestaties van games te analyseren. Fire Strike focust op DirectX 11 (voor mid-range-systemen), terwijl Port Royal geschikt is voor raytracing-prestaties. Voor meer technische uitleg van deze benchmarks kun je de online gebruikersgids raadplegen.

Andere benchmarks zijn ook beschikbaar. Cinebench bijvoorbeeld meet via hoge kwaliteit 3D-afbeeldingen de prestaties van je cpu, inclusief afzonderlijke kernen. Voor grafische benchmarking en stresstests van je gpu kun je bijvoorbeeld Unigines Heaven of Superposition gebruiken.

Time Spy van 3DMark meet de prestaties van de Microsoft API DX12.

3 Monitoring

Tijdens het gamen is het nuttig om de prestaties van verschillende onderdelen te meten. Een handig hulpmiddel hiervoor is RivaTuner Statistics Server (RTSS), dat bijvoorbeeld geïntegreerd is in MSI Afterburner. Deze tool is ideaal voor veilig en eenvoudig gpu-overklokken zonder veel technische kennis (zie paragraaf 5).

Installeer MSI Afterburner samen met de RivaTuner-software en start het programma. Klik op het tandwielpictogram en controleer of de juiste gpu is geselecteerd. Ga naar het tabblad Toezicht en vink de onderdelen aan die je wilt monitoren, zoals GPU temperatuur, GPU gebruik, GPU core klok, GPU ventilator snelheid, GPU temp/power/voltage limit, CPUtemperatuur/gebruik/klok (genummerde cpu-kernen hoef je niet te selecteren), CPUpower, Beeldverversings snelheid en Frame tijd. Zet bij elk item ook een vinkje bij Toon informatie op het scherm (OSD) en bevestig je keuzes.

Open vervolgens het instellingenvenster van RTSS via het pictogram in het Windows-systeemvak. Controleer of Show On-Screen Display is ingeschakeld en kies bij voorkeur Raster 3D als weergave. Optimaliseer en positioneer deze naar wens. Deze OSD werkt doorgaans goed in DirectX- en OpenGL-games. Overigens bevat Steam een fps-teller die je met behulp van Alt+Tab op je scherm kunt zetten.

RivaTuner Server Statistics is hier gekoppeld aan de monitoringtool MSI Afterburner.

4 Hardware

Meten is weten, en die fase hebben we afgerond. Nu richten we ons volledig op diverse optimalisaties, opgesplitst in verschillende (en deels overlappende) categorieën. We beginnen met de hardware, met de gpu in de hoofdrol.

Houd je gpu-drivers regelmatig, bijvoorbeeld maandelijks, up-to-date. Gebruik hiervoor bij voorkeur de software van de fabrikant, zoals GeForce Experience of de Nvidia-app, of AMD Adrenalin Edition. Via het configuratiescherm van deze tools krijg je vaak extra opties voor betere gameprestaties, met invloed op zowel fps als beeldkwaliteit.

We nemen Nvidia als voorbeeld. Open NVIDIA Control Panel en ga naar 3D-instellingenbeheren. Overweeg bij Algemene instellingen de volgende instellingen voor het basisprofiel: Energiebeheermodus op Optimaal vermogen; Textuurfilteren – Kwaliteit op Prestatie; Thread Optimalisering op Aan; Grootte shadercache op Onbeperkt; en Weinigvertraging-modus op Aan of Ultra. Bevestig met Toepassen. Klik op Beginwaarden om terug te keren naar de standaardinstellingen.

Je kunt hier ook Verticale synchronisatie op Uit zetten, maar in principe horen de gpu-frames afgestemd te zijn op de verversingsfrequentie (refresh rate) van je monitor. Heb je last van tearing, zet deze instelling dan op Aan of kies een van de andere opties.

Controleer ook even de instellingen van je muis of controller via Instellingen / Bluetoothenapparaten. Kies hier Muis / Aanvullende muisinstellingen. Voor preciezere en consistentere muisaansturing kun je op het tabblad Opties voor de aanwijzer de optie Precisie van de aanwijzer verbeteren uitschakelen, waarmee je aanwijzerversnelling uitzet, wat de cursorbeweging voorspelbaarder maakt.

Vanuit het configuratiescherm kun je allerlei instellingen van je gpu aanpassen.

5 Hardware overklokken

Gevorderde gebruikers kunnen ook overwegen hun gpu te overklokken. Ga eerst na of er in het UEFI/BIOS van je systeem hiervoor geen zogeheten XMP’s (eXtreme Memory Profile) beschikbaar zijn gesteld door de geheugenfabrikant. Je herkent deze aan opties zoals XMP, Memory Profile of DOCP. Kies het gewenste profiel waarbij je geheugen op een hogere snelheid kan werken.

Bij de meeste games kun je voordeel halen uit een overgeklokte gpu. Hiervoor is MSI Afterburner zeer geschikt, omdat je hiermee veilig kunt werken. Je combineert dit bij voorkeur met MSI Kombustor (klik na installatie op het K-pictogram in MSI Afterburner), een stresstest-tool die de stabiliteit van jouw gpu na overklokken controleert via zware grafische workloads.

Begin met het verhogen van de Core Clock (MHz) - niet de Core-voltage - in stappen van ongeveer 20. Boven de 50 verhoog je bij voorkeur in stappen van 10. Bevestig telkens met Toepassen (ronde knop met vinkje). Lukt dit niet, zet dan (indien mogelijk) de schuifknoppen bij Power Limit (%) en Temp Limit (°C) tijdelijk op het maximum, en stel via de A-knop de Fan Speed (%) in op 75%. Bevestig je instellingen met Toepassen.

Laat tijdens de aanpassingen de stresstest in Kombustor draaien en houd de resultaten in de gaten, zoals de gpu-temperatuur (je kunt hier ook de OSD van RTSS oproepen). Als deze te hoog wordt of de stresstest crasht, verlaag de waarde dan met ongeveer tien procent.

Verhoog daarna de Memory Clock in stappen van maximaal 10. Blijf ook hier tien procent onder de waarde waarbij de stresstest onstabiel wordt. Klik vervolgens op Opslaan (diskette-pictogram) en selecteer profielknop 1. Tot slot klik je rechtsboven op de Windows-knop, zodat je systeem voortaan met deze profielwaarden opstart.

Overklokken met MSI Afterburner, met Kombustor als ‘waakhond’ (je ziet hier ook de RTSS-overlay).

6 Systeeminstellingen

Op het niveau van je besturingssysteem kun je enkele instellingen optimaliseren. We nemen Windows 11 als uitgangspunt. Ga naar Instellingen / Gaming. Open Gamemodus en schakel deze in. Hiermee verbeter je de prestaties tijdens het gamen door cpu- en gpu-bronnen prioriteit te geven (onder meer om framedrops te voorkomen), achtergrondprocessen te beperken en storende meldingen uit te schakelen.

Zorg er ook voor dat Windows-updates niet tijdens een gamesessie starten. Ga naar Instellingen / Windows Update, klik op Geavanceerde Updates en stel bij Gebruikstijdeninstellen de gewenste uren in via Handmatig.

Met de ingebouwde module Energiebeheer kun je het voorkeurschema instellen op Hogeprestaties. Voor snellere pc’s kun je zelfs de optie Topprestaties activeren door op de Opdrachtprompt dit commando uit te voeren:

powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61

Met powercfg /list controleer je of het schema is toegevoegd. Verwijder een schema met powercfg /delete <ID>. Of maak in Energiebeheerje eigen schema met Een energiebeheerschema maken.

Je kunt ook grafische instellingen per app aanpassen. Ga naar Instellingen / Systeem / Beeldscherm / Graphics. Zoek de gewenste app, selecteer deze, klik op Opties en kies bijvoorbeeld Hoge prestaties. Bevestig met Opslaan.

Je kunt ook een extra energiebeheerschema voor topprestaties zichtbaar maken.

7 Extra instellingen

Je kunt een paar extra systeeminstellingen aanpassen om de gameprestaties verder te verbeteren. Controleer bijvoorbeeld de locatie van het bestand pagefile.sys, vooral bij beperkt intern geheugen. Windows verplaatst data van het RAM naar dit virtuele geheugenbestand om ruimte vrij te maken. Zorg dat dit bestand op een snelle ssd staat.

Controleer dit via Instellingen / Systeem, klik op Geavanceerde systeeminstellingen en druk op Instellingen op het tabblad Geavanceerd. Klik op Wijzigen. Staat je Windows-schijf niet op een snelle ssd, dan beperk je via Aangepastegrootte de ruimte op deze schijf en wijs je het grootste deel toe aan de snelste schijf. Of kies Grootte wordt door het systeem beheerd. Bevestig met Instellen en OK.

Daarnaast kun je HAGS (Hardware GPU Scheduling) activeren, waarmee de gpu grafische taken rechtstreeks afhandelt. Dit versnelt processen en verbetert grafische prestaties, met minder stutter en invoervertraging. Ga hiervoor naar Instellingen / Systeem, kies Beeldscherm / Graphics en klik op Standaardinstellingen voor afbeeldingen wijzigen. Als je gpu dit ondersteunt, kun je hier GPU met hardwareversnelling plannen inschakelen. Eventueel schakel je hier ook Optimalisaties voor games met vensters in, wat de prestaties van DirectX 10/11-games in venstermodus ten goede kan komen.

HAGS kan de grafische prestaties wat opkrikken als je gpu dit ondersteunt.

Op zoek naar de optimale game-ervaring? Met deze accessoires creëer je jouw ideale gameroom

8 Software

Bij online gamen is natuurlijk ook een optimale netwerkconnectie van groot belang. Idealiter gebruik je hiervoor een bekabelde verbinding of een draadloze router met 5GHz-wifi voor een lagere ping. Controleer je wifi-snelheid met een gratis tool zoals www.speedtest.net.

Voordat je andere software aanpast, is het verstandig eerst de tuningsmogelijkheden van je game-applicaties zelf te bekijken. Veel games, zoals Age of Empires III, bieden via schuifbalken, numerieke waarden of andere instellingen opties om framerate en andere prestaties te beïnvloeden. Denk bijvoorbeeld aan instellingen voor grafische detaillering, zoals texturen en schaduwen, anti-aliasing-technieken en tekenafstand (de mate waarin verder afgelegen objecten worden gerenderd).

Verder, om onnodig geheugenverbruik te beperken, kun je controleren welke apps automatisch opstarten met Windows. Schakel overtollige apps uit via Windows Taakbeheer (Ctrl+Shift+Esc) in de rubriek Opstart-apps.

In Taakbeheer kun je bij Processen en Services onnodige achtergrondprocessen en services tijdelijk uitschakelen via het contextmenu, vooropgesteld dat je goed weet wat je doet. Gevorderde gebruikers kunnen in de rubriek Details per applicatie via het contextmenu de opties Prioriteit (hoeveelheid toegewezen processortijd; kies bij voorkeur niet voor realtime) en eventueel Affiniteit (hoeveel en welke processorkernen worden gebruikt) aanpassen.

Overweeg ook het gebruik van gameboosters, die gameprestaties semiautomatisch optimaliseren. Een bekende gratis tool is Razer Cortex (extra tools niet installeren). Na aanmelding kun je via Game booster met Boost now meerdere optimalisaties uitvoeren, zoals Disable CPU Sleep Mode, ClearClipboard, Clean RAM en Disable Telemetry. Ook kunnen geselecteerde processen en services worden uitgeschakeld om geheugen vrij te maken. Met de optie Restore now herstel je de oorspronkelijke instellingen.

Een andere populaire tool is MSI Dragon Center, die zich vooral richt op MSI-hardwarecomponenten en vergelijkbare functionaliteit biedt.

Gamebooster Razer Cortex automatiseert het optimaliseren van systeeminstellingen en achtergrondprocessen.

9 Netwerk

Bij online gamen is natuurlijk ook een optimale netwerkconnectie van groot belang. Idealiter gebruik je hiervoor een bekabelde verbinding. Controleer in Apparaatbeheer (klik met rechts op de Windows-startknop) of de drivers van je netwerkadapter up-to-date zijn. Klik met rechts op een adapter en kies Stuurprogrammabijwerken.

Je kunt ook kiezen voor een draadloze 5GHz-wifi-router. Controleer je wifi-snelheid met een gratis tool zoals www.speedtest.net. Daarnaast kun je voor draadloze netwerken een speciale tool gebruiken om de signaalkwaliteit te analyseren, zoals Acrylic Wi-Fi Analyzer. Dit onderdeel van de Acrylic Suite biedt een live signaalgrafiek en laat je kanaaloverlappingen en andere netwerkproblemen analyseren. De volledige functionaliteit is vijf dagen gratis beschikbaar.

Veel routers bieden QoS-instellingen (Quality of Service) waarmee je dataverkeer voor specifieke applicaties, poorten of apparaten kunt prioriteren. Dit kan latency en jitter verminderen. Sommige routers hebben een gamemodus in de QoS-configuratie voor automatische optimalisatie van populaire games en consoles, geavanceerdere routers bieden SQM (Smart Queue Management).

Controleer met de module Broncontrole (druk op Windows-toets+R en voer resmon uit) welke applicaties veel bandbreedte gebruiken. Sorteer bijvoorbeeld op de kolom Totaal (bytes/seconde) en sluit overtollige software af. Om de puntjes op de i te zetten, kun je de prestaties van de gebruikte DNS-server testen met DNS Benchmark. Open het tabblad Nameservers, klik op Run Benchmark en zet een vinkje bij Sort Fastest Nameservers: de snelste DNS-servers vind je nu in principe bovenaan. Deze kun je gebruiken in de netwerkconfiguratie van Windows of in je router voor je hele netwerk.

Controleer de kwaliteit van je draadloze verbinding met Acrylic Wi-Fi Analyzer.

▼ 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!)