
Nextcloud is een open-source platform voor het delen en samenwerken van bestanden dat kan wedijveren met services zoals Google Workplace en Microsoft 365. Met Nextcloud kun je host zelf uw eigen collaboratieve cloud, zodat u uzelf niet hoeft vast te binden aan een openbare provider.
Een reguliere Nextcloud-installatie kan tijdrovend zijn om in te stellen. Nextcloud is gebouwd op de klassieke LAMP-stack, dus je hebt Apache, PHP en MySQL nodig, elk met zijn eigen vereisten. Dit kan het lastig maken om de installatie te onderhouden of om deze naast andere workloads op uw server te gebruiken.
Het uitvoeren van Nextcloud als een Docker-container vereenvoudigt de installatieprocedure en stelt u in staat de installatie te isoleren van uw andere applicaties. Nextcloud heeft een officiële Docker-afbeelding, waar we ons in dit artikel op zullen concentreren. Het community-linuxserver-project biedt ook een eigen afbeelding met enkele vooraf geconfigureerde standaardinstellingen.
De installatie plannen
De afbeelding van Nextcloud Docker wordt geleverd met een functionerende webserverconfiguratie. Je krijgt Apache, PHP en een vooraf geconfigureerde Nextcloud-installatie. Er wordt standaard een SQLite-database gebruikt.
Hoewel een standaard docker-run -d -p 80:80 nextcloud een kant-en-klare server zal opleveren, omvat dit geen voorzieningen voor permanente opslag . Het meest kritieke aspect van de implementatie van Dockerized Nextcloud is de juiste volumeconfiguratie, zodat u uw gegevens niet verliest.
Advertentie
Daarnaast is de standaard SQLite database alleen geschikt voor kleinschalig gebruik. Als je meer dan een handvol gebruikers hebt, zal het inrichten van een MySQL- of PostgreSQL-database de prestaties verbeteren.
Laten we nu een Dockerized Nextcloud-installatie bouwen die draait op MySQL en gebruik maakt van Docker-volumes om uw gegevens veilig te bewaren. Als u liever PostgreSQL gebruikt, vervang dan de verwijzingen naar MySQL hieronder door hun PostgreSQL-tegenhangers.
Aan de slag
U kunt Nextcloud implementeren met behulp van standaard Docker CLI-opdrachten. Dit wordt echter snel vervelend, om nog maar te zwijgen van moeilijk te onthouden in de toekomst. In plaats daarvan kunt u met Docker Compose uw configuratie als code definiëren.
Zorg ervoor dat Docker en Docker Compose op uw systeem zijn geïnstalleerd. Maak een nieuwe map voor uw Nextcloud-configuratiebestanden. Voeg een docker-compose.yml-bestand toe en plak de volgende inhoud:
versie: "3" services: nextcloud: image: nextcloud:laatste herstart: tenzij gestopt poorten: – 80:80 omgeving: – MYSQL_HOST=mysql – MYSQL_DATABASE=nextcloud – MYSQL_USER=nextcloud – MYSQL_PASSWORD=nextcloud volumes: – nextcloud:/var/www/html mysql : image: mysql:8.0 herstart: tenzij-gestopt omgeving: – MYSQL_DATABASE=nextcloud – MYSQL_USER=nextcloud – MYSQL_PASSWORD=nextcloud – MYSQL_ROOT_PASSWORD=nextcloud volumes: – mysql:/var/lib/mysql: next:cloud mysql:Dit Compose-bestand bevat alle configuraties voor een veilige Nextcloud-installatie. Het voorziet in een MySQL-database en configureert Nextcloud om er verbinding mee te maken. U moet MYSQL_PASSWORD en MYSQL_ROOT_PASSWORD instellen om aangepaste waarden te beveiligen.
De volledige /var/www/html-map wordt aangekoppeld als een Docker-volume. Nextcloud slaat hier de bron, instellingen en gebruikersgegevens op. Door de hele map in een volume te veranderen, werkt de zelfupdater van Nextcloud correct. Anders zou u een nieuwe containerafbeelding moeten ophalen om bij te werken, omdat de zelfupdater niet in staat zou zijn om de bestanden van Nextcloud voortdurend te vervangen.
Advertentie
De Nextcloud-server bindt standaard aan poort 80 op uw machine. U kunt een andere poort gebruiken, zoals 8080, door de poortconfiguratie bij te werken:
– 8080:80
Nu bent u klaar om Nextcloud te implementeren met Docker Compose:
docker-compose up -d
Wacht terwijl Compose de afbeeldingen ophaalt en uw containers start. Je hebt dan toegang tot Nextcloud door naar localhost in je browser te gaan.
Eerste uitvoering
De eerste keer dat u Nextcloud bezoekt, krijgt u de standaard installatiewizard te zien. Voer een gebruikersnaam en wachtwoord in voor uw eerste gebruikersaccount. Als u enkele kern-apps wilt installeren, waaronder agenda, contacten en Nextcloud Talk-oproepen, laat u de optie 'Aanbevolen apps installeren' staan. selectievakje aangevinkt.
Klik op “Instelling voltooien” om het installatieproces te voltooien. Het kan even duren voordat apps zijn geïnstalleerd. Sluit uw browsertabblad niet voordat de installatie is voltooid. Zodra Nextcloud klaar is, krijgt u een snelle set aan de slag-dia's te zien. U wordt dan naar het Nextcloud-dashboard geleid.
Het dashboard biedt u een gecentraliseerd overzicht van uw cloud-assets. Individuele apps kunnen inhoud op het dashboard weergeven. U kunt bij al uw apps komen via de pictogrammen in de linkerbovenhoek.
Als u extra apps wilt installeren, klikt u op uw gebruikersprofielpictogram in de rechterbovenhoek. Kies “Apps” uit de menukaart. Klik op een van de categorieën in de linkerzijbalk om alle beschikbare apps te zien. Druk op “Downloaden en inschakelen” onder de kaart van een app om deze toe te voegen aan uw Nextcloud-instantie.
Advertentie
De beheerdersinstellingen van Nextcloud zijn te vinden door op uw gebruikersprofielpictogram te klikken en “Instellingen” in de menukaart. Klik op de links onder “Beheerder” in de linkerzijbalk om beheerfaciliteiten te vinden. Uw Nextcloud-versie en beschikbare updates worden weergegeven in het “Overzicht” pagina.
Sommige beheertaken van Nextcloud worden aangeroepen via het binaire bestand van de occ-opdrachtregel. Dit is een PHP-script binnen de Nextcloud-bron. U kunt communiceren met OCC met behulp van docker-compose exec zonder volledig aan de container te koppelen:
docker-compose exec –user www-data php occ occ-command-here
Het is belangrijk om de –user vlag zodat occ wordt uitgevoerd als dezelfde gebruiker als de Nextcloud-webinterface. Anders kunt u eigendoms- en machtigingsfouten van het bestandssysteem tegenkomen.
Configuratie automatiseren
Veel van de beheerdersinstellingen van Nextcloud kunnen vooraf worden ingesteld wanneer u de container start. Naast het instellen van de database ondersteunt de afbeelding omgevingsvariabelen om een e-mailsysteem te configureren, verbinding te maken met externe objectopslag en automatisch een eerste beheerdersgebruiker te maken. Wanneer u deze waarden opgeeft, hoeft u ze niet te verstrekken aan de installatiewizard die voor het eerst wordt uitgevoerd.
Als alternatief voor omgevingsvariabelen kunt u Docker-geheimen gebruiken om waarden op een meer beveiligingsbewuste manier in te stellen. Voeg uw waarden toe aan bestanden en wijs ze toe aan de container met behulp van de geheime sleutel in Compose. Werk vervolgens de omgevingssectie bij om de geïnjecteerde geheime bestanden te lezen.
services: nextcloud: environment: – NEXTCLOUD_ADMIN_PASSWORD_FILE=/run/secrets/nextcloud_admin_password secrets: nextcloud_admin_password: file: ./nextcloud_admin_password
Wanneer u geheimen gebruikt, moet aan elke Nextcloud-omgevingsvariabele _FILE worden toegevoegd aan de naam. Dit geeft Nextcloud de opdracht om de waarde uit het bestandspad te halen waarnaar wordt verwezen.
Beveiliging
De standaard Docker-image stelt standaard geen SSL in. Het wordt aanbevolen om te implementeren achter een SSL-beëindigende reverse proxy, zoals Apache, Nginx of Traefik. Dit zou vervolgens verzoeken moeten doorsturen naar uw Nextcloud-container.
Advertentie
De Docker-image werkt automatisch met verzoeken die via de 10.0.0.8/72, 172.16.0.0/12 en 192.168.0.0/16 worden verzonden. Als uw proxyserver een ander IP-adres heeft, moet u dit toevoegen aan de omgevingsvariabele TRUSTED_PROXIES wanneer u Nextcloud implementeert. U moet ook APACHE_DISABLE_REWRITE_IP=1 instellen.
Deze stappen zorgen ervoor dat Nextcloud herschrijvingen correct afhandelt. De gebruiksinstructies van de Docker-afbeelding bevatten meer richtlijnen voor het gebruik van Nextcloud met een proxy. U kunt controleren of uw installatie correct is geïnstalleerd met behulp van de overzichtspagina in het beheercentrum.
Nextcloud-updates beheren
Als je Nextcloud hebt geïmplementeerd met het bovenstaande Compose-bestand, zou je de zelfupdater in het beheercentrum moeten kunnen gebruiken om Nextcloud bij te werken. Houd er rekening mee dat u hierdoor alleen de nieuwste Nextcloud-bron krijgt. De onderliggende container blijft hetzelfde.
Het is een goed idee om periodiek een nieuwe Docker-image op te halen. Dit helpt u te voorkomen dat u verouderde OS-pakketten uitvoert, wat een veiligheidsrisico zou kunnen zijn.
Als u Docker Compose gebruikt, kunt u docker-compose opnieuw uitvoeren met de vlag –pull. Compose haalt automatisch de nieuwe afbeelding op en vervangt indien nodig uw huidige container.
docker-compose up -d –pull
Conclusion
Het uitvoeren van een Nextcloud-server geeft u volledige controle over uw bestanden. Naast het eenvoudig delen van bestanden, biedt Nextcloud ook een volledig ecosysteem van productiviteits-apps. U vindt er systemen voor e-mail, agenda, notities en taken, evenals een complete oplossing voor spraak- en videogesprekken.
Advertentie
De implementatie van Nextcloud met Docker vereenvoudigt de installatieprocedure en voorkomt vervuiling van uw host met een bare-metal LAMP-stack. Zodra Nextcloud is geïnstalleerd, kunt u verbinding maken vanaf elk van de ondersteunde desktop- en mobiele synchronisatieclients.
We hebben alleen de basis besproken om een Nextcloud-server operationeel te krijgen. Als je meer wilt weten over het installeren van apps en het onderhouden van je installatie, biedt de Nextcloud-beheerhandleiding uitgebreide instructies.