ID.nl logo
Aan de slag met Google Docs-alternatief Nextcloud 15
© Reshift Digital
Huis

Aan de slag met Google Docs-alternatief Nextcloud 15

Nextcloud is begonnen als pure cloudopslagdienst op je eigen server, maar ondertussen doet het opensource-programma al veel meer. Als je geen voorstander bent van clouddiensten zoals Dropbox, Google Docs en Office 365, dan heeft Nextcloud sinds versie 15 heel wat te bieden. Je kunt samen met anderen aan officedocumenten werken met videogesprekken en chats ernaast, geüploade documenten naar pdf omzetten en automatisch scripts uitvoeren. In dit artikel gaan we met Nextcloud aan de slag.

De eerste versies van ownCloud, de voorloper van Nextcloud, focusten vooral op de implementatie van online opslag en bestandssynchronisatie op je eigen server. Het was dus opgezet als een opensource alternatief voor Dropbox. Maar in de recentste versies, zeker sinds Nextcloud zich afsplitste van ownCloud, is de nadruk meer en meer komen te liggen op samenwerken aan documenten. Door de integratie met Collabora Online kun je documenten op je Nextcloud-server met meerdere personen tegelijk bekijken én bewerken, en daarnaast met de anderen chatten en videobellen. En ook een privé sociaal netwerk behoort tot de mogelijkheden. Kortom, je hebt een eigen Google Docs of Office 365 op je server draaien, zonder dat je je gegevens aan een andere partij hoeft prijs te geven.

©PXimport

01 Alleen in je thuisnetwerk?

Allereerst dien je na te denken of je Nextcloud puur in je thuisnetwerk wilt gebruiken of ook online bereikbaar wilt maken. In het tweede geval dien je in extra beveiliging te voorzien, een certificaat zodat je website via https bereikbaar is, en afhankelijk van of je Nextcloud bij je thuis installeert of op een vps (virtual private server) dien je misschien ook nog een dynamische dns en port forwarding in je router te schakelen. In de rest van dit artikel gaan we uit van een installatie op een vps die van buitenaf bereikbaar is en gekoppeld is aan een domeinnaam.

02 Veel installatiemogelijkheden

De installatie van Nextcloud staat vrij goed uitgelegd in de online documentatie. Er zijn verschillende installatiemogelijkheden. Als je al een webserver hebt draaien, kun je het archiefbestand van Nextcloud in je /var/www uitpakken. Nextcloud zit ook in de repositories van de meeste Linux-distributies. En je kunt het ook als virtuele machine of Docker-image draaien. Nextcloud heeft ook een officiële snap. In Ubuntu installeer je het dan ook eenvoudig met sudo snap install nextcloud. Voor Collabora Online biedt Nextcloud een Docker-container aan met bijbehorende instructies voor de integratie met Nextcloud. De officiële instructies gebruiken de webserver Apache, maar er staat ook een link die nginx gebruikt.

©PXimport

03 Nextcloud installeren

Elke installatiemogelijkheid heeft zijn voor- en nadelen, maar het zou te ver leiden dat hier uit te diepen. In dit artikel gaan we Nextcloud en Collabora Online samen met de webserver Apache installeren, op dezelfde server en zonder Docker of een snap. We doen dat op een vps met Debian Stretch (9). Alle hierna volgende opdrachten voer je als de gebruiker root uit.

Eerst dien je een repository met Nextcloud toe te voegen:

echo "deb http://apt.jurisic.org/debian/stretch main contrib non-free" >> /etc/apt/sources.list.d/jurisic.listwget -q http://apt.jurisic.org/Release.key -O- | apt-key add -

Update daarna de pakketlijsten en installeer Nextcloud inclusief Apache:

apt updateapt install nextcloud-server

04 Let’s Encrypt installeren

We hebben ook nog de client van Let’s Encrypt nodig voor websitecertificaten. Installeer eerst enkele benodigde pakketten om de repository stretch-backports veilig toe te voegen:

apt install apt-transport-https ca-certificates

Voeg dan de repository met backports (nieuwere versies van pakketten) toe:

echo "deb https://deb.debian.org/debian stretch-backports main" >> /etc/apt/sources.list

Update dan de pakketlijsten en installeer certbot, de officiële client van Let’s Encrypt, uit de zojuist toegevoegde repository:

apt updateapt install certbot python-certbot-apache -t stretch-backports

Voer nu certbot uit en voer je domeinnaam in. Het programma vraagt een websitecertificaat aan bij Let’s Encrypt, en daarna kun je https://jedomeinnaam/nextcloud bezoeken.

©PXimport

05 Eerste configuratie

Als alles goed is, zie je nu een aanmeldvenster waar je gevraagd wordt om een beheerdersaccount aan te maken. Kies een gebruikersnaam en wachtwoord en klik op Installatie afronden. Je krijgt nu een welkomstintroductie van de mogelijkheden te zien, en daarna kom je in het hoofdvenster met enkele standaard al geïnstalleerde bestanden. Kijk hier even rond en probeer of alles werkt. Bestanden uploaden doe je op het plusteken te klikken en voor de rest navigeer je eenvoudig door alle mappen. De instellingen vind je onder het icoontje helemaal bovenaan rechts. Doorloop die ook zeker eens en voeg bijvoorbeeld je e-mailadres toe aan je profiel, wat nuttig is voor wachtwoordherstel en notificaties, en vul een e-mailserver in om je notificaties te sturen.

©PXimport

06 Collabora Online installeren

Je hebt nu Nextcloud op je server draaien, maar nog geen Collabora Online. Voeg daarvoor eerst weer een andere repository toe:

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0C54D189F4BA284Decho 'deb https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-debian9 ./' >> /etc/apt/sources.list.d/collabora.list

Update de pakketlijsten dan nog eens en installeer Collabora Online:

apt updateapt install loolwsd code-brand

07 Collabora Online configureren

Dan is er nu nog wat configuratie nodig om Nextcloud met Collabora Online te laten communiceren. Open het configuratiebestand van Collabora Online met:

nano /etc/loolwsd/loolwsd.xml

Zoek naar de sectie <storage desc="Backend storage"> en voeg daarin bij de andere host-regels de volgende regel toe:

<host desc="Allowed hostname" allow="true">nextcloud\.example\.com</host>

Uiteraard vul je daarin het domein van je Nextcloud-server in. Vergeet niet voor elke punt een backslash te plaatsen. Sla het bestand op met Ctrl+O en sluit nano af met Ctrl+X. Herstart daarna Collabora Online:

systemctl restart loolwsd

Volg daarna de instructies vanaf 2. Install the Apache reverse proxy en zet de code voor de VirtualHost in het bestand /etc/apache2/sites-available/001-domeinvanjecollabora-le-ssl.conf, maar verwijder de regels die naar de nog nietbestaande paden verwijzen. We volgen de goede raad van de instructies om een afzonderlijk subdomein te gebruiken voor je Collabora Online. Schakel daarna de website in:

a2ensite 001-domeinvanjecollabora-le-ssl

©PXimport

08 Certificaat voor Collabora Online

Voer nu certbot uit om een certificaat voor het domein aan te vragen en de juiste bestanden in je VirtualHost-bestand te plaatsen:

certbot --apache -d domeinvanjecollabora

Herstart daarna Apache:

systemctl restart apache2

Kopieer nu de bestanden cert.pem en privkey.pem van je Let’s Encrypt-certificaat voor het domein van je Collabora (in /etc/letsencrypt/live/domeinvanjecollabora) naar /etc/loolwsd/cert.pem respectievelijk /etc/loolwsd/key.pem en kopieer ook /etc/ssl/certs/ca-certificates.crt naar /etc/loolwsd/ca-chain.cert.pem. Herstart daarna loolwsd nog eens. Als er iets niet werkt, bekijk dan of je foutmeldingen in het logbestand ziet:

journalctl -u loolwsd

©PXimport

09 Collabora Online met Nextcloud koppelen

Collabora Online draait nu onder zijn eigen subdomein. Je dient nu in Nextcloud de bijbehorende app te installeren en te configureren om Nextcloud aan Collabora Online te koppelen.

Klik bovenaan rechts op het tandwiel en kies dan Apps. Klik links op de sectie Office & tekst en klik dan bij Collabora Online op Downloadeneninschakelen. Bevestig met je beheerderswachtwoord. Klik dan weer op het tandwiel bovenaan rechts, daarna op Instellingen en dan op Collabora Online. Vul hier de url in van je Collabora Online-server, te beginnen met https:// en daarna het domein dat je hiervoor gekozen hebt, zonder poortnummer.

©PXimport

10 Documenten openen en bewerken

Als je nu naar je bestanden in Nextcloud gaat en op een office-document klikt (bijvoorbeeld het voorbeelddocument About.odt in de map Documents), dan krijg je het document in een LibreOffice-achtige tekstverwerker in je webbrowser te zien. De gelijkenis met LibreOffice is niet toevallig: Collabora Online is feitelijk een webversie van LibreOffice.

Je kunt deze documenten nu ook in je webbrowser bewerken. Je hebt een groot deel van de mogelijkheden van LibreOffice tot je beschikking. Probeer maar eens wat uit en kijk in de menu’s maar eens wat de mogelijkheden zijn. In het menu Bewerken / Wijzigingen bijhouden / Bijhouden kun je ook de optie inschakelen om je wijzigingen te registreren als je met iemand aan een document wilt samenwerken en je opmerkingen op de tekst wilt tonen. Het document sluiten om terug te keren naar de hoofdpagina van Nextcloud doe je door op het kruisje rechts bovenaan te klikken.

©PXimport

11 Bestanden delen met anderen

Je kunt nu ook met meerdere gebruikers samenwerken aan documenten op je Nextcloud-server. Maak eerst gebruikers aan door op het icoontje bovenaan rechts te klikken en dan Gebruikers te kiezen. Klik links op Nieuwe gebruiker, voer de nodige gegevens in en klik dan op de blauwe knop met het vinkje rechts. Bevestig de actie door je beheerderswachtwoord in te voeren.

Als je nu met een andere gebruiker op je server wilt samenwerken aan een document, deel je eerst dat document met hem of haar. Ga daarvoor in de web-interface van Nextcloud naar de map waarin je document staat en klik op het delen-icoontje rechts van je document. Vul in het tekstveld daar de gebruiker in, na enkele letters vult Nextcloud de gebruikersnaam al aan. Klik erop om het document met de gebruiker te delen. Standaard krijgt de andere gebruiker de mogelijkheid om het bestand te bewerken.

©PXimport

12 Samenwerken met anderen

De andere gebruiker krijgt in zijn hoofdmap van Nextcloud nu je gedeelde bestand te zien. En als hij links op Shares klikt, krijgt hij alle met hem of door hem gedeelde bestanden te zien. Als hij nu op het bestand klikt, kan hij het net zoals jij bewerken. En als jullie tegelijk het document aan het bewerken zijn, zien jullie realtime elkaars aanpassingen.

Als je op een zeker moment wilt terugkeren naar een eerdere versie van het document omdat je het niet eens bent met de aanpassingen van de anderen, dan kan dat heel eenvoudig in het menu Bestand / Bekijk de wijzigingsgeschiedenis. Daar kun je alle versies eenvoudig bekijken en met een klik op het ronde pijltje herstellen.

©PXimport

13 Videobellen

Je kunt ook met anderen videobellen via je Nextcloud-server, volledig in je webbrowser via WebRTC, zonder dat een van jullie beiden daarvoor nog specifieke software dient te installeren. Zoek daarvoor in de categorie Sociaal & communicatie van de Nextcloud-apps naar de app Talk en installeer die. Daarna vind je de app bovenaan links onder het icoontje van de cirkel met het kleine streepje. Je kunt daar een groepsgesprek, openbaar gesprek of een gesprek met een specifieke gebruiker starten. De andere gebruiker krijgt dan in Nextcloud een melding dat je hem uitgenodigd hebt voor een gesprek. Klikt hij daarop, dan ziet hij de deelnemers.

Op het moment dat jullie allebei klaar zijn, klik je op Begin gesprek. Je webbrowser vraagt je om toegang tot de microfoon en camera toe te staan. En daarna kun je videobellen. In het miniatuurvenster waar je het beeld van jezelf ziet, kun je ook je scherm delen als je op het meest rechtse icoontje klikt (op Chrome krijg je dan de melding dat je nog een extensie dient te installeren). Je kunt ook op elk moment het geluid dempen of de video uitschakelen.

Het wordt nog leuker als je tijdens het samen bewerken van een document kunt bellen. Ook dat is mogelijk. Klik als je een document geopend hebt in Collabora Online op het menu Bestand / Delen…, waarna er rechts een zijbalk opent. Klik daarin op Chat en dan op Begin gesprek. Als de ander dat ook doet, krijg je nu in de zijbalk video te zien en kun je met elkaar jullie document bespreken. Overigens kun je ook gewoon chatten door in het tekstveld onderaan berichten in te typen. Ondertussen kunnen jullie gewoon het document blijven bewerken.

©PXimport

14 Bestanden taggen

Om wat meer orde in je bestanden te brengen, kun je ze taggen. Tags toevoegen aan bestanden is eenvoudig. Klik op de drie bolletjes naast een bestand, kies Details en klik op Markering. Er verschijnt dan een tekstveld waarin je tags kunt typen. Al bestaande tags worden automatisch aangevuld. Meerdere tags voeg je toe door na elke tag op Enter te drukken. Let op: de tags worden gedeeld door alle gebruikers op de Nextcloud-server. Zet dus geen gevoelige of delicate informatie in je tags.

15 Automatisch documenten taggen

Al je bestanden handmatig taggen is wat omslachtig. Gelukkig heeft Nextcloud ook een app die dat automatisch kan doen volgens vooraf ingestelde regels. Open het scherm met apps en zoek in het zoekveld bovenaan naar de app Files automated tagging. Na de installatie stel je regels in onder Instellingen / Workflows.

Klik daar onder Automatisch tagging op Groepsrol toevoegen. Geef je regelset in het eerste tekstveld een naam (bijvoorbeeld Tekstdocument odt) en in het tekstveld erna een tag (bijvoorbeeld text). Die tag moet wel al bestaan (en die kun je daarboven aanmaken).

Klik daarna op Voeg rol toe. Vul dan als regel in: Mimetype bestand isapplication/vnd.oasis.opendocument.text. Klik op Opslaan. Als je daarna een odt-bestand uploadt, zul je zien dat het automatisch de tag text krijgt. Maak nu nieuwe regelsets aan voor doc-bestanden en andere bestandstypes waaraan je de tag text automatisch wilt toekennen.

©PXimport

16 Automatisch naar pdf converteren

Nu je documenten automatisch tags toegekend krijgen, kun je ze ook automatisch naar pdf laten omzetten. Installeer daarvoor de app Automated PDF conversion. De app configureren doe je daarna in Instellingen / Document naar PDF converter.

Je maakt daar weer een regelset aan. Geef die een naam en kies een modus (het origineel bewaren of verwijderen, bestaande pdf’s bewaren of verwijderen). Als je het originele tekstbestand bijvoorbeeld wilt bewaren maar bij elke nieuwe versie een pdf van de nieuwste versie wilt maken die de vorige pdf’s overschrijft, kies je Bewaar origineel, overschrijf bestaande PDF’s. Klik dan op Voeg rol toe en vul als regel Bestandssysteem markering is gemarkeerd met text in. Klik tot slot op Opslaan.

Deze app heeft LibreOffice nodig om documenten naar pdf om te zetten, en helaas werkt die nog niet samen met de webgebaseerde LibreOffice-versie in Collabora Online. Als je documenten automatisch naar pdf wilt omzetten, zit er voorlopig dus niets anders op dan LibreOffice extra op je server te installeren, wat zo’n 500 MB schijfruimte kost:

apt install libreoffice

De ontwikkelaars werken er wel aan om in de toekomst Collabora Online te gebruiken voor de conversie als je dat al geïnstalleerd hebt, zodat je geen dubbele LibreOffice-installatie meer nodig hebt.

Je dient nu ook nog aan de app te zeggen waar LibreOffice zich bevindt. Dat doe je door op de terminal van je Linux-server het configuratiebestand van Nextcloud te openen:

nano /var/www/nextcloud/config/config.php

En voeg daar in de lijst met configuratie-opties de volgende regel toe:

'preview_libreoffice_path' => '/usr/bin/libreoffice',

Elke keer dat je nu een document met de tag text uploadt of opslaat, maakt Nextcloud er automatisch een pdf-versie van aan. Overigens kun je met de app Workflow external scripts je eigen scripts opstarten bij elke upload of wijziging van bestanden. Dat maakt de mogelijkheden onbegrensd!

©PXimport

▼ Volgende artikel
Derde The Last of Us-seizoen is mogelijk de laatste
Huis

Derde The Last of Us-seizoen is mogelijk de laatste

De baas van HBO Max lijkt te suggereren dat het aankomende derde seizoen van de serie The Last of Us de laatste wordt.

In een interview met Deadline werd HBO-baas Casey Bloys gevraagd naar de mogelijkheid dat het derde seizoen van de live-action verfilming van de gamereeks de laatste wordt. Daarop antwoordde hij dat "het er wel op lijkt". Hij voegde echter wel toe dat de showrunners dit uiteindelijk beslissen.

Mogelijk toch een vierde seizoen?

Eerder suggereerde showrunner Craig Mazin al dat de serie mogelijk vier seizoenen zou tellen, en dat er geen manier was om het verhaal uit de tweede game in een derde seizoen te concluderen. Het is niet duidelijk of dat nog steeds het geval is, of dat de plannen misschien zijn gewijzigd.

Wel heeft Mazin altijd gezegd dat hij alleen het verhaal uit de games zou verfilmen, en dat er niet meer bij verzonnen zou worden om de serie langer te laten lopen. Het eerste seizoen van de serie behandelt de gebeurtenissen uit de eerste game, en het vorig jaar verschenen tweede seizoen een gedeelte van de gebeurtenissen uit de tweede game.

Over The Last of Us

De The Last of Us-reeks draait om een wereld waarin een schimmel zich via mensen verspreid, en waardoor de geïnfecteerde mensen zich als een soort gewelddadige zombies op nog gezonde mensen storten. In deze wereld volgen gamers en kijkers Joel, een man die zijn kind heeft verloren en het meisje Ellie door de Verenigde Staten moet vervoeren.

Fans hopen al geruime tijd dat ontwikkelaar Naughty Dog een derde game binnen de reeks maakt, maar dat is vooralsnog niet bevestigd. Wel was er een multiplayergame gesitueerd in de The Last of Us-wereld in ontwikkeling, maar die game werd geannuleerd.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.

▼ Volgende artikel
Docker op je NAS: zo draai je Plex, Home Assistant en meer
© Andrii - stock.adobe.com
Huis

Docker op je NAS: zo draai je Plex, Home Assistant en meer

Een NAS is voor de meeste gebruikers veel meer dan een netwerkschijf. Je kunt er eenvoudig extra toepassingen op draaien, bijvoorbeeld voor extra back-upmogelijkheden, productiviteit, multimedia en thuisautomatisering. Daarvoor is het vaak ook krachtig genoeg. Toepassingen kunnen bovendien bestanden op je NAS benutten. De makkelijkste manier om toepassingen te installeren en beheren is via Docker. We laten zien hoe je hiermee werkt op een NAS van Synology of QNAP.

In dit artikel

Je leest hoe Docker op een NAS werkt en waar je op moet letten bij Synology en QNAP. Je ziet hoe je images binnenhaalt, containers opzet en opslag goed regelt met bind mounts en volumes, zodat configuratie en data netjes op je NAS blijven staan. Ook leggen we uit hoe poortkoppelingen werken, wanneer Docker Compose handiger is dan losse containers en hoe je met Portainer het beheer overzichtelijker maakt.

Lees ook: Bouw je eigen dashboard met Homepage: al je webapplicaties overzichtelijk op één plek

Je hebt meestal geen zware server nodig voor toepassingen als Plex, Jellyfin, SABnzbd of Home Assistant. Een NAS is meestal krachtig genoeg. Soms is hooguit wat extra geheugen wenselijk. Zo heb je behalve je opslag ook al je toepassingen centraal. Mis je softwareopties op je NAS, bijvoorbeeld voor back-up of synchronisatie, dan is dat óók eenvoudig op te lossen met extra software. Maar hoe installeer je zulke toepassingen? Soms kun je een pakket installeren, bijvoorbeeld van SynoCommunity. Maar je moet dan precies de juiste variant vinden en er kunnen afhankelijkheden zijn, zoals php of Apache. Met Docker ben je veel flexibeler. Toepassingen zijn niet meer afhankelijk van de inrichting van je NAS en worden bovendien sneller bijgewerkt. Maar hoe werk je hier in de praktijk mee op een NAS? In dit artikel laten we dat zien. We beginnen met algemene uitleg over het werken met Docker op een NAS. Daarna behandelen we het downloaden van images en het maken en configureren van containers. We richten ons daarbij voornamelijk op Synology en QNAP. Heb je een NAS van een ander merk, dan zul je merken dat veel principes hetzelfde zijn. Bij het merk Ugreen lijkt de software bovendien sterk op die van Synology.

Containers of virtuele machines

Bij Docker draait een toepassing in een lichte en geïsoleerde container. De image, het uitgangspunt van een container, bevat alles wat de toepassing nodig heeft. Gegevens worden buiten de container opgeslagen, bijvoorbeeld in een gedeelde map op de NAS zelf. Een update is eenvoudig: je herbouwt gewoon de container op basis van een nieuwe image. Er zijn ook alternatieven, zowel bij QNAP als Synology. Zo kun je met virtuele machines werken, via Virtual Machine Manager (Synology) of Virtualization Station (QNAP). Maar in zo'n virtuele machine moet je een heel besturingssysteem installeren. Daar is een NAS niet altijd krachtig genoeg voor. Iets praktischer zijn de lichtgewicht Linux-containers die je bij QNAP kunt opzetten, maar dat vraagt meer technische kennis. Gevorderde gebruikers kunnen daarnaast bij QNAP vaak Kubernetes inzetten voor containerbeheer. Dat biedt veel mogelijkheden voor schaalbare omgevingen, maar is voor de meeste thuistoepassingen onnodig complex. Om snel een toepassing op je NAS te installeren, is Docker vrijwel ongeslagen.

Wat heb je nodig?

Niet alle modellen van Synology en QNAP ondersteunen Docker. Synology vereist een model met x86-cpu van Intel of AMD. Bij ARM-modellen kun je het soms via een omweg installeren, maar dat is niet officieel en ook niet zonder risico's. Verder hangt het van het model af. Vooral de Plus-series (zoals de DS224+ en DS923+) en hogere modellen ondersteunen Docker. Je kunt het eenvoudig controleren door in Synology Package Center te zoeken naar Container Manager (DSM 7.2 of hoger) of (als je een oudere DSM-versie hebt) naar Docker. Bij QNAP is de toepassing, onder de naam Container Station, beschikbaar via App Center. Het is geschikt voor de meeste niet al te oude modellen. Zowel bij Synology als QNAP is 2 GB werkgeheugen aanbevolen, maar we raden minimaal 4 GB RAM aan. Voor dit artikel gebruiken we een wat oudere Synology DS918+ en QNAP TS-453Be. Beide komen nog goed mee en beschikken over recente software.

Container Manager kun je vinden in Synology Package Center.

Opslag bij Docker

Belangrijke gegevens zoals configuratiebestanden, databases en cachebestanden worden in principe buiten een container bewaard. Dat kan op twee manieren. Normaal zal Docker voor de paden in de container die persistent moeten zijn een anoniem volume gebruiken. Dat krijgt een lange hash als naam. Je kunt ook zelf een naam toewijzen. We noemen dat dan een named volume. Die kun je makkelijker herkennen of hergebruiken in andere containers. De tweede optie is een zogeheten bind mount. Je koppelt dan de persistente paden in de container aan mappen op de host (het systeem waarop Docker draait), zoals je NAS. Zeker bij een NAS van Synology is dat het meest praktisch. Synology verbergt in de webinterface namelijk volumes, ook al zijn ze er wel! Bij een bind mount zie je de bestanden altijd netjes in de gedeelde mappen, zodat jij ze zelf kunt raadplegen of back-uppen.

QNAP maakt volumes met opslag voor een container wél zichtbaar.

Opslag bij een NAS

Voor het organiseren van je bestanden op een NAS gebruik je standaard al gedeelde mappen. Ga je met Docker werken, dan zul je óók zo'n map gebruiken voor de opslag voor je containers. Synology maakt die map standaard onder /docker. Bij QNAP is dat (meestal) /Container. Stel dat je WordPress wilt installeren. Het persistente pad in de container is in dit geval /var/www/html. Daar worden alle websitebestanden opgeslagen. Bij Synology zul je dan een map zoals /docker/wordpress maken die je bij de configuratie koppelt aan het container-pad /var/www/html. Er kunnen ook meerdere paden zijn. SearXNG gebruikt in de container bijvoorbeeld /etc/searxng voor de configuratie (zoals settings.yml) en /var/cache/searxng voor data en cachebestanden. Beide kun je dan koppelen met de NAS, bijvoorbeeld onder /docker/searxng/config en /docker/searxng/cache. Gebruik eventueel de bestandsbeheerder (zoals File Station) om de mappen vooraf aan te maken of aangemaakte bestanden te bekijken!

Het is handiger om gegevens van containers in een gedeelde map te bewaren.
Bestanden op je NAS gebruiken

Het mooie van Docker op een NAS is dat je een container toegang kunt geven tot bestanden op die NAS, zoals foto's, video's, documenten en back-ups. Je koppelt daarvoor gewoon de gewenste gedeelde mappen of submappen. Op die manier kun je bijvoorbeeld de muziekspeler NaviDrome direct toegang tot de muziek op de NAS geven. De muziek kun je daarna netjes georganiseerd bekijken en afspelen via de vlotte webinterface. Het werkt ook samen met verschillende bekende apps. Ook bijvoorbeeld voor video's zijn goede toepassingen beschikbaar, zoals Plex en Jellyfin. Of probeer eens een toepassing als Immich of Photoprism voor je fotobibliotheek.

Met NaviDrome kun je heel handig de muziek op je NAS beluisteren.

Werken met poorten

Containers gebruiken vaak één of meerdere poorten voor bijvoorbeeld een webinterface. Een voorbeeld is de webserver nginx met http-poort 80. Bij de configuratie koppel je die interne poort 80 aan een poort op de host en daarmee je lokale netwerk. Je kunt soms hetzelfde poortnummer (in dit voorbeeld 80) kiezen, maar dat hoeft niet. In dit geval is dat ook af te raden. Liever gebruik je een hogere, vrije poort. Let goed op de bezette poorten van de NAS zelf. Dat zijn er vaak best veel. Een voorbeeld is de veelgebruikte poort 8080 die QNAP voor de webinterface gebruikt. Bij Synology zie je een overzicht van gebruikte poorten in Configuratiescherm / Infocenter op het tabje Service. Bij QNAP ga je naar Systeem / Systeemstatus / Systeemdiensten. Een blok als 6000-6999 is bij beide merken een goede optie. Heb je een container gestart, dan moet je deze vaak even de tijd geven om te starten voordat je de webinterface kunt benaderen via de ingestelde poort.

Je maakt een koppeling tussen poorten op de host en poorten in de container.

Docker Compose

Bij een NAS kun je een container relatief makkelijk via een wizard starten. Maar de details die je opgeeft, zoals poorten en volumes, kun je naderhand niet aanpassen. Wil je iets veranderen, dan zul je een nieuwe container moeten maken met de juiste instellingen. Bij zowel Synology als QNAP kun je ook werken met Docker Compose. Bij Synology heet dit een project, QNAP noemt het een toepassing. Je kunt dan de instellingen voor één of meerdere containers beheren in één yaml-bestand, meestal met de naam docker-compose.yml. Een groot voordeel is dat je dan eenvoudiger achteraf de configuratie kunt aanpassen. Het werken met meerdere containers is bovendien veel overzichtelijker. Je groepeert ze samen in één bestand, ook wel 'stack' genoemd. En je kunt alle containers in één handeling starten, stoppen of verwijderen. Bij problemen zul je overigens wel nog steeds de individuele containers moeten inspecteren (zie kader 'Problemen oplossen').

Via een wizard kies je vooraf de gewenste instellingen voor een container.
Problemen oplossen

Heb je een probleem met een container? Open dan het overzicht met containers. Klik vervolgens op de naam van de container. De logboeken die je hier kunt bekijken, geven vaak goede aanwijzingen voor problemen. Ook als je met Docker Compose werkt, zul je bij problemen de individuele containers moeten inspecteren. Soms is het ook weleens handig om opnieuw te beginnen. Stop daarvoor eerst de relevante containers, verwijder de volumes én bestanden die in de gekozen gedeelde mappen zijn gemaakt en start je project opnieuw.

Synology: Docker installeren

Docker is meestal niet standaard geïnstalleerd. Je logt eerst in bij DSM, het besturingssysteem van je NAS. Vervolgens installeer je de toepassing via

Package Center. De toepassing heet Container Manager (sinds DSM 7.2) of (bij een eerdere versie) Docker. Bij de installatie wordt gevraagd om een brugnetwerk te configureren. Dat is het netwerk waarop containers intern communiceren. Je hoeft dit subnet (172.17.0.0/16) niet te veranderen, tenzij dit conflicteert met jouw eigen netwerk (wat heel zeldzaam is).

Installeer de toepassing via de downloadtool van je NAS.

Synology: images downloaden

Om een container met een bepaalde toepassing te starten, heb je een image nodig. Open daarvoor Container Manager en ga naar Register. Hier kun je images op naam opzoeken. Dubbelklik dan op een image om deze te downloaden. Vaak zul je de officiële of populairste optie kiezen. De images van LinuxServer.io zijn ook altijd goed. Omdat ze dezelfde opbouw en documentatie volgen, zijn ze herkenbaar en makkelijk te gebruiken. Je kunt bij het downloaden een tag kiezen. Vaak kies je latest voor de laatste stabiele versie. Alle images die je hebt gedownload, vind je terug onder Image. Als er updates zijn, kun je die daar ook downloaden. Je containers blijven overigens draaien op de versie waarmee ze zijn gemaakt. Pas als je een nieuwe container start, wordt de nieuwe image gebruikt.

Je kunt direct binnen Container Manager de gewenste images downloaden.

Synology: container maken

We gaan als voorbeeld een container voor SearXNG maken, een privacyvriendelijke zoekmachine die live resultaten bij andere zoekmachines ophaalt. Ga hiervoor naar Container en kies Maken. We gebruiken de image searxng/searxng. Bij het maken van de container hoef je bij Algemene instellingen niet veel te veranderen. Wel handig is de optie Automatisch opnieuw starten inschakelen, voor hogere beschikbaarheid. Op het tweede scherm, bij Geavanceerde instellingen, zie je onder het kopje Poortinstellingen dat deze toepassing in de container poort 8080 gebruikt. Bij Lokale poort kies je de lokale poort (op de host), zoals 8080 (of iets anders, als deze al in gebruik is). Na het maken van de container kun je de zoekmachine bereiken via de gekozen lokale poort, zoals http://ip-NAS:8080. Onder het kopje Volume-instellingen maak je zoals eerder toegelicht een bind mount. Koppel /docker/searxng/config met /etc/searxng en koppel /docker/searxng/cache met /var/cache/searxng. Via het venster kun je naar de map op de NAS bladeren om deze aan te wijzen (en eventueel ook aan te maken).

We maken koppelingen tussen gedeelde mappen en volumes in de container.

Synology: lokale bestanden gebruiken

Een van de voordelen is dat toepassingen bestanden op de NAS kunnen gebruiken. We noemden NaviDrome al, een populaire muziekspeler. Bij het maken van deze container koppel je poort 4533 aan de lokale poort, zoals 4533. Bij de volumes moet je opletten. NaviDrome gebruikt /data voor gegevensopslag en /music voor muziek. Koppel bij Volume-instellingen daarom bijvoorbeeld /docker/navidrome/data aan /data. Staat je muziek op de NAS onder /music/albums, dan koppel je precies die map aan /music in de container. Kies hier eventueel voor alleen leestoegang, omdat deze toepassing geen bestanden hoeft te wijzigen. Na het starten van de container zul je het programma even de tijd moeten geven om alle muziek te indexeren.

We geven NaviDrome toegang tot muziek op de NAS.

Synology: project maken

Wil je bij Synology met Docker Compose werken dan ga je naar Project en kies je Maken. Je kunt bij Bron kiezen om zelf een docker-compose.yml te uploaden, maar ook een nieuw bestand maken. Dat laatste heeft meestal de voorkeur. Je kunt de configuratie dan in het venster plakken en meteen nog wat persoonlijke aanpassingen maken. We nemen WordPress als voorbeeld dat twee containers heeft: één voor WordPress zelf en één voor een database (zoals MySQL of MariaDB). Je zet ze samen in één project en beheert ze daarna als geheel, in plaats van als twee losse containers. Bij Naam van project vullen we in wordpress (alleen kleine letters). Bij Pad kiezen we een gedeelde map op de NAS, zoals /docker/wordpress. Bij Bron kiezen we voor het maken van een docker-compose.yml. Hieronder zie je het voorbeeld voor de officiële image voor WordPress, waar we wat aanpassingen in gaan maken voor de NAS:

services:

  wordpress:

    image: wordpress

    restart: always

    ports:

      - 8080:80

    environment:

      WORDPRESS_DB_HOST: db

      WORDPRESS_DB_USER: exampleuser

      WORDPRESS_DB_PASSWORD: examplepass

      WORDPRESS_DB_NAME: exampledb

    volumes:

      - wordpress:/var/www/html

  db:

    image: mysql:8.0

    restart: always

    environment:

      MYSQL_DATABASE: exampledb

      MYSQL_USER: exampleuser

      MYSQL_PASSWORD: examplepass

      MYSQL_RANDOM_ROOT_PASSWORD: '1'

    volumes:

      - db:/var/lib/mysql

volumes:

  wordpress:

  db:

Begin met het maken van een nieuw project.

Synology: configuratie aanpassen

Hoewel de configuratie werkt, zijn enkele aanpassingen wel wenselijk. In het voorbeeld worden twee named volumes gebruikt, terwijl bind mounts handiger zijn, zeker bij Synology. Daarom halen we de onderste drie regels weg. We maken op de NAS de mappen /docker/wordpress/db en /docker/wordpress/html aan. Ten slotte passen we het volume aan voor de twee containers. Voor WordPress wordt dit als volgt:

- /volume1/docker/wordpress/html:/var/www/html

Voor de database passen we het aan naar:

- /volume1/docker/wordpress/db:/var/lib/mysql

Controleer op jouw NAS of de volumenaam volume1 klopt. Kies ook een betere gebruikersnaam en een sterker wachtwoord voor de database. Let wel op: wat je bij WORDPRESS_DB_USER en WORDPRESS_DB_PASSWORD invult, moet hetzelfde zijn als bij MYSQL_USER en MYSQL_PASSWORD. MySQL maakt met die toegangsgegevens de database, terwijl WordPress ze gebruikt om daar toegang toe te krijgen.

Je kunt de configuratie via een YAML-bestand aanpassen.

Nieuwe NAS? Kijk en vergelijk op Kieskeurig.nl

QNAP: Docker installeren

Om Docker te installeren op je NAS van QNAP log je eerst in bij het besturingssysteem QTS. Daarna installeer je de toepassing via App Center. Je vindt het onder de naam Container Station. De installatie wijst zichzelf. Als je de toepassing de eerste keer start, wordt gevraagd waar je gegevens van containers op wilt slaan. Je kunt de standaardmap /Container accepteren.

Installeer de toepassing via de downloadtool van je NAS.

QNAP: image zoeken en gebruiken

Voor het zoeken van een image open je Container Station en klik je op Verkennen. Hier kun je images op naam opzoeken. Voor Docker gebruik je de resultaten van Docker Hub, de centrale verzamelplek voor Docker-images. Kies bij de gewenste image de optie Implementeer. Je kunt dan een tag kiezen (zoals latest). Vervolgens kun je direct de container configureren. Dit behandelen we in de volgende stap. Voor een overzicht van alle gedownloade images kun je naar Installatiekopieën. Wij installeren ook in dit voorbeeld een container voor SearXNG.

Gebruik voor Docker de resultaten van Docker Hub.

QNAP: container configureren

Bij de configuratie van de container kan de optie Standaardpoort voor web-URL wat verwarrend zijn. In feite maakt Container Station op basis van die poort een klikbare link die je in de webinterface ziet om de container te openen in je browser. Je kunt het dus zien als een soort shortcut. Je moet daaronder dus nog steeds de benodigde poorten openstellen. In dit voorbeeld vul je dus achter Host een poortnummer in, zoals 8000 (8080 is bij QNAP bezet!). Verander de poort bij Container (8080) niet. Vul bij Standaardpoort voor web-URL ook 8000 in, zodat de shortcut ook werkt.

Om andere opties in te kunnen stellen, zoals opslag, klik je op Uitgebreide instellingen.

Let bij de configuratie van de container vooral op de lokale poort.

QNAP: opslag configureren

SearXNG heeft in de container de persistente paden /etc/searxng en /var/cache/searxng. Bij QNAP kun je prima met (anonieme of named) volumes werken. In dit voorbeeld zullen we dat doen voor de wegwerpbare cachebestanden. Voor de configuratiebestanden maken we via File Station vooraf een map aan onder /Container/searxng/config. Achter Volume vullen we nu de naam searxngcache in, in het deel waar bij Container het pad /var/cache/searxng staat. Hier wordt dan een named volume voor gemaakt. We verwijderen de andere optie (met het pad /etc/searxng). Via het pijltje achter Voeg volume toe kiezen we Gekoppelde hostlocatie binden. Blader dan achter Host naar de zojuist gemaakte map (/Container/searxng/config). Achter Container vul je het pad /etc/searxng in. SearXNG zal zijn configuratie nu in de gekozen map bewaren en de cache in een named volume. Rond het maken van de container af. Die zal daarna worden gestart. Onder Volumes zie je alle volumes die zijn gemaakt, zoals searxngcache. Merk op dat In gebruik hier betekent dat het volume is gekoppeld aan een container, en dus niets over de status van de container zegt! Je kunt ongebruikte volumes eventueel verwijderen.

We gebruiken een named volume voor cache en een bind mount voor de configuratie.

QNAP: toepassingen

QNAP ondersteunt het werken met Docker Compose. Hiervoor ga je naar Toepassing en kies je Maken. Bij Naam van de toepassing vul je een herkenbare naam in. Daaronder kun je de yaml-code invullen. Voor SearXNG, ingesteld zoals hiervoor met een bind mount voor de configuratiebestanden en een named volume voor cache, vul je het in zoals hieronder. Let op het absolute pad /share/Container/searxng/config. Dat is hoe je naar die map moet verwijzen. De code is als volgt:

services:

  searxng:

    image: searxng/searxng

    container_name: searxng

    restart: unless-stopped

    ports:

      - "8000:8080"

    volumes:

      - /share/Container/searxng/config:/etc/searxng

      - searxngcache:/var/cache/searxng

volumes:

  searxngcache:

Het maken van eventuele aanpassingen is niet heel intuïtief. Je gaat hiervoor naar Toepassingen en klikt achter de toepassing op het instellingenicoontje. Kies dan de optie Opnieuw maken. Je kunt nu de yaml-code bewerken. Na het maken van de aanpassingen zal een nieuwe container worden opgebouwd met deze nieuwe configuratie.

QNAP ondersteunt ook het werken met Docker Compose.
Beheer containers op je NAS met Portainer

Het kan om meerdere redenen praktisch zijn om Portainer te installeren op je NAS, een grafische webinterface voor het beheer van je containers. Het is wat overzichtelijker en er blijft, zeker in vergelijking met Container Manager van Synology, minder verborgen. Je kunt Portainer gewoon via Docker installeren. Het is handig eerst een map te maken voor Portainer, waar het zijn configuratie persistent kan bewaren. Maak dan een project in Container Manager met de onderstaande configuratie:

services:

  portainer:

    image: portainer/portainer-ce:latest

    container_name: portainer

    restart: always

    ports:

      - "9443:9443"   # HTTPS toegang

      - "9000:9000"   # (optioneel, oudere HTTP-poort)

    volumes:

      - /var/run/docker.sock:/var/run/docker.sock

      - /volume1/docker/portainer:/data

Bij QNAP kun je dezelfde configuratie gebruiken, maar vervang dan /volume1/docker/portainer:/data door /share/Container/portainer:/data. Na het starten zie je op https://ip-NAS:9443 (of http://ip-NAS:9000) de webinterface van Portainer. De eerste keer wordt gevraagd om een wachtwoord aan te maken. Portainer heeft (ook) een kleine leercurve, maar het geeft je veel opties, en werkt op elk systeem hetzelfde.

Je kunt nu in Portainer alles rondom Docker beheren, zoals containers en images.