ID.nl logo
Alles automatisch! Zo laat je ook Windows voor jou werken
© Nuthawut - stock.adobe.com
Huis

Alles automatisch! Zo laat je ook Windows voor jou werken

Er zijn vast enkele taken die je herhaaldelijk zelf uitvoert op je pc. Dat is zonde van je tijd, zeker als je die taken ook kunt automatiseren. Windows zelf bevat hiervoor een paar tools, maar met enkele gratis hulpjes kun je nog meer tijd besparen.

We bespreken in dit artikel enkele tools waarmee je allerlei taken in Windows kunt automatiseren. Dat zijn:

  • Het in Windows ingebouwde Taakplanner
  • RoboIntern
  • TinyTask
  • Clavier+

Lees ook: Sneller werken met de computer: tips voor Windows en Curl

Tip 01: Automatisch starten

Je kunt Taakplanner inzetten om een applicatie automatisch met Windows te starten als deze zelf niet die mogelijkheid biedt, maar het kan ook eenvoudiger. Open Instellingen van Windows en kies Apps / Opstarten. Schakel eenvoudigweg het schuifje bij de gewenste toepassingen in.

Staat je applicatie niet in deze lijst, druk dan op Windows-toets+R, voer shell:startup uit (als je dit alleen voor je eigen account wilt) of shell:common startup (als dit voor alle gebruikers moet gelden). Sleep nu de snelkoppeling van je toepassing naar het geopende Verkenner-venster.

Apps in deze map worden automatisch opgestart voor alle gebruikers.

Tip 02: Basistaak

Je wilt misschien niet dat specifieke apps of scripts altijd samen met Windows worden uitgevoerd, maar alleen onder bepaalde omstandigheden. Met de ingebouwde Taakplanner kan dit. Hieronder laten we kort zien hoe je hiermee aan de slag kunt gaan om je pc automatisch op een bepaald tijdstip te laten afsluiten, maar we gaan al snel over naar meer geavanceerde taken.

Open Taakplanner via het Windows-startmenu en klik in het rechterdeelvenster op Basistaak maken. Vul een naam en beschrijving in en klik op Volgende. Bij Trigger kies je (bijvoorbeeld) Dagelijks en in het volgende venster geef je het tijdstip op, bijvoorbeeld 20:00:00 uur. Druk nogmaals op Volgende en kies Een programma starten – dit is trouwens de enige nog werkende optie. Klik op Volgende en verwijs via de knop Starten naar de applicatie die je wilt laten uitvoeren. In ons voorbeeld wordt dit C:\Windows\System32\shutdown.exe. Bij Parameters toevoegen kun je hier bijvoorbeeld invullen: -s -t 30 -c "Dit systeem sluit zo meteen af!". Met -s geven we aan dat we de pc volledig willen afsluiten (-h zet je pc in sluimerstand), -t 30 zorgt voor dertig seconden vertraging en de commentaartekst achter -c zal als melding verschijnen. Bevestig met Volgende en rond af met Voltooien.

De taak wordt toegevoegd, maar via een dubbelklik kun je deze altijd nog bewerken. Op het tabblad Algemeen kun je deze bijvoorbeeld de optie Uitvoeren ongeacht of gebruiker wel of niet is aangemeld selecteren. In het rechterdeelvenster kun je een geselecteerde taak (tijdelijk) Uitschakelen of (definitief) Verwijderen.

Een handige wizard helpt je bij het samenstellen van een basistaak.

Tip 03: Systeemgebeurtenis

In de vorige tip hebben we een voorbeeld gegeven van een taak die automatisch op vaste tijdstippen wordt uitgevoerd, maar op het tabblad Trigger zijn er nog andere opties, zoals Als de computer wordt opgestart, Als ik mij aanmeld en Als een specifieke gebeurtenis wordt geregistreerd. Deze laatste vergt enige toelichting.

Windows houdt namelijk gedetailleerd bij wat er op je systeem gebeurt via logboeken. Je opent deze door op Windows-toets+R te drukken en eventvwr.msc uit te voeren. We kunnen hier niet diep ingaan op deze tool, maar als je in het linkerdeelvenster Windows-logboeken opent, zie je al meteen enkele interessante logboeken, waarvan de belangrijkste het Systeem-logboek is. Wanneer je deze opent, zie je in het middelste venster een chronologische lijst van systeemgebeurtenissen. Klik op de kolomtitel Niveau om mogelijke problemen te identificeren, zoals waarschuwingen en fouten.

