ID.nl logo
Weg van big tech, dit is het fediverse
© grgroup - stock.adobe.com
Huis

Weg van big tech, dit is het fediverse

Nagenoeg alle bekende sociale mediaplatformen zijn in handen van ‘big tech’, zoals Meta, Google en Microsoft. Ze zijn erg populair, maar veel gebruikers voelen zich gevangen in zo’n ecosysteem. Met het ‘fediverse’ komt langzaam een alternatieve structuur op gang.

In dit artikel gaan we in op wat het fediverse is en wat de tegenhangers van de bekende socialmediaplatformen zijn, zoals:

  • Mastodon
  • PeerTube
  • Pixelfed
  • Lemmy

Lees zeker ook: Exit-strategie: zo verlaat je Google, Microsoft, Apple of Meta

Socialmediaplatformen als Facebook, YouTube, Instagram, Twitter, Snapchat, Pinterest, Reddit en WhatsApp hoeven we je uiteraard niet meer voor te stellen. Maar namen als Friendica/Diaspora, PeerTube, Pixelfed, Mastodon, Movim, Prismo, Lemmy en Element/Matrix komen je wellicht veel minder bekend voor. Toch zijn dit ook socialmediaplatformen. In feite zijn het zelfs stuk voor stuk tegenhangers van de bekende platformen. Om uit te leggen in welk opzicht ze tegenhangers zijn, moeten we het eerst uitgebreid over het ‘fediverse’ hebben.

1 Opzet

De naam fediverse is een samentrekking van ‘federated’ en ‘universe’, oftewel een gefedereerd of federatief universum en in het Nederlands daarom soms ook wel aangeduid als fediversum. Je moet het zien als een verzameling onderling verbonden servers, ook wel instances genoemd, die onafhankelijk worden beheerd door individuen of organisaties. Gemeenschappelijke protocollen zorgen voor onderlinge communicatie. Gebruikers kunnen bijvoorbeeld een account aanmaken op een server, en vervolgens communiceren en gegevens delen met gebruikers op andere servers binnen het fediverse, informeel ook wel fedi genoemd. Dit maakt gedecentraliseerde sociale interacties mogelijk zonder afhankelijkheid van één centrale entiteit, in tegenstelling tot traditionele socialemediaplatformen.

Heb je bijvoorbeeld een Instagram-account, dan kun je geen contact onderhouden met X-gebruikers, tenzij je je ook bij dat platform aansluit. Binnen het fediverse daarentegen kun je vrijelijk bewegen tussen verschillende servers en platformen, mits je je aan de regels van het fediverse, de platformen en de servers houdt. Gebruikers die zich niet thuisvoelen bij een instance kunnen ook hun eigen server hosten, met eigen regels en voorwaarden, en een aangepast moderatiebeleid.

Het populairste (maar niet officiële) logo van het fediverse.

2 Start

De ontwikkeling van het fediverse begon in 2008, toen een Canadese software-ontwikkelaar een opensource-microbloggingplatform oprichtte, genaamd Laconica. Dit was gebaseerd op het OpenMicroBlogging-protocol, dat communicatie tussen verschillende microbloggingsites mogelijk maakte. Een jaar later werd het platform hernoemd in StatusNet en enkele jaren later fuseerde het met afgeleide projecten tot GNU social, dat nog steeds actief is.

Langzamerhand werden de beperkingen van het OpenMicroBlogging-protocol, ontworpen voor eenrichtingsverkeer van tekstberichten, duidelijker. Daarom werd het nieuwe protocol OStatus als open standaard voor microblogging ontworpen. Rond dezelfde tijd werd het sociale netwerk Diaspora populairder, dat een eigen federatief protocol gebruikte voor gegevensuitwisseling tussen onafhankelijke servers. Om onderscheid te maken tussen beide netwerken en protocollen kwamen vooral vanaf 2017 de termen fediverse (voor OStatus) en federation (voor Diaspora) in gebruik.

Het sociaal netwerkplatform GNU Social en het gefedereerd OStatus-protocol vormen de basis van het fediverse.

3 (Protocol)ontwikkeling

Enkele populaire microbloggingsites binnen GNU Social lieten al snel het OStatus-protocol achter zich en gingen over op het nieuwe protocol Pump.io (voorheen ActivityPump), dat meer data-uitwisseling mogelijk maakte dan alleen statusupdates. Begin 2018 nam het W3C (World Wide Web Consortium) het heft in handen en stelde de opvolger, ActivityPub, als aanbevolen open standaard voor.

In 2019 schakelden de meeste platformen over op dit protocol, en de naam fediverse verwijst nu vooral naar socialenetwerk-platformen die hierop gebaseerd zijn. Het protocol kreeg eind 2022 een boost nadat Elon Musk Twitter had opgekocht. Veel gebruikers vertrouwden deze overname niet en stapten over naar het fediverse-alternatief Mastodon. Ook andere sociale media toonden en tonen interesse in ActivityPub, waaronder Flicker, Flipboard, Threads en Tumblr.

ActivityPub mag dan het meest gebruikte protocol zijn, er zijn er nog meer binnen het fediverse. Naast OStatus en Diaspora zijn er bijvoorbeeld XMPP, Matrix, AT (Bluesky) en Zot. Een platform kan ook meerdere protocollen ondersteunen. Zo ondersteunt Hubzilla naast Zot ook ActivityPub, OStatus en Diaspora. Een recenter protocol is Nostr (Notes and Other Stuff Transmitted by Relays), waarbij gebruikers zich met cryptografische sleutels authenticeren en hun berichten naar een of meerdere relays versturen, waarop andere gebruikers zich kunnen abonneren om zo censuur te omzeilen.

Gebruikers van Nostr ondertekenen en versleutelen berichten met een cryptografisch sleutelpaar.

4 Werking

In onze definitie van het fediverse zie je ongetwijfeld parallellen met hoe een P2P-netwerk (peer-to-peer) opereert. Beide systemen delen aspecten als decentralisatie, met onafhankelijke servers in plaats van een centrale server die alle gegevens beheert, en directe communicatie tussen gebruikers op verschillende servers.

Toch zijn er ook verschillen. Terwijl bij P2P alle knooppunten gelijkwaardig zijn als server en client, zijn er bij het fediverse onafhankelijke servers waarop gebruikersaccounts worden aangemaakt. Elke administrator is bovendien verantwoordelijk voor de veiligheid, het onderhoud en de moderatie van zijn eigen server.

Binnen het fediverse bepaalt het ActivityPub-protocol hoe activiteiten zoals het volgen van personen, het posten van berichten en het geven van likes tussen de servers worden uitgewisseld. Elke server beslist zelf welke andere servers hij vertrouwt en met welke er communicatie wordt toegelaten, doorgaans op basis van blokkeerlijsten of een specifiek federatie- en moderatiebeleid.

Wanneer een gebruiker op server Y data van server X wil bekijken, stuurt Y een verzoek naar X om de data op te halen als deze nog niet lokaal zijn opgeslagen. Dit vermindert de noodzaak voor centrale opslag en zorgt voor gedistribueerde aflevering van content. Het zorgt er ook voor dat de rest van het netwerk operationeel blijft als een server offline gaat. Bovendien kunnen gebruikers hun accounts en data naar andere servers migreren als ze dat willen.

Jeroen heeft de afbeelding ‘wereld.png’ op een Pixelfed-instance geplaatst. ActivityPub zorgt voor de rest.

5 Plussen en minnen

Er kleven dus onmiskenbaar enkele voordelen aan het fediverse. Zo maakt het netwerk gebruik van open standaarden en opensource-software, wat betekent dat er geen verborgen code wordt gebruikt en dat de code goed up-to-date kan worden gehouden. De decentralisatie zorgt er ook voor dat er geen ‘single point of failure’ is: als een server uitvalt, blijven de andere functioneren. Bovendien, terwijl traditionele social media de eigenaarschap van je data overnemen om je gerichte advertenties en gesponsorde content te sturen, kun je in het fediverse instances kiezen met een strikt privacybeleid, zodat je geen last hebt van tracking, advertenties of ongewilde censuur. Het fediverse biedt daarnaast meer diversiteit, omdat je je gemakkelijk met andere gemeenschappen kunt verbinden.

Houd er wel rekening mee dat de open structuur en de vaak minimale moderatie makkelijker tot controversiële agenda’s en content kunnen leiden. Wel kunnen instances via blacklists andere instances en gebruikers blokkeren. Verder is het fediverse minder gebruiksvriendelijk dan de gepolijste interfaces van de traditionele sociale media. En de veiligheid van je data op een instance hangt sterk af van de kennis en integriteit van de administrator. Het is evenmin helemaal uit te sluiten dat een instance om welke reden ook wordt afgesloten (zoals gebeurde met de mastodon-server Kolektiva.social, die door de FBI werd geconfisqueerd), wat kan leiden tot verlies van je data en contacten.

Tot slot, weet dat wanneer je je gegevens wist op je eigen instance, deze niet automatisch worden verwijderd op andere instances die je data hebben ontvangen.

Mastodon-server Kolektiva.social profileert zich als een ‘antikoloniaal anarchistisch collectief’.

6 Platformen

We hebben het tot nu toe vooral gehad over microbloggingplatformen binnen het fediverse, bedoeld voor kortere updates en beperkte berichten. Bekende platformen zijn Mastodon, Pleroma, Misskey, Firefish, Micro.blog en GNU social.

Maar ook andere platformen maken graag gebruik van het federatieve model. Zo zijn er platformen voor macroblogging, bedoeld voor uitgebreide blogposts met multimedia, zoals Write Freely, Streams, Plume en Hubzilla (deze laatste is ook bruikbaar voor cms, bestandsopslag, wiki en fotogalerijen). Voor het delen van afbeeldingen kun je terecht bij Pixelfed, terwijl PeerTube zich richt op video’s en Funkwhale op audio. Lemmy, Kbin, Prismo en Raddle fungeren vooral als link-aggregators en fora.

In de rest van dit artikel gaan we in op enkele uiteenlopende platformen. We laten zien hoe en waar je een account aanmaakt bij een geschikte instance, en hoe je actief deelneemt aan het platform. In het kader ‘Eigen instance’ geven we een aanzet tot het opzetten van een eigen instance.

Enkele bekende takken aan het fediverse-boom (foto: Per Axbom, CC BY-SA 4.0).

7 Instances

Om je bij de fediverse-gemeenschap aan te sluiten, kies je eerst een geschikt platform (zie paragraaf 6). De volgende stap is het selecteren van een geschikte instance, waarvan de community en het beleid aansluiten bij je leefwereld en interesses.

Een goed vertrekpunt is Fediverse Party. Klik hier op Menu / All apps om volgens diverse criteria, zoals categorie, protocol, programmeertaal en licentie, een instance te kiezen. Ook op FediDB kun je terecht, waar je in de secties Servers en Software een uitgebreid overzicht vindt, en je kunt nog terecht op The Federation.

Het populairste platform, met circa twee derde van alle 12 miljoen fediverse-gebruikers, is Mastodon, gericht op microblogging. Wil je je hierbij aansluiten, maar vind je via Fediverse Party niet meteen een geschikte instance, dan kun je ook terecht op de officiële Mastodon-site. Je vindt hier servers gesorteerd op taal, regio, onderwerp en Mastodon-instances.

Op basis van onze criteria leidde de wizard ons naar vier Mastodon-instances.

8 Mastodon

We nemen het Nederlandse Mastodon als voorbeeld, een instance voor en door de Nederlandse community. Logischerwijs dien je je hier eerst te registreren. Na het accepteren van enkele basisregels kun je een account creëren en ontvang je een bevestigingsmail. Daarna kun je meteen aan de slag.

Je krijgt instructies voor het aanpassen van je profiel en je starttijdlijn, waar je medegebruikers kunt volgen en ontvolgen. Je leert ook hoe je je mastodon-profiel deelt en je eerste bericht post – bij Mastodon heet dit toot(en). Je kunt je berichten voorzien van een thematische hashtag om ze beter te kunnen categoriseren en vindbaar te maken. In de zoekbalk kun je naar specifieke hashtags zoeken en via Hashtag volgen ontvang je automatisch een update wanneer iemand een bericht met die hashtag post. Het is ook mogelijk een toot te boosten, zodat je het bericht deelt met je eigen volgers (vergelijkbaar met retweeten of reposten). En verken zeker ook de openbare tijdlijnen, zowel op je eigen instance als op andere Mastodon-servers.

Alle vertrouwde ingrediënten zijn aanwezig: (re)toots, tijdlijn, meldingen, favorieten en meer.

Eigen instance We hebben uitgelegd hoe je je bij enkele fediverse-platformen kunt aansluiten via een bestaande instance. Bij nagenoeg alle platformen kun je ook je eigen instance inrichten. We hebben niet de ruimte hier dieper op in te gaan, maar geven je wel de basisstappen.

  • Kies eerst een fediverse-platform, zoals Mastodon of Pleroma.
  • Registreer daarna een domeinnaam voor je instance. Je hebt uiteraard ook een server nodig om je instance te hosten. Dit kan een VPS (Virtuele Private Server) zijn bij een hostingprovider. Controleer of deze aan alle vereisten voldoet, want de systeemvereisten kunnen fors zijn, vooral qua opslagruimte (eventueel kan dit bij een cloudopslagprovider).
  • Beveilig je verbinding met een ssl-certificaat, bijvoorbeeld via een gratis exemplaar van Let’s Encrypt.
  • Maak je server klaar met een geschikt en up-to-date besturingssysteem, doorgaans een Linux-distributie. Installeer dan de noodzakelijke onderdelen, zoals een webserver als Nginx of Apache en een database als PostgreSQL. Installeer en configureer vervolgens het gekozen platform evenals de afhankelijkheden, en configureer je webserver.
  • Creëer een admin-gebruiker en pas via de beheermodule zaken als het moderatiebeleid, federatievoorkeuren en gebruikersinstellingen aan.

Zorg dat alles goed is beveiligd, maak frequent back-ups, zorg voor updates en monitor regelmatig de prestaties van je server.

De site-instellingen van Mastodon.

9 PeerTube

Zoals de naam al doet vermoeden lijkt PeerTube, van Franse origine, sterk op YouTube. Dit platform draait dan ook om videostreaming en -sharing, maar dan binnen het fediverse. Een goed vertrekpunt voor de circa 1000 instances is www.joinpeertube.org/instances (selecteer eventueel Video maker bij Your Profile als je ook zelf video’s wilt uploaden) of https://instances.joinpeertube.org/instances. Wil je op zoek naar specifieke video’s of kanalen, ga dan naar www.joinpeertube.org/browse-content. Afhankelijk van de gekozen instance vind je hier een knop Een account aanvragen.

Met een account kun je reageren op video’s, een kijkgeschiedenis opbouwen, video’s op je eigen kanaal publiceren (dat je tijdens de accountregistratie kunt aanmaken) en je abonneren op andere kanalen. Bij de meeste instances duurt het ongeveer een dag voor een moderator op je aanvraag reageert. Je kunt je via Lokale video’s ook op een RSS-feed abonneren. Weet wel dat het aantal video’s bij veel instances voorlopig beperkt is en dus niet te vergelijken is met het aanbod bij YouTube of Vimeo.

Video’s op PeerTube kun je ook zonder account bekijken.

10 Pixelfed

Het aantal instances op Pixelfed is vooralsnog niet zo groot. Volgens de officiële webpagina zijn er momenteel ongeveer veertig, waarvan slechts twee in Nederland (waaronder hidden.pics, met zo’n 100 actieve gebruikers en focus op artistiek naakt).

De serverregels zijn telkens duidelijk vermeld. Via Explore krijg je, ook zonder eigen account, een overzicht van de trending posts, en via Directory kun je direct doorklikken naar specifieke gebruikers en hun afbeeldingen bekijken. Om foto’s te liken of er commentaar op te geven, heb je wel een account nodig.

Om je te registeren, doorloop je enkele stappen: de serverregels accepteren, een account aanmaken en reageren op de bevestigingsmail. In de meeste gevallen zal een moderator je aanvraag handmatig goedkeuren, waarna je binnen 48 uur een reactie kunt verwachten.

Op Pixelfed kun je terecht voor ‘alternatieve’ foto’s, van kinky tot kunst, en van kitsch tot knap.

11 Lemmy

Met zo’n 700 actieve servers en een totaal van 400.000 gebruikers mag Lemmy, dat enigszins vergelijkbaar is met Reddit, zich tot de populairdere fediverse-platformen rekenen. Je kunt deelnemen aan bestaande communities (subfora) of je eigen communities opzetten. Binnen elke community kun je posts creëren, inclusief links, afbeeldingen en video’s. Door posts te upvoten, komen interessantere discussies naar boven.

Op de officiële website kun je klikken op Deelnemen aan een server, waarna je een topic en taal selecteert en hopelijk een geschikte instance vindt (de combinatie ‘technologie’ en ‘English’ leverde bijvoorbeeld 18 hits op).

Bij veel Lemmy-instances kun je je direct registreren zonder dat je hoeft te wachten op acceptatie door een moderator. Je krijgt meteen de nieuwste berichten te zien, kunt (standaard) verborgen berichten bekijken of alleen de berichten opvragen van de gemeenschappen waarop je bent geabonneerd. Via filters zoom je snel in op berichten met een specifieke status, zoals Actief, Populair, Controversieel, Beste afgelopen maand enzovoort.

Lemmy-instances schuwen de controverse niet.

▼ Volgende artikel
Zo komt je eten superkrokant uit de airfryer
© Grandbrothers - stock.adobe.com
Huis

Zo komt je eten superkrokant uit de airfryer

Je hebt een airfryer aangeschaft om gezonder en met minder vet te koken. Maar vetarm betekent gelukkig niet smaakloos of zompig! Sterker nog: in je airfryer maak je de lekkerste krokante gerechten, zonder dat ze in een plas olie liggen. Je moet alleen even weten hoe.

In dit artikel ontdek je:

  • Hoe een airfryer precies werkt
  • Wat de beste manier is om snacks en groenten knapperig te krijgen
  • Handige trucs voor het beste bakresultaat
  • Praktische tips om het maximale uit je apparaat te halen

Lees ook: Airfryer met één of twee lades? Zo kies je slim

Zo werkt een airfryer (en waarom dat belangrijk is)

Een airfryer is in de basis een compacte heteluchtoven waarin hete lucht snel circuleert. Je legt je eten meestal in een mandje of op een rekje. Dankzij het krachtige verwarmingselement is het apparaat razendsnel op temperatuur. Omdat de binnenruimte klein is, blijft de warmte goed behouden en is je maaltijd sneller klaar dan in een gewone oven. Dit maakt het niet alleen energiezuiniger, maar ook ideaal voor snelle, krokante resultaten.

©Hazal

Krokante snacks uit de airfryer: zo lukt het wél

Natuurlijk wil je friet en snacks kunnen maken in je airfryer. Gelukkig zijn er volop diepvriesproducten speciaal ontwikkeld voor dit apparaat. Volg voor het beste resultaat de aanwijzingen op de verpakking. En: altijd voorverwarmen, ook al staat in de handleiding van je apparaat dat het niet nodig is! Zet je airfryer zo'n vier minuten op de gewenste temperatuur voordat je begint.

Leg snacks zoals kroketten niet in een koude airfryer, net zoals je ze niet in koude olie zou leggen. Controleer aan het einde van de bereiding of je snack er mooi goudbruin uitziet. Elke airfryer is net even anders, dus sommige snacks hebben iets meer tijd nodig.

Groenten met een krokant jasje? Zo doe je dat

Wil je groenten met een lekkere bite? Dan is paneren je geheime wapen. Niet met een beslagje, maar met ei en paneermeel of panko. Snijd bijvoorbeeld bloemkoolroosjes klein, meng wat bloem met specerijen naar smaak en klop een eitje los. Haal de bloemkoolroosjes eerst door het bloemmengsel, dan door het ei, en druk ze daarna stevig in de panko. Twintig minuten op 190 graden en je hebt heerlijke krokante bloemkool.

Dit trucje werkt ook goed met andere groenten zoals courgette, aubergine (in repen) of wortel. In plaats van bloem en ei kun je ook een papje maken van bloem, kruiden en water, en dat gebruiken om je paneerlaag vast te laten plakken.

©Igor Ploskin

De truc met maizena voor perfect krokante aardappels

Maak je graag verse aardappels in de airfryer? Het kan lastig zijn om die goed krokant te krijgen. Dat komt door het zetmeel in aardappels, dat per ras en seizoen verschilt. Sommige aardappels bevatten veel suikers en worden daardoor snel bruin, zelfs als ze nog niet gaar zijn.

De oplossing? Week de aardappelpartjes of -schijfjes minstens een half uur in koud water om het overtollige zetmeel te verwijderen. Dep ze daarna goed droog. Meng per 500 gram aardappel één eetlepel maizena of aardappelzetmeel door de aardappels. Spray ze licht in met olie (bijvoorbeeld met zo'n handige flacon van de supermarkt) en bak ze 25 tot 30 minuten op 180 graden in een voorverwarmde airfryer. Controleer met een mes of ze gaar zijn, en serveer meteen: ze worden tijdens het afkoelen minder knapperig.

Spray je voedsel in met olie voor het beste bakresultaat

Met een speciale verstuiver krijg je een mooi, dun laagje

Algemene tips voor het beste bakresultaat

Veel mensen gebruiken bakvormen of leggen bakpapier onder hun eten om de airfryer schoon te houden. Prima, maar let erop dat de lucht vrij moet kunnen circuleren. Sluit je de mand te veel af, dan wordt je eten ongelijkmatig gaar.

Je hebt niet veel olie nodig voor een goed resultaat, maar wel een beetje. Voorgepaneerde producten, zoals een schnitzel uit de supermarkt, worden pas echt bruin en krokant als je de buitenzijde licht insprayt met olie. Invetten met een kwastje kan ook, maar dat geeft vaak een minder gelijkmatig resultaat.

Lukt het niet ondanks alle tips? Controleer dan de temperatuur van je airfryer met een oventhermometer. Verwarm je apparaat vijf minuten voor, zet de thermometer erin, en laat hem nog vijf minuten draaien op de gewenste temperatuur. Zo zie je snel of de ingestelde temperatuur overeenkomt met de werkelijke waarde. 


▼ Volgende artikel
Bestanden bewaren zonder tussenkomst van big tech? Maak kennis met Seafile
© jahidsuniverse
Huis

Bestanden bewaren zonder tussenkomst van big tech? Maak kennis met Seafile

Er zijn veel diensten voor dataopslag en bestandssynchronisatie, maar ze hebben één ding gemeen: je data worden in de cloud opgeslagen. Vind je dit geen prettige gedachte, dan kun je je eigen server hosten, voor volledige controle over je gegevens. Met Seafile kan dit ook nog helemaal gratis.

In dit artikel laten we zien hoe je je eigen cloudopslag host met Seafile:

  • Installeer de gratis Seafile Community Edition op een Linux-server of NAS
  • Configureer gebruikersrechten, encryptie en versiebeheer voor maximale controle
  • Synchroniseer bestanden tussen je pc, smartphone en tablet met Seafile-clients
  • Deel bestanden en mappen veilig via versleutelde links en toegangsrechten
  • Optimaliseer je Seafile-server met Docker, WSL of een Raspberry Pi

Is je privacy belangrijk? Lees dan zeker ook: WhatsApp of Signal: kies je voor meer functies of voor meer privacy?

Code downloaden

In dit artikel worden voorbeelden van diverse commando’s gegeven. Omdat het overtikken van dergelijke opdrachten erg foutgevoelig is, kun je ze beter downloaden en daarna bekijken of kopiëren. Zie het bestand seacode.txt (en de standaardversie van docker-compose.yml).

Dropbox, OneDrive en Google Drive zijn populaire opslagdiensten die je vast kent. Je kunt er veel data in de cloud opslaan, gratis of tegen een kleine vergoeding. Bij Google Drive bijvoorbeeld kost 200 GB 3 euro per maand. Je hebt op elk moment en via vrijwel elk apparaat toegang, via een browser of een losse app. De meeste diensten bieden bovendien handige opties om data te delen met specifieke machtigingen.

Waarom zou je dan de moeite nemen om zelf cloudopslag- en synchronisatiesoftware te installeren en te hosten? Omdat jij dan de volledige controle over je data behoudt, zonder afhankelijk te zijn van derde partijen. Voor wie privacy belangrijk vindt, is dit een groot pluspunt. En geef toe: het opzetten van een eigen server blijft altijd een leuke uitdaging, zeker als die ook nog eens nuttig blijkt te zijn.

Lees ook: Exit-strategie: zo verlaat je Google, Microsoft, Apple of Meta

1 Waarom Seafile?

In dit artikel laten we je kennismaken met de applicatie Seafile. Dit is een platform voor cloudopslag, delen en synchronisatie, vergelijkbaar met diensten als Nextcloud, ownCloud, Syncthing en Resilio Sync.

Seafile is wellicht iets minder bekend, maar dit is niet helemaal terecht. Het is namelijk niet alleen opensource, maar je kunt het ook gratis gebruiken. Verder biedt het een robuuste client-serveropzet, met een lichte en efficiënte architectuur, waardoor het minder serverbronnen gebruikt dan de meeste andere diensten.

Seafile ondersteunt ook standaard client-side-encryptie, zodat data versleuteld worden voordat ze de server bereiken. Daarnaast biedt de server sterke toegangscontrole-opties voor nauwgezet beheer van rechten en gedeelde toegang (zij het iets minder in de gratis editie).

Seafile heeft tevens een ingebouwd versiebeheersysteem, waarmee gebruikers snel eerdere bestandsversies kunnen herstellen. Voldoende redenen, zo lijkt ons, om Seafile nader te verkennen. Voor wie koudwatervrees heeft: op https://demo.seafile.com/demo kun je veilig aan de slag met een online demo-installatie.

Wil je snel weten of Seafile handig is? Probeer dan de demo-omgeving.

2 Installatie

Seafile is te vinden op www.seafile.com. De Community Edition is volledig gratis en geschikt om zelf te hosten. Op de website vind je bij Download de desktop-synchronisatieclients voor Windows, macOS en Linux, desktop-drive-clients (zonder synchronisatie) voor dezelfde besturingssystemen, en mobiele clients voor Android en iOS/iPadOS. In de laatste paragraaf komen we nog terug op die clients, maar eerst hebben we de servermodule nodig.

Klik hiervoor bij Server for generic Linux op Server Manual en selecteer in het menu links Seafile Community Setup on Linux – niet de Professional Setup, die niet gratis is en vanaf 4 tot 9 gebruikers jaarlijks 100 dollar (ca. 95 euro) kost. Als je op het kopje Outline klikt, lees je dat er twee installatiemethodes zijn. Handmatig, waarbij je zelf de nodige modules configureert, zoals database (MariaDB), geheugencaching (memcached) en webserver (Nginx/Apache). Of deels geautomatiseerd met Docker. Deze tweede methode is handigst en wordt aanbevolen, die volgen we hier.

Seafile bevat heel wat clientmodules, maar eerst hebben we een server nodig.

3 Windows Subsysteem voor Linux

In dit artikel bekijken we een deels geautomatiseerde installatie vanuit Linux. Dat kan een aparte Linux-machine zijn, maar je kunt ook ongeveer dezelfde methode via Docker gebruiken (zie volgende paragraaf) voor de installatie op een Windows-machine. Een native Linux-omgeving heeft wel de voorkeur, omdat er voor een Windows-omgeving extra voorbereiding en andere ingrepen nodig kunnen zijn (zie ook paragraaf 9).

Zo heb je, om Seafile op Windows te draaien, het Windows Subsysteem voor Linux (WSL) nodig. Op recente Windows-edities is het installeren van WSL of WSL 2 gelukkig eenvoudig: open de Opdrachtprompt als administrator en voer de opdracht wsl --install uit. Indien nodig kun je WSL ook downloaden via de Microsoft Store. Bijwerken van een bestaande WSL-installatie kan op elk moment met de opdracht wsl --update.

Controleer voor alle zekerheid het volgende: druk op Windows-toets+R, voer optionalfeatures uit, en controleer in het venster Windows-onderdelen in- of uitschakelen dat zowel de opties Virtual Machine Platform als Windows-subsysteem voor Linux zijn aangevinkt. Bevestig met OK en herstart je systeem indien nodig.

Het Windows Subsysteem voor Linux laat zich doorgaans snel en probleemloos installeren.

Meer alternatieve installaties

Wij installeren Seafile in een Linux-omgeving en binnen Ubuntu via WSL. Je kunt de software ook op andere systemen draaien, zoals een virtuele Linux-machine (bijvoorbeeld met VirtualBox), een Raspberry Pi of een NAS. Ook in deze omgevingen kun je een Docker-image voor Seafile gebruiken.

Voor een Raspberry Pi kun je met deze commando’s al veel bereiken:

sudo apt-get update

sudo apt-get dist-upgrade

curl -SL https://get.docker.com | sh

sudo usermod -aG docker $USER

newgrp docker

docker run hello-world

Hiermee ben je klaar om ARM(64)-compatibele Docker-images op je Raspberry Pi te installeren.

Ook op een Synology NAS kun je Seafile installeren via Docker in combinatie met Portainer, een beheertool voor containerplatformen. Voor goede stap-voor-stap instructies kun je terecht op de website Mariushosting.

4 Docker-voorbereiding

We gaan ervan uit dat je de Linux-terminal hebt opgestart en commando’s kunt invoeren. In Windows met WSL volstaat het om Ubuntu op te starten via het startmenu (Ubuntu wordt namelijk standaard met WSL 2 geïnstalleerd. In Ubuntu kun je de terminal openen met Ctrl+Alt+T.

Omdat we met de Docker-container voor Seafile gaan werken, moet Docker eerst worden geïnstalleerd. Om conflicten met eventuele restanten van eerdere Docker- (of Podman-)installaties te voorkomen, voer je voor alle zekerheid het volgende commando uit:

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

Na deze opschoning voeg je de officiële GPG-sleutel van Docker toe met de volgende commando’s:

sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

Dit zorgt ervoor dat je Docker zonder problemen kunt installeren en dat de pakketbronnen correct geverifieerd worden.

Voor alle zekerheid gooi je eventuele restanten van oudere Docker-installaties eerst overboord.

5 Docker-installatie

Vervolgens voeg je de Docker-repository toe, waar de benodigde Docker-softwarepakketten en componenten worden bewaard, met deze twee commando’s:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Daarna installeer je Docker zelf met:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Om Docker-commando’s ook zonder rootrechten uit te kunnen voeren, voer je de volgende drie commando’s uit (waarbij het eerste wellicht overbodig is):

sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

Zoals gebruikelijk bij programmeurs kun je nu even de wereld gedag zeggen met:

sudo service docker start
sudo docker run hello-world

Ook zonder sudo zou dit commando nu moeten werken:

docker run hello-world

Je bent nu klaar om met Seafile aan de slag te gaan.

De melding ‘Hello from Docker’ is de bevestiging dat die software goed draait.

6 Downloaden yml-configuratiebestand

Voor het draaien van Seafile gebruik je een bestand genaamd docker-compose.yml. Zo’n bestand haalt de nodige Docker-images op, stelt omgevingsvariabelen in, koppelt volumes en netwerken, en definieert eventuele afhankelijkheden. Het zet deze onderdelen om naar containers die binnen een gedefinieerd netwerk samenwerken.

Maak eerst een submap aan (bijvoorbeeld /seafile) in je actuele gebruikersmap in Ubuntu/WSL. Gebruik hiervoor het commando mkdir seafile. Controleer de mapinhoud met de opdracht ls. Navigeer naar deze map met cd seafile en download het yml-bestand voor Seafile met het commando:

wget -O docker-compose.yml https://manual.seafile.com/11.0/docker/docker-compose/ce/11.0/docker-compose.yml

Hiermee haal je dus versie 11.0 van de Community Edition (CE) binnen.

Haal het juiste yml-bestand op en plaats het bij voorkeur in een aparte map.

7 Aanpassen yml-configuratiebestand

Het gedownloade bestand docker-compose.yml is bijna klaar voor gebruik, er zijn nog enkele aanpassingen nodig. Je past dit aan met de ingebouwde teksteditor Nano in Ubuntu (gebruik de pijltjestoetsen om te navigeren), vanuit de map /home/<gebruiker>/seafile. Gebruik dit commando:

nano docker-compose.yml

Pas bij het kopje volumes: de regel /opt/seafile-mysql/[…] aan naar de submap die je eerder hebt gemaakt: /home/<gebruikersnaam>/seafile/mysql/[…].

Met het commando whoami kun je eventueel je gebruikersnaam opvragen. De submap /mysql wordt bij het uitvoeren van het yml-bestand (zie volgende paragraaf) automatisch aangemaakt.

Pas verder bij het kopje volumes: de regel /opt/seafile-data:/shared aan naar: /home/<gebruikersnaam>/seafile/data:/shared.

Vervang het standaardwachtwoord db_dev bij MYSQL_ROOT_PASSWORD= en DB_ROOT_PASSWD= door een eigen sterk wachtwoord.

Bij het kopje ports: kun je het poortnummer wijzigen waarop de webinterface van je Seafile-server bereikbaar is (standaard is dit 80). Wil je bijvoorbeeld poort 8001 gebruiken, pas dan "80:80" aan naar "8001:80".

Wijzig TIME_ZONE=Etc/UTC in TIME_ZONE=Europe/Amsterdam (of Europe/Brussels), vul je eigen e-mailadres in achter SEAFILE_ADMIN_EMAIL= en wijzig het standaard wachtwoord ascret van de beheerder achter SEAFILE_ADMIN_PASSWORD= in een sterk wachtwoord.

Voeg de regel restart: always toe om ervoor te zorgen dat de container automatisch opnieuw start, ook bij een herstart van de host. Dit kun je bijvoorbeeld doen net voor de twee onderste regels:

networks:
  seafile-net:

Sla het bestand op met Ctrl+O, bevestig met Enter en sluit af met Ctrl+X.

Alle wijzigingen in het yml-bestand in één oogopslag binnen Nano. 

Https

In het standaard docker-compose.yml-bestand van Seafile zie je dat bij ports: de regel "443:443" is uitgeschakeld met een commentaarteken (#). Laat dit in eerste instantie zo staan. Wil je je Seafile-server ook extern bereikbaar maken, dan is het zeker aan te raden om de server via https (standaardpoort 443) te laten benaderen. Pas in dit yml-bestand de regel SEAFILE_SERVER_LETSENCRYPT=true aan (in plaats van =false) en stel bij SEAFILE_SERVER_HOSTNAME= de hostnaam (en het eventuele poortnummer) in waarmee de server via https te bereiken is. We hebben hier helaas niet de ruimte om uit te leggen hoe je een https-certificaat van bijvoorbeeld Let’s Encrypt koppelt aan de domeinnaam van je Seafile-server en wat er precies nodig is om de server via https bereikbaar te maken.

8 Seafile starten

Om het yml-configuratiebestand uit te voeren, heb je Docker Compose nodig. Dit is gelukkig al meegekomen met de Docker-installatie van paragraaf 5. Vanuit de map /home/<gebruikersnaam>/seafile voer je deze opdracht uit:

docker compose up

Je ziet nu de logs van de containers, wat handig is om foutmeldingen in dit stadium op te sporen. Ongeveer een halve minuut later verschijnt, als het goed is, onderaan de melding Seahub is started. Done.

Open een browser op dit systeem en tik het adres localhost in, of localhost:<poortnummer> als je een andere poort hebt ingesteld in het yml-configuratiebestand. Het inlogvenster van Seafile verschijnt (gebruik het e-mailadres en wachtwoord van de Seafile-admin, zoals in het yml-configuratiebestand aangegeven). Na je aanmelding verschijnt een welkomstvenster en beland je in je dashboard (zie ook paragraaf 10).

Als alles naar behoren werkt, kun je voor volgende sessies deze opdracht gebruiken om meldingen te onderdrukken en de containers op de achtergrond te laten draaien:

docker compose up -d

Met dit commando kun je op elk moment de status van de draaiende containers bekijken:

docker ps

Het grote moment: de webinterface van Seafile met inlogvenster verschijnt.

9 Extra stappen in WSL 2

We testten Seafile tevens uit in een WSL2-omgeving in Windows en stuitten daarbij op twee onverwachte problemen. De eerste foutmelding was dat het bestand docker-credential-desktop.exe niet gevonden werd. Dit konden we oplossen door het bestand config.json in de map ~/.docker leeg te maken, vermoedelijk was dit een gevolg van een eerdere Docker Desktop-installatie.

Een vervelender probleem is dat WSL 2 standaard een gevirtualiseerde netwerkadapter gebruikt die niet direct bereikbaar is vanaf andere apparaten op het thuisnetwerk. Door een poortproxy (portforwarding) in te stellen, kun je de Seafile-webserver wel vanaf andere apparaten benaderen via <LAN-ip-adres>:<poortnummer>.

Start op het systeem met de WSL2-Seafile-server de Windows Opdrachtprompt als administrator en voer het commando wsl hostname -I uit. Dit levert drie interne WSL-ip-adressen op, waarbij het eerste adres reageert op een ping-commando:

ping <eerste ip-adres>

Dit adres correspondeert met de Seafile-webserver. Met het volgende commando wordt verkeer naar de ingestelde poort op een van de fysieke netwerkinterfaces (0.0.0.0) doorgestuurd naar de poort op het interne ip-adres van de Seafile-server:

netsh interface portproxy add v4tov4 listenport=<poortnummer-fysiek> listenaddress=0.0.0.0 connectport=<poortnummer-Seafile> connectaddress=<interne IP-Seafile-server>

In ons voorbeeld werd dit:

netsh interface portproxy add v4tov4 listenport=80 listenaddress=0.0.0.0 connectport=8001 connectaddress=172.25.102.224

Hiermee was de Seafile-webserver bereikbaar via <LAN-ip-adres-Windows-pc>, bij ons: 192.168.0.164, op de standaardpoort 80.

We zetten een ‘poortproxy’ op om de WSL2-interne Seafile-server via het netwerk te kunnen bereiken.

10 Systeembeheer

Voordat we overgaan naar de synchronisatie met de clients, is het nuttig om enkele opties in het Seafile-serverdashboard te bekijken. Rechtsboven bevindt zich een profielknop waarmee je via de optie Instellingen onder meer de taal, het wachtwoord en de notificatiefrequentie kunt aanpassen. Hier vind je ook de opties Uitloggen en Systeembeheerder. Met de laatste optie open je een uitgebreid menu met systeemopties. De rubriek Statistic biedt bijvoorbeeld inzicht in opslaggebruik, gebruikers en verkeer, en maakt het genereren van rapporten mogelijk.

Het onderdeel Apparaten toont een overzicht van verbonden toestellen. Belangrijk is ook de sectie Instellingen. Hier moet je namelijk de velden SERVICE_URL en zeker ook FILE_SERVER_ROOT wijzigen van de standaard-url (http://docs.seafile.com) in die van je eigen server. In onze testopstelling was dat bijvoorbeeld respectievelijk http://192.168.0.164 en http://192.168.0.164/seafhttp (de submap /seafhttp is standaard bij gebruik van Nginx/Apache). Bevestig deze wijzigingen telkens door op het vinkje te klikken. Verder vind je hier nog opties om voorwaarden voor nieuwe gebruikers in te stellen, zoals wachtwoordvereisten of een activatiemail.

In de rubriek Gebruikers beheer je eenvoudig gebruikers, inclusief importeren en exporteren van gegevens van en naar Excel. Bij Groepen kun je gebruikersgroepen en de bijbehorende bibliotheken beheren.

We raden je aan om alle rubrieken en opties een keer zorgvuldig door te nemen.

Vergeet niet om de url’s op die van je eigen Seafile-server af te stemmen.

Ook interessant: Weg van big tech, dit is het fediverse 

11 Databeheer

Bij Seafile draait alles om data, waarbij bibliotheken het centrale concept vormen. Klik linksboven op het logo om naar je dashboard te gaan en open Mijn bibliotheken. Met de knop Nieuwe Bibliotheek maak je eenvoudig extra bibliotheken aan en kun je door een vinkje bij Versleutel de toegang beveiligen met een wachtwoord. Bovenaan kun je via Upload en Nieuw bestanden toevoegen aan een geopende bibliotheek. Geselecteerde bestanden kun je kopiëren, verplaatsen, verwijderen en naar je systeem downloaden.

Als je met de muis over een bibliotheek, map of bestand beweegt, verschijnen enkele pictogrammen. Naast Downloaden en Verwijderen zie je het pictogram Meer handelingen voor een extra optiemenu. Bij Bestanden biedt dit menu onder meer Tags (labels toevoegen om data sneller te herkennen), Openen via programma (je kiest zelf de gewenste applicatie voor dat bestandstype) en Geschiedenis. Deze laatste optie geeft toegang tot versiebeheer, zodat je oudere versies kunt terughalen via Downloaden. De opties Tags en Geschiedenis vind je trouwens ook op bibliotheekniveau, via knopjes rechts boven de bibliotheekinhoud.

Seafile biedt ook een krachtig versiebeheer aan.

12 Delen

In de sectie Bibliotheken vind je bovenaan en bij een geselecteerd item de optie Delen. Kies je het pictogram Delen naast een geselecteerd bestand, dan verschijnt een venster met de opties Deellink en Interne link.

We richten ons hier op de eerste optie (Interne link is alleen voor gebruikers met specifieke leesrechten). Klik op Generate Link of op Generate links in batch voor meerdere links tegelijk. Na het klikken op Genereer verschijnen twee links: één waarmee de gebruiker een bestand kan previewen (indien beschikbaar) en dan beslissen om te downloaden, en één voor een directe download. Beide links bieden een QR-code. Je kunt ook een wachtwoord instellen (via Wachtwoord beveiliging toevoegen) en een vervaldatum voor je link meegeven (via Voeg automatische vervaldatum toe).

Als je Delen kiest op bibliotheekniveau, heb je extra opties: Upload Link (voor gebruikers om bestanden in je bibliotheek te uploaden), Delen met gebruiker en Delen met een groep, waarbij je telkens machtigingen instelt op Alleen lezen of Lezen/schrijven. In je dashboard vind je linksonder de optie Delen beheer, waarmee je gedeelde bibliotheken, mappen en links nog sneller kunt beheren.

Gedeelde links, inclusief QR-code.

13 Clients

Een Seafile-server is pas nuttig als je over clients beschikt die daarmee kunnen samenwerken. Seafile biedt hiervoor verschillende apps, zowel desktop als mobiel, voor diverse besturingssystemen. We richten ons hier op de Windows-client, maar de werking van de verschillende clients is vergelijkbaar.

Start na installatie de app en kies een lokale hoofdmap voor je bewaren van je Seafile-bibliotheken. Meld je aan bij de Seafile-server met hostnaam of ip-adres, e-mail, wachtwoord en computernaam. Na het inloggen verschijnen de bibliotheken. Klik op Ja om de standaardbibliotheek direct te downloaden.

In het appvenster kun je via het contextmenu van een bibliotheek de optie Synchroniseer deze bibliotheek selecteren om de inhoud met je desktop te synchroniseren. Je kunt hiervoor ook een alternatieve map kiezen. Klik met rechts op de gesynchroniseerde bibliotheek voor opties als Set sync Interval en Uitschakelen auto sync.

Je kunt zo’n bibliotheek nu ook lokaal openen om bestanden en mappen toe te voegen of te verwijderen. De gewijzigde data worden daarna gesynchroniseerd met de cloud, zoals jij hebt ingesteld. Via het tandwielpictogram pas je nog allerlei andere instellingen aan, zoals eventuele download- en uploadlimieten, notificaties en taal.

Je bepaalt zelf of en hoe vaak je data worden gesynchroniseerd.