ID.nl logo
Aan de slag met de Raspberry Pi 3
© Reshift Digital
Zekerheid & gemak

Aan de slag met de Raspberry Pi 3

Eind vorig jaar kwam de Raspberry Pi Zero uit, een gestripte versie van het minicomputertje. En de jongste telg in de familie is de Raspberry Pi 3. Dit model is niet alleen sneller dan zijn voorganger door de 64bit-quadcore-processor, maar heeft ook wifi en bluetooth ingebouwd.

01 Snellere Raspberry Pi 2

De Raspberry Pi 3 heeft dezelfde afmetingen als zijn voorganger en is ook volledig compatibel met de Raspberry Pi 2. Alleen de leds zijn verplaatst, waardoor niet alle behuizingen voor model 2 geschikt zijn voor het nieuwe model. Lees ook: Windows 10 op je Raspberry Pi.

Voor de rest zijn alle bekende aansluitingen aanwezig, inclusief 4 usb-poorten, 40 GPIO-pinnen, een HDMI-aansluiting, een ethernetpoort, 3,5mm-jack voor audio en composiet-video, camera-interface (CSI) en display-interface (DSI) en een microSD-kaartslot. Ook de 1 GB RAM kennen we van de Pi 2. Veel hetzelfde dus, maar de processor heeft een belangrijke upgrade gekregen: de BCM2837 nu is een 1,2 GHz 64bit-quadcore ARMv8-cpu.

©PXimport

02 Wifi en bluetooth

Het belangrijkste verschil met zijn voorganger is de onboard-ondersteuning voor wifi en bluetooth. De wifi-chip ondersteunt 150 Mbit/s 802.11n op 2,4 GHz. De Pi 3 heeft ook bluetooth 4.1 Low Energy (BLE) ingebouwd. Dat is handig voor allerlei toepassingen in huis, bijvoorbeeld voor communicatie tussen je Pi en je smartphone of bluetooth-speakers.

Welke Raspberry Pi gebruiken?

Met alle verschillende modellen die er ondertussen bestaan, weet je misschien niet meer welke Pi je het beste gebruikt. Als je zoveel mogelijk processorkracht nodig hebt, zoals voor een mediacenter of domotica-controller die veel apparaten aanstuurt, is de keuze eenvoudig: de Raspberry Pi 3 met zijn 64bit-quadcore-processor en 1 GB RAM verslaat zijn broertjes ruimschoots. Ook voor draadloze toepassingen zet je het best het nieuwste model in, omdat je dan geen wifi- of bluetooth-adapter meer nodig hebt. Heb je minder zware vereisten, dan hangt alles van de focus van je project af. Voor servertoepassingen volstaat de Raspberry Pi Model B+ of de Pi 2. Voor sensortoepassingen met weinig stroomverbruik kies je beter voor de Raspberry Pi Model A+ of Zero, maar die hebben geen ethernet.

©PXimport

03 Raspbian installeren

In dit artikel gaan we Raspbian installeren. We kiezen op de downloadpagina voor het image van Raspbian Jessie. Heb je geen grafische interface nodig, dan volstaat ook Raspbian Jessie Lite, waardoor je meer ruimte vrijhoudt op je microSD-kaart. Pak het zip-bestand uit, steek een microSD-kaart in de kaartlezer van je computer en start het programma Win32 Disk Imager. Kies de schijfletter van je microSD-kaart, selecteer het img-bestand van Raspbian en klik op Write om het besturingssysteem naar je kaartje te schrijven.

04 Pi 3 opstarten

Als het image naar je microSD-kaartje is geschreven, steek dit dan in het daarvoor bestemde slot onderaan de Pi 3. Sluit je tv-scherm of computermonitor via een HDMI-kabel aan en een toetsenbord via usb. Sluit de Pi 3 voorlopig via een ethernetkabel op je netwerk aan. Tot slot steek je de voedingsadapter in je micro-usb-aansluiting, waarna de Pi 3 opstart. Uiteindelijk krijg je ofwel de grafische interface ofwel (met de Lite-versie) de inlogprompt te zien. Vul in het laatste geval als gebruikersnaam pi in en op de volgende regel als wachtwoord raspberry.

©PXimport

05 Eerste configuratie