Stel dat je automatisch een melding wilt ontvangen wanneer zich een specifiek probleem opnieuw voordoet. Rechtsklik dan op dit item en kies Taak aan deze gebeurtenis koppelen. Taakplanner start nu op met het venster Een basistaak maken. Alles staat al correct ingevuld, zoals je merkt in het onderdeel Bij gebeurtenisregistratie. Het enige wat je nu nog hoeft te doen, is de gewenste actie te koppelen aan deze gebeurtenis.

Je kunt ook vanuit Windows Logboeken een taak inplannen.

Tip 04: Notificatie

Je bepaalt natuurlijk zelf wat er in dit geval moet gebeuren (zoals het opstarten van een toepassing, zie tip 2), maar wat als je gewoon een pop-upvenster met een melding wilt laten verschijnen? De optie Een bericht weergeven is helaas uitgeschakeld, maar er is een handig trucje.

Kies hier Een programma starten en klik op Volgende. Bij Programma/script vul je het interne commando msg in en bij Parameters toevoegen (optioneel) vul je * <melding> in, bijvoorbeeld * OPGELET: Systeemgebeurtenis ID 15016 !. Bevestig met Volgende en met Voltooien. Wanneer je vervolgens Taakplanner opent, zul je zien dat je taak is toegevoegd bij Task Scheduler-bibliotheek / Taken voor Logboeken. Net als bij andere taken kun je ook deze meteen even testen. Selecteer de taak en klik op Uitvoeren in het rechterdeelvenster.

Via een omweg kun je toch een pop-upmeldingsvenster laten verschijnen.

Taakoverzicht In Taakplanner van Windows kun je alle geplande taken terugvinden, maar soms moet je wel even zoeken in de verschillende rubrieken van de Task Scheduler-bibliotheek. Wil je een totaaloverzicht van alle ingeplande taken, dan kun je de gratis tool TaskSchedulerView gebruiken (je vindt hier ook een Nederlands taalbestand dat je naar dezelfde map uitpakt).

Klik vervolgens met rechts op het bestand TaskSchedulerView.exe en kies Als administrator uitvoeren. Even later krijg je een (standaard alfabetisch) overzicht van alle ingeplande taken. Schrik niet als dat er een paar honderd zijn. Via het menu Opties kun je wel snel filteren, bijvoorbeeld met Uitgeschakelde taken verbergen of Taken in Microsoft-mappen verbergen. Vanuit het contextmenu kun je geselecteerde taken snel in- of uitschakelen, uitvoeren of stopzetten.

Werk je vaak met ingeplande taken dan deze beheertool van pas komen.

Tip 05: Batchscript

Vanuit Taakplanner kun je ook eigen (batch)scripts laten uitvoeren. Zo’n script kan handig zijn om meerdere opdrachten na elkaar uit te voeren. Stel dat je met een muisklik alle tijdelijke of overbodige bestanden wilt verwijderen. Open Kladblok en voer de volgende regels in:

Bewaar dit bestand met de extensie bat of cmd (dus niet txt), bijvoorbeeld op je bureaublad. Met een dubbelklik voer je dit batchbestand uit, waarbij de eigenlijke opruimactie gebeurt door de del-commando’s. Je kunt deze bestandsextensies uiteraard naar wens aanpassen. De parameter /s zorgt ervoor dat bestanden in submappen ook worden meegenomen. Handig om weten: voor een lijst met beschikbare commando’s ga je naar de Opdrachtprompt en voer je help uit, gevolgd door help <commando> voor informatie over een specifiek commando.

Om dit script met de Taakplanner uit te voeren, voeg je het volledige pad naar dit bestand toe in het veld Programma/script, bijvoorbeeld: "C:\Users\<accountnaam>\Desktop\opschoon.bat"

Het zou handig zijn als je dit script kunt laten uitvoeren wanneer je je afmeldt bij Windows, maar helaas is deze trigger niet beschikbaar in Taakplanner. Gelukkig is er een slim trucje waarmee je dit toch kunt regelen. Het afmeldproces is namelijk een systeemgebeurtenis die wordt vastgelegd in het Windows-logboek Beveiliging met de naam Logoff. Zoals we hebben gezien in tip 3, kun je hier makkelijk een taak aan koppelen, bijvoorbeeld je batchbestand.

