From c01b4f89c6a1e1835bc51b00ee1e10d38a45e9fd Mon Sep 17 00:00:00 2001 From: Marcio Granzotto Date: Wed, 29 Dec 2021 15:36:39 -0300 Subject: [PATCH 1/3] Add data directory option on NextCloud --- nextcloud/README.md | 1 + nextcloud/config.json | 2 ++ nextcloud/rootfs/defaults/config.php | 2 +- nextcloud/rootfs/etc/cont-init.d/60-memcache.sh | 4 ++++ 4 files changed, 8 insertions(+), 1 deletion(-) 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/etc/cont-init.d/60-memcache.sh b/nextcloud/rootfs/etc/cont-init.d/60-memcache.sh index 0307c088d..a2ac0edc2 100644 --- a/nextcloud/rootfs/etc/cont-init.d/60-memcache.sh +++ b/nextcloud/rootfs/etc/cont-init.d/60-memcache.sh @@ -1,5 +1,9 @@ #!/usr/bin/with-contenv bash +# Change data directory +datadirectory=$(bashio::config 'data_directory') +sed -i "s/%%datadirectory%%/${datadirectory}/g" /defaults/config.php + # copy config [[ ! -f /data/config/www/nextcloud/config/config.php ]] && \ cp /defaults/config.php /data/config/www/nextcloud/config/config.php From 7f0f2a8cedc4df316e7649376ba99f44b66ed6ea Mon Sep 17 00:00:00 2001 From: Marcio Granzotto Date: Thu, 30 Dec 2021 00:45:09 -0300 Subject: [PATCH 2/3] Fix data direcatory --- nextcloud/rootfs/defaults/config.php | 1 + nextcloud/rootfs/defaults/nextcloud-perms.sh | 8 +++++--- nextcloud/rootfs/etc/cont-init.d/10-adduser.sh | 3 ++- nextcloud/rootfs/etc/cont-init.d/40-config.sh | 7 ++++--- nextcloud/rootfs/etc/cont-init.d/60-memcache.sh | 5 +++-- 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/nextcloud/rootfs/defaults/config.php b/nextcloud/rootfs/defaults/config.php index 9a534907c..8f3114c51 100644 --- a/nextcloud/rootfs/defaults/config.php +++ b/nextcloud/rootfs/defaults/config.php @@ -2,5 +2,6 @@ $CONFIG = array ( 'memcache.local' => '\OC\Memcache\APCu', 'datadirectory' => '%%datadirectory%%', + 'overwriteprotocol' => 'https', ); 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 a2ac0edc2..a1705a99b 100644 --- a/nextcloud/rootfs/etc/cont-init.d/60-memcache.sh +++ b/nextcloud/rootfs/etc/cont-init.d/60-memcache.sh @@ -1,8 +1,9 @@ -#!/usr/bin/with-contenv bash +#!/usr/bin/with-contenv bashio # Change data directory datadirectory=$(bashio::config 'data_directory') -sed -i "s/%%datadirectory%%/${datadirectory}/g" /defaults/config.php +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 ]] && \ From 38b43d00965acd711022601717608df2cd6d4127 Mon Sep 17 00:00:00 2001 From: Marcio Granzotto Rodrigues Date: Thu, 30 Dec 2021 03:30:01 -0300 Subject: [PATCH 3/3] Update config.php --- nextcloud/rootfs/defaults/config.php | 1 - 1 file changed, 1 deletion(-) diff --git a/nextcloud/rootfs/defaults/config.php b/nextcloud/rootfs/defaults/config.php index 8f3114c51..9a534907c 100644 --- a/nextcloud/rootfs/defaults/config.php +++ b/nextcloud/rootfs/defaults/config.php @@ -2,6 +2,5 @@ $CONFIG = array ( 'memcache.local' => '\OC\Memcache\APCu', 'datadirectory' => '%%datadirectory%%', - 'overwriteprotocol' => 'https', );