Je bent nu ingelogd en kunt opdrachten uitvoeren. Voer allereerst het commando sudo raspi-config uit. Kies in het menu Expand Filesystem en druk op Enter. Hiermee vergroot je tijdens de volgende opstart het rootbestandssysteem zodat dit de volledige grootte van je microSD-kaart inneemt. Druk op OK en ga dan in het hoofdmenu naar Change User Password. Druk op OK en geef een nieuw wachtwoord voor de gebruiker 'pi' in. Bevestig hetzelfde wachtwoord een tweede keer. Eenmaal terug in het hoofdmenu ga je met de tabtoets naar Finish en druk je op Enter. Volg de suggestie om je Pi te herstarten.

06 Wifi grafisch instellen

Gebruik je de Raspberry Pi 3 als een minidesktopmachine, dan werkt wifi direct zonder drivers. Heb je in raspi-config Enable Boot to Desktop ingesteld, dan start de grafische desktop automatisch; anders start je die op met de opdracht startx op de opdrachtregel. Klik op het netwerkicoontje helemaal bovenaan rechts om de lijst van beschikbare wifi-netwerken te zien. Klik op het gewenste netwerk, geef je wachtwoord in en klik op OK om te verbinden. Blijf je met je muiscursor boven het icoontje hangen, dan krijg je je IP-adres te zien. Je kunt nu desgewenst de ethernetkabel losmaken en draadloos op je Pi surfen.

©PXimport

07 Wifi scannen via de prompt

Gebruik je de Raspberry Pi 3 als een server en heb je daardoor geen grafische interface geïnstalleerd (bijvoorbeeld als je het Lite-image voor de installatie gebruikte), dan heb je een andere aanpak nodig. Log in op je Pi via of het toetsenbord of via PuTTY vanaf een andere computer. Geef de opdracht sudo iw wlan0 scan|less in. Scrol door de uitvoer met de pijltjestoetsen en zoek naar regels die beginnen met SSID. Onthoud de naam van het gewenste netwerk (die achter SSID wordt getoond). We gaan ervan uit dat het netwerk met WPA2 is beveiligd. Stop het scrollen met een druk op de Q-toets.

08 Wifi instellen via de prompt

Open het juiste configuratiebestand met de opdracht sudo nano /etc/wpa_supplicant/wpa_supplicant.conf. Ga helemaal naar onderen in het bestand en voeg daar de regels network={, ssid="MijnSSID", psk="MijnWachtwoord" en } toe. Hierbij vul je in plaats van MijnSSID en MijnWachtwoord de gegevens voor je eigen wifi-netwerk in. Sla het bestand op met Ctrl+O en sluit het af met Ctrl+X. Wacht nu enkele seconden tot het programma wpa_supplicant je wijzigingen in zijn configuratiebestand heeft opgemerkt en kijk met ifconfig wlan0 of je wifi-netwerkverbinding een IP-adres heeft gekregen. Zo niet, herstart dan met sudo reboot en probeer hetzelfde. Je kunt nu de ethernetkabel losmaken.

©PXimport

Verse installatie of update?

Op de forums op raspberrypi.org zijn er verschillende problemen gemeld door mensen die geen verse installatie van Raspbian op hun Raspberry Pi 3 hebben uitgevoerd. In principe is het mogelijk om gewoon een microSD-kaartje met Raspbian dat je op een eerder model van de Pi draaide in de Pi 3 te steken en daarvan op te starten. Maar dan moet je eerst met de commando's sudo apt-get update en sudo apt-get upgrade alle software naar de nieuwste versie bijwerken. Zelfs dan blijken er wel eens cruciale firmwarebestanden te ontbreken, zodat wifi onbetrouwbaar werkt. Bovendien moet je dan ook nog zelf de bluetooth-software installeren met sudo apt-get install pi-bluetooth. We raden dus aan om altijd een verse installatie uit te voeren.

09 Bluetooth inschakelen

De Raspberry Pi is al vanaf het eerste model een leuk computertje om als mediacenter in te zetten. Maar als je geen afstandsbediening hebt, bungelt die kabel van je toetsenbord wel heel onhandig tussen je tv-meubel en de bank. Model 3 heeft gelukkig een bluetooth-chip ingebouwd en daarmee is het heel gemakkelijk om een draadloos toetsenbord toe te voegen. Dat werkt het best op de opdrachtregel en hoef je maar één keer te doen. Typ daarvoor de opdracht bluetoothctl in.

©PXimport

10 Bluetooth-apparaten scannen