Je kunt net zo goed een (batch)script met meerdere commando’s inplannen.

Tip 06: RoboIntern

Met de juiste combinatie van scripts en triggers valt dus best veel uit de ingebouwde Taakplanner te halen, maar wie op zoek is naar een krachtiger alternatief zonder dat je zelf met scripts aan de slag moet, kan bij het gratis RoboIntern terecht. Het tabblad Features geeft een overzicht van alle mogelijkheden (merk wel op dat systeemgebeurtenissen als trigger hier helaas ontbreken).

We demonstreren hier hoe je bij een bepaalde gebeurtenis jezelf een e-mail kunt laten sturen. Download en pak het zip-bestand uit en start het programma op (een installatie is niet nodig). Er zijn al een aantal voorbeeldtaken opgenomen waar je heel wat uit kunt leren.

Selecteer een willekeurige taak en druk op het bijbehorende knopje Edit task. Je herkent ook hier de vertrouwde Taakplanner-logica, met de tabbladen Actions, Triggers en Options. Wanneer je op het tabblad Actions het Edit-knopje indrukt, merk je al snel de kracht van RoboIntern: we telden meer dan zestig mogelijke acties. Bekijk zeker ook de beschikbare opties op de andere twee tabbladen. Ongewenste taken laten zich op elk moment verwijderen met het vuilnisbakpictogram.

Je ziet meteen dat RoboIntern erg flexibel is.

Tip 07: E-mail ontvangen

Stel dat je graag een e-mail wilt ontvangen wanneer een specifiek bestand wordt aangepast, bijvoorbeeld in een gedeelde map. Druk hiervoor op de gele plusknop, zowel in het taakoverzicht als op het tabblad Actions. Bij Type selecteer je bijvoorbeeld Send email with plain text, eventuele bijlagen voeg je toe met de knop Attachments. Bij Email from selecteer je het gewenste e-mailaccount, bijvoorbeeld Default Outlook account of je klikt op Edit account / Email server en kiest een optie zoals Gmail, Hotmail of Custom. Zorg wel dat je hier de juiste instellingen invult. De overige velden, zoals Email recipients, Subject en Body spreken voor zich. Onderaan stel je Email action in op Send. Bewaar je instellingen met Add action.

Uiteraard moet je op het tabblad Triggers nog een voorwaarde instellen. Druk ook hier op de plusknop en kies bij Type bijvoorbeeld in de rubriek File status de optie File Modified. Bij File path vul je het pad in naar het bestand dat je wilt monitoren. Bevestig met Add trigger / Add task en druk op de knop Run task om de taak te testen.

Weet dat je probleemloos meerdere actions en/of triggers kunt definiëren. Op het tabblad Options bepaal je hoe deze acties moeten worden uitgevoerd (In parallel of Serially) en of aan alle triggers moet worden voldaan (Any true of All true). Wijzigingen leg je vast met de knop Update task.

Je laat bijvoorbeeld een e-mail versturen zodra een bestand werd aangepast.

Slimme scripts

In dit artikel focussen we ons op automatiseringstools waarvoor zo goed als geen kennis van enige scripttaal is vereist. Ben je bereid je in een scripttaal te verdiepen, dan verdient AutoHotkey je aandacht. Let op: de app kan wel vals-positieven opleveren bij antivirustools.

De installatie is nauwelijks meer dan een muisklik, maar voor je er iets zinnigs mee kunt doen, moet je eerst een script maken. Dit kan met Kladblok, maar een handiger editor is SciTE4AutoHotkey. Start deze op en kies File / New. Je kunt nu meteen de gewenste instructies invoeren. We geven een eenvoudig testscript als voorbeeld:

Bewaar het scriptbestand met de extensie hka. Sluit de editor af en dubbelklik op het bestand zodat het script geladen wordt en als een pictogram zichtbaar is in het systeemvak van Windows.

De syntax van het script is redelijk duidelijk. De eerste scriptregel zorgt ervoor dat Kladblok wordt opgestart wanneer je in Windows Alt+N indrukt. Wanneer je vervolgens in Kladblok Ctrl+H indrukt wordt automatisch Hallo, wereld! getypt en verder worden tikfouten als Mircosoft en Andorid automatisch gecorrigeerd. Wat eenvoudige instructies als voorbeeld, maar AutoHotkey biedt veel meer en krachtigere mogelijkheden.

