Skip to main content

Nextcloud über Docker/Portainer in Ubuntu-VM

  1. NFS-Freigabe

    Um die Daten von Nextcloud auf dem NAS auszulagern, muss ein datasetDataset für Nextcloud angelegt und über eine NFS-Freigabe mit dem Benutzer 'www-data' als Besitzer gemountet  werden:

    • Dataset erstellen (TrueNAS -> Dataset -> Add Dataset):
      WICHTIG! Share Type: Generic

      image.png

       

    • Permissions/Rechte von nextcloud_data auf www-data ändern ( Dataset -> Permissions -> Edit):

      image.png

    • NFS Share  Share für Ordner einstellen und aktivieren (Truenas -> Shares -> NFS):
       

      image.png

  2. Docker-Compose File

    Quelle: https://hub.docker.com/_/nextcloud/

    Passwörter eintragen:

     
    version: '2'
    
    volumes:
      nextcloud:
      db:
      clouddata_nfs:nextcloud_nfs:
        driver: local
        driver_opts:
          type: "nfs"
          o: "addr=192.168.178.201,nolock,soft,rw"
          device: ":/mnt/exospool/nextcloud_nfs"nextcloud_data"
          
    services:
      db:
        image: mariadb:10.6
        restart: always
        command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
        volumes:
          - db:/var/lib/mysql
        environment:
          - MYSQL_ROOT_PASSWORD=MYPW
          - MYSQL_PASSWORD=MYPW
          - MYSQL_DATABASE=nextcloud
          - MYSQL_USER=nextcloud
    
      app:
        image: nextcloud
    
        restart: always
        ports:
          - 8180:80
        links:
          - db
        volumes:
          - nextcloud:/var/www/html
          - clouddata_nfs:nextcloud_nfs:/var/www/html/data
          # Optional, wenn Apps, etc. auch auf NAS gespeichert werden soll. Schreibt aber direkt ins Stammverzeichnis (unordentlich)
          #- clouddata_nfs:/var/www/html Main folder, needed for updating
          #- clouddata_nfs:/var/www/html/custom_apps installed / modified apps
          #- clouddata_nfs:/var/www/html/config local configuration
          #- clouddata_nfs:/var/www/html/data the actual data of your Nextcloud
          #- clouddata_nfs:/var/www/html/themes/<YOUR_CUSTOM_THEME> theming/branding
        environment:
          - MYSQL_PASSWORD=MYPW
          - MYSQL_DATABASE=nextcloud
          - MYSQL_USER=nextcloud
          - MYSQL_HOST=db