Je zit nu op de opdrachtregel van bluetoothctl, wat je ziet omdat de opdrachtprompt niet meer pi@raspberrypi:~ $ is, maar [bluetooth]#. Met help krijg je de beschikbare opdrachten te zien. Schakel eerst met power on bluetooth in als dat nog niet het geval is. Schakel de bluetooth-agent in met agent on en scan naar aanwezige apparaten met scan on. Je krijgt nu een lijst van bluetooth-apparaten die in het bereik van je Pi 3 zijn. De lijst bestaat uit MAC-adressen en meestal een leesbare naam ernaast, zoals het modelnummer van je toetsenbord of de naam van je telefoon.

11 Bluetooth-toetsenbord toevoegen

Typ nu de opdracht pair MAC in, waarbij je in plaats van MAC het MAC-adres van je toetsenbord invult (in ons geval was dat pair 50:32:75:E3:17:7B. Wellicht krijg je nu de vraag om een code in te typen op je toetsenbord. Geef daarna met trust MAC aan dat je toetsenbord een vertrouwd apparaat is en verbind tot slot met de opdracht connect MAC. Je kunt nu met je toetsenbord draadloos op je Pi typen. De verbinding blijft overigens na een reboot ook bestaan. Overigens is dit ook in de grafische omgeving mogelijk als het pakket blueman is geïnstalleerd. Klik dan op het bluetooth-icoontje bovenaan en daarna op Devices, kies je toetsenbord en volg de instructies.

©PXimport

12 Bluetooth-speaker toevoegen

Een bluetooth-speaker toevoegen verloopt op dezelfde manier. Maar deze keer tonen we je hoe je een speaker op de grafische manier toevoegt. Installeer eerst PulseAudio met het commando sudo apt-get install pulseaudio pulseaudio-module-bluetooth. Klik daarna op het bluetooth-icoontje, kies Devices en klik op Search. Je bluetooth-speaker komt nu in de lijst van beschikbare apparaten tevoorschijn. Rechtsklik op de speaker, kies Pair en wacht even. Rechtsklik daarna nog eens en kies Trust. Rechtsklik een laatste keer en kies Connect. Vanaf nu speelt je Raspberry Pi-geluid op je bluetooth-speaker af.

13 Mathematica

Tot slot gaan we kort in op enkele mogelijkheden om op de Raspberry Pi te programmeren. Door de krachtigere processor van de Pi 3 wordt dat immers steeds interessanter op het minicomputertje. Open in het menu Programming van de grafische desktop het programma Mathematica. Het programma opent een leeg notebook en een venster met links naar meer informatie. Mathematica is een wiskundig rekenprogramma van Wolfram, waarvan je bij Raspbian een gratis licentie krijgt. Bekijk zeker eens wat voorbeeldprojecten op deze website om een beeld te krijgen van de mogelijkheden.

©PXimport

14 Node-RED

Node-RED is een programmeeromgeving van IBM voor IoT-toepassingen (Internet of Things). Start je Node-RED in het menu Programming, dan krijg je een terminalvenster te zien met uitleg. Open daarna in je browser de url die in het terminalvenster te zien is: http://127.0.0.1:1880/ als je op de Raspberry Pi zelf surft, en http://IP:1880/ als je op een andere pc in je thuisnetwerk surft (waarbij IP uiteraard het IP-adres van je Pi is). In deze webinterface programmeer je nu je toepassingen op een grafische manier, door blokjes in- en uitvoer aan elkaar te hangen. Meer lees je op de website http://nodered.org.

15 Scratch

Raspbian biedt in het menu Programming ook Scratch aan, de grafische programmeeromgeving van het MIT om kinderen te leren programmeren. Helaas is het de oude versie 1.4 en niet de nieuwe versie 2.0 die op deze site te vinden is. In Scratch maak je games, animaties, interactieve verhalen of computerkunst door blokjes uit de bibliotheek van componenten links te verslepen en aan elkaar te koppelen.

©PXimport

16 Sonic Pi

Een laatste interessante programmeeromgeving die Raspbian aanbiedt, is Sonic Pi. Je componeert er muziek mee door te programmeren. Als je het programma voor het eerst opstart, kies dan links onder de Tutorial. Deze geeft je code die je kunt uitproberen en legt je uit wat die doet. Door daarmee te experimenteren, leer je de mogelijkheden van Sonic Pi al snel kennen en componeer je voor je het weet je eigen computermuziek. Meer informatie vind je hier.

Nog niet genoeg van de Pi? In ons Dossier Raspberry Pi vind je nog veel meer how to's en tips om je Pi om te toveren tot van alles en nog wat.

▼ 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