Ga naar inhoud

Nextcloud All-in-One (AIO) Installatiehandleiding

Deze handleiding bevat de stappen en het Docker Compose-bestand om Nextcloud All-in-One (AIO) op te zetten.

De configuratie is volledig geoptimaliseerd voor een schone Ubuntu-omgeving met een bestaande reverse proxy: * Er wordt gedraaid vanuit de home-directory (geen sudo-rechten nodig voor dagelijks beheer). * Alle configuratiedata en gebruikersbestanden worden persistent opgeslagen binnen ./aio_mastercontainer en ./data. * De Apache-poort is omgezet naar 11000 zodat poort 443 vrij blijft voor Nginx Proxy Manager. * Watchtower is voor deze container uitgeschakeld via labels, omdat Nextcloud AIO zijn eigen updates volledig automatisch beheert via de ingebouwde interface.


1. Mappenstructuur Voorbereiden

Maak eerst de benodigde directory aan in je home-directory en navigeer erheen:

mkdir -p ~/docker/nextcloud
cd ~/docker/nextcloud

2. Docker Compose Bestand Aanmaken

Maak een nieuw bestand aan genaamd docker-compose.yml:

nano docker-compose.yml

Plak de onderstaande volledige configuratie in het bestand. Nextcloud AIO vereist vooraf geen handmatige database-instellingen of openssl-sleutels; de mastercontainer richt dit later allemaal zelfstandig in.

services:
  nextcloud-aio-mastercontainer:
    image: nextcloud/all-in-one:latest
    container_name: nextcloud-aio-mastercontainer
    init: true
    restart: unless-stopped
    ports:
      # De poort waarop je de eerste installatie, setup en upgrades uitvoert
      - "8080:8080"
    environment:
      # STAP 1: Apache poort omzetten naar 11000 omdat poort 443 al bezet is door NPM
      - APACHE_PORT=11000
      # STAP 2: Slaat alle gebruikersbestanden veilig op in de huidige map binnen de home-directory
      - NEXTCLOUD_DATADIR=/home/je inlog gebruikersnaam/docker/nextcloud/data
    volumes:
      # Verplicht: Geeft de mastercontainer toegang om de overige sub-containers aan te maken
      - /var/run/docker.sock:/var/run/docker.sock:ro
      # Slaat de configuratie van de mastercontainer persistent op in de huidige map
      - ./aio_mastercontainer:/mnt/docker-aio-config
    labels:
      # We zetten Watchtower uit; Nextcloud AIO regelt zijn eigen container-updates!
      - "com.centurylinklabs.watchtower.enable=false"

Sla het bestand op met Ctrl+O, druk op Enter, en sluit de editor met Ctrl+X.


3. Nextcloud AIO Starten

Start de mastercontainer op de achtergrond op:

docker compose up -d

4. Status Controleren

Controleer of de mastercontainer succesvol is opgestart en luistert op poort 8080:

docker compose ps

5. Nginx Proxy Manager (NPM) Inrichten

Voordat je naar de webinterface gaat, moet je in NPM een Proxy Host aanmaken (bijvoorbeeld cloud.example.com) om het verkeer correct door te sturen:

  1. Voeg een nieuwe Proxy Host toe in NPM.
  2. Tabblad Details:
  3. Domain Names: cloud.example.com
  4. Scheme: https (Let op: Nextcloud AIO vereist HTTPS richting de backend!)
  5. Forward Hostname / IP: Het lokale IP-adres van je Ubuntu-VM
  6. Forward Port: 11000 (Dit matcht met de APACHE_PORT)
  7. Websockets Support: AAN
  8. Tabblad SSL:
  9. Vraag een nieuw Let's Encrypt certificaat aan, vink Force SSL en HTTP/2 Support aan en sla op.

6. InitiΓ«le Setup & Wachtwoord

  1. Open je browser en ga naar de beheerinterface van de mastercontainer via het IP-adres op poort 8080:
    https://<IP-van-je-VM>:8080
    
    (Je krijgt hier een HTTPS-waarschuwing omdat het certificaat zelfondertekend is; klik op 'Geavanceerd' en ga door).
  2. Kopieer de Setup Password die groot op het scherm verschijnt en log in.
  3. Voer je domeinnaam in (cloud.example.com) om de proxy-koppeling te valideren.
  4. Selecteer de gewenste add-ons (zoals Office, Talk of Antivirus) en klik op Download and start containers.

Nextcloud AIO gaat nu op de achtergrond alle benodigde sub-containers (Nextcloud, Postgres, Redis, etc.) downloaden en starten. Zodra dit klaar is, kun je direct via https://cloud.example.com inloggen!