Via deze webpagina vind je een (Engelstalige) beginnerscursus en er zijn ook veel instructievideo’s te vinden op YouTube.

Dit is slechts een zeer eenvoudig voorbeeld van wat je met AutoHotkey-scripts aankunt.

Tip 08: TinyTask

Een aantal krachtige programma’s, zoals Adobe Photoshop of de kantoorapplicaties van Microsoft Office, ondersteunen het gebruik van macro’s. Dit zijn reeksen instructies of commando’s die later met één enkele opdracht na elkaar kunnen worden uitgevoerd om repeterende taken te automatiseren. Het proces van het maken en uitvoeren van macro’s kan verschillen per applicatie. Met TinyTask kun je (een soort) macro’s opnemen die in principe overal in Windows werken, zonder dat je je zorgen hoeft te maken over de onderliggende code.

Ga naar TinyTask en download het exe-bestand. Je kunt het bestand direct uitvoeren, er is geen installatie vereist. Houd er rekening mee dat antivirussoftware dit bestand mogelijk onterecht als een ‘keylogger’ ziet, maar dit is niet ongebruikelijk bij macrorecorders.

Er verschijnt een zwevend venster met zes knoppen. Om een macro-opname te starten, druk je op de Rec-knop. Deze knop wordt rood om aan te geven dat de opname is gestart. Alles wat je nu op je computer doet, wordt automatisch vastgelegd. Dit geldt niet alleen voor toetsaanslagen, maar ook voor muisbewegingen en -klikken. Je kunt bijvoorbeeld een programma starten, naar een map navigeren, (rechts)klikken op een bestand of tekst typen. Druk op de rode knop (of op Ctrl+Shift+Alt+R) om de opname te stoppen.

Tip 09: Opties

Test je macro-opname met behulp van de groene afspeelknop in TinyTask. Houd er rekening mee dat TinyTask alleen de schermcoördinaten opslaat. Als een knop of menu zich niet op dezelfde locatie bevindt als tijdens de opname, kan de macro mogelijk niet het gewenste effect hebben. Je kunt je opnames natuurlijk ook opslaan. Gebruik hiervoor de knop Save. De opname wordt dan opgeslagen in een rec-bestand en je kunt deze altijd oproepen en afspelen via de Open-knop.

Je kunt zo’n macro ook uitvoeren vanaf de Opdrachtprompt, waardoor je de macro – of eventueel meerdere exemplaren – kunt opnemen in een batchbestand of in Taakplanner. Zo’n opdrachtregel kan er als volgt uitzien:

tinytask <"pad_naar_rec-bestand">

Bijvoorbeeld:

tinytask c:\tinytask\macros\mijnmacro.rec

Maar er is nog een handige functie. TinyTask heeft namelijk een ingebouwde compiler. Hiermee kun je een rec-bestand omzetten in een uitvoerbaar exe-bestand. Het enige wat je hoeft te doen, is de macro laden en op de knop Opslaan als drukken. Vervolgens geef je een naam en pad voor het bestand op.

Met de Prefs-knop kun je verschillende instellingen aanpassen, waaronder de afspeelsnelheid van de macro. Standaard is de afspeelsnelheid ingesteld op 1x, maar je kunt via Set Custom Speed willekeurige waarden invoeren, van 1 tot 100. Je kunt hier eveneens instellen hoe vaak de macro moet worden herhaald (standaard is dit één keer).

Je kunt onder meer de afspeelsnelheid en -frequentie van je macro’s instellen.

Tip 10 Clavier+

Als je voornamelijk tekstmacro’s wilt maken, waarbij de gewenste tekst wordt uitgeschreven zodra je een sneltoets indrukt of een specifieke tekencombinatie typt, kun je beter een tool als Clavier+ of PhraseExpress gebruiken. Hoewel tekstverwerkers zoals Microsoft Word ook dergelijke functies hebben, werken ze meestal alleen binnen die specifieke applicatie.

We nemen hier het gratis Clavier+ als voorbeeld (met opensource GPLv3-licentie) en tonen je ook hoe je de tool kunt gebruiken om snel programma’s te starten.

