πΎ 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.

ποΈ 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:
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=trueis essentieel omdat de Nginx Proxy Manager (NPM) het SSL-verkeer extern afhandelt. Hierdoor geeft het AIO-dashboard intern de meldingNextCloud AIO DomainCheck Excited Unhealthy. Dit gedrag is volkomen normaal en logisch vanwege de omzeiling in het YAML-bestand; deze statusmelding kan veilig worden genegeerd.