ID.nl logo
Hét alternatief voor Twitter: aan de slag met Mastodon
© rob2516@hotmail.com
Huis

Hét alternatief voor Twitter: aan de slag met Mastodon

Goed nieuws voor wie helemaal klaar is met Twitter: je hoeft niet uit te wijken naar een ander sociaal netwerk beheerd door een rijke techmiljardair, maar kunt er gewoon eentje starten vanaf je zolderkamer. Met je eigen Mastodon kun je berichten uitwisselen met al je vrienden op andere servers. We leggen uit hoe dat zit en hoe je begint.

Met Mastodon kun jij je eigen sociale netwerk opzetten. Dit artikel vertelt je er alles over. In een notendop:

  • Hoe werkt Mastodon?
  • Wat is een instance?
  • Wat heb je aan hard- en software nodig?

Lees ook: Social media verandert razendsnel door AI

Twitter staat al maanden in brand. Sinds techmiljardair Elon Musk het bedrijf heeft gekocht, is het er complete chaos. Van de 7500 werknemers bij het sociale platform zijn er nog 2000 over, waarbij zelfs hele teams zijn gedecimeerd. Journalisten kunnen al maandenlang geen vragen meer stellen aan het bedrijf, omdat de persafdeling is opgeheven. Belangrijke infrastructuur wordt niet langer gemonitord, wat leidt tot storingen. Tegelijkertijd neemt Musk de ene na de andere rare beslissing, zoals het vergrendelen van simpele beveiligingsopties achter een betaald abonnement. Experts vrezen ook voor een vloedgolf aan nepnieuws en verwarring, omdat iedereen voortaan een verificatievinkje kan kopen op de site – een middel dat tot op heden werd gebruikt om onder andere beroemdheden en journalisten te onderscheiden van nepaccounts.

Dit alles heeft er toe geleid dat het vertrouwen in Twitter fors is afgenomen en velen hun accounts hebben verlaten of zelfs verwijderd. De zoektocht naar een goed alternatief is dan ook in volle gang. Nieuwe apps schieten als paddenstoelen uit de grond, maar verreweg het populairst is Mastodon: een dienst die belooft het nét iets anders te doen dan we van sociale netwerken gewend zijn.

©cryptoFX - stock.adobe.com

Mastodon is een alternatief voor Twitter, dat het net even anders doet.

Gemaakt in Duitsland

Mastodon is gemaakt door de in Duitsland gevestigde Rus Eugen Rochko. Hij wilde een sociaal netwerk bouwen dat niet werd beheerd door de grote techbobo’s uit Silicon Valley, maar dat een inherent onderdeel van het internet is. In 2016 bracht hij een eerste testversie uit en inmiddels beheert Rochko Mastodon fulltime als een non-profit-project. In eerdere interviews zei de Rus het allemaal niet voor het geld te doen; advertenties of andere verdienmodellen vind je er dan ook niet. Mastodon gebruiken is helemaal gratis, zonder dat jij als gebruiker zelf het product wordt. Je kunt wel geld doneren, zodat Rochko de ontwikkeling kan voortzetten en de kosten voor zijn eigen Mastodon-servers kan blijven betalen, want die lopen natuurlijk op naarmate de dienst populairder wordt. Op moment van schrijven wordt er door gebruikers samen ruim 30.000 euro per maand gedoneerd.

Het platform telt nog lang niet de gebruikersaantallen van Twitter of Facebook, maar groeit wel gestaag. Ter illustratie: Mastodon had voor de Twitter-overname door Musk minder dan een half miljoen gebruikers, inmiddels zijn dat er iedere maand ruim 1,5 miljoen.

Qua interface lijkt Mastodon precies op zijn grote concurrenten, inclusief een eindeloos lange tijdlijn met berichten van iedereen die je op het platform volgt.

Lees ook: Zo verwijder je je Twitter-account

Verspreid over het internet

Waar je bij de meeste socialmedia-platformen één centrale website bezoekt die wordt beheerd door een techbedrijf met grote investeerders, bestaat Mastodon uit talloze kleine onderdeeltjes, die ook wel instances worden genoemd. Iedereen kan zo’n instance starten en zo een ‘eigen’ Mastodon-site beginnen. Die instances zijn geen individuele eilandjes, maar kunnen met elkaar communiceren. Een gebruiker op de instance https://mastodon.social kan een gebruiker op https://mastodon.nl volgen en privéberichten sturen naar weer iemand anders op https://mstdn.social. Je aanmelden voor zo’n instance is een kwestie van de betreffende website bezoeken en een account aanmaken.

Mocht het allemaal een beetje vaag klinken, vergelijk Mastodon dan eens met e-mail. Je kunt bijvoorbeeld een mailadres openen bij Gmail, waarmee je vervolgens berichten kunt uitwisselen met Yahoo, Outlook of welke maildienst dan ook. Net als bij e-mail hangt tussen iedere Mastodon-server een protocol dat ervoor zorgt dat berichten worden uitgewisseld. Het is mail, maar dan voor je ‘toots’ (zoals berichten op Mastodon worden genoemd) in plaats van digitale brievenpost.

Maakt het dan nog uit op welke instance je gaat zitten? Niet héél veel. Je instance bepaalt bij wie je data in handen is, dus mensen die veel waarde hechten aan hun privacy zullen wellicht willen weten of de server in een land staat met goede privacywetgeving. En een grote, goed beheerde server zal wat minder storingen hebben dan eentje beheerd door een hobbyist. Maar waar je ook zit, je kunt altijd met dezelfde mensen kletsen.

Beheerders kunnen er overigens voor kiezen om een instance te blokkeren, zodat je daar niet meer mee kunt communiceren. Grote servers deden dat eerder bij extreemrechtse instances en communities waarin het alleen over complottheorieën ging. Op die manier kunnen Mastodon-gebruikers gezamenlijk proberen om extremistische onderwerpen buiten de deur te houden, iets waar Twitter en Facebook al langer mee worstelen.

©xiaoliangge - stock.adobe.com

Iedereen kan een eigen instance voor Mastodon maken, waarna al die sites met elkaar verbinden.

Andere instances Wie geen zin heeft om een eigen instance op te zetten, kan ook een account maken op de instance van een ander. Hieronder een drietal suggesties.

  • Mastodon.social - De grootste Mastodon-instance met ruim 173.000 leden. Wordt beheerd door het bedrijf achter de software en is daarom altijd up-to-date.
  • Mastodon.nl - Een Nederlandstalige server met zo’n 11.000 leden.
  • Mstdn.social - Deze server wordt ook door een Nederlander beheerd, maar is internationaler ingestoken. Is met 41.000 bezoekers ook iets groter.

Privacy

Iedereen met een beetje technische kennis kan een eigen Mastodon-instance opzetten. Het kost best even tijd, maar de voordelen zijn groot. In de eerste plaats omdat alle data in je eigen beheer blijven. Je toots met foto’s en video’s komen op je eigen server terecht, in plaats van dat ze, zoals bij Twitter, door een groot conglomeraat worden opgeslagen.

Het betekent tevens dat je gegevens niet zomaar kunnen worden misbruikt. Dat gebeurde afgelopen jaren meermaals bij grote sociale netwerken: databedrijf Cambridge Analytica bemachtigde bijvoorbeeld gebruikersdata van Facebook, waarmee ze psychologische profielen maakten, en zo persoonlijk toegesneden politieke advertenties toonden, om de verkiezingscampagne van Trump en het Brexit-referendum te beïnvloeden.

©Valerio Rosati

Er is een officiële app, maar je kunt ook door anderen gemaakte applicaties gebruiken om Mastodon te bezoeken. Foto: rarrarorro – stock.adobe.com.

Let op je DM’s! Hoewel Mastodon veel privacyvriendelijker is dan de grote socialmediabedrijven, is er één ding waar je goed op moet letten: je privéberichten. Die worden namelijk niet door Mastodon versleuteld, waardoor de beheerder van een instance ze in theorie kan meelezen. Dat lijkt een klein probleem als je zelf een servertje beheert, maar als jij berichten uitwisselt met een gebruiker op een andere instance, dan komen die berichten ook binnen bij die beheerder. Zelfs op je eigen server moet je dus goed nadenken over wie je een bericht stuurt, om te voorkomen dat de gedeelde informatie ineens in foute handen komt.

Voor een vlotte babbel zal dat zelden problemen opleveren, maar voor gesprekken met gevoelige inhoud kun je nog steeds het beste terecht bij chat-apps zoals Signal of WhatsApp. Die versleutelen je gesprekken automatisch.

De juiste hardware

Wie zelf een Mastodon-server wil opzetten, moet daar wel de juiste hardware voor in huis hebben. Wat je nodig hebt, hangt af van je ambities. Als je instance alleen voor jezelf en een of twee vrienden bedoeld is, dan is een oude computer of zelfs een Raspberry Pi (verkrijgbaar bij bijvoorbeeld Bol.com of Conrad) ruim voldoende. Zorg wel dat er veel opslag aanwezig is voor alle foto’s en video’s die je op het sociale netwerk gaat posten. En onthoud: zelfs als alleen jij en je vrienden op de server zitten, kunnen jullie nog gewoon met iedereen op alle Mastodon-servers praten.

Wil je de instance voor iedereen openstellen, dan heb je zwaarder geschut nodig. Je kunt er dan voor kiezen om een Virtual Private Server (VPS) af te nemen bij een hostingbedrijf als TransIP. Dat is een computer in de cloud, waar je op afstand bij kunt inloggen om van alles op te doen. Groot voordeel van een VPS is dat je hem altijd kunt upgraden, zodat je snel meer capaciteit kunt krijgen als dat nodig is.

Grootse plannen met Mastodon?

Dan kun je wel een eigen server gebruiken

Domein, maildienst en Linux

Naast een server of VPS heb je nog een paar dingen nodig, zoals een domeinnaam waarop je instance online bereikt kan worden. Daarnaast is het verstandig een account te maken bij een mailprovider, zoals Mailgun of Postmark, waarmee bevestigingsmailtjes naar je Mastodon-gebruikers worden gestuurd. Je kunt ook proberen zelf een mailserver te hosten, maar dat maakt het project vele malen complexer.

In dit artikel gaan we ervan uit dat je Mastodon op een Linux-machine probeert te installeren, gezien dat bij de meeste servers het geval is. Enige kennis over hoe je zo’n server beheert, is vereist. Zorg ervoor dat je de laatste packages hebt geïnstalleerd en op afstand kunt inloggen met een key in plaats van met een wachtwoord.

Zelf opzetten

Op https://docs.joinmastodon.org vind je een uitgebreide gids met uitleg hoe je zelf een instance kunnen opzetten. Hier wordt stap voor stap uiteengezet hoe je een SQL-server opzet, webhosting regelt en de juiste certificaten vastlegt, waarna je de software van Mastodon zelf installeert.

De mate van aanwezige kennis bepaalt hoe goed je server straks in elkaar steekt. Een goede zoekmachine voor je Mastodon-server vereist bijvoorbeeld dat je ElasticSearch installeert en configureert, een projectje dat al snel een middag in beslag neemt.

Het meeste werk gaat zitten in dit soort externe software, want het configureren van Mastodon zelf is relatief simpel. Je installeert de software, configureert de instellingen naar wens en start de boel op. Maar je kunt ervan uit gaan dat het een paar dagen prutsen is voor je hier aan toe bent.

©Tee11 - stock.adobe.com

Voor het zelf opzetten van een instance is de nodige kennis vereist.

Een externe partij

Je kunt ook kiezen voor de makkelijke route. Websites zoals Masto.host, Hostdon, Spacebear en Cloudplane bieden speciale hostingabonnementen, waarbij ze jou een kant-en-klare Mastodon-server leveren. Je hoeft alleen maar een domein te koppelen en de juiste abonnementsvorm te kiezen.

Je moet dan wel bereid zijn iets meer te betalen. De goedkoopste abonnementen vind je bij Cloudplane en Masto.host, die je al voor zes euro per maand een instance leveren. Bouw je de server zelf op een goedkope VPS, dan ben je met vergelijkbare hardware ongeveer de helft kwijt. Een verschil van drie euro is niet veel, maar houd rekening met stijgende prijzen naarmate je server drukker bezocht wordt. Dan moet je immers upgraden naar een krachtigere server met een duurder abonnement en kan het verschil oplopen naar tientallen euro per maand. Als je zelf een sterke machine hebt staan die al bijvoorbeeld je website host, is dat een nog veel voordeligere plek voor je instance.

Omdat deze hostingpartijen zelf de server voor je configureren, heb je ook minder de touwtjes in handen. Zij bepalen wanneer updates worden geïnstalleerd en hebben in theorie toegang tot de data van je gebruikers. Daarnaast kan de server misschien wel in een land staan waar je de privacyregels niet van kent of vertrouwt. Vind je dat belangrijk? Onderzoek dan goed waar je Mastodon-server precies komt te staan, voordat je een abonnement afsluit.

Wie niet bereid of in staat is om zelf een volledige server op te bouwen, kan ook een externe partij betalen om dat te doen.

Een goede app is het halve werk Omdat Mastodon een open platform is, kunnen ontwikkelaars heel makkelijk zelf apps maken om het sociale netwerk mee te bezoeken. We zetten de beste opties op een rij.

  • Mastodon (gratis, iOS en Android) – Tja, de officiële app van het bedrijf achter Mastodon is gewoon prima. Omdat hij door hetzelfde team wordt gemaakt, vind je hierin vaak ook als eerste nieuwe functies.
  • Ivory (18 euro per jaar, iOS) - Verreweg de duurste Mastodon-app. Ivory is ontwikkeld door Tapbots, het bedrijf dat jarenlang de Twitter-app Tweetbot beheerde. Dat was verreweg de beste manier om Twitter op je iPhone of Mac te gebruiken, en qua interface is Ivory grotendeels gelijk gebleven.
  • Ice Cubers (gratis, iOS) - Deze iOS-app voor Mastodon krijgt constant updates met nieuwe functies, wat het een van de meest complete opties maakt.
  • Tusky (gratis, Android) - Verreweg de populairste Android-app voor Mastodon. De app is helemaal gratis en reclameloos, al kun je geld doneren om de ontwikkeling te ondersteunen.
  • Elk (gratis, web) - Deze web-app, te vinden op www.elk.zone, giet Mastodon in een mooier, minimalistisch ontwerp dat een beetje lijkt op de website van Twitter.

De makers van populaire Twitter-app Tweetbot hebben ook een versie gemaakt speciaal voor op Mastodon.

▼ 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