Download de app (beschikbaar in zowel 32bit- als 64bit-versies, evenals een draagbare editie). De installatie vereist slechts enkele muisklikken.

Bij de eerste keer opstarten zie je meteen enkele eenvoudige voorbeelden. Selecteer ze en controleer telkens de bijbehorende instellingen in het dialoogvenster. Als je een van de vooraf geprogrammeerde sneltoetsen probeert uit te voeren (zoals Win+Shift+E om het euroteken te verkrijgen), werkt dit mogelijk niet. Je moet namelijk eerst het dialoogvenster sluiten voordat de sneltoetsen actief worden.

Je zult merken dat Clavier+ zeer gebruiksvriendelijk is, maar heb je aanvullende informatie of ondersteuning nodig, raadpleeg dan de documentatie op de website van Clavier+.

Met Clavier+ koppel je heel eenvoudig sneltoetsen aan uiteenlopende acties.

Tip 11 Extra opties

Je kunt de voorbeeldmacro’s eenvoudig verwijderen via het rode kruis. Om je eigen sneltoets toe te voegen, druk je op de blauwe plusknop en kies je de optie Tekst toevoegen. Geef de gewenste toets of toetscombinatie op bij Sneltoets. Als je onderscheid wilt maken tussen bijvoorbeeld de linker en rechter Ctrl-toets, vink dan Linker en rechter toets onderscheiden aan. Bij Activatievoorwaarde kun je aangeven of toetsen als Caps Lock, Num Lock of Scroll Lock eveneens ingeschakeld moeten zijn. Dit kan handig zijn als je dezelfde basistoets voor verschillende handelingen wilt gebruiken.

Typ vervolgens je tekst in het veld Tekst schrijven. Je kunt op het pijlknopje klikken voor extra opties, zoals Toetsen aanslag simuleren, (Speciaal) karakter typen of Bijzonder commando uitvoeren. In deze laatste categorie vind je handige functies zoals Wachten (gebruik <duration> om het gewenste aantal milliseconden aan te geven), Muisknop (bijvoorbeeld MouseButton, L om een linkermuisklik te simuleren) en Muis plaatsen (abs.) (gebruik x en y om de gewenste horizontale en verticale schermcoördinaten aan te geven). Bij Activeren om geef je aan in welke applicaties deze sneltoets wel of niet actief moet zijn. Sleep eventueel de vizierknop naar een programmavenster om de applicatie te selecteren.

Naast tekstmacro’s zijn er ook opties om een programma of een (Windows-)app te starten, een map te openen of naar een specifieke webpagina te gaan. Je hoeft hiervoor enkel de doellocatie aan te geven. Een handige tip: vink Clavier+ lanceren bij het opstarten van Windows aan als je wilt dat de tool altijd beschikbaar is.

Uit Clavier+ haal je meer dan eenvoudige tekstmacro’s.

Cloudautomatisering In dit artikel hebben we enkele Windows-applicaties voorgesteld, maar er bestaan ook handige webdiensten waarmee je gebeurtenissen of handelingen in de cloud kunt automatiseren. Deze werken doorgaans volgens de logische constructie: als ‘dit’ gebeurt, zorg dan dat ‘dat’ ook gebeurt.

Een van de populairste diensten is IFTTT, wat staat voor If This Then That. Via applets kun je internetdiensten en bepaalde apparaten flexibel met elkaar verbinden voor automatisering. Een gratis registratie beperkt je tot twee applets, maar vanaf 28,80 euro per jaar kun je tot twintig applets gebruiken.

Je maakt een applet als volgt: druk op Create en kies Add bij If This, waarna je uit verschillende diensten en apparaten kunt kiezen, ook op basis van trefwoorden. Klik op de resultatenknop voor een geschikte trigger. Bevestig de verbinding met Connect en sta de gevraagde autorisaties toe. Stel indien nodig aanvullende parameters in en druk op Create trigger. Herhaal dit met Add bij Then That. Is alles naar wens, bevestig dan met Continue / Finish. Ga naar My Applets om je applets te beheren. Je kunt ze aanpassen, of pauzeren door Connected uit te schakelen.

Natuurlijk zijn er ook vergelijkbare diensten, zoals Zapier, het meer bedrijfsgerichte Microsoft Power Automate en het opensource-hostingplatform Huginn dat je zelf kunt hosten.

IFTTT is een van de populairste diensten voor automatisering met cloudservices en apparaten.

▼ 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!)
▼ Volgende artikel
Waar voor je geld: 5 mini-pc's als desktop- of laptopvervanger
© ID.nl
Huis

Waar voor je geld: 5 mini-pc's als desktop- of laptopvervanger

In de rubriek Waar voor je geld gaan we op zoek naar producten voor een mooie prijs die je leven makkelijk(er) maken. Werk je vaak thuis, maar is je werkplek niet al te groot? Dan kun je overwegen om een klein formaat pc aan te schaffen. Een mini-pc voldoet aan die behoefte, het enige dat nodig is, is een aparte monitor.

Een mini-pc kan een goede oplossing zijn voor thuiswerkplekken die niet al te groot zijn, of waar je simpelweg gewoon een opgeruimder bureau wil hebben. Mini-pc's zijn compact, maar snel en veelzijdig genoeg om er je gewone werk op te doen of om op te gamen. Wij vonden vijf krachtige mini-pc's voor je.

Acer Revo Box RB102-01W Mini

De Acer Revo Box RB102-01W Mini is een compacte computer die zijn rekenkracht ontleent aan een Intel Core Ultra 5 125U processor. Deze processor is ontworpen om een balans te bieden tussen prestaties en energie-efficiëntie. Voor het uitvoeren van je dagelijkse taken en het wisselen tussen verschillende applicaties beschikt het systeem over 8 GB aan DDR5 werkgeheugen. De opslag van je bestanden, software en het besturingssysteem wordt verzorgd door een 512 GB SSD, wat bijdraagt aan snelle opstart- en laadtijden. Qua connectiviteit kun je gebruikmaken van een reeks poorten. Zo zijn er meerdere USB-aansluitingen beschikbaar voor je randapparatuur. Voor het aansluiten van beeldschermen is de mini-pc uitgerust met zowel een HDMI- als een DisplayPort-uitgang. Om verbinding te maken met een netwerk, is er een 2.5 Gigabit Ethernetpoort aanwezig. Het systeem wordt geleverd met Windows 11 voorgeïnstalleerd.

Specificaties

Formaat: 13,1 x 13,1 x 4,3 cm
Processor:
Intel Core Ultra 5 125U
Werkgeheugen:
8 GB DDR5
Harde schijf:
512 GB SSD
Netwerk:
Wifi 6E, Bluetooth, 2.5 Gigabit LAN

MSI Cubi 5 12M-002EU

De MSI Cubi 5 12M-002EU is een rappe mini-pc van slechts 12,4 × 12,4 × 5,4 centimeter. Via de bijgesloten VESA-beugel monteer je de behuizing optioneel achterop een pc-monitor. Ondanks het nogal kleine formaat betreft het een volwaardige pc waarop je één of twee schermen kunt aansluiten. Gebruik hiervoor de HDMI- en/of DisplayPort-aansluiting aan de achterzijde. Verder zien we hier twee netwerk- en usb-poorten. Via drie usb-ingangen aan de voorzijde sluit je makkelijk randapparaten aan. Voor draadloze communicatie heeft de binnenzijde een bluetooth- en wifi-adapter.

In het kleine 'doosje' zit een ssd van 512 GB. Hierop is Windows 11 Pro voorgeïnstalleerd. Om die reden leent de Cubi 5 12M-002EU zich goed voor zakelijke gebruikers, want deze Windows-editie beschikt over extra veiligheidsfuncties. De Intel Core i5-1235U-processor voldoet voor dagelijkse pc-taken prima. Deze processor heeft tien rekenkernen waarvan de snelste twee zijn afgeregeld op een maximale klokfrequentie van 4,4 GHz. Tot slot is er een geheugenmodule van 8 GB RAM ingebouwd. Blijkt dat op den duur onvoldoende, dan kun je eventueel upgraden naar maximaal 64 GB RAM. Deze mini-pc is als alternatief ook met meer rekenpower verkrijgbaar.

Specificaties

Formaat: 12,4 x 12,4 x 5,4 cm
Processor:
Intel Core i5-1235U
Werkgeheugen:
8 GB DDR4
Harde schijf:
512 GB SSD
Netwerk:
Wifi 6E, Bluetooth 5.3, 1x Gigabit LAN, 1x 2.5 Gigabit LAN

Lenovo ThinkCentre M70q Gen 5 Mini PC 

De Lenovo ThinkCentre M70q Gen 5 is een compacte computer die zijn prestaties haalt uit een Intel Core i5-14400T processor. Voor het uitvoeren van je taken en het draaien van software is het systeem voorzien van 16 GB aan DDR5 werkgeheugen. Dit type geheugen heeft een hogere snelheid dan zijn voorganger, DDR4. Als het gaat om de opslag van je bestanden en programma's, dan maak je gebruik van een 512 GB SSD. De aanwezigheid van een SSD is van invloed op de opstarttijd van de computer en de laadsnelheid van je applicaties. Verbindingen met het internet en je lokale netwerk leg je via de ingebouwde Wi-Fi 6 (802.11ax) module of de aanwezige ethernetpoort. Voor het koppelen van randapparatuur zoals een monitor, muis of extern opslagapparaat, beschikt de mini-pc over een variatie aan poorten, waaronder HDMI, DisplayPort en meerdere USB-aansluitingen. Het besturingssysteem dat vooraf geïnstalleerd is, is Windows 11 Pro.

Specificaties

Formaat: 17,9 x 18,3 x 3,7 cm
Processor:
Intel Core i5-14400T
Werkgeheugen:
16 GB DDR5
Harde schijf:
512 GB SSD
Netwerk:
Wifi 6E, Bluetooth 5.3, Gigabit LAN

DELL OptiPlex 3000 Thin Client - N6005

De DELL OptiPlex 3000 in deze Thin Client-uitvoering is een systeem dat is ontworpen voor specifieke computertaken. Het apparaat draait op een Intel Pentium Silver N6005 processor, een chip die de basis vormt voor de functionaliteit. Voor het werkgeheugen is er 16 GB RAM aanwezig, wat van invloed is op de prestaties bij het gebruiken van meerdere programma's. De opslag bestaat uit een SSD met een capaciteit van 256 GB, waarop het besturingssysteem en je applicaties worden geïnstalleerd. Dit model is uitgerust met Dell ThinOS, een specifiek besturingssysteem dat is gericht op het werken met virtuele desktopomgevingen. Voor het aansluiten van je apparatuur beschikt de computer over diverse poorten. Je vindt er onder andere USB 3.2-poorten, een netwerkaansluiting en twee DisplayPort-uitgangen voor het koppelen van beeldschermen. De compacte behuizing maakt het mogelijk om het systeem op verschillende manieren te plaatsen

Specificaties

Formaat: 18,2 x 17,8 x 3,6 cm
Processor:
Intel Pentium Silver N6005
Werkgeheugen:
16 GB DDR4
Harde schijf:
256 GB SSD
Netwerk:
Gigabit LAN

Blackview MP100 Mini PC

Binnen de compacte behuizing van de Blackview MP100 vind je een AMD Ryzen 7 5825U processor, een chip met 8 kernen die de taken van het systeem verwerkt met een maximale turbofrequentie van 4.5 GHz. Voor het gelijktijdig gebruiken van verschillende programma's is het systeem, afhankelijk van de uitvoering, voorzien van 16 GB of 32 GB DDR4 werkgeheugen. Mocht je in de toekomst meer geheugen nodig hebben, dan is dit uit te breiden tot een maximum van 64 GB. De opslag van je bestanden en software wordt verzorgd door een M.2 SSD, met een capaciteit van 512 GB of 1 TB. Qua verbindingen heb je de beschikking over Wi-Fi 6 en Bluetooth 5.2 voor draadloze connectiviteit. Fysieke aansluitingen zijn er ook volop: het apparaat heeft onder andere USB 3.2-poorten, twee Type-C poorten, een HDMI-aansluiting en een DisplayPort. Hiermee kun je tot drie 4K-beeldschermen tegelijk aansturen. Het vooraf geïnstalleerde besturingssysteem op dit model is Windows 11 Pro.

Specificaties

Formaat: 12,8 x 12,8 x 5,2 cm
Processor: AMD Ryzen 7 5825U
Werkgeheugen:
16 GB of 32 GB DDR4
Harde schijf:
512 GB of 1 TB SSD
Netwerk:
Wifi 6, Bluetooth 5.2, Gigabit LAN