Compare commits

...

111 Commits

Author SHA1 Message Date
LinuxServer-CI d3698ce2e6 Bot Updating Package Versions 2023-12-12 11:52:16 +00:00
LinuxServer-CI c2d8366bfb Bot Updating Package Versions 2023-12-05 11:54:19 +00:00
Eric Nemchik 052617f0b8 Merge pull request #382 from linuxserver/quiet-migration
only run migration if conf exists
2023-11-29 08:30:49 -06:00
LinuxServer-CI fa870cb93c Bot Updating Package Versions 2023-11-28 11:50:53 +00:00
Eric Nemchik 47204a2368 only run migration if conf exists
redirect stderr to /dev/null

Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-11-25 10:43:10 -06:00
LinuxServer-CI 11aedff334 Bot Updating Package Versions 2023-11-23 20:34:09 +00:00
LinuxServer-CI 04b088162e Bot Updating Package Versions 2023-11-21 11:50:07 +00:00
LinuxServer-CI 41ed12bc46 Bot Updating Package Versions 2023-11-19 01:14:13 +00:00
LinuxServer-CI 9e8419179c Bot Updating Templated Files 2023-11-19 01:10:36 +00:00
Eric Nemchik 56206810af Merge pull request #343 from linuxserver/standard-cron
standard cron master
2023-11-18 19:09:03 -06:00
LinuxServer-CI 0794dc7b87 Bot Updating Package Versions 2023-11-13 22:39:31 +00:00
aptalca 7e18efc6d5 Merge pull request #379 from linuxserver/mcrypt
install mcrypt from community repo on alpine edge
2023-11-13 17:35:56 -05:00
aptalca 4636a2ef5f install mcrypt from community repo on alpine edge 2023-11-13 17:03:44 -05:00
LinuxServer-CI bb421a0d33 Bot Updating Package Versions 2023-11-07 11:51:02 +00:00
LinuxServer-CI fd22973a29 Bot Updating Templated Files 2023-10-28 19:54:45 +00:00
Eric Nemchik 186e5194f5 Merge pull request #375 from linuxserver/disable-web-upgrade-master
Disable web upgrades using occ during init master
2023-10-28 14:53:07 -05:00
Eric Nemchik 7e18f6f27d Disable web upgrades using occ during init
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-10-28 14:24:11 -05:00
LinuxServer-CI b7d9f30b0d Bot Updating Package Versions 2023-10-28 15:33:13 +00:00
LinuxServer-CI 64922d3839 Bot Updating Package Versions 2023-10-24 11:50:26 +00:00
LinuxServer-CI 05e5c8363a Bot Updating Package Versions 2023-10-17 11:52:30 +00:00
LinuxServer-CI 2ecd6cb8d9 Bot Updating Package Versions 2023-10-10 11:54:26 +00:00
LinuxServer-CI 1cce29259a Bot Updating Templated Files 2023-10-10 11:50:44 +00:00
LinuxServer-CI 8e3018012d Bot Updating Templated Files 2023-10-10 11:49:16 +00:00
LinuxServer-CI 12810033bf Bot Updating Package Versions 2023-09-29 00:39:44 +00:00
Eric Nemchik 5f37ac0862 Merge pull request #358 from linuxserver/updatenotification-app
Re-add updatenotification app
2023-09-28 19:35:41 -05:00
LinuxServer-CI b92694d865 Bot Updating Package Versions 2023-09-26 11:50:26 +00:00
LinuxServer-CI 6f2ac537d5 Bot Updating Package Versions 2023-09-21 10:37:14 +00:00
quietsy 3accfcac32 Merge pull request #364 from linuxserver/fix-lsiown
Fix lsiown -R order
2023-09-18 17:01:45 +03:00
quietsy c93fe11b13 Fix lsiown -R order 2023-09-18 16:38:05 +03:00
LinuxServer-CI 330bf2caca Bot Updating Package Versions 2023-09-16 09:34:06 +00:00
LinuxServer-CI 9ac9165b38 Bot Updating Package Versions 2023-09-12 11:56:00 +00:00
LinuxServer-CI a116d0836b Bot Updating Package Versions 2023-09-05 11:52:55 +00:00
Eric Nemchik 2e9769050c Re-add updatenotification app
Closes https://github.com/linuxserver/docker-nextcloud/issues/356

Signed-off-by: GitHub <noreply@github.com>
2023-08-31 13:59:44 +00:00
LinuxServer-CI 76d3af10c2 Bot Updating Package Versions 2023-08-29 11:53:09 +00:00
LinuxServer-CI 87ab71daba Bot Updating Package Versions 2023-08-22 11:52:44 +00:00
Eric Nemchik e25b4e3b4f Move crontabs to etc
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-08-19 10:17:19 -05:00
Eric Nemchik a7471ca097 Remove root cron sed
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-08-19 08:41:47 -05:00
Eric Nemchik 31e9e86b4f cron in base
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-08-18 23:38:05 -05:00
LinuxServer-CI 8263ebe714 Bot Updating Package Versions 2023-08-15 11:57:27 +00:00
LinuxServer-CI 61cacaaa92 Bot Updating Package Versions 2023-08-15 11:52:26 +00:00
quietsy 1585ba556b Merge pull request #354 from linuxserver/master-develop
Add the develop tag to the readme
2023-08-15 10:54:46 +03:00
quietsy 8e868b8471 Add the develop tag to the readme 2023-08-15 10:21:47 +03:00
LinuxServer-CI ecb0c736a1 Bot Updating Package Versions 2023-08-15 03:26:31 +00:00
LinuxServer-CI a68f0f6925 Bot Updating Package Versions 2023-08-15 03:22:55 +00:00
LinuxServer-CI 9c74d389e8 Bot Updating Package Versions 2023-08-15 03:19:37 +00:00
Eric Nemchik 679d4f2c41 Merge pull request #353 from linuxserver/remove-updatenotification
Remove updatenotification
2023-08-14 22:16:03 -05:00
Eric Nemchik fd7d9d1f0a Run silent
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-08-14 20:06:34 -05:00
Eric Nemchik ea2517e26d Remove updatenotification
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-08-14 20:00:33 -05:00
LinuxServer-CI d2fd6fc539 Bot Updating Package Versions 2023-08-14 14:04:59 +00:00
LinuxServer-CI 7ed49f352e Bot Updating Package Versions 2023-08-08 11:50:05 +00:00
LinuxServer-CI e916f5b8e7 Bot Updating Package Versions 2023-08-01 11:49:55 +00:00
Eric Nemchik 0d3c4888b0 Fix perms
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-07-30 09:49:46 -05:00
Eric Nemchik e022624194 standard cron
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-07-30 01:16:35 -05:00
LinuxServer-CI e5eda5af76 Bot Updating Templated Files 2023-07-26 16:44:03 +00:00
Eric Nemchik b9be60fa7f Merge pull request #341 from linuxserver/custom-apps
Add instructions for custom apps
2023-07-26 11:42:34 -05:00
Eric Nemchik ea8ec3f7de Add instructions for custom apps
Signed-off-by: GitHub <noreply@github.com>
2023-07-25 16:05:01 +00:00
LinuxServer-CI 1f55fe6c33 Bot Updating Package Versions 2023-07-25 11:52:43 +00:00
LinuxServer-CI aeba9df4db Bot Updating Package Versions 2023-07-20 15:33:40 +00:00
Eric Nemchik a4f984a7d9 Merge pull request #333 from linuxserver/php-nginx-defaults
Set php defaults to match nginx
2023-07-18 13:54:16 -05:00
LinuxServer-CI 2754ea55c9 Bot Updating Package Versions 2023-07-18 11:52:08 +00:00
Eric Nemchik 0e7b613aea Set php defaults to match nginx
Signed-off-by: GitHub <noreply@github.com>
2023-07-12 20:37:55 +00:00
LinuxServer-CI 8be7743ecf Bot Updating Package Versions 2023-07-11 11:53:00 +00:00
Eric Nemchik 191b544762 Merge pull request #325 from linuxserver/data-directory
Set datadirectory and fix integrity check
2023-07-04 21:08:03 -05:00
LinuxServer-CI e21472ef48 Bot Updating Package Versions 2023-07-04 11:54:08 +00:00
LinuxServer-CI 818caffc53 Bot Updating Templated Files 2023-07-04 11:48:41 +00:00
Eric Nemchik d151fd013f Remove disabled apps logic (was broken)
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-27 18:19:21 -05:00
Eric Nemchik e3d0f3fff2 If there are no apps then needs installs
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-27 18:14:37 -05:00
Eric Nemchik 06ca2ef0a1 Remove shipped apps for upgrade
Prevents integrity check issue

Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-26 19:03:54 -05:00
Adam bb420b03b9 Merge pull request #326 from linuxserver/dd-fix 2023-06-26 21:03:47 +01:00
TheSpad ee61df9ca5 Fix order of operations 2023-06-26 16:29:21 +01:00
Eric Nemchik d1c323e579 Set data directory during init
Signed-off-by: GitHub <noreply@github.com>
2023-06-26 14:15:22 +00:00
LinuxServer-CI dec08a2484 Bot Updating Package Versions 2023-06-25 17:20:40 +00:00
Eric Nemchik 405337b30e Merge pull request #317 from linuxserver/internal
Move Nextcloud installation inside container
2023-06-25 12:16:57 -05:00
Eric Nemchik fa12222577 Update cstate date
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-25 09:02:43 -05:00
Eric Nemchik 8a07cc6f8d Update dates
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-23 12:45:57 -05:00
Eric Nemchik aaa5539e72 Setup APCu for file locking
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-23 08:02:59 -05:00
Eric Nemchik 26a0540cd1 Merge remote-tracking branch 'origin/master' into internal
Signed-off-by: GitHub <noreply@github.com>
2023-06-21 14:12:36 +00:00
Eric Nemchik 6bdb726b5c Update readme
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-19 11:25:57 -05:00
Eric Nemchik 002d482a4b Update new install logic 2023-06-18 14:20:21 -05:00
Eric Nemchik b985143d6c Rework install/upgrade logic
Persist needs_migration in case init sleeps

Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-18 08:59:02 -05:00
Eric Nemchik 11256def46 Fix max upgrade check
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-17 21:39:41 -05:00
Eric Nemchik 038280e26e Add max upgrade check
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-17 21:37:15 -05:00
Eric Nemchik cbda0f1b45 Adjust update wording
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-16 17:09:57 -05:00
Eric Nemchik f45714f6a0 Add output about taking a long time
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-16 15:57:13 -05:00
Eric Nemchik 19ffc43845 Account for missing install
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-16 15:01:05 -05:00
Eric Nemchik 8e814fad1a Rework installed version check (again)
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-16 14:33:58 -05:00
Eric Nemchik 4eb5de15be Use full file path for cron replacement
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-16 14:03:46 -05:00
Eric Nemchik 1859718b5b Replace crontab during migration
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-16 14:01:49 -05:00
Eric Nemchik e0b9378984 Remove incomplete memcached config
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-16 13:57:04 -05:00
Eric Nemchik 99c22a9646 Data is separate
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-07 11:13:42 -05:00
Eric Nemchik 1aa1f053bf rsync persistent data to config
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-07 11:06:21 -05:00
Eric Nemchik a87e7408b0 Refactor chown
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-07 11:05:37 -05:00
Eric Nemchik 0bccfaed5d Include apps in upgrade exclusion
Only excluded if not empty

Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-07 10:49:29 -05:00
Eric Nemchik 04e3db14fd Symlink apps rather than using custom_apps
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-07 10:47:51 -05:00
Eric Nemchik 50300ca085 Don't consider version installed inside
Only consider version on persistent config

Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-07 10:41:36 -05:00
Eric Nemchik b914cfdf0b Don't copy defaults
The install and symlink handles this

Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-07 09:53:52 -05:00
Eric Nemchik f5ea4e4b4e Account for persistent config version
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-07 09:24:28 -05:00
Eric Nemchik 95a5440b64 Fix config format
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-07 01:00:34 -05:00
Eric Nemchik 53f5177687 Only run occ config if installed
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-07 00:39:33 -05:00
Eric Nemchik e1f2335825 Additional permission fixes
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-07 00:26:58 -05:00
Eric Nemchik bddeebb953 Fix symlink breaking
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-07 00:18:14 -05:00
Eric Nemchik beac2d82ef Redirect output
Doesn't need to be in container log

Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-06 23:44:28 -05:00
Eric Nemchik 57c6197dbe Run occ after install
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-06 23:26:11 -05:00
Eric Nemchik 91f7977eff setup config
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-06 23:00:47 -05:00
Eric Nemchik d1ddb603b0 Don't delete extra files with rsync
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-06 19:07:55 -05:00
Eric Nemchik 7cc124486a Rearrange init order again
Symlink user folders before reading datadirectory
Symlink datadirectory separately

Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-06 18:45:12 -05:00
Eric Nemchik 2924be9081 Cleanup migrated files
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-06 18:22:21 -05:00
Eric Nemchik 4646cd7d45 Reorder init logic again
Migrate before symlink
Don't copy persistent data into container
Fix datadirectory file

Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-06 15:42:21 -05:00
Eric Nemchik 14bc5e1aa5 Migrate after creating symlinks
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-06 15:00:12 -05:00
Eric Nemchik 799bf398a5 Fix Dockerfile syntax
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-06 14:42:07 -05:00
Eric Nemchik 21291a365f Move Nextcloud installation inside container
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-06-06 14:37:17 -05:00
21 changed files with 837 additions and 477 deletions
+38 -26
View File
@@ -45,42 +45,54 @@ RUN \
php82-sqlite3 \
php82-sysvsem \
php82-xmlreader \
rsync \
samba-client \
sudo && \
apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing \
apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community \
php82-pecl-mcrypt && \
echo "**** configure php and nginx for nextcloud ****" && \
echo 'apc.enable_cli=1' >> /etc/php82/conf.d/apcu.ini && \
sed -i \
-e 's/;opcache.enable.*=.*/opcache.enable=1/g' \
-e 's/;opcache.interned_strings_buffer.*=.*/opcache.interned_strings_buffer=16/g' \
-e 's/;opcache.max_accelerated_files.*=.*/opcache.max_accelerated_files=10000/g' \
-e 's/;opcache.memory_consumption.*=.*/opcache.memory_consumption=128/g' \
-e 's/;opcache.save_comments.*=.*/opcache.save_comments=1/g' \
-e 's/;opcache.revalidate_freq.*=.*/opcache.revalidate_freq=1/g' \
-e 's/;always_populate_raw_post_data.*=.*/always_populate_raw_post_data=-1/g' \
-e 's/memory_limit.*=.*128M/memory_limit=512M/g' \
-e 's/max_execution_time.*=.*30/max_execution_time=120/g' \
-e 's/upload_max_filesize.*=.*2M/upload_max_filesize=1024M/g' \
-e 's/post_max_size.*=.*8M/post_max_size=1024M/g' \
-e 's/output_buffering.*=.*/output_buffering=0/g' \
/etc/php82/php.ini && \
sed -i \
'/opcache.enable=1/a opcache.enable_cli=1' \
/etc/php82/php.ini && \
echo "**** configure php-fpm to pass env vars ****" && \
sed -E -i 's/^;?clear_env ?=.*$/clear_env = no/g' /etc/php82/php-fpm.d/www.conf && \
grep -qxF 'clear_env = no' /etc/php82/php-fpm.d/www.conf || echo 'clear_env = no' >> /etc/php82/php-fpm.d/www.conf && \
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php82/php-fpm.conf && \
echo "**** set version tag ****" && \
echo "**** configure php for nextcloud ****" && \
{ \
echo 'apc.enable_cli=1'; \
} >> /etc/php82/conf.d/apcu.ini && \
{ \
echo 'opcache.enable=1'; \
echo 'opcache.interned_strings_buffer=32'; \
echo 'opcache.max_accelerated_files=10000'; \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.save_comments=1'; \
echo 'opcache.revalidate_freq=60'; \
echo 'opcache.jit=1255'; \
echo 'opcache.jit_buffer_size=128M'; \
} >> "/etc/php82/conf.d/00_opcache.ini" && \
{ \
echo 'memory_limit=512M'; \
echo 'upload_max_filesize=512M'; \
echo 'post_max_size=512M'; \
echo 'max_input_time=300'; \
echo 'max_execution_time=300'; \
echo 'output_buffering=0'; \
echo 'always_populate_raw_post_data=-1'; \
} >> "/etc/php82/conf.d/nextcloud.ini" && \
echo "**** install nextcloud ****" && \
mkdir -p \
/app/www/src/ && \
if [ -z ${NEXTCLOUD_RELEASE+x} ]; then \
NEXTCLOUD_RELEASE=$(curl -sX GET https://api.github.com/repos/nextcloud/server/releases \
| jq -r '.[] | select(.prerelease != true) | .tag_name' \
| sed 's|^v||g' | sort -rV | head -1); \
fi && \
echo "**** download nextcloud ****" && \
curl -o /app/nextcloud.tar.bz2 -L \
curl -o \
/tmp/nextcloud.tar.bz2 -L \
https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_RELEASE}.tar.bz2 && \
echo "**** test tarball ****" && \
tar xvf /app/nextcloud.tar.bz2 -C \
/tmp && \
tar xf /tmp/nextcloud.tar.bz2 -C \
/app/www/src --strip-components=1 && \
rm -rf /app/www/src/updater && \
mkdir -p /app/www/src/data && \
chmod +x /app/www/src/occ && \
echo "**** cleanup ****" && \
rm -rf \
/tmp/*
+38 -26
View File
@@ -45,42 +45,54 @@ RUN \
php82-sqlite3 \
php82-sysvsem \
php82-xmlreader \
rsync \
samba-client \
sudo && \
apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing \
apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community \
php82-pecl-mcrypt && \
echo "**** configure php and nginx for nextcloud ****" && \
echo 'apc.enable_cli=1' >> /etc/php82/conf.d/apcu.ini && \
sed -i \
-e 's/;opcache.enable.*=.*/opcache.enable=1/g' \
-e 's/;opcache.interned_strings_buffer.*=.*/opcache.interned_strings_buffer=16/g' \
-e 's/;opcache.max_accelerated_files.*=.*/opcache.max_accelerated_files=10000/g' \
-e 's/;opcache.memory_consumption.*=.*/opcache.memory_consumption=128/g' \
-e 's/;opcache.save_comments.*=.*/opcache.save_comments=1/g' \
-e 's/;opcache.revalidate_freq.*=.*/opcache.revalidate_freq=1/g' \
-e 's/;always_populate_raw_post_data.*=.*/always_populate_raw_post_data=-1/g' \
-e 's/memory_limit.*=.*128M/memory_limit=512M/g' \
-e 's/max_execution_time.*=.*30/max_execution_time=120/g' \
-e 's/upload_max_filesize.*=.*2M/upload_max_filesize=1024M/g' \
-e 's/post_max_size.*=.*8M/post_max_size=1024M/g' \
-e 's/output_buffering.*=.*/output_buffering=0/g' \
/etc/php82/php.ini && \
sed -i \
'/opcache.enable=1/a opcache.enable_cli=1' \
/etc/php82/php.ini && \
echo "**** configure php-fpm to pass env vars ****" && \
sed -E -i 's/^;?clear_env ?=.*$/clear_env = no/g' /etc/php82/php-fpm.d/www.conf && \
grep -qxF 'clear_env = no' /etc/php82/php-fpm.d/www.conf || echo 'clear_env = no' >> /etc/php82/php-fpm.d/www.conf && \
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php82/php-fpm.conf && \
echo "**** set version tag ****" && \
echo "**** configure php for nextcloud ****" && \
{ \
echo 'apc.enable_cli=1'; \
} >> /etc/php82/conf.d/apcu.ini && \
{ \
echo 'opcache.enable=1'; \
echo 'opcache.interned_strings_buffer=32'; \
echo 'opcache.max_accelerated_files=10000'; \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.save_comments=1'; \
echo 'opcache.revalidate_freq=60'; \
echo 'opcache.jit=1255'; \
echo 'opcache.jit_buffer_size=128M'; \
} >> "/etc/php82/conf.d/00_opcache.ini" && \
{ \
echo 'memory_limit=512M'; \
echo 'upload_max_filesize=512M'; \
echo 'post_max_size=512M'; \
echo 'max_input_time=300'; \
echo 'max_execution_time=300'; \
echo 'output_buffering=0'; \
echo 'always_populate_raw_post_data=-1'; \
} >> "/etc/php82/conf.d/nextcloud.ini" && \
echo "**** install nextcloud ****" && \
mkdir -p \
/app/www/src/ && \
if [ -z ${NEXTCLOUD_RELEASE+x} ]; then \
NEXTCLOUD_RELEASE=$(curl -sX GET https://api.github.com/repos/nextcloud/server/releases \
| jq -r '.[] | select(.prerelease != true) | .tag_name' \
| sed 's|^v||g' | sort -rV | head -1); \
fi && \
echo "**** download nextcloud ****" && \
curl -o /app/nextcloud.tar.bz2 -L \
curl -o \
/tmp/nextcloud.tar.bz2 -L \
https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_RELEASE}.tar.bz2 && \
echo "**** test tarball ****" && \
tar xvf /app/nextcloud.tar.bz2 -C \
/tmp && \
tar xf /tmp/nextcloud.tar.bz2 -C \
/app/www/src --strip-components=1 && \
rm -rf /app/www/src/updater && \
mkdir -p /app/www/src/data && \
chmod +x /app/www/src/occ && \
echo "**** cleanup ****" && \
rm -rf \
/tmp/*
Vendored
+44 -38
View File
@@ -16,7 +16,6 @@ pipeline {
GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab')
GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0')
GITLAB_NAMESPACE=credentials('gitlab-namespace-id')
SCARF_TOKEN=credentials('scarf_api_key')
BUILD_VERSION_ARG = 'NEXTCLOUD_RELEASE'
LS_USER = 'linuxserver'
LS_REPO = 'docker-nextcloud'
@@ -280,7 +279,7 @@ pipeline {
echo "Jenkinsfile is up to date."
fi
# Stage 2 - Delete old templates
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml"
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml Dockerfile.armhf"
for i in ${OLD_TEMPLATES}; do
if [[ -f "${i}" ]]; then
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
@@ -316,24 +315,25 @@ pipeline {
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || :
cd ${TEMPDIR}/repo/${LS_REPO}/
if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then
echo ".jenkins-external" >> .gitignore
git add .gitignore
fi
git add ${TEMPLATED_FILES}
git add readme-vars.yml ${TEMPLATED_FILES}
git commit -m 'Bot Updating Templated Files'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
else
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
fi
mkdir -p ${TEMPDIR}/gitbook
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
cd ${TEMPDIR}/gitbook/docker-documentation/
git add images/docker-${CONTAINER_NAME}.md
mkdir -p ${TEMPDIR}/docs
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/docs/docker-documentation/docs/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/docs/docker-documentation/docs/images/
cd ${TEMPDIR}/docs/docker-documentation
git add docs/images/docker-${CONTAINER_NAME}.md
git commit -m 'Bot Updating Documentation'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all
fi
@@ -424,35 +424,6 @@ pipeline {
"visibility":"public"}' '''
}
}
/* #######################
Scarf.sh package registry
####################### */
// Add package to Scarf.sh and set permissions
stage("Scarf.sh package registry"){
when {
branch "master"
environment name: 'EXIT_STATUS', value: ''
}
steps{
sh '''#! /bin/bash
PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/nextcloud") | .uuid' || :)
if [ -z "${PACKAGE_UUID}" ]; then
echo "Adding package to Scarf.sh"
curl -sX POST https://scarf.sh/api/v1/organizations/linuxserver-ci/packages \
-H "Authorization: Bearer ${SCARF_TOKEN}" \
-H "Content-Type: application/json" \
-d '{"name":"linuxserver/nextcloud",\
"shortDescription":"example description",\
"libraryType":"docker",\
"website":"https://github.com/linuxserver/docker-nextcloud",\
"backendUrl":"https://ghcr.io/linuxserver/nextcloud",\
"publicUrl":"https://lscr.io/linuxserver/nextcloud"}' || :
else
echo "Package already exists on Scarf.sh"
fi
'''
}
}
/* ###############
Build Container
############### */
@@ -848,6 +819,41 @@ pipeline {
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
}
}
// Add protection to the release branch
stage('Github-Release-Branch-Protection') {
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
steps {
echo "Setting up protection for release branch master"
sh '''#! /bin/bash
curl -H "Authorization: token ${GITHUB_TOKEN}" -X PUT https://api.github.com/repos/${LS_USER}/${LS_REPO}/branches/master/protection \
-d $(jq -c . << EOF
{
"required_status_checks": null,
"enforce_admins": false,
"required_pull_request_reviews": {
"dismiss_stale_reviews": false,
"require_code_owner_reviews": false,
"require_last_push_approval": false,
"required_approving_review_count": 1
},
"restrictions": null,
"required_linear_history": false,
"allow_force_pushes": false,
"allow_deletions": false,
"block_creations": false,
"required_conversation_resolution": true,
"lock_branch": false,
"allow_fork_syncing": false,
"required_signatures": false
}
EOF
) '''
}
}
// Use helper container to sync the current README on master to the dockerhub endpoint
stage('Sync-README') {
when {
+129 -48
View File
@@ -1,6 +1,5 @@
<!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read the https://github.com/linuxserver/docker-nextcloud/blob/master/.github/CONTRIBUTING.md -->
<!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read https://github.com/linuxserver/docker-nextcloud/blob/master/.github/CONTRIBUTING.md -->
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io)
[![Blog](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Blog)](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
@@ -48,7 +47,7 @@ Where are your photos and documents? With Nextcloud you pick a server of your ch
## Supported Architectures
We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://distribution.github.io/distribution/spec/manifest-v2-2/#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
Simply pulling `lscr.io/linuxserver/nextcloud:latest` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
@@ -60,25 +59,26 @@ The architectures supported by this image are:
| arm64 | ✅ | arm64v8-\<version tag\> |
| armhf | ❌ | |
## Version Tags
This image provides various versions that are available via tags. Please read the descriptions carefully and exercise caution when using unstable or development tags.
| Tag | Available | Description |
| :----: | :----: |--- |
| latest | ✅ | Stable Nextcloud releases |
| develop | ✅ | Beta Nextcloud pre-releases *only* |
## Application Setup
Access the webui at `https://<your-ip>:443`, for more information check out [Nextcloud](https://nextcloud.com/).
Docker image update and recreation of container alone won't update nextcloud version.
### Updating Nextcloud
In order to update nextcloud version, you have two options, firstly make sure you are using the latest docker image,then either
Updating Nextcloud is done by pulling the new image, and recreating the container with it.
1. Perform the in app gui update.
2. Use the CLI version by running `docker exec -it nextcloud updater.phar`
(Both of these are described [here](https://docs.nextcloud.com/server/latest/admin_manual/maintenance/update.html))
It is only possible to upgrade one major version at a time. For example, if you want to upgrade from version 14 to 16, you will have to upgrade from version 14 to 15, then from 15 to 16.
Note: Both `occ` and `updater.phar` can be run without prepending with `sudo -u abc php` or `sudo -u www-data php`
If you are not customizing our default nginx configuration you will need to remove the file:
```
/config/nginx/site-confs/default.conf
```
Then restart the container to replace it with the latest one.
Since all data is stored in the `/config` and `/data` volumes, nothing gets lost. The startup script will check for the version in your volume and the installed docker version. If it finds a mismatch, it automatically starts the upgrade process.
### Collaborative Editing
@@ -86,6 +86,17 @@ Nextcloud's built-in collaborative editing packages (Collabora/CODE and OnlyOffi
If (auto) installed, those built-in packages may cause instability and should be removed.
### Custom App Directories
If you are [using custom app directories](https://docs.nextcloud.com/server/latest/admin_manual/apps_management.html#using-custom-app-directories) you will need to make the custom folder(s) you are using available to the web server. The recommended way to do this with our container is to add a volume. Ex:
```yaml
volumes:
- /path/to/your_custom_apps_folder:/app/www/public/your_custom_apps_folder
```
Afterwards, you can set `"path" => OC::$SERVERROOT . "/your_custom_apps_folder",` in your `config.php` file, per the [official documentation](https://docs.nextcloud.com/server/latest/admin_manual/apps_management.html#using-custom-app-directories).
### Strict reverse proxies
This image uses a self-signed certificate by default. This naturally means the scheme is `https`.
@@ -93,7 +104,7 @@ If you are using a reverse proxy which validates certificates, you need to [disa
## Usage
Here are some example snippets to help you get started creating a container.
To help you get started creating a container from this image you can either use docker-compose or the docker cli.
### docker-compose (recommended, [click here for more info](https://docs.linuxserver.io/general/docker-compose))
@@ -129,12 +140,11 @@ docker run -d \
-v /path/to/data:/data \
--restart unless-stopped \
lscr.io/linuxserver/nextcloud:latest
```
## Parameters
Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>:<internal>` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container.
Containers are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>:<internal>` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container.
| Parameter | Function |
| :----: | --- |
@@ -152,10 +162,10 @@ You can set any environment variable from a file by using a special prepend `FIL
As an example:
```bash
-e FILE__PASSWORD=/run/secrets/mysecretpassword
-e FILE__MYVAR=/run/secrets/mysecretvariable
```
Will set the environment variable `PASSWORD` based on the contents of the `/run/secrets/mysecretpassword` file.
Will set the environment variable `MYVAR` based on the contents of the `/run/secrets/mysecretvariable` file.
## Umask for running applications
@@ -164,15 +174,20 @@ Keep in mind umask is not chmod it subtracts from permissions based on it's valu
## User / Group Identifiers
When using volumes (`-v` flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`.
When using volumes (`-v` flags), permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`.
Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id user` as below:
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id your_user` as below:
```bash
$ id username
uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
id your_user
```
Example output:
```text
uid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
```
## Docker Mods
@@ -183,12 +198,29 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to
## Support Info
* Shell access whilst the container is running: `docker exec -it nextcloud /bin/bash`
* To monitor the logs of the container in realtime: `docker logs -f nextcloud`
* container version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' nextcloud`
* image version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/nextcloud:latest`
* Shell access whilst the container is running:
```bash
docker exec -it nextcloud /bin/bash
```
* To monitor the logs of the container in realtime:
```bash
docker logs -f nextcloud
```
* Container version number:
```bash
docker inspect -f '{{ index .Config.Labels "build_version" }}' nextcloud
```
* Image version number:
```bash
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/nextcloud:latest
```
## Updating Info
@@ -198,38 +230,83 @@ Below are the instructions for updating containers:
### Via Docker Compose
* Update all images: `docker-compose pull`
* or update a single image: `docker-compose pull nextcloud`
* Let compose update all containers as necessary: `docker-compose up -d`
* or update a single container: `docker-compose up -d nextcloud`
* You can also remove the old dangling images: `docker image prune`
* Update images:
* All images:
```bash
docker-compose pull
```
* Single image:
```bash
docker-compose pull nextcloud
```
* Update containers:
* All containers:
```bash
docker-compose up -d
```
* Single container:
```bash
docker-compose up -d nextcloud
```
* You can also remove the old dangling images:
```bash
docker image prune
```
### Via Docker Run
* Update the image: `docker pull lscr.io/linuxserver/nextcloud:latest`
* Stop the running container: `docker stop nextcloud`
* Delete the container: `docker rm nextcloud`
* Update the image:
```bash
docker pull lscr.io/linuxserver/nextcloud:latest
```
* Stop the running container:
```bash
docker stop nextcloud
```
* Delete the container:
```bash
docker rm nextcloud
```
* Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
* You can also remove the old dangling images: `docker image prune`
* You can also remove the old dangling images:
```bash
docker image prune
```
### Via Watchtower auto-updater (only use if you don't remember the original parameters)
* Pull the latest image at its tag and replace it with the same env variables in one run:
```bash
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--run-once nextcloud
```
```bash
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--run-once nextcloud
```
* You can also remove the old dangling images: `docker image prune`
**Note:** We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using [Docker Compose](https://docs.linuxserver.io/general/docker-compose).
**warning**: We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using [Docker Compose](https://docs.linuxserver.io/general/docker-compose).
### Image Update Notifications - Diun (Docker Image Update Notifier)
* We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
**tip**: We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
## Building locally
@@ -254,6 +331,10 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
* **28.10.23:** - Disable web upgrades using occ during init.
* **31.08.23:** - Re-add updatenotification app. This allows users to be notified for app updates, but also notifies for NextCloud updates. Updating NextCloud via the web UI is not supported when using this image.
* **14.08.23:** - Add develop branch.
* **25.06.23:** - Move Nextcloud installation inside container. Remove CLI updater. [See changes announcement](https://info.linuxserver.io/issues/2023-06-25-nextcloud/).
* **21.06.23:** - Existing users should update `/config/nginx/site-confs/default.conf` - Security fix for real ip settings.
* **25.05.23:** - Rebase to Alpine 3.18, deprecate armhf.
* **13.04.23:** - Move ssl.conf include to default.conf.
+391 -260
View File
@@ -1,260 +1,391 @@
NAME VERSION TYPE
alpine-baselayout 3.4.3-r1 apk
alpine-baselayout-data 3.4.3-r1 apk
alpine-keys 2.4-r1 apk
alpine-release 3.18.0-r0 apk
alsa-lib 1.2.9-r1 apk
aom-libs 3.6.1-r0 apk
apache2-utils 2.4.57-r2 apk
apk-tools 2.14.0-r2 apk
apr 1.7.4-r0 apk
apr-util 1.6.3-r1 apk
argon2-libs 20190702-r4 apk
avahi-libs 0.8-r13 apk
bash 5.2.15-r5 apk
brotli-libs 1.0.9-r14 apk
busybox 1.36.1 binary
busybox 1.36.1-r0 apk
busybox-binsh 1.36.1-r0 apk
c-client 2007f-r15 apk
ca-certificates 20230506-r0 apk
ca-certificates-bundle 20230506-r0 apk
cairo 1.17.8-r1 apk
cairo-gobject 1.17.8-r1 apk
cjson 1.7.15-r4 apk
coreutils 9.3-r1 apk
cups-libs 2.4.5-r0 apk
curl 8.1.2-r0 apk
dbus-libs 1.14.8-r0 apk
ffmpeg 6.0-r14 apk
ffmpeg-libavcodec 6.0-r14 apk
ffmpeg-libavdevice 6.0-r14 apk
ffmpeg-libavfilter 6.0-r14 apk
ffmpeg-libavformat 6.0-r14 apk
ffmpeg-libavutil 6.0-r14 apk
ffmpeg-libpostproc 6.0-r14 apk
ffmpeg-libswresample 6.0-r14 apk
ffmpeg-libswscale 6.0-r14 apk
flac-libs 1.4.2-r2 apk
fontconfig 2.14.2-r3 apk
freetype 2.13.0-r5 apk
fribidi 1.0.13-r0 apk
gdbm 1.23-r1 apk
gdk-pixbuf 2.42.10-r5 apk
ghostscript 10.01.1-r1 apk
git 2.40.1-r0 apk
glib 2.76.3-r0 apk
glslang-libs 1.3.243.0-r1 apk
gmp 6.2.1-r3 apk
gnu-libiconv 1.17-r1 apk
gnu-libiconv-libs 1.17-r1 apk
gnutls 3.8.0-r2 apk
graphite2 1.3.14-r5 apk
harfbuzz 7.3.0-r0 apk
hwdata-pci 0.370-r0 apk
icu-data-en 73.2-r0 apk
icu-libs 73.2-r0 apk
imagemagick 7.1.1.10-r0 apk
imagemagick-libs 7.1.1.10-r0 apk
jansson 2.14-r3 apk
jbig2dec 0.19-r3 apk
jq 1.6-r3 apk
lame-libs 3.100-r5 apk
lcms2 2.15-r2 apk
ldb 2.7.2-r1 apk
libacl 2.3.1-r3 apk
libarchive 3.6.2-r2 apk
libass 0.17.1-r0 apk
libasyncns 0.8-r1 apk
libattr 2.5.1-r4 apk
libavif 0.11.1-r2 apk
libblkid 2.38.1-r8 apk
libbluray 1.3.4-r0 apk
libbsd 0.11.7-r1 apk
libbz2 1.0.8-r5 apk
libc-utils 0.7.2-r5 apk
libcap2 2.69-r0 apk
libcrypto3 3.1.1-r1 apk
libcurl 8.1.2-r0 apk
libdav1d 1.2.1-r0 apk
libde265 1.0.12-r0 apk
libdrm 2.4.115-r4 apk
libedit 20221030.3.1-r1 apk
libevent 2.1.12-r6 apk
libexpat 2.5.0-r1 apk
libffi 3.4.4-r2 apk
libformw 6.4_p20230506-r0 apk
libgcc 12.2.1_git20220924-r10 apk
libgomp 12.2.1_git20220924-r10 apk
libheif 1.16.2-r0 apk
libhwy 1.0.4-r1 apk
libice 1.1.1-r2 apk
libidn2 2.3.4-r1 apk
libintl 0.21.1-r7 apk
libjpeg-turbo 2.1.5.1-r3 apk
libjxl 0.8.2-r0 apk
libldap 2.6.4-r3 apk
libltdl 2.4.7-r2 apk
libmcrypt 2.5.8-r10 apk
libmd 1.0.4-r2 apk
libmemcached-libs 1.1.4-r1 apk
libmount 2.38.1-r8 apk
libncursesw 6.4_p20230506-r0 apk
libogg 1.3.5-r4 apk
libopenmpt 0.7.2-r0 apk
libpanelw 6.4_p20230506-r0 apk
libpciaccess 0.17-r2 apk
libplacebo 5.264.1-r1 apk
libpng 1.6.39-r3 apk
libpq 15.3-r0 apk
libproc2 4.0.3-r1 apk
libpulse 16.1-r10 apk
libraw 0.21.1-r0 apk
librist 0.2.7-r0 apk
librsvg 2.56.1-r0 apk
libsasl 2.1.28-r4 apk
libsm 1.2.4-r1 apk
libsmbclient 4.18.3-r0 apk
libsndfile 1.2.0-r2 apk
libsodium 1.0.18-r3 apk
libsrt 1.5.1-r0 apk
libssh 0.10.5-r0 apk
libssl3 3.1.1-r1 apk
libstdc++ 12.2.1_git20220924-r10 apk
libtasn1 4.19.0-r1 apk
libtheora 1.1.1-r17 apk
libunibreak 5.1-r0 apk
libunistring 1.1-r1 apk
libuuid 2.38.1-r8 apk
libva 2.18.0-r1 apk
libvdpau 1.5-r1 apk
libvorbis 1.3.7-r1 apk
libvpx 1.13.0-r1 apk
libwbclient 4.18.3-r0 apk
libwebp 1.3.0-r2 apk
libx11 1.8.4-r4 apk
libxau 1.0.11-r2 apk
libxcb 1.15-r1 apk
libxdmcp 1.1.4-r2 apk
libxext 1.3.5-r2 apk
libxfixes 6.0.1-r2 apk
libxft 2.3.8-r1 apk
libxml2 2.11.4-r0 apk
libxpm 3.5.16-r1 apk
libxrender 0.9.11-r3 apk
libxt 1.3.0-r2 apk
libzip 1.9.2-r2 apk
libzmq 4.3.4-r4 apk
linux-pam 1.5.2-r10 apk
lmdb 0.9.30-r2 apk
logrotate 3.21.0-r1 apk
lz4-libs 1.9.4-r4 apk
mbedtls 2.28.3-r1 apk
mpg123-libs 1.31.3-r1 apk
musl 1.2.4-r0 apk
musl-utils 1.2.4-r0 apk
nano 7.2-r1 apk
ncurses-terminfo-base 6.4_p20230506-r0 apk
netcat-openbsd 1.219-r1 apk
nettle 3.8.1-r2 apk
nghttp2-libs 1.53.0-r0 apk
nginx 1.24.0-r6 apk
numactl 2.0.16-r4 apk
onevpl-libs 2023.2.1-r0 apk
oniguruma 6.9.8-r1 apk
openssl 3.1.1-r1 apk
opus 1.4-r0 apk
orc 0.4.34-r0 apk
p11-kit 0.24.1-r2 apk
pango 1.50.14-r1 apk
pcre 8.45-r3 apk
pcre2 10.42-r1 apk
php-cli 8.2.7 binary
php-fpm 8.2.7 binary
php82 8.2.7-r0 apk
php82-bcmath 8.2.7-r0 apk
php82-bz2 8.2.7-r0 apk
php82-common 8.2.7-r0 apk
php82-ctype 8.2.7-r0 apk
php82-curl 8.2.7-r0 apk
php82-dom 8.2.7-r0 apk
php82-exif 8.2.7-r0 apk
php82-fileinfo 8.2.7-r0 apk
php82-fpm 8.2.7-r0 apk
php82-ftp 8.2.7-r0 apk
php82-gd 8.2.7-r0 apk
php82-gmp 8.2.7-r0 apk
php82-iconv 8.2.7-r0 apk
php82-imap 8.2.7-r0 apk
php82-intl 8.2.7-r0 apk
php82-ldap 8.2.7-r0 apk
php82-mbstring 8.2.7-r0 apk
php82-mysqlnd 8.2.7-r0 apk
php82-opcache 8.2.7-r0 apk
php82-openssl 8.2.7-r0 apk
php82-pcntl 8.2.7-r0 apk
php82-pdo 8.2.7-r0 apk
php82-pdo_mysql 8.2.7-r0 apk
php82-pdo_pgsql 8.2.7-r0 apk
php82-pdo_sqlite 8.2.7-r0 apk
php82-pecl-apcu 5.1.22-r0 apk
php82-pecl-igbinary 3.2.14-r0 apk
php82-pecl-imagick 3.7.0-r5 apk
php82-pecl-mcrypt 1.0.6-r0 apk
php82-pecl-memcached 3.2.0-r1 apk
php82-pecl-msgpack 2.2.0-r0 apk
php82-pecl-redis 5.3.7-r2 apk
php82-pecl-smbclient 1.1.1-r0 apk
php82-pgsql 8.2.7-r0 apk
php82-phar 8.2.7-r0 apk
php82-posix 8.2.7-r0 apk
php82-session 8.2.7-r0 apk
php82-simplexml 8.2.7-r0 apk
php82-sockets 8.2.7-r0 apk
php82-sodium 8.2.7-r0 apk
php82-sqlite3 8.2.7-r0 apk
php82-sysvsem 8.2.7-r0 apk
php82-xml 8.2.7-r0 apk
php82-xmlreader 8.2.7-r0 apk
php82-xmlwriter 8.2.7-r0 apk
php82-zip 8.2.7-r0 apk
pixman 0.42.2-r1 apk
pkgconf 1.9.5-r0 apk
popt 1.19-r2 apk
procps-ng 4.0.3-r1 apk
readline 8.2.1-r1 apk
samba-client 4.18.3-r0 apk
samba-client-libs 4.18.3-r0 apk
samba-common 4.18.3-r0 apk
samba-libs 4.18.3-r0 apk
samba-util-libs 4.18.3-r0 apk
scanelf 1.3.7-r1 apk
sdl2 2.26.5-r0 apk
shaderc 2023.3-r1 apk
shadow 4.13-r2 apk
shared-mime-info 2.2-r5 apk
skalibs 2.13.1.1-r1 apk
soxr 0.1.3-r5 apk
speexdsp 1.2.1-r1 apk
spirv-tools 1.3.243.0-r1 apk
sqlite-libs 3.41.2-r2 apk
ssl_client 1.36.1-r0 apk
sudo 1.9.13_p3-r2 apk
svt-av1-libs 1.5.0-r0 apk
talloc 2.4.0-r1 apk
tdb-libs 1.4.8-r1 apk
tevent 0.14.1-r1 apk
tiff 4.5.1-r0 apk
tzdata 2023c-r1 apk
utmps-libs 0.1.2.1-r1 apk
v4l-utils-libs 1.24.1-r0 apk
vidstab 1.1.1-r0 apk
vulkan-loader 1.3.243.0-r1 apk
wayland-libs-client 1.22.0-r2 apk
x264-libs 0.164_git20220602-r1 apk
x265-libs 3.5-r4 apk
xvidcore 1.3.7-r1 apk
xz-libs 5.4.3-r0 apk
zimg 3.0.4-r2 apk
zlib 1.2.13-r1 apk
zstd-libs 1.5.5-r4 apk
NAME VERSION TYPE
@nextcloud/text 27.0.0-alpha.1 npm
ExecutesacommandandpassesthestdiostreamsofthecreatedprocesstoTCPsockets 1.0.0.0 dotnet
activity 2.19.0 npm
alpine-baselayout 3.4.3-r1 apk
alpine-baselayout-data 3.4.3-r1 apk
alpine-keys 2.4-r1 apk
alpine-release 3.18.5-r0 apk
alsa-lib 1.2.9-r1 apk
amphp/amp v2.6.2 php-composer
amphp/byte-stream v1.8.1 php-composer
amphp/parallel v1.4.3 php-composer
amphp/parser v1.1.0 php-composer
amphp/process v1.1.4 php-composer
amphp/serialization v1.0.0 php-composer
amphp/sync v1.4.2 php-composer
aom-libs 3.6.1-r0 apk
apache2-utils 2.4.58-r0 apk
apk-tools 2.14.0-r2 apk
apr 1.7.4-r0 apk
apr-util 1.6.3-r1 apk
argon2-libs 20190702-r4 apk
avahi-libs 0.8-r13 apk
aws/aws-crt-php v1.0.2 php-composer
aws/aws-sdk-php 3.240.8 php-composer
bantu/ini-get-wrapper v1.0.1 php-composer
bash 5.2.15-r5 apk
beberlei/assert v3.3.1 php-composer
brick/math 0.9.2 php-composer
brotli-libs 1.0.9-r14 apk
bruteforcesettings 2.7.0 npm
busybox 1.36.1-r5 apk
busybox-binsh 1.36.1-r5 apk
c-client 2007f-r15 apk
ca-certificates 20230506-r0 apk
ca-certificates-bundle 20230506-r0 apk
cairo 1.17.8-r1 apk
cairo-gobject 1.17.8-r1 apk
christian-riesen/base32 1.6.0 php-composer
christophwurst/id3parser v0.1.4 php-composer
cjson 1.7.15-r4 apk
coreutils 9.3-r1 apk
cups-libs 2.4.7-r0 apk
curl 8.5.0-r0 apk
cweagans/composer-patches 1.7.3 php-composer
darsyn/ip 4.1.0 php-composer
dbus-libs 1.14.8-r0 apk
deepdiver/zipstreamer 2.0.0 php-composer
deepdiver1975/tarstreamer v2.1.0 php-composer
doctrine/cache 2.2.0 php-composer
doctrine/dbal 3.3.8 php-composer
doctrine/deprecations v1.0.0 php-composer
doctrine/event-manager 1.2.0 php-composer
doctrine/lexer 1.2.3 php-composer
egulias/email-validator 3.2.5 php-composer
ffmpeg 6.0.1-r0 apk
ffmpeg-libavcodec 6.0.1-r0 apk
ffmpeg-libavdevice 6.0.1-r0 apk
ffmpeg-libavfilter 6.0.1-r0 apk
ffmpeg-libavformat 6.0.1-r0 apk
ffmpeg-libavutil 6.0.1-r0 apk
ffmpeg-libpostproc 6.0.1-r0 apk
ffmpeg-libswresample 6.0.1-r0 apk
ffmpeg-libswscale 6.0.1-r0 apk
fgrosse/phpasn1 v2.3.0 php-composer
files_pdfviewer 2.8.0 npm
files_recommendation 1.6.0 npm
firstrunwizard 2.16.0 npm
flac-libs 1.4.3-r0 apk
fontconfig 2.14.2-r3 apk
freetype 2.13.0-r5 apk
fribidi 1.0.13-r0 apk
fusonic/linq v1.1.0 php-composer
fusonic/opengraph v2.2.0 php-composer
gdbm 1.23-r1 apk
gdk-pixbuf 2.42.10-r5 apk
ghostscript 10.02.0-r0 apk
giggsey/libphonenumber-for-php 8.13.7 php-composer
giggsey/locale 2.3 php-composer
git 2.40.1-r0 apk
glib 2.76.4-r0 apk
glslang-libs 1.3.243.0-r1 apk
gmp 6.2.1-r3 apk
gnu-libiconv 1.17-r1 apk
gnu-libiconv-libs 1.17-r1 apk
gnutls 3.8.0-r2 apk
graphite2 1.3.14-r5 apk
guzzlehttp/guzzle 7.5.0 php-composer
guzzlehttp/promises 1.5.2 php-composer
guzzlehttp/psr7 2.4.5 php-composer
guzzlehttp/uri-template v0.2.0 php-composer
harfbuzz 7.3.0-r0 apk
hexogen/kdtree v0.2.5 php-composer
hwdata-pci 0.370-r0 apk
icewind/searchdav v3.0.1 php-composer
icewind/smb v3.5.4 php-composer
icewind/streams v0.7.7 php-composer
icu-data-en 73.2-r2 apk
icu-libs 73.2-r2 apk
imagemagick 7.1.1.13-r1 apk
imagemagick-libs 7.1.1.13-r1 apk
jansson 2.14-r3 apk
jbig2dec 0.19-r3 apk
jq 1.6-r4 apk
justinrainbow/json-schema 5.2.10 php-composer
lame-libs 3.100-r5 apk
laravel/serializable-closure v1.2.2 php-composer
lcms2 2.15-r2 apk
ldb 2.7.2-r1 apk
league/flysystem 2.5.0 php-composer
league/mime-type-detection 1.11.0 php-composer
league/uri 6.4.0 php-composer
league/uri-interfaces 2.2.0 php-composer
libacl 2.3.1-r3 apk
libarchive 3.7.2-r0 apk
libass 0.17.1-r0 apk
libasyncns 0.8-r1 apk
libattr 2.5.1-r4 apk
libavif 0.11.1-r2 apk
libblkid 2.38.1-r8 apk
libbluray 1.3.4-r0 apk
libbsd 0.11.7-r1 apk
libbz2 1.0.8-r5 apk
libc-utils 0.7.2-r5 apk
libcap2 2.69-r0 apk
libcrypto3 3.1.4-r1 apk
libcurl 8.5.0-r0 apk
libdav1d 1.2.1-r0 apk
libde265 1.0.12-r0 apk
libdrm 2.4.115-r4 apk
libedit 20221030.3.1-r1 apk
libevent 2.1.12-r6 apk
libexpat 2.5.0-r1 apk
libffi 3.4.4-r2 apk
libformw 6.4_p20230506-r0 apk
libgcc 12.2.1_git20220924-r10 apk
libgomp 12.2.1_git20220924-r10 apk
libheif 1.16.2-r0 apk
libhwy 1.0.4-r1 apk
libice 1.1.1-r2 apk
libidn2 2.3.4-r1 apk
libintl 0.21.1-r7 apk
libjpeg-turbo 2.1.5.1-r3 apk
libjxl 0.8.2-r0 apk
libldap 2.6.5-r0 apk
libltdl 2.4.7-r2 apk
libmcrypt 2.5.8-r10 apk
libmd 1.0.4-r2 apk
libmemcached-libs 1.1.4-r1 apk
libmount 2.38.1-r8 apk
libncursesw 6.4_p20230506-r0 apk
libogg 1.3.5-r4 apk
libopenmpt 0.7.2-r0 apk
libpanelw 6.4_p20230506-r0 apk
libpciaccess 0.17-r2 apk
libplacebo 5.264.1-r1 apk
libpng 1.6.39-r3 apk
libpq 15.5-r0 apk
libproc2 4.0.4-r0 apk
libpulse 16.1-r10 apk
libraw 0.21.1-r1 apk
librist 0.2.7-r0 apk
librsvg 2.56.3-r0 apk
libsasl 2.1.28-r4 apk
libsm 1.2.4-r1 apk
libsmbclient 4.18.9-r0 apk
libsndfile 1.2.0-r2 apk
libsodium 1.0.18-r3 apk
libsrt 1.5.2-r0 apk
libssh 0.10.5-r0 apk
libssl3 3.1.4-r1 apk
libstdc++ 12.2.1_git20220924-r10 apk
libtasn1 4.19.0-r1 apk
libtheora 1.1.1-r17 apk
libunibreak 5.1-r0 apk
libunistring 1.1-r1 apk
libuuid 2.38.1-r8 apk
libva 2.18.0-r1 apk
libvdpau 1.5-r1 apk
libvorbis 1.3.7-r1 apk
libvpx 1.13.0-r2 apk
libwbclient 4.18.9-r0 apk
libwebp 1.3.2-r0 apk
libx11 1.8.7-r0 apk
libxau 1.0.11-r2 apk
libxcb 1.15-r1 apk
libxdmcp 1.1.4-r2 apk
libxext 1.3.5-r2 apk
libxfixes 6.0.1-r2 apk
libxft 2.3.8-r1 apk
libxml2 2.11.6-r0 apk
libxpm 3.5.16-r1 apk
libxrender 0.9.11-r3 apk
libxt 1.3.0-r2 apk
libxxhash 0.8.2-r0 apk
libzip 1.9.2-r2 apk
libzmq 4.3.4-r4 apk
linux-pam 1.5.2-r10 apk
lmdb 0.9.31-r0 apk
logrotate 3.21.0-r1 apk
lz4-libs 1.9.4-r4 apk
mbedtls 2.28.5-r0 apk
mexitek/phpcolors v1.0.4 php-composer
microsoft/azure-storage-blob 1.5.4 php-composer
microsoft/azure-storage-common 1.5.2 php-composer
mlocati/ip-lib 1.18.0 php-composer
mpg123-libs 1.31.3-r1 apk
mtdowling/jmespath.php 2.6.1 php-composer
musl 1.2.4-r2 apk
musl-utils 1.2.4-r2 apk
nano 7.2-r1 apk
ncurses-terminfo-base 6.4_p20230506-r0 apk
netcat-openbsd 1.219-r1 apk
nettle 3.8.1-r2 apk
nextcloud 1.0.0 npm
nextcloud/lognormalizer v1.0.0 php-composer
nghttp2-libs 1.57.0-r0 apk
nginx 1.24.0-r7 apk
notifications 2.15.0 npm
numactl 2.0.16-r4 apk
onevpl-libs 2023.2.1-r0 apk
oniguruma 6.9.8-r1 apk
openssl 3.1.4-r1 apk
opis/closure 3.6.3 php-composer
opus 1.4-r0 apk
orc 0.4.34-r0 apk
p11-kit 0.24.1-r2 apk
pango 1.50.14-r1 apk
password_policy 1.17.0 npm
pcre 8.45-r3 apk
pcre2 10.42-r1 apk
pear/archive_tar 1.4.14 php-composer
pear/console_getopt v1.4.3 php-composer
pear/pear-core-minimal v1.10.10 php-composer
pear/pear_exception v1.0.2 php-composer
photos 2.3.0 npm
php-http/guzzle7-adapter 1.0.0 php-composer
php-http/httplug 2.2.0 php-composer
php-http/promise 1.1.0 php-composer
php-opencloud/openstack v3.2.1 php-composer
php82 8.2.13-r0 apk
php82-bcmath 8.2.13-r0 apk
php82-bz2 8.2.13-r0 apk
php82-common 8.2.13-r0 apk
php82-ctype 8.2.13-r0 apk
php82-curl 8.2.13-r0 apk
php82-dom 8.2.13-r0 apk
php82-exif 8.2.13-r0 apk
php82-fileinfo 8.2.13-r0 apk
php82-fpm 8.2.13-r0 apk
php82-ftp 8.2.13-r0 apk
php82-gd 8.2.13-r0 apk
php82-gmp 8.2.13-r0 apk
php82-iconv 8.2.13-r0 apk
php82-imap 8.2.13-r0 apk
php82-intl 8.2.13-r0 apk
php82-ldap 8.2.13-r0 apk
php82-mbstring 8.2.13-r0 apk
php82-mysqlnd 8.2.13-r0 apk
php82-opcache 8.2.13-r0 apk
php82-openssl 8.2.13-r0 apk
php82-pcntl 8.2.13-r0 apk
php82-pdo 8.2.13-r0 apk
php82-pdo_mysql 8.2.13-r0 apk
php82-pdo_pgsql 8.2.13-r0 apk
php82-pdo_sqlite 8.2.13-r0 apk
php82-pecl-apcu 5.1.22-r0 apk
php82-pecl-igbinary 3.2.14-r0 apk
php82-pecl-imagick 3.7.0-r5 apk
php82-pecl-mcrypt 1.0.6-r0 apk
php82-pecl-memcached 3.2.0-r1 apk
php82-pecl-msgpack 2.2.0-r0 apk
php82-pecl-redis 6.0.2-r0 apk
php82-pecl-smbclient 1.1.1-r0 apk
php82-pgsql 8.2.13-r0 apk
php82-phar 8.2.13-r0 apk
php82-posix 8.2.13-r0 apk
php82-session 8.2.13-r0 apk
php82-simplexml 8.2.13-r0 apk
php82-sockets 8.2.13-r0 apk
php82-sodium 8.2.13-r0 apk
php82-sqlite3 8.2.13-r0 apk
php82-sysvsem 8.2.13-r0 apk
php82-xml 8.2.13-r0 apk
php82-xmlreader 8.2.13-r0 apk
php82-xmlwriter 8.2.13-r0 apk
php82-zip 8.2.13-r0 apk
phpseclib/phpseclib 2.0.40 php-composer
pimple/pimple v3.5.0 php-composer
pixman 0.42.2-r1 apk
pkgconf 1.9.5-r0 apk
popt 1.19-r2 apk
privacy 1.11.0 npm
procps-ng 4.0.4-r0 apk
psr/cache 1.0.1 php-composer
psr/clock 1.0.0 php-composer
psr/container 2.0.2 php-composer
psr/event-dispatcher 1.0.0 php-composer
psr/http-client 1.0.1 php-composer
psr/http-factory 1.0.1 php-composer
psr/http-message 1.0.1 php-composer
psr/log 1.1.4 php-composer
punic/punic 1.6.5 php-composer
ralouphie/getallheaders 3.0.3 php-composer
ramsey/collection 1.1.3 php-composer
ramsey/uuid 4.1.1 php-composer
readline 8.2.1-r1 apk
related_resources 1.2.0 npm
rsync 3.2.7-r4 apk
rubix/ml dev-chore/bump-flysystem-v2.1.1 php-composer
rubix/tensor 2.2.3 php-composer
rullzer/easytotp v0.1.4 php-composer
sabre/dav 4.4.0 php-composer
sabre/event 5.1.4 php-composer
sabre/http 5.1.10 php-composer
sabre/uri 2.2.2 php-composer
sabre/vobject 4.4.2 php-composer
sabre/xml 2.2.5 php-composer
samba-client 4.18.9-r0 apk
samba-client-libs 4.18.9-r0 apk
samba-common 4.18.9-r0 apk
samba-libs 4.18.9-r0 apk
samba-util-libs 4.18.9-r0 apk
scanelf 1.3.7-r1 apk
scssphp/scssphp v1.11.0 php-composer
sdl2 2.26.5-r0 apk
shaderc 2023.3-r1 apk
shadow 4.13-r4 apk
shared-mime-info 2.2-r5 apk
skalibs 2.13.1.1-r1 apk
soxr 0.1.3-r5 apk
speexdsp 1.2.1-r1 apk
spirv-tools 1.3.243.0-r1 apk
spomky-labs/base64url v2.0.4 php-composer
spomky-labs/cbor-php v2.0.1 php-composer
sqlite-libs 3.41.2-r2 apk
ssl_client 1.36.1-r5 apk
stecman/symfony-console-completion 0.11.0 php-composer
sudo 1.9.13_p3-r2 apk
suspicious_login 5.0.0 npm
svt-av1-libs 1.6.0-r0 apk
swiftmailer/swiftmailer v6.3.0 php-composer
symfony/console v5.4.19 php-composer
symfony/css-selector v5.4.11 php-composer
symfony/deprecation-contracts v2.5.2 php-composer
symfony/dom-crawler v5.4.11 php-composer
symfony/event-dispatcher v4.4.30 php-composer
symfony/event-dispatcher-contracts v1.1.9 php-composer
symfony/http-foundation v5.4.10 php-composer
symfony/mailer v5.4.19 php-composer
symfony/mime v5.4.19 php-composer
symfony/polyfill-ctype v1.23.0 php-composer
symfony/polyfill-iconv v1.27.0 php-composer
symfony/polyfill-intl-grapheme v1.23.1 php-composer
symfony/polyfill-intl-idn v1.27.0 php-composer
symfony/polyfill-intl-normalizer v1.27.0 php-composer
symfony/polyfill-mbstring v1.27.0 php-composer
symfony/polyfill-php72 v1.27.0 php-composer
symfony/polyfill-php73 v1.23.0 php-composer
symfony/polyfill-php73 v1.26.0 php-composer
symfony/polyfill-php80 v1.26.0 php-composer
symfony/polyfill-php80 v1.27.0 php-composer
symfony/process v4.4.30 php-composer
symfony/routing v4.4.30 php-composer
symfony/service-contracts v3.0.2 php-composer
symfony/string v6.0.19 php-composer
symfony/translation v4.4.41 php-composer
symfony/translation-contracts v2.4.0 php-composer
talloc 2.4.0-r1 apk
tdb-libs 1.4.8-r1 apk
tevent 0.14.1-r1 apk
thecodingmachine/safe v1.3.3 php-composer
tiff 4.5.1-r0 apk
twofactor_totp 9.0.0 npm
tzdata 2023c-r1 apk
utmps-libs 0.1.2.1-r1 apk
v4l-utils-libs 1.24.1-r0 apk
vidstab 1.1.1-r0 apk
viewer 2.1.0 npm
vulkan-loader 1.3.243.0-r1 apk
wayland-libs-client 1.22.0-r2 apk
web-auth/cose-lib v3.3.9 php-composer
web-auth/metadata-service v3.3.9 php-composer
web-auth/webauthn-lib v3.3.9 php-composer
x264-libs 0.164_git20220602-r1 apk
x265-libs 3.5-r4 apk
xvidcore 1.3.7-r1 apk
xz-libs 5.4.3-r0 apk
zimg 3.0.5-r0 apk
zlib 1.2.13-r1 apk
zstd-libs 1.5.5-r4 apk
+22 -15
View File
@@ -17,9 +17,10 @@ available_architectures:
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
# development version
development_versions: false
development_versions: true
development_versions_items:
- { tag: "latest", desc: "Stable Nextcloud releases" }
- { tag: "develop", desc: "Beta Nextcloud pre-releases *only*" }
# container parameters
common_param_env_vars_enabled: true
@@ -51,31 +52,37 @@ app_setup_block_enabled: true
app_setup_block: |
Access the webui at `https://<your-ip>:443`, for more information check out [Nextcloud]({{ project_url }}).
Docker image update and recreation of container alone won't update nextcloud version.
### Updating Nextcloud
In order to update nextcloud version, you have two options, firstly make sure you are using the latest docker image,then either
1. Perform the in app gui update.
2. Use the CLI version by running `docker exec -it nextcloud updater.phar`
(Both of these are described [here](https://docs.nextcloud.com/server/latest/admin_manual/maintenance/update.html))
Updating Nextcloud is done by pulling the new image, and recreating the container with it.
Note: Both `occ` and `updater.phar` can be run without prepending with `sudo -u abc php` or `sudo -u www-data php`
If you are not customizing our default nginx configuration you will need to remove the file:
```
/config/nginx/site-confs/default.conf
```
Then restart the container to replace it with the latest one.
It is only possible to upgrade one major version at a time. For example, if you want to upgrade from version 14 to 16, you will have to upgrade from version 14 to 15, then from 15 to 16.
Since all data is stored in the `/config` and `/data` volumes, nothing gets lost. The startup script will check for the version in your volume and the installed docker version. If it finds a mismatch, it automatically starts the upgrade process.
### Collaborative Editing
Nextcloud's built-in collaborative editing packages (Collabora/CODE and OnlyOffice) only work on x86_64 systems with glibc, and therefore they are not compatible with our images. You should create separate containers for them and set them up in Nextcloud with their respective connector addons.
If (auto) installed, those built-in packages may cause instability and should be removed.
### Custom App Directories
If you are [using custom app directories](https://docs.nextcloud.com/server/latest/admin_manual/apps_management.html#using-custom-app-directories) you will need to make the custom folder(s) you are using available to the web server. The recommended way to do this with our container is to add a volume. Ex:
```yaml
volumes:
- /path/to/your_custom_apps_folder:/app/www/public/your_custom_apps_folder
```
Afterwards, you can set `"path" => OC::$SERVERROOT . "/your_custom_apps_folder",` in your `config.php` file, per the [official documentation](https://docs.nextcloud.com/server/latest/admin_manual/apps_management.html#using-custom-app-directories).
# changelog
changelogs:
- { date: "28.10.23:", desc: "Disable web upgrades using occ during init." }
- { date: "31.08.23:", desc: "Re-add updatenotification app. This allows users to be notified for app updates, but also notifies for NextCloud updates. Updating NextCloud via the web UI is not supported when using this image." }
- { date: "14.08.23:", desc: "Add develop branch." }
- { date: "25.06.23:", desc: "Move Nextcloud installation inside container. Remove CLI updater. [See changes announcement](https://info.linuxserver.io/issues/2023-06-25-nextcloud/)." }
- { date: "21.06.23:", desc: "Existing users should update `/config/nginx/site-confs/default.conf` - Security fix for real ip settings." }
- { date: "25.05.23:", desc: "Rebase to Alpine 3.18, deprecate armhf." }
- { date: "13.04.23:", desc: "Move ssl.conf include to default.conf." }
+4
View File
@@ -0,0 +1,4 @@
/apps/
/config/
/data/
/themes/
-6
View File
@@ -1,6 +0,0 @@
<?php
$CONFIG = array (
'memcache.local' => '\OC\Memcache\APCu',
'datadirectory' => '/data',
);
@@ -1,4 +1,4 @@
## Version 2023/06/21 - Changelog: https://github.com/linuxserver/docker-nextcloud/commits/master/root/defaults/nginx/site-confs/default.conf.sample
## Version 2023/06/23 - Changelog: https://github.com/linuxserver/docker-nextcloud/commits/master/root/defaults/nginx/site-confs/default.conf.sample
# Set the `immutable` cache control options only for assets with a cache busting `v` argument
map $arg_v $asset_immutable {
@@ -17,7 +17,7 @@ server {
include /config/nginx/ssl.conf;
root /config/www/nextcloud/;
root /app/www/public;
# display real ip in nginx logs when connected through reverse proxy via docker network
set_real_ip_from 172.16.0.0/12;
+2
View File
@@ -0,0 +1,2 @@
# min hour day month weekday command
*/5 * * * * /usr/bin/php /app/www/public/cron.php 2>&1
-9
View File
@@ -1,9 +0,0 @@
# do daily/weekly/monthly maintenance
# min hour day month weekday command
*/15 * * * * run-parts /etc/periodic/15min
0 * * * * run-parts /etc/periodic/hourly
0 2 * * * run-parts /etc/periodic/daily
0 3 * * 6 run-parts /etc/periodic/weekly
0 5 1 * * run-parts /etc/periodic/monthly
# nextcloud cron
*/5 * * * * s6-setuidgid abc php -f /config/www/nextcloud/cron.php
@@ -1,23 +0,0 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
# make folders
mkdir -p \
/config/crontabs
## root
# if crontabs do not exist in config
if [[ ! -f /config/crontabs/root ]]; then
# copy crontab from system
if crontab -l -u root; then
crontab -l -u root >/config/crontabs/root
fi
# if crontabs still do not exist in config (were not copied from system)
# copy crontab from included defaults (using -n, do not overwrite an existing file)
cp -n /etc/crontabs/root /config/crontabs/
fi
sed -i "s|s6-setuidgid abc php[78] -f /config/www/nextcloud/cron.php|s6-setuidgid abc php -f /config/www/nextcloud/cron.php|" /config/crontabs/root
# set permissions and import user crontabs
lsiown root:root /config/crontabs/root
crontab -u root /config/crontabs/root
@@ -1 +0,0 @@
oneshot
@@ -1 +0,0 @@
/etc/s6-overlay/s6-rc.d/init-crontabs-config/run
@@ -3,30 +3,168 @@
# create folders
mkdir -p \
/config/www/nextcloud \
/app/www/public \
/config/www/nextcloud/apps \
/config/www/nextcloud/config \
/config/www/nextcloud/themes \
/data
# install app
if [ ! -e /config/www/nextcloud/index.php ]; then
tar xf /app/nextcloud.tar.bz2 -C \
/config/www/nextcloud --strip-components=1
lsiown abc:abc -R \
/config/www/nextcloud
chmod +x /config/www/nextcloud/occ
# migrate legacy install (copy inside container)
if [ -f /config/www/nextcloud/version.php ]; then
echo "Migrating legacy install (this can take a while) ...)"
rsync -rlD --remove-source-files --exclude-from=/app/upgrade.exclude /config/www/nextcloud/ /app/www/public/
rm -rf /config/www/nextcloud/updater/
find \
/config/www/nextcloud/ \
-type d -empty \
! -path "/config/www/nextcloud/apps" \
! -path "/config/www/nextcloud/config" \
! -path "/config/www/nextcloud/themes" \
-delete
touch /config/www/nextcloud/config/needs_migration
fi
# copy config
if [[ ! -f /config/www/nextcloud/config/config.php ]]; then
cp /defaults/config.php /config/www/nextcloud/config/config.php
# symlink config folders
for dir in apps config themes; do
if [ "$(readlink /app/www/public/${dir})" != "/config/www/nextcloud/${dir}" ]; then
rm -rf "/app/www/public/${dir}"
ln -s "/config/www/nextcloud/${dir}" "/app/www/public/${dir}"
lsiown abc:abc "/config/www/nextcloud/${dir}" "/app/www/public/${dir}"
fi
done
# get versions
image_version=$(php -r "require '/app/www/src/version.php'; echo implode('.', \$OC_Version);" 2>/dev/null)
installed_version=$(php -r "require '/config/www/nextcloud/config/config.php'; echo \$CONFIG['version'];" 2>/dev/null)
if [ "${installed_version}" = "" ]; then
installed_version="0.0.0.0"
fi
image_major="${image_version%%.*}"
installed_major="${installed_version%%.*}"
((max_upgrade = installed_major + 1))
# compare versions
vergte() { printf '%s\n%s' "${2}" "${1}" | sort -C -V; }
vergt() { ! vergte "${2}" "${1}"; }
verlte() { printf '%s\n%s' "${1}" "${2}" | sort -C -V; }
verlt() { ! verlte "${2}" "${1}"; }
if vergt "${installed_version}" "${image_version}"; then
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?"
sleep infinity
fi
if [ "${installed_version}" != "0.0.0.0" ] && vergt "${image_major}" "${max_upgrade}"; then
echo "Can't start Nextcloud because the version of the data (${installed_version}) is more than one major version behind the docker image version (${image_version}) and upgrading more than one major version is not supported. Please run an image tagged for the major version ${max_upgrade} first."
sleep infinity
fi
if [ "${installed_version}" = "0.0.0.0" ] || [ ! -f /app/www/public/version.php ] || [ -z "$(ls -A /config/www/nextcloud/apps 2>/dev/null)" ]; then
touch /tmp/needs_install
fi
if [ "${installed_version}" != "0.0.0.0" ] && vergt "${image_version}" "${installed_version}"; then
touch /tmp/needs_upgrade
fi
# initialize nextcloud
if [ -f /config/www/nextcloud/config/needs_migration ] || [ -f /tmp/needs_install ] || [ -f /tmp/needs_upgrade ]; then
echo "Initializing nextcloud ${image_version} (this can take a while) ..."
if [ -f /config/www/nextcloud/config/needs_migration ] || [ -f /tmp/needs_upgrade ]; then
echo "Upgrading nextcloud from ${installed_version} ..."
shippedApps=$(jq -r .shippedApps[] /app/www/src/core/shipped.json)
for app in ${shippedApps}; do
rm -rf "/config/www/nextcloud/apps/${app}"
done
fi
rsync -rlD --exclude-from=/app/upgrade.exclude /app/www/src/ /app/www/public/
for dir in apps config themes; do
if [ -f /config/www/nextcloud/config/needs_migration ] || [ -f /tmp/needs_upgrade ] || [ -z "$(ls -A /app/www/public/${dir} 2>/dev/null)" ]; then
rsync -rlD --include "/${dir}" --exclude '/*' /app/www/src/ /config/www/nextcloud/
fi
done
if [ -z "$(ls -A /data/ 2>/dev/null)" ]; then
rsync -rlD --include "/data" --exclude '/*' /app/www/src/ /
fi
echo "Setting permissions"
lsiown abc:abc /data
lsiown -R abc:abc \
/app/www/public \
/config/www/nextcloud
if [ -f /config/www/nextcloud/config/needs_migration ] || [ -f /tmp/needs_upgrade ]; then
# Upgrade
occ upgrade
else
if [ "${installed_version}" = "0.0.0.0" ]; then
# Install
echo "New nextcloud instance"
echo "Please run the web-based installer on first connect!"
fi
fi
echo "Initializing finished"
fi
rm -f \
/config/www/nextcloud/config/needs_migration \
/tmp/needs_install \
/tmp/needs_upgrade
# permissions
lsiown abc:abc \
/config/www/nextcloud/config/config.php \
/data
/app/www/public \
/config/www/nextcloud
if (occ app:list --no-interaction | grep -q richdocumentscode) 2>/dev/null; then
echo "Removing CODE Server"
APP=$(occ app:list --no-interaction | grep richdocumentscode | awk -F ' ' '{print $2}' | tr -d ':')
occ app:remove --no-interaction "${APP}" 2>/dev/null
# setup config
if occ config:system:get installed >/dev/null 2>&1; then
if ! occ config:system:get memcache.local >/dev/null 2>&1; then
occ config:system:set memcache.local --value='\\OC\\Memcache\\APCu'
fi
if ! occ config:system:get filelocking.enabled >/dev/null 2>&1; then
occ config:system:set filelocking.enabled --value=true --type=boolean
fi
if ! occ config:system:get memcache.locking >/dev/null 2>&1; then
occ config:system:set memcache.locking --value='\\OC\\Memcache\\APCu'
fi
if ! occ config:system:get datadirectory >/dev/null 2>&1; then
occ config:system:set datadirectory --value='/data'
fi
if ! occ config:system:get upgrade.disable-web >/dev/null 2>&1; then
occ config:system:set upgrade.disable-web --value=true --type=boolean
fi
else
echo "After completing the web-based installer, restart the Nextcloud container to apply default memory caching and transactional file locking configurations."
echo "Alternatively, you can apply your own configurations by editing /config/www/nextcloud/config/config.php following the documentation:"
echo "https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/caching_configuration.html"
echo "https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/files_locking_transactional.html"
fi
# remove problematic apps
for APP in richdocumentscode; do
if (occ app:list | grep -q " - ${APP}:") 2>/dev/null; then
echo "Removing ${APP}"
fi
APP_PATH=$(occ app:getpath "${APP}" 2>/dev/null)
if [ -z "${APP_PATH}" ] || [ ! -d "${APP_PATH}" ]; then
APP_PATH="/app/www/public/apps/${APP}"
fi
if [ -d "${APP_PATH}" ]; then
occ app:disable "${APP}" >/dev/null 2>&1
fi
APP_STATUS="$(occ config:app:get "${APP}" enabled 2>/dev/null)"
if [ "${APP_STATUS}" != "no" ] && [ -n "${APP_STATUS}" ]; then
occ config:app:set "${APP}" enabled --value="no" >/dev/null 2>&1
fi
occ app:remove "${APP}" >/dev/null 2>&1
rm -rf "${APP_PATH}"
done
# set data directory
if [ ! -s /config/www/nextcloud/config/config.php ]; then
echo -e "<?php\n\$CONFIG = array (\n 'datadirectory' => '/data',\n);" >/config/www/nextcloud/config/config.php
elif [ -f /config/www/nextcloud/config/config.php ]; then
sed -i "s|/app/www/public/data|/data|g" /config/www/nextcloud/config/config.php
fi
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
DEFAULT_CONF="/config/nginx/site-confs/default.conf"
OLD_ROOT="root /config/www/nextcloud/;"
NEW_ROOT="root /app/www/public;"
if [[ -f "${DEFAULT_CONF}" ]] && grep -q "${OLD_ROOT}" "${DEFAULT_CONF}" 2>/dev/null; then
echo "updating root in ${DEFAULT_CONF}"
sed -i "s|${OLD_ROOT}|${NEW_ROOT}|" "${DEFAULT_CONF}"
fi
+1 -1
View File
@@ -1,4 +1,4 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
sudo -u abc -s /bin/bash -c "php /config/www/nextcloud/occ $*"
sudo -u abc -s /bin/bash -c "php /app/www/public/occ $*"
-4
View File
@@ -1,4 +0,0 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
sudo -u abc -s /bin/bash -c "php /config/www/nextcloud/updater/updater.phar $*"