diff --git a/nextcloud/README.md b/nextcloud/README.md index d0ec693a1..8db994d73 100644 --- a/nextcloud/README.md +++ b/nextcloud/README.md @@ -37,6 +37,7 @@ PGID/PUID : 1000 #allows setting user. trusted_domains : your-domain.com #allows to select the trusted domains. Domains not in this lis will be removed, except for the first one used in the initial configuration. OCR : false #set to true to install tesseract-ocr capability. OCRLANG : fra,eng #Any language can be set from this page (always three letters) [here](https://tesseract-ocr.github.io/tessdoc/Data-Files#data-files-for-version-400-november-29-2016). +data_directory: path for the main data directory. Defaults to `/share/nextcloud`. use_own_certs : true/false #if true, use the certfile and keyfile specified certfile: fullchain.pem #ssl certificate, must be located in /ssl keyfile: privkey.pem #sslkeyfile, must be located in /ssl diff --git a/nextcloud/config.json b/nextcloud/config.json index 44024f9ec..48b4b6036 100644 --- a/nextcloud/config.json +++ b/nextcloud/config.json @@ -25,6 +25,7 @@ "use_own_certs": false, "certfile": "fullchain.pem", "keyfile": "privkey.pem", + "data_directory": "/share/nextcloud", "trusted_domains": "your-domain, your-domain2", "OCR": false, "OCRLANG": "fra", @@ -38,6 +39,7 @@ "use_own_certs": "bool", "certfile": "str", "keyfile": "str", + "data_directory": "str", "OCR": "bool?", "OCRLANG": "str?", "Full_Text_Search": "bool?", diff --git a/nextcloud/rootfs/defaults/config.php b/nextcloud/rootfs/defaults/config.php index 367cad15d..9a534907c 100644 --- a/nextcloud/rootfs/defaults/config.php +++ b/nextcloud/rootfs/defaults/config.php @@ -1,6 +1,6 @@ '\OC\Memcache\APCu', - 'datadirectory' => '/share/nextcloud', + 'datadirectory' => '%%datadirectory%%', ); diff --git a/nextcloud/rootfs/defaults/nextcloud-perms.sh b/nextcloud/rootfs/defaults/nextcloud-perms.sh index 6bf4607f0..63ff70d55 100644 --- a/nextcloud/rootfs/defaults/nextcloud-perms.sh +++ b/nextcloud/rootfs/defaults/nextcloud-perms.sh @@ -1,10 +1,12 @@ -#!/bin/bash +#!/usr/bin/with-contenv bashio ocpath="${NEXTCLOUD_PATH}" htuser='abc' htgroup='abc' rootuser='root' +datadirectory=$(bashio::config 'data_directory') + printf "Creating possible missing Directories\n" mkdir -p $ocpath/data mkdir -p $ocpath/assets @@ -17,7 +19,7 @@ mkdir -p $ocpath/themes mkdir -p /data/config/nextcloud/config mkdir -p /data/config/nextcloud/data mkdir -p /data/config/www/nextcloud/occ 2>/dev/null -mkdir -p /share/nextcloud +mkdir -p $datadirectory mkdir -p /ssl/nextcloud/keys printf "chmod Files and Directories. This could take some time, please wait...\n" @@ -36,7 +38,7 @@ chown -R ${htuser}:${htgroup} ${ocpath}/config/ chown -R ${htuser}:${htgroup} ${ocpath}/data/ chown -R ${htuser}:${htgroup} ${ocpath}/themes/ chown -R ${htuser}:${htgroup} ${ocpath}/updater/ -chown -R ${htuser}:${htgroup} /share/nextcloud +chown -R ${htuser}:${htgroup} ${datadirectory} chown -R ${htuser}:${htgroup} /ssl/nextcloud/keys || true chmod +x ${ocpath}/occ diff --git a/nextcloud/rootfs/etc/cont-init.d/10-adduser.sh b/nextcloud/rootfs/etc/cont-init.d/10-adduser.sh index 07112736f..36542b0ea 100644 --- a/nextcloud/rootfs/etc/cont-init.d/10-adduser.sh +++ b/nextcloud/rootfs/etc/cont-init.d/10-adduser.sh @@ -2,11 +2,12 @@ PUID=$(bashio::config "PUID") PGID=$(bashio::config "PGID") +datadirectory=$(bashio::config 'data_directory') groupmod -o -g "$PGID" abc usermod -o -u "$PUID" abc mkdir -p /data/config -mkdir -p /share/nextcloud +mkdir -p $datadirectory echo ' ------------------------------------- _ () diff --git a/nextcloud/rootfs/etc/cont-init.d/40-config.sh b/nextcloud/rootfs/etc/cont-init.d/40-config.sh index f63e7eb5b..13965cbdd 100644 --- a/nextcloud/rootfs/etc/cont-init.d/40-config.sh +++ b/nextcloud/rootfs/etc/cont-init.d/40-config.sh @@ -1,14 +1,15 @@ -#!/usr/bin/with-contenv bash +#!/usr/bin/with-contenv bashio #create folders +datadirectory=$(bashio::config 'data_directory') mkdir -p \ - /share/nextcloud \ + $datadirectory \ /data/config/nextcloud/config \ /data/config/nextcloud/data #permissions chown abc:abc \ - /share/nextcloud \ + $datadirectory \ /data/config/nextcloud/config \ /data/config/nextcloud/data diff --git a/nextcloud/rootfs/etc/cont-init.d/60-memcache.sh b/nextcloud/rootfs/etc/cont-init.d/60-memcache.sh index 0307c088d..a1705a99b 100644 --- a/nextcloud/rootfs/etc/cont-init.d/60-memcache.sh +++ b/nextcloud/rootfs/etc/cont-init.d/60-memcache.sh @@ -1,4 +1,9 @@ -#!/usr/bin/with-contenv bash +#!/usr/bin/with-contenv bashio + +# Change data directory +datadirectory=$(bashio::config 'data_directory') +bashio::log.info "Setting data diretory: ${datadirectory}" +sed -i "s|%%datadirectory%%|$datadirectory|g" /defaults/config.php # copy config [[ ! -f /data/config/www/nextcloud/config/config.php ]] && \