Ik woon niet heel groot, maar toch ben ik een beetje huiverig voor het onderbrengen van mijn bezittingen bij een opslagbedrijf als Boxx of Shurgard. Je weet toch niet zeker wie er allemaal toegang heeft kan en of de inbraakbeveiliging wel in orde is. Bij internetdiensten voelt dat minder gek: we slaan allemaal onze data op bij bedrijven als Dropbox, Google en Evernote. Toch hebben we ook dan weinig invloed op wat er met onze data gebeurt; we moeten er maar op vertrouwen dat er geen gekke dingen gebeuren.

Daarom ben ik al een tijdje aan het experimenteren met zoveel mogelijk dingen zélf hosten. Hierbij een overzicht van mijn positieve en negatieve ervaringen. Aanvullingen en tips zijn welkom, via Twitter of mail.

Je eigen Dropbox maken met Nextcloud en Owncloud

Je hoeft je data niet onder te brengen bij een dienst als Google Drive of Dropbox; er zijn opensource-alternatieven als Nextcloud en Owncloud. Voor beide is een webserver met PHP en MySQL vereist. Ik gebruikte daarvoor een fysiek homeservertje met Ubuntu 16.04 en Apache.

  • Nextcloud is een fork van Owncloud en ziet er iets hipper uit. Ook zijn een aantal features waarvoor je bij Owncloud moet betalen standaard aanwezig in Nextcloud.

  • Owncloud bestaat al langer. Veel developers hebben Owncloud verlaten voor Nextcloud; het is nog te vroeg om te zeggen wat de gevolgen daarvan zijn. Afgelopen week kwam er nog wel een nieuwe versie uit. De gratis Dropbox-kloon Stack van TransIP draait overigens ook op Owncloud.

Nextcloud

Zowel Nextcloud als Owncloud bieden niet alleen de mogelijkheid om bestanden te synchroniseren op dezelfde manier als Dropbox, maar hebben ook apps die je kunt installeren. Zo kun je een todo-app downloaden, maar ook een agenda-app of een contactpersonen-app en is er een soort Evernote-kloon.

Ik heb Nextcloud vier maanden gebruikt, maar het is het toch nét niet. De synchronisatie van bestanden werkt zonder problemen (behalve met hele grote bestanden, maar dat kan aan de configuratie van mijn webserver liggen), maar de optionele apps voor bijvoorbeeld je agenda en je takenlijst zijn beduidend minder goed dan Google Calendar of Todoist.

Inmiddels ben ik dan ook weer met enige tegenzin terug bij Dropbox, Evernote en Todoist. Ook omdat ik huiverig was voor beveiligingsproblemen: je bent zelf verantwoordelijk voor het updaten van je Nextcloud-installatie - dat kan voor zover ik heb gezien niet automatisch. Dat levert altijd het risico op dat je te laat bent met patchen en een bekend beveiligingsprobleem wordt gebruikt om in te breken.

Mocht je het wel aandurven, dan zou ik sowieso aanraden om serverside-enryptie aan te zetten en gevoelige bestanden nog eens extra te versleutelen via Boxcryptor of Cryptomator.

Je eigen RSS-reader hosten

Ik ben vast niet de enige die nog terugverlangt naar Google Reader. Een self-hosted alternatief dat even goed is als Google Reader heb ik nog niet gevonden, maar twee programmaatjes komen in de buurt.

Miniflux

  • Tiny Tiny RSS lijkt qua uiterlijk op Google Reader en Feedly. Grote minpunt is het gebrek aan goede apps voor iOS en Android. Vereist PHP en MySQL of PostgreSQL.

  • Miniflux is wat simpeler: alle artikelen staan in één lange lijst, al kun je ze wel filteren op categorie. Miniflux integreert met de Fever-api, die onder andere wordt ondersteund door de populaire rss-app Reeder voor iOS en OS X. Miniflux gebruik ik nu naar volle tevredenheid. Vereist PHP en een SQLite-extensie op je webserver óf een PostgreSQL-database. Er is ook een hosted-versie.

Je eigen weblog of portfolio hosten met Jekyll

Ik heb het gevoel dat shared webhosting (waarbij je webruimte huurt, maar een webserver deelt met anderen) op zijn retour is. Maar veel mensen gebruiken wel Medium, Wordpress.com of Tumblr om hun zielenroerselen te delen met de wereld, of betalen voor diensten als Wix.com, Squarespace of Weebly voor een portfoliowebsite.

Daar is verder niet zoveel mis mee, maar een groot voordeel van het heft in eigen handen nemen is dat je veel makkelijker je biezen kunt pakken en ergens anders kunt neerstrijken. Zelf heb vroeger ook nog wel de self-hosted-variant van Wordpress gebruikt, maar inmiddels gebruik ik Jekyll, na een tip van Koen Rouwhorst.

In tegenstelling tot bij Wordpress hoef je je als Jekyll-gebruiker geen zorgen te maken over caching: Jekyll is in feite een script dat Markdown- of Textile-bestanden met een bepaald template omzet naar een statische website. Daardoor hoef je je ook geen zorgen te maken over het updaten van je installatie om aanvallers buiten te laten; Jekyll heeft geen software die toegankelijk is vanaf de webserver.

Het nadeel is dan ook dat er geen Wysiwyg-editor is. Je zult Markdown of Textile moeten leren, mocht je een van die die opmaaktalen nog niet onder de knie hebben. Ook is Jekyll niet geschikt voor meerdere gebruikers, maar voor een persoonlijke website voldoet het.

Je eigen GIT-server hosten

Om je bestanden op je website te krijgen kun je - zoals ik heel lang deed - alles handmatig uploaden via ftp, maar het is makkelijker om een versiebeheersysteem als Git te gebruiken. Dan kun je ervoor kiezen om je bestanden te synchroniseren met een dienst als Github, maar het is eigenlijk relatief simpel om je eigen Git-server te hosten.

Het enige dat je daarvoor nodig hebt is Git en SSH. Een eenvoudige Git-server is eigenlijk niets anders dan een Git-installatie die via SSH toegankelijk is. Daarbij moet je als je ‘git init’ uitvoert niet vergeten om de optie ‘–bare’ toe te voegen.

Een belangrijk voordeel van een eigen Git-server is dat je meer hooks kunt gebruiken, waarbij een handeling in een Git-repository een bepaald script kan triggeren. Github biedt ook hooks aan, maar op je eigen server heb je meer mogelijkheden. Zo zorg ik ervoor dat mijn Jekyll-installatie automatisch een nieuwe versie genereert als ik mijn website aanpas en de repository bijwerk.

Het is wel even knoeien, zeker als je Git nog niet zo goed onder de knie hebt (been there). Ik had veel aan deze drie handleidingen, van Linux.com, DigitalOcean en OpenSource.com.

VPS of je meterkast?

Helemáál alles zelf doen kan natuurlijk niet. Je bent nog steeds afhankelijk van je internetprovider, als je besluit om alles te draaien op een server in je woonkamer of meterkast, of van een vps-provider. (Een vps is een virtuele server die je kunt huren).

Zelf draaide ik Nextcloud op een server in mijn woonkamer, omdat ik het een fijne gedachte vindt om te kunnen zien waar mijn bestanden heengaan. Maar mijn website en Miniflux-installatie heb ik wel ondergebracht bij een vps-provider, zodat ik mijn server niet altijd aan hoef te laten. Ook zijn de verbindingen van een vps-provider, als je zelf tenminste geen glasvezel hebt, een stuk sneller.

Ik heb goede ervaringen met TransIP, DigitalOcean en recenter Scaleway. Scaleway is wat meer een budgetprovider - ik betaal drie euro per maand voor een VPS die bij DigitalOcean tien euro per maand zou kosten. Misschien dat dat ten koste gaat van de kwaliteit: de latency is in mijn ervaring wel drie keer zo hoog. Maar zolang je er geen miljoenenwebsite of kritieke infrastructuur onderbrengt, is dat te overleven.

Misc.

  • Backups instellen. Als je zelf je bestanden host, zul je er ook voor moeten zorgen dat ze veilig blijven bij hardware-falen of een brand. Zeker als je een fysieke server in eigen beheer gebruikt (vps’jes zou je nog via je webhoster kunnen back-uppen). Hier een goede handleiding om dat versleuteld en relatief goedkoop te doen, via Amazon Web Services.

  • Zelf je eigen mailserver draaien. Hier ben ik niet aan begonnen; is redelijk hardcore. Hier desalniettemin een handleiding. Of kijk naar Mail-in-a-Box.

  • Als je geen eigen mailserver wil draaien (zoals ik) is het wel een goed idee om een eigen domeinnaam te nemen en daar je mail op te hosten. Dat maakt het een stuk makkelijker om over te stappen naar een andere maildienst, omdat je je e-mailadres kunt meenemen. Zo stapte ik onlangs zonder veel moeite over van Google Apps naar Fastmail, een Australische emailprovider die me door meerdere kennissen met verstand van privacy is aangeraden.

Verder lezen

  • Hier een lijst met self-hosted-alternatieven voor allerlei doeleinden.