Spring til indholdet

Nextcloud på TrueNAS

Nextcloud er en app i TrueNAS Community Edition. Datasættene skal laves først, og ejerne og rettighederne på dem er det, der oftest går galt. Collabora er en app for sig.

Opdateret datasuverænitetnextcloudtruenas 3 min. læsning

Nextcloud kører som en app i TrueNAS Community Edition, tidligere SCALE. Siden 24.10 kører apps i Docker i stedet for Kubernetes, og det plugin, der fandtes i TrueNAS CORE, er væk (TrueNAS). Min installation i april 2025 var på 25.04 (Fangtooth), med den udgave af appen, der dengang hed 2.x.

Appen installeres fra Apps → Discover Apps. Formularen er lang, men det meste kan stå. Det, der skal være på plads, før den udfyldes, er datasættene.

Datasættene først#

Appen skal bruge tre steder at gemme: html til selve Nextcloud (apps, temaer, konfiguration), data til brugernes filer og postgres_data til databasen. De kan lægges i ixVolumes, som appen selv laver, men TrueNAS anbefaler kun det til test. Til rigtig brug skal det være datasæt, som vælges som Host Path (TrueNAS).

  • Datasættene oprettes med forvalget Apps.
  • De må ikke ligge under ix-apps, som er TrueNAS’ eget datasæt til apps.

Sådan lagde jeg dem i 2025, med et datasæt til Collabora ved siden af:

appData
└── Nextcloud
    ├── appdata
    ├── collaboradata
    └── userdata
        └── data

Der står ikke et datasæt til databasen i min note. Den nuværende udgave af appen kræver et.

Ejere og rettigheder#

Det er her, det oftest går galt. Den nuværende app kører Nextcloud som brugeren apps (568) og Postgres som netdata (999) (TrueNAS apps). Vejledningen siger (TrueNAS):

  • html og data: vælg Enable ACL i formularen, sæt ejer og gruppe til apps, og tilføj en post for 568 med FULL_CONTROL.
  • postgres_data: vælg ikke Enable ACL. Vælg Automatic Permissions, så sætter appen selv ejeren til databasens bruger. Det virker kun på et tomt datasæt.

I den udgave, der blev installeret i 2025, skulle www-data være ejer og gruppe på appdata. Hvilken bruger der gælder, afhænger af appens version, og formularen og vejledningen for den version, der installeres, er det, der skal følges.

HTTPS#

Et certifikat vælges i appens formular under Certificate ID. Det er ikke et krav for at installere. Standardporten er 30125. Står Nextcloud bag en reverse proxy, skal HTTPS slås til i formularen, porten er typisk 443, og proxyens adresse skal stå under Trusted Proxies (TrueNAS). På 25.04 kan TrueNAS lave en egen CA og et certifikat ud fra den eller importere et.

Office#

Nextcloud-appen har ingen Office-server med, kun indstillinger til at slå forbindelsen til Collabora eller ONLYOFFICE til. Collabora er sin egen app i TrueNAS (TrueNAS), derfor datasættet collaboradata. Når begge kører, installeres appen Collabora Online i Nextclouds egen app-liste, og Collabora-serverens adresse skrives ind i dens indstillinger.

I Nextcloud 35 er Nextcloud Office ikke længere Collabora, men bygget på Euro-Office, og Collabora er et alternativ (Nextcloud). Collabora-appen virker stadig. Hvad der passer bedst til en TrueNAS-installation i dag, har jeg ikke afprøvet.

occ#

Nextclouds kommandolinje, occ, køres i containeren. I TrueNAS åbnes en shell på Nextcloud-containeren fra appens side, og billedet har en occ, der kører som den rigtige bruger (TrueNAS containers):

occ status
occ maintenance:mode --on

Om den occ også var med i den udgave, der fulgte med 25.04, har jeg ikke efterprøvet. Ellers er det php /var/www/html/occ som containerens bruger.

Det der driller#

  • Forkert ejer på Postgres. Er Enable ACL valgt på databasens datasæt, vises Automatic Permissions ikke, og ejeren på databasens datasæt bliver ikke rettet.
  • Et datasæt, der ikke er tomt. Automatic Permissions retter kun ejeren på tomme mapper.
  • Snapshots. TrueNAS’ snapshots af datasættene er den oplagte backup. Om et snapshot af en kørende Postgres altid kan startes igen, har jeg ikke efterprøvet. occ maintenance:mode --on før et snapshot er den sikre vej.

Hvad der skal til for at flytte indhold fra SharePoint over, står i Fra SharePoint til Nextcloud flytter filerne, ikke resten.

Alle noter