Skip to content

Commit 01e6572

Browse files
committed
Change templates to run core Nextcloud files from container ephemeral storage
Signed-off-by: Mike Cronce <mike@quadra-tec.net>
1 parent dc88da8 commit 01e6572

3 files changed

Lines changed: 36 additions & 17 deletions

File tree

Dockerfile-alpine.template

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,11 @@ RUN { \
124124
chown -R www-data:root /var/www; \
125125
chmod -R g=u /var/www
126126

127-
VOLUME /var/www/html
127+
VOLUME /var/www/html/data
128+
VOLUME /var/www/html/config
129+
VOLUME /var/www/html/custom_apps
130+
VOLUME /var/www/html/themes
131+
VOLUME /var/www/tmp
128132
%%VARIANT_EXTRAS%%
129133

130134
ENV NEXTCLOUD_VERSION %%VERSION%%
@@ -142,12 +146,17 @@ RUN set -ex; \
142146
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
143147
gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
144148
tar -xjf nextcloud.tar.bz2 -C /usr/src/; \
149+
mkdir /usr/src/nextcloud-base; \
150+
mv -vf /usr/src/nextcloud/config /usr/src/nextcloud/themes /usr/src/nextcloud-base/; \
151+
rm -Rvf /var/www/html; \
152+
mv -vf /usr/src/nextcloud /var/www/html; \
153+
mv -vf /usr/src/nextcloud-base /usr/src/nextcloud; \
145154
gpgconf --kill all; \
146-
rm nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
147-
rm -rf "$GNUPGHOME" /usr/src/nextcloud/updater; \
148-
mkdir -p /usr/src/nextcloud/data; \
149-
mkdir -p /usr/src/nextcloud/custom_apps; \
150-
chmod +x /usr/src/nextcloud/occ; \
155+
rm -rf "$GNUPGHOME" /var/www/html/updater; \
156+
mkdir -p /var/www/html/data; \
157+
mkdir -p /var/www/html/custom_apps; \
158+
mkdir -p /var/www/html/themes; \
159+
chmod +x /var/www/html/occ; \
151160
apk del --no-network .fetch-deps
152161

153162
COPY *.sh upgrade.exclude /

Dockerfile-debian.template

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,11 @@ RUN { \
131131
chown -R www-data:root /var/www; \
132132
chmod -R g=u /var/www
133133

134-
VOLUME /var/www/html
134+
VOLUME /var/www/html/data
135+
VOLUME /var/www/html/config
136+
VOLUME /var/www/html/custom_apps
137+
VOLUME /var/www/html/themes
138+
VOLUME /var/www/tmp
135139
%%VARIANT_EXTRAS%%
136140

137141
ENV NEXTCLOUD_VERSION %%VERSION%%
@@ -151,12 +155,17 @@ RUN set -ex; \
151155
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
152156
gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
153157
tar -xjf nextcloud.tar.bz2 -C /usr/src/; \
158+
mkdir /usr/src/nextcloud-base; \
159+
mv -vf /usr/src/nextcloud/config /usr/src/nextcloud/themes /usr/src/nextcloud-base/; \
160+
rm -Rvf /var/www/html; \
161+
mv -vf /usr/src/nextcloud /var/www/html; \
162+
mv -vf /usr/src/nextcloud-base /usr/src/nextcloud; \
154163
gpgconf --kill all; \
155-
rm nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
156-
rm -rf "$GNUPGHOME" /usr/src/nextcloud/updater; \
157-
mkdir -p /usr/src/nextcloud/data; \
158-
mkdir -p /usr/src/nextcloud/custom_apps; \
159-
chmod +x /usr/src/nextcloud/occ; \
164+
rm -rf "$GNUPGHOME" /var/www/html/updater; \
165+
mkdir -p /var/www/html/data; \
166+
mkdir -p /var/www/html/custom_apps; \
167+
mkdir -p /var/www/html/themes; \
168+
chmod +x /var/www/html/occ; \
160169
\
161170
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps; \
162171
apt-get dist-clean

docker-entrypoint.sh

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -174,12 +174,12 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
174174
fi
175175

176176
installed_version="0.0.0.0"
177-
if [ -f /var/www/html/version.php ]; then
177+
if [ -f /var/www/html/config/version.php ]; then
178178
# shellcheck disable=SC2016
179-
installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')"
179+
installed_version="$(php -r 'require "/var/www/html/config/version.php"; echo implode(".", $OC_Version);')"
180180
fi
181181
# shellcheck disable=SC2016
182-
image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')"
182+
image_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')"
183183

184184
if version_greater "$installed_version" "$image_version"; then
185185
echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?"
@@ -203,13 +203,11 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
203203
rsync_options="-rlD"
204204
fi
205205

206-
rsync $rsync_options --delete --exclude-from=/upgrade.exclude /usr/src/nextcloud/ /var/www/html/
207206
for dir in config data custom_apps themes; do
208207
if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then
209208
rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/
210209
fi
211210
done
212-
rsync $rsync_options --include '/version.php' --exclude '/*' /usr/src/nextcloud/ /var/www/html/
213211

214212
# Install
215213
if [ "$installed_version" = "0.0.0.0" ]; then
@@ -304,6 +302,9 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
304302
run_path post-upgrade
305303
fi
306304

305+
cp -vf /var/www/html/version.php /var/www/html/config/
306+
chown -c $user:$group /var/www/html/config/version.php
307+
307308
echo "Initializing finished"
308309
fi
309310

0 commit comments

Comments
 (0)