Ga naar inhoud

πŸ’Ύ Aoostar WTR Max Part 2: Nextcloud AIO & Private Cloud

Nu Proxmox VE een aantal dagen stabiel draait en de temperaturen van zowel de schijven als het systeem in het algemeen er uitstekend uitzien, werd het tijd voor een nieuw project. Na het succesvol inrichten van TrueNAS SCALE en PBS op de AOOSTAR WTR Pro Max (AMD Ryzen 7 8845HS), wilde ik Nextcloud AIO (All-In-One) een kans geven. De AOOSTAR heeft immers meer dan genoeg rekenkracht en geheugen aan boord om dit moeiteloos te dragen.

❓ Waarom Nextcloud AIO in het Homelab?

Lang geleden heb ik Nextcloud gedraaid, en ik was erg benieuwd hoe ver het platform inmiddels is geΓ«volueerd. Een van mijn belangrijkste drijfveren om hier weer in te duiken is het creΓ«ren van een volwaardig, soeverein alternatief voor de "Big Tech" giganten.

Veel tools die ik dagelijks gebruik, komen hiermee samen onder één dak in een centraal dashboard. Dit maakt het niet alleen voor mij, maar ook voor mijn vrouw en kinderen enorm toegankelijk. Er bestaat weliswaar een Proxmox helper-script dat Nextcloud direct in een LXC installeert, maar dat script mist de officiële Nextcloud Office integratie. Daarom is er bewust gekozen voor de AIO-versie.


nextcloud

πŸ—οΈ De Inrichting & Architectuur

Als fundering voor deze private cloud is gekozen voor een volwaardige virtuele machine (VM) met Ubuntu Server 24.04 waarop Docker is geΓ―nstalleerd.

Component Keuze / Inrichting Reden binnen de Architectuur
Basis OS Ubuntu Server 24.04 VM Maximale stabiliteit en native Docker-ondersteuning
Deployment Nextcloud AIO Docker Automatisch beheer van sub-containers en updates
Office Nextcloud Office (Built-in) Direct documenten bewerken in de cloud met het hele gezin
SSL / Proxy Nginx Proxy Manager (NPM) Centrale afhandeling van SSL-certificaten in een aparte LXC

De installatie is zeer rechttoe rechtaan. Er wordt één centrale "Master"-container aangemaakt die je via de web-interface benadert. Vanuit daar configureer je Nextcloud volledig naar wens, waarna de master-container automatisch voor elk specifiek onderdeel een aparte Docker-container aanmaakt.


πŸ› οΈ Probleemoplossing: Ontbrekende Database Indices

Tijdens het configureren van de Nextcloud Mail-app liep ik tegen een kleine fout aan met betrekking tot de database-tabellen. Dit is handmatig via de CLI opgelost door de PHP-engine binnen de container te dwingen de ontbrekende indexen aan te maken.

Voer het volgende commando uit in de terminal van de Ubuntu Docker VM:

sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ db:add-missing-indices
Opmerking: Afhankelijk van de hoeveelheid e-mail die moet worden geΓ―ndexeerd, kan dit proces enige tijd in beslag nemen.


πŸ“„ Het Nextcloud AIO Docker Compose Bestand

Dit is de actuele Docker Compose configuratie die draait binnen de Ubuntu VM. De resources zijn geoptimaliseerd voor de AMD Ryzen 8845HS processor en maken gebruik van de Apache poort-bridge richting de Nginx Proxy Manager.

🐳 Docker Compose Code

services:
  nextcloud-aio-mastercontainer:
    image: ghcr.io/nextcloud-releases/all-in-one:latest
    init: true
    restart: always
    container_name: nextcloud-aio-mastercontainer # Deze naam mag NIET worden aangepast
    ports:
      - 8080:8080
    environment:
      - APACHE_PORT=11000
      - SKIP_DOMAIN_VALIDATION=true # Voorkomt proxy-conflicten tijdens de domeincheck met NPM
      - NEXTCLOUD_MEMORY_LIMIT=1024M
      - NEXTCLOUD_PHP_OPCACHE_MEMORY_CONSUMPTION=512
    volumes:
      - nextcloud_aio_mastercontainer:/mnt/docker-aio-config # Deze mount mag NIET worden aangepast
      - /var/run/docker.sock:/var/run/docker.sock:ro

volumes:
  nextcloud_aio_mastercontainer:
    name: nextcloud_aio_mastercontainer # Deze naam mag NIET worden aangepast

🚦 Belangrijke Opmerkingen voor de Setup

  • Eerste Configuratie: Na het opstarten van de container is de installatiepagina direct bereikbaar via http://[IP-adres-van-je-Docker-VM]:8080.
  • NPM & Domain Check: De variabele SKIP_DOMAIN_VALIDATION=true is essentieel omdat de Nginx Proxy Manager (NPM) het SSL-verkeer extern afhandelt. Hierdoor geeft het AIO-dashboard intern de melding NextCloud AIO DomainCheck Excited Unhealthy. Dit gedrag is volkomen normaal en logisch vanwege de omzeiling in het YAML-bestand; deze statusmelding kan veilig worden genegeerd.