Compare commits

...

135 Commits

Author SHA1 Message Date
LinuxServer-CI da6033ad1a Bot Updating Package Versions 2024-06-11 11:50:40 +00:00
LinuxServer-CI c7d16fd78d Bot Updating Package Versions 2024-06-04 11:51:44 +00:00
LinuxServer-CI b09792001d Bot Updating Package Versions 2024-05-28 11:50:44 +00:00
LinuxServer-CI dafdd3d0ef Bot Updating Templated Files 2024-05-21 11:51:44 +00:00
LinuxServer-CI 0fec1e2d1f Bot Updating Templated Files 2024-05-21 11:50:09 +00:00
LinuxServer-CI a1efdbff95 Bot Updating Package Versions 2024-05-19 12:27:49 +00:00
LinuxServer-CI 1b21aa9752 Bot Updating Templated Files 2024-05-19 12:23:48 +00:00
Adam 82d3ce42f5 Merge pull request #438 from matteocavestri/master
Add: util-linux (taskset)
2024-05-19 13:21:25 +01:00
Matteo Cavestri 1c717ed2d3 Update readme-vars.yml 2024-05-19 12:43:45 +02:00
Matteo Cavestri a9b4b64147 Add: util-linux (taskset) 2024-05-17 09:24:28 +02:00
LinuxServer-CI 1f8d395d78 Bot Updating Package Versions 2024-05-14 11:53:21 +00:00
LinuxServer-CI d520caca1d Bot Updating Templated Files 2024-05-14 11:49:01 +00:00
LinuxServer-CI 02d627ff88 Bot Updating Package Versions 2024-05-07 11:53:25 +00:00
LinuxServer-CI 035711f3e7 Bot Updating Templated Files 2024-05-07 11:49:12 +00:00
LinuxServer-CI f72ad27864 Bot Updating Package Versions 2024-04-30 11:53:36 +00:00
LinuxServer-CI 0281fd2f76 Bot Updating Templated Files 2024-04-30 11:49:14 +00:00
LinuxServer-CI 2273a0b3fc Bot Updating Package Versions 2024-04-24 14:37:34 +00:00
LinuxServer-CI 923c3301ae Bot Updating Package Versions 2024-04-23 11:50:48 +00:00
LinuxServer-CI afc2c65ba0 Bot Updating Package Versions 2024-04-16 11:50:28 +00:00
LinuxServer-CI 1bdc3ce934 Bot Updating Package Versions 2024-04-10 20:03:10 +00:00
LinuxServer-CI 4c43010214 Bot Updating Templated Files 2024-04-10 19:57:44 +00:00
Homer 6d784f8cc4 Merge pull request #428 from linuxserver/add-imagemagickpdf
Add imagemagick-pdf
2024-04-10 20:55:05 +01:00
homerr d8d98c708c Add imagemagick-pdf 2024-04-10 20:35:22 +01:00
LinuxServer-CI 1b5d3ee8f8 Bot Updating Package Versions 2024-04-05 15:53:59 +00:00
LinuxServer-CI 195ba6d634 Bot Updating Templated Files 2024-04-05 15:50:07 +00:00
Homer 5e54e9ed78 Merge pull request #424 from linuxserver/add-heic
Added imagemagick-heic and updated readme
2024-04-05 16:48:32 +01:00
homerr c9de3ee13f readme tweaks 2024-04-05 16:17:13 +01:00
homerr 5905985884 Added imagemagick-heic and updated readme 2024-04-05 14:53:27 +01:00
LinuxServer-CI 80a6a72a2e Bot Updating Package Versions 2024-04-04 19:20:05 +00:00
Homer 94059f4f8c Merge pull request #423 from linuxserver/notify_push
Add support for the notify_push mod
2024-04-04 20:16:08 +01:00
aptalca f3a23468b8 add websocket support for notify_push 2024-04-02 17:00:13 -04:00
aptalca 17e9b76ae2 use regex in location 2024-04-02 15:20:22 -04:00
aptalca 69c818dfe9 update date and fix typo 2024-04-02 15:07:52 -04:00
aptalca 8f491be450 Add support for the notify_push mod 2024-04-02 15:05:35 -04:00
LinuxServer-CI 1976901a43 Bot Updating Package Versions 2024-04-02 11:52:42 +00:00
LinuxServer-CI 12d3825554 Bot Updating Package Versions 2024-03-26 11:50:29 +00:00
LinuxServer-CI aec8824238 Bot Updating Package Versions 2024-03-22 16:03:18 +00:00
LinuxServer-CI 86795c1bd5 Bot Updating Templated Files 2024-03-22 15:57:53 +00:00
Adam 92dd23b49b Merge pull request #419 from linuxserver/imagemagick-svg
Add imagemagick-svg
2024-03-22 15:56:13 +00:00
TheSpad 1dbeb4a006 Add imagemagick-svg 2024-03-22 12:04:09 +00:00
LinuxServer-CI 6785c9836e Bot Updating Package Versions 2024-03-19 11:55:26 +00:00
LinuxServer-CI 2313c84a2f Bot Updating Templated Files 2024-03-19 11:50:23 +00:00
LinuxServer-CI f390f10da9 Bot Updating Package Versions 2024-03-11 16:33:01 +00:00
LinuxServer-CI 12ac2da8ea Bot Updating Templated Files 2024-03-11 16:26:23 +00:00
Eric Nemchik a7c3e50f35 Rebase to Alpine 3.19 (#398)
* Rebase to Alpine 3.19

Signed-off-by: Eric Nemchik <eric@nemchik.com>

* update date and edge repo

---------

Signed-off-by: Eric Nemchik <eric@nemchik.com>
Co-authored-by: aptalca <541623+aptalca@users.noreply.github.com>
2024-03-11 12:24:35 -04:00
LinuxServer-CI 831ce18af1 Bot Updating Package Versions 2024-03-01 17:43:10 +00:00
LinuxServer-CI 787055f100 Bot Updating Package Versions 2024-02-27 11:56:04 +00:00
LinuxServer-CI a5387e7e93 Bot Updating Templated Files 2024-02-27 11:50:52 +00:00
LinuxServer-CI a433a93be4 Bot Updating Templated Files 2024-02-27 11:49:18 +00:00
LinuxServer-CI 2fe4e7f4dd Bot Updating Package Versions 2024-02-20 11:55:16 +00:00
LinuxServer-CI c5113c09c3 Bot Updating Package Versions 2024-02-13 11:50:31 +00:00
LinuxServer-CI 975e20b305 Bot Updating Package Versions 2024-02-05 18:53:13 +00:00
LinuxServer-CI a9a42c6dd3 Bot Updating Templated Files 2024-02-05 18:49:17 +00:00
driz e610ba336a Merge pull request #413 from linuxserver/drizuid-patch-1
Update readme-vars.yml
2024-02-05 13:46:59 -05:00
driz c132755dc2 Update readme-vars.yml 2024-02-05 13:30:49 -05:00
LinuxServer-CI 9e19c87fb6 Bot Updating Package Versions 2024-01-30 11:53:33 +00:00
LinuxServer-CI 195b4b9f84 Bot Updating Package Versions 2024-01-23 11:50:42 +00:00
LinuxServer-CI 3df9fb301a Bot Updating Package Versions 2024-01-16 11:56:53 +00:00
LinuxServer-CI 643222817f Bot Updating Templated Files 2024-01-16 11:51:37 +00:00
LinuxServer-CI cd1f5c8f3e Bot Updating Templated Files 2024-01-16 11:50:04 +00:00
LinuxServer-CI 2d4551b309 Bot Updating Package Versions 2024-01-09 11:55:21 +00:00
Eric Nemchik 360dce038d Merge pull request #405 from linuxserver/conf-fix-test
maybe fix nextcloud?
2024-01-03 17:43:17 -06:00
driz ca6cd4b47e fix sed and add whitespace 2024-01-03 15:49:22 -05:00
driz 4030be8278 swap application/javascript to text/javascript per rfc 2024-01-03 13:41:56 -05:00
driz 6b9d8e456a try again 2024-01-03 13:15:26 -05:00
driz 760894a4fb update date 2024-01-03 11:46:33 -05:00
driz 2d7a5594b7 fix typo 2024-01-03 11:46:11 -05:00
driz 8cff1cf999 maybe fix nextcloud? 2024-01-03 11:16:21 -05:00
LinuxServer-CI 883ffed0d8 Bot Updating Templated Files 2024-01-02 16:12:18 +00:00
Eric Nemchik 6a22255425 Merge pull request #401 from linuxserver/nginx-cleanup
Cleanup default site conf
2024-01-02 10:10:03 -06:00
Eric Nemchik 4e037eca94 Update readme date
Signed-off-by: GitHub <noreply@github.com>
2024-01-02 16:07:43 +00:00
LinuxServer-CI 210ce02e22 Bot Updating Package Versions 2024-01-02 11:52:26 +00:00
Eric Nemchik 144d576909 Cleanup default site conf
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-12-25 14:20:36 -06:00
Adam 9895069283 Merge pull request #395 from linuxserver/master-mime
Avoid duplicate mime definition
2023-12-22 22:39:22 +00:00
TheSpad ca1ef7f8aa Use text/javascript as per rfc9239 2023-12-22 17:15:42 +00:00
TheSpad 1dc7711ecb Prefer application/javascript 2023-12-22 17:07:51 +00:00
TheSpad 35de5f814c Avoid duplicate mime definition 2023-12-22 16:59:16 +00:00
LinuxServer-CI 9f23faeab3 Bot Updating Package Versions 2023-12-22 16:03:07 +00:00
LinuxServer-CI 22f9e84444 Bot Updating Templated Files 2023-12-22 15:59:11 +00:00
Adam 1b0600d3cc Fix duplicate header 2023-12-22 15:58:41 +00:00
Adam 20c6337958 Merge pull request #392 from calvin-li-developer/dev
sync nginx conf with upstream nextcloud docs
2023-12-22 15:57:34 +00:00
Calvin Li 07a04516b1 revert fastcgi_pass/php-handler change 2023-12-22 10:34:32 -05:00
Calvin Li 5abf9b3d36 Update readme-vars.yml 2023-12-22 09:54:33 -05:00
Calvin Li 1a559c9893 Update readme-vars.yml 2023-12-22 09:49:06 -05:00
Calvin Li fa511a6f7b Update readme-vars.yml 2023-12-22 09:45:45 -05:00
Calvin Li ceb60ef76b sync with upstream nextcloud docs. closes #391 2023-12-22 09:39:56 -05:00
LinuxServer-CI ba7913a764 Bot Updating Package Versions 2023-12-12 12:51:00 +00:00
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
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
14 changed files with 1015 additions and 661 deletions
+2 -2
View File
@@ -67,10 +67,10 @@ body:
- type: textarea
attributes:
description: |
Provide a full docker log, output of "docker logs linuxserver.io"
Provide a full docker log, output of "docker logs nextcloud"
label: Container logs
placeholder: |
Output of `docker logs linuxserver.io`
Output of `docker logs nextcloud`
render: bash
validations:
required: true
+1 -1
View File
@@ -7,7 +7,7 @@ jobs:
external-trigger-master:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.1.0
- uses: actions/checkout@v4.1.1
- name: External Trigger
if: github.ref == 'refs/heads/master'
@@ -9,7 +9,7 @@ jobs:
external-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.1.0
- uses: actions/checkout@v4.1.1
with:
fetch-depth: '0'
+1 -1
View File
@@ -7,7 +7,7 @@ jobs:
package-trigger-master:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.1.0
- uses: actions/checkout@v4.1.1
- name: Package Trigger
if: github.ref == 'refs/heads/master'
@@ -9,7 +9,7 @@ jobs:
package-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.1.0
- uses: actions/checkout@v4.1.1
with:
fetch-depth: '0'
+39 -35
View File
@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.18
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.19
# set version label
ARG BUILD_DATE
@@ -18,46 +18,50 @@ RUN \
ffmpeg \
gnu-libiconv \
imagemagick \
imagemagick-heic \
imagemagick-pdf \
imagemagick-svg \
libxml2 \
php82-apcu \
php82-bcmath \
php82-bz2 \
php82-dom \
php82-exif \
php82-ftp \
php82-gd \
php82-gmp \
php82-imap \
php82-intl \
php82-ldap \
php82-opcache \
php82-pcntl \
php82-pdo_mysql \
php82-pdo_pgsql \
php82-pdo_sqlite \
php82-pecl-imagick \
php82-pecl-memcached \
php82-pecl-smbclient \
php82-pgsql \
php82-posix \
php82-redis \
php82-sodium \
php82-sqlite3 \
php82-sysvsem \
php82-xmlreader \
php83-apcu \
php83-bcmath \
php83-bz2 \
php83-dom \
php83-exif \
php83-ftp \
php83-gd \
php83-gmp \
php83-imap \
php83-intl \
php83-ldap \
php83-opcache \
php83-pcntl \
php83-pdo_mysql \
php83-pdo_pgsql \
php83-pdo_sqlite \
php83-pecl-imagick \
php83-pecl-memcached \
php83-pecl-smbclient \
php83-pgsql \
php83-posix \
php83-redis \
php83-sodium \
php83-sqlite3 \
php83-sysvsem \
php83-xmlreader \
rsync \
samba-client \
util-linux \
sudo && \
apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing \
php82-pecl-mcrypt && \
apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community \
php83-pecl-mcrypt && \
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 && \
sed -E -i 's/^;?clear_env ?=.*$/clear_env = no/g' /etc/php83/php-fpm.d/www.conf && \
grep -qxF 'clear_env = no' /etc/php83/php-fpm.d/www.conf || echo 'clear_env = no' >> /etc/php83/php-fpm.d/www.conf && \
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php83/php-fpm.conf && \
echo "**** configure php for nextcloud ****" && \
{ \
echo 'apc.enable_cli=1'; \
} >> /etc/php82/conf.d/apcu.ini && \
} >> /etc/php83/conf.d/apcu.ini && \
{ \
echo 'opcache.enable=1'; \
echo 'opcache.interned_strings_buffer=32'; \
@@ -67,7 +71,7 @@ RUN \
echo 'opcache.revalidate_freq=60'; \
echo 'opcache.jit=1255'; \
echo 'opcache.jit_buffer_size=128M'; \
} >> "/etc/php82/conf.d/00_opcache.ini" && \
} >> "/etc/php83/conf.d/00_opcache.ini" && \
{ \
echo 'memory_limit=512M'; \
echo 'upload_max_filesize=512M'; \
@@ -76,7 +80,7 @@ RUN \
echo 'max_execution_time=300'; \
echo 'output_buffering=0'; \
echo 'always_populate_raw_post_data=-1'; \
} >> "/etc/php82/conf.d/nextcloud.ini" && \
} >> "/etc/php83/conf.d/nextcloud.ini" && \
echo "**** install nextcloud ****" && \
mkdir -p \
/app/www/src/ && \
+39 -35
View File
@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.18
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.19
# set version label
ARG BUILD_DATE
@@ -18,46 +18,50 @@ RUN \
ffmpeg \
gnu-libiconv \
imagemagick \
imagemagick-heic \
imagemagick-pdf \
imagemagick-svg \
libxml2 \
php82-apcu \
php82-bcmath \
php82-bz2 \
php82-dom \
php82-exif \
php82-ftp \
php82-gd \
php82-gmp \
php82-imap \
php82-intl \
php82-ldap \
php82-opcache \
php82-pcntl \
php82-pdo_mysql \
php82-pdo_pgsql \
php82-pdo_sqlite \
php82-pecl-imagick \
php82-pecl-memcached \
php82-pecl-smbclient \
php82-pgsql \
php82-posix \
php82-redis \
php82-sodium \
php82-sqlite3 \
php82-sysvsem \
php82-xmlreader \
php83-apcu \
php83-bcmath \
php83-bz2 \
php83-dom \
php83-exif \
php83-ftp \
php83-gd \
php83-gmp \
php83-imap \
php83-intl \
php83-ldap \
php83-opcache \
php83-pcntl \
php83-pdo_mysql \
php83-pdo_pgsql \
php83-pdo_sqlite \
php83-pecl-imagick \
php83-pecl-memcached \
php83-pecl-smbclient \
php83-pgsql \
php83-posix \
php83-redis \
php83-sodium \
php83-sqlite3 \
php83-sysvsem \
php83-xmlreader \
rsync \
samba-client \
util-linux \
sudo && \
apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing \
php82-pecl-mcrypt && \
apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community \
php83-pecl-mcrypt && \
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 && \
sed -E -i 's/^;?clear_env ?=.*$/clear_env = no/g' /etc/php83/php-fpm.d/www.conf && \
grep -qxF 'clear_env = no' /etc/php83/php-fpm.d/www.conf || echo 'clear_env = no' >> /etc/php83/php-fpm.d/www.conf && \
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php83/php-fpm.conf && \
echo "**** configure php for nextcloud ****" && \
{ \
echo 'apc.enable_cli=1'; \
} >> /etc/php82/conf.d/apcu.ini && \
} >> /etc/php83/conf.d/apcu.ini && \
{ \
echo 'opcache.enable=1'; \
echo 'opcache.interned_strings_buffer=32'; \
@@ -67,7 +71,7 @@ RUN \
echo 'opcache.revalidate_freq=60'; \
echo 'opcache.jit=1255'; \
echo 'opcache.jit_buffer_size=128M'; \
} >> "/etc/php82/conf.d/00_opcache.ini" && \
} >> "/etc/php83/conf.d/00_opcache.ini" && \
{ \
echo 'memory_limit=512M'; \
echo 'upload_max_filesize=512M'; \
@@ -76,7 +80,7 @@ RUN \
echo 'max_execution_time=300'; \
echo 'output_buffering=0'; \
echo 'always_populate_raw_post_data=-1'; \
} >> "/etc/php82/conf.d/nextcloud.ini" && \
} >> "/etc/php83/conf.d/nextcloud.ini" && \
echo "**** install nextcloud ****" && \
mkdir -p \
/app/www/src/ && \
Vendored
+149 -134
View File
@@ -16,7 +16,7 @@ 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')
DOCKERHUB_TOKEN=credentials('docker-hub-ci-pat')
BUILD_VERSION_ARG = 'NEXTCLOUD_RELEASE'
LS_USER = 'linuxserver'
LS_REPO = 'docker-nextcloud'
@@ -59,11 +59,16 @@ pipeline {
env.COMMIT_SHA = sh(
script: '''git rev-parse HEAD''',
returnStdout: true).trim()
env.GH_DEFAULT_BRANCH = sh(
script: '''git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||' ''',
returnStdout: true).trim()
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
env.PULL_REQUEST = env.CHANGE_ID
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.yml ./.github/ISSUE_TEMPLATE/issue.feature.yml ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/call_issue_pr_tracker.yml ./.github/workflows/call_issues_cron.yml ./.github/workflows/permissions.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml'
}
sh '''#! /bin/bash
echo "The default github branch detected as ${GH_DEFAULT_BRANCH}" '''
script{
env.LS_RELEASE_NUMBER = sh(
script: '''echo ${LS_RELEASE} |sed 's/^.*-ls//g' ''',
@@ -121,7 +126,7 @@ pipeline {
steps{
script{
env.EXT_RELEASE_CLEAN = sh(
script: '''echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g' ''',
script: '''echo ${EXT_RELEASE} | sed 's/[~,%@+;:/ ]//g' ''',
returnStdout: true).trim()
def semver = env.EXT_RELEASE_CLEAN =~ /(\d+)\.(\d+)\.(\d+)/
@@ -139,7 +144,7 @@ pipeline {
}
if (env.SEMVER != null) {
if (BRANCH_NAME != "master" && BRANCH_NAME != "main") {
if (BRANCH_NAME != "${env.GH_DEFAULT_BRANCH}") {
env.SEMVER = "${env.SEMVER}-${BRANCH_NAME}"
}
println("SEMVER: ${env.SEMVER}")
@@ -240,9 +245,11 @@ pipeline {
-v ${WORKSPACE}:/mnt \
-e AWS_ACCESS_KEY_ID=\"${S3_KEY}\" \
-e AWS_SECRET_ACCESS_KEY=\"${S3_SECRET}\" \
ghcr.io/linuxserver/baseimage-alpine:3.17 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\
apk add --no-cache py3-pip && \
pip install s3cmd && \
ghcr.io/linuxserver/baseimage-alpine:3.19 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\
apk add --no-cache python3 && \
python3 -m venv /lsiopy && \
pip install --no-cache-dir -U pip && \
pip install --no-cache-dir s3cmd && \
s3cmd put --no-preserve --acl-public -m text/xml /mnt/shellcheck-result.xml s3://ci-tests.linuxserver.io/${IMAGE}/${META_TAG}/shellcheck-result.xml" || :'''
}
}
@@ -261,8 +268,15 @@ pipeline {
set -e
TEMPDIR=$(mktemp -d)
docker pull ghcr.io/linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
# Stage 1 - Jenkinsfile update
# Cloned repo paths for templating:
# ${TEMPDIR}/docker-${CONTAINER_NAME}: Cloned branch master of ${LS_USER}/${LS_REPO} for running the jenkins builder on
# ${TEMPDIR}/repo/${LS_REPO}: Cloned branch master of ${LS_USER}/${LS_REPO} for commiting various templated file changes and pushing back to Github
# ${TEMPDIR}/docs/docker-documentation: Cloned docs repo for pushing docs updates to Github
# ${TEMPDIR}/unraid/docker-templates: Cloned docker-templates repo to check for logos
# ${TEMPDIR}/unraid/templates: Cloned templates repo for commiting unraid template changes and pushing back to Github
git clone --branch master --depth 1 https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/docker-${CONTAINER_NAME}
docker run --rm -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/tmp -e LOCAL=true -e PUID=$(id -u) -e PGID=$(id -g) ghcr.io/linuxserver/jenkins-builder:latest
echo "Starting Stage 1 - Jenkinsfile update"
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
@@ -271,16 +285,17 @@ pipeline {
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
git add Jenkinsfile
git commit -m 'Bot Updating Templated Files'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Updating Jenkinsfile"
echo "Updating Jenkinsfile and exiting build, new one will trigger based on commit"
rm -Rf ${TEMPDIR}
exit 0
else
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 Dockerfile.armhf"
echo "Starting 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"
for i in ${OLD_TEMPLATES}; do
if [[ -f "${i}" ]]; then
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
@@ -295,15 +310,16 @@ pipeline {
git rm "${i}"
done
git commit -m 'Bot Updating Templated Files'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Deleting old and deprecated templates"
echo "Deleting old/deprecated templates and exiting build, new one will trigger based on commit"
rm -Rf ${TEMPDIR}
exit 0
else
echo "No templates to delete"
fi
# Stage 3 - Update templates
echo "Starting Stage 3 - Update templates"
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
@@ -324,19 +340,34 @@ pipeline {
fi
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
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Updating templates and exiting build, new one will trigger based on commit"
rm -Rf ${TEMPDIR}
exit 0
else
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "No templates to update"
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
echo "Starting Stage 4 - External repo updates: Docs, Unraid Template and Readme Sync to Docker Hub"
mkdir -p ${TEMPDIR}/docs
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/docs/docker-documentation
if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -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
GH_DOCS_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||')
git add docs/images/docker-${CONTAINER_NAME}.md
echo "Updating docs repo"
git commit -m 'Bot Updating Documentation'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} --rebase
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} || \
(MAXWAIT="10" && echo "Push to docs failed, trying again in ${MAXWAIT} seconds" && \
sleep $((RANDOM % MAXWAIT)) && \
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH} --rebase && \
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git ${GH_DOCS_DEFAULT_BRANCH})
else
echo "Docs update not needed, skipping"
fi
mkdir -p ${TEMPDIR}/unraid
git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
@@ -346,9 +377,13 @@ pipeline {
elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
fi
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then
if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then
echo "Updating Unraid template"
cd ${TEMPDIR}/unraid/templates/
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
GH_TEMPLATES_DEFAULT_BRANCH=$(git remote show origin | grep "HEAD branch:" | sed 's|.*HEAD branch: ||')
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list && [[ -f ${TEMPDIR}/unraid/templates/unraid/deprecated/${CONTAINER_NAME}.xml ]]; then
echo "Image is on the ignore list, and already in the deprecation folder."
elif grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
echo "Image is on the ignore list, marking Unraid template as deprecated"
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add -u unraid/${CONTAINER_NAME}.xml
@@ -359,7 +394,42 @@ pipeline {
git add unraid/${CONTAINER_NAME}.xml
git commit -m 'Bot Updating Unraid Template'
fi
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git --all
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} --rebase
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} || \
(MAXWAIT="10" && echo "Push to unraid templates failed, trying again in ${MAXWAIT} seconds" && \
sleep $((RANDOM % MAXWAIT)) && \
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH} --rebase && \
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git ${GH_TEMPLATES_DEFAULT_BRANCH})
else
echo "No updates to Unraid template needed, skipping"
fi
if [[ "${BRANCH_NAME}" == "${GH_DEFAULT_BRANCH}" ]]; then
if [[ $(cat ${TEMPDIR}/docker-${CONTAINER_NAME}/README.md | wc -m) -gt 25000 ]]; then
echo "Readme is longer than 25,000 characters. Syncing the lite version to Docker Hub"
DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/README.lite"
else
echo "Syncing readme to Docker Hub"
DH_README_SYNC_PATH="${TEMPDIR}/docker-${CONTAINER_NAME}/README.md"
fi
if curl -s https://hub.docker.com/v2/namespaces/${DOCKERHUB_IMAGE%%/*}/repositories/${DOCKERHUB_IMAGE##*/}/tags | jq -r '.message' | grep -q 404; then
echo "Docker Hub endpoint doesn't exist. Creating endpoint first."
DH_TOKEN=$(curl -d '{"username":"linuxserverci", "password":"'${DOCKERHUB_TOKEN}'"}' -H "Content-Type: application/json" -X POST https://hub.docker.com/v2/users/login | jq -r '.token')
curl -s \
-H "Authorization: JWT ${DH_TOKEN}" \
-H "Content-Type: application/json" \
-X POST \
-d '{"name":"'${DOCKERHUB_IMAGE##*/}'", "namespace":"'${DOCKERHUB_IMAGE%%/*}'"}' \
https://hub.docker.com/v2/repositories/ || :
fi
DH_TOKEN=$(curl -d '{"username":"linuxserverci", "password":"'${DOCKERHUB_TOKEN}'"}' -H "Content-Type: application/json" -X POST https://hub.docker.com/v2/users/login | jq -r '.token')
curl -s \
-H "Authorization: JWT ${DH_TOKEN}" \
-H "Content-Type: application/json" \
-X PATCH \
-d "{\\"full_description\\":$(jq -Rsa . ${DH_README_SYNC_PATH})}" \
https://hub.docker.com/v2/repositories/${DOCKERHUB_IMAGE} || :
else
echo "Not the default Github branch. Skipping readme sync to Docker Hub."
fi
rm -Rf ${TEMPDIR}'''
script{
@@ -415,43 +485,16 @@ pipeline {
}
steps{
sh '''curl -H "Content-Type: application/json" -H "Private-Token: ${GITLAB_TOKEN}" -X POST https://gitlab.com/api/v4/projects \
-d '{"namespace_id":'${GITLAB_NAMESPACE}',\
"name":"'${LS_REPO}'",
"mirror":true,\
"import_url":"https://github.com/linuxserver/'${LS_REPO}'.git",\
"issues_access_level":"disabled",\
"merge_requests_access_level":"disabled",\
"repository_access_level":"enabled",\
"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
'''
-d '{"namespace_id":'${GITLAB_NAMESPACE}',\
"name":"'${LS_REPO}'",
"mirror":true,\
"import_url":"https://github.com/linuxserver/'${LS_REPO}'.git",\
"issues_access_level":"disabled",\
"merge_requests_access_level":"disabled",\
"repository_access_level":"enabled",\
"visibility":"public"}' '''
sh '''curl -H "Private-Token: ${GITLAB_TOKEN}" -X PUT "https://gitlab.com/api/v4/projects/Linuxserver.io%2F${LS_REPO}" \
-d "mirror=true&import_url=https://github.com/linuxserver/${LS_REPO}.git" '''
}
}
/* ###############
@@ -482,6 +525,7 @@ pipeline {
--label \"org.opencontainers.image.title=Nextcloud\" \
--label \"org.opencontainers.image.description=[Nextcloud](https://nextcloud.com/) gives you access to all your files wherever you are. Where are your photos and documents? With Nextcloud you pick a server of your choice, at home, in a data center or at a provider. And that is where your files will be. Nextcloud runs on that server, protecting your data and giving you access from your desktop or mobile devices. Through Nextcloud you also access, sync and share your existing data on that FTP drive at the office, a Dropbox or a NAS you have at home. \" \
--no-cache --pull -t ${IMAGE}:${META_TAG} --platform=linux/amd64 \
--provenance=false --sbom=false \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
}
}
@@ -513,6 +557,7 @@ pipeline {
--label \"org.opencontainers.image.title=Nextcloud\" \
--label \"org.opencontainers.image.description=[Nextcloud](https://nextcloud.com/) gives you access to all your files wherever you are. Where are your photos and documents? With Nextcloud you pick a server of your choice, at home, in a data center or at a provider. And that is where your files will be. Nextcloud runs on that server, protecting your data and giving you access from your desktop or mobile devices. Through Nextcloud you also access, sync and share your existing data on that FTP drive at the office, a Dropbox or a NAS you have at home. \" \
--no-cache --pull -t ${IMAGE}:amd64-${META_TAG} --platform=linux/amd64 \
--provenance=false --sbom=false \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
}
}
@@ -541,6 +586,7 @@ pipeline {
--label \"org.opencontainers.image.title=Nextcloud\" \
--label \"org.opencontainers.image.description=[Nextcloud](https://nextcloud.com/) gives you access to all your files wherever you are. Where are your photos and documents? With Nextcloud you pick a server of your choice, at home, in a data center or at a provider. And that is where your files will be. Nextcloud runs on that server, protecting your data and giving you access from your desktop or mobile devices. Through Nextcloud you also access, sync and share your existing data on that FTP drive at the office, a Dropbox or a NAS you have at home. \" \
--no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} --platform=linux/arm64 \
--provenance=false --sbom=false \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
retry(5) {
@@ -567,7 +613,7 @@ pipeline {
sh '''#! /bin/bash
set -e
TEMPDIR=$(mktemp -d)
if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" == "false" ]; then
if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" != "true" ]; then
LOCAL_CONTAINER=${IMAGE}:amd64-${META_TAG}
else
LOCAL_CONTAINER=${IMAGE}:${META_TAG}
@@ -588,7 +634,8 @@ pipeline {
wait
git add package_versions.txt
git commit -m 'Bot Updating Package Versions'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo "true" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}
echo "Package tag updated, stopping build process"
else
@@ -663,7 +710,7 @@ pipeline {
--shm-size=1gb \
-v /var/run/docker.sock:/var/run/docker.sock \
-e IMAGE=\"${IMAGE}\" \
-e DELAY_START=\"${CI_DELAY}\" \
-e DOCKER_LOGS_TIMEOUT=\"${CI_DELAY}\" \
-e TAGS=\"${CI_TAGS}\" \
-e META_TAG=\"${META_TAG}\" \
-e PORT=\"${CI_PORT}\" \
@@ -691,12 +738,6 @@ pipeline {
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
],
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: 'Quay.io-Robot',
@@ -707,7 +748,7 @@ pipeline {
retry(5) {
sh '''#! /bin/bash
set -e
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
@@ -738,12 +779,6 @@ pipeline {
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
],
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: 'Quay.io-Robot',
@@ -754,7 +789,7 @@ pipeline {
retry(5) {
sh '''#! /bin/bash
set -e
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
@@ -783,35 +818,13 @@ pipeline {
docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
fi
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || :
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
done
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
docker buildx imagetools create -t ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest
docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || :
docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
fi
token=$(curl -sX GET "https://ghcr.io/token?scope=repository%3Alinuxserver%2F${CONTAINER_NAME}%3Apull" | jq -r '.token')
digest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/linuxserver/${CONTAINER_NAME}/manifests/arm32v7-latest")
if [[ $(echo "$digest" | jq -r '.layers') != "null" ]]; then
docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest || :
docker manifest create ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:amd64-latest
docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest
fi
docker manifest push --purge ${MANIFESTIMAGE}:latest
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER}
docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
fi
done
'''
@@ -849,37 +862,39 @@ pipeline {
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
}
}
// Use helper container to sync the current README on master to the dockerhub endpoint
stage('Sync-README') {
// 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 {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
sh '''#! /bin/bash
set -e
TEMPDIR=$(mktemp -d)
docker pull ghcr.io/linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH="${BRANCH_NAME}" -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
docker pull ghcr.io/linuxserver/readme-sync
docker run --rm=true \
-e DOCKERHUB_USERNAME=$DOCKERUSER \
-e DOCKERHUB_PASSWORD=$DOCKERPASS \
-e GIT_REPOSITORY=${LS_USER}/${LS_REPO} \
-e DOCKER_REPOSITORY=${IMAGE} \
-e GIT_BRANCH=master \
-v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \
ghcr.io/linuxserver/readme-sync bash -c 'node sync'
rm -Rf ${TEMPDIR} '''
}
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
) '''
}
}
// If this is a Pull request send the CI link as a comment on it
+148 -49
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!")
@@ -29,7 +28,7 @@ Find us at:
# [linuxserver/nextcloud](https://github.com/linuxserver/docker-nextcloud)
[![Scarf.io pulls](https://scarf.sh/installs-badge/linuxserver-ci/linuxserver%2Fnextcloud?color=94398d&label-color=555555&logo-color=ffffff&style=for-the-badge&package-type=docker)](https://scarf.sh/gateway/linuxserver-ci/docker/linuxserver%2Fnextcloud)
[![Scarf.io pulls](https://scarf.sh/installs-badge/linuxserver-ci/linuxserver%2Fnextcloud?color=94398d&label-color=555555&logo-color=ffffff&style=for-the-badge&package-type=docker)](https://scarf.sh)
[![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-nextcloud.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-nextcloud)
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-nextcloud.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-nextcloud/releases)
[![GitHub Package Repository](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub%20Package&logo=github)](https://github.com/linuxserver/docker-nextcloud/packages)
@@ -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,10 +59,21 @@ 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/).
Note: `occ` should be run without prepending with `sudo -u abc php` or `sudo -u www-data php` ie; `docker exec -it nextcloud occ maintenance:mode --off`
### Updating Nextcloud
Updating Nextcloud is done by pulling the new image, and recreating the container with it.
@@ -78,6 +88,34 @@ 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.
### HEIC Image Previews
In order to enable HEIC image preview generation you will need to add the following to your `config.php` file in your `config/www/nextcloud/config' directory;
```
'enable_previews' => true,
'enabledPreviewProviders' =>
array (
'OC\Preview\PNG',
'OC\Preview\JPEG',
'OC\Preview\GIF',
'OC\Preview\BMP',
'OC\Preview\XBitmap',
'OC\Preview\MP3',
'OC\Preview\TXT',
'OC\Preview\MarkDown',
'OC\Preview\OpenDocument',
'OC\Preview\Krita',
'OC\Preview\HEIC',
),
```
You may need to log out and back in for the changes to come in to effect.
This fix was sourced from [Nextcloud Documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html#enabledpreviewproviders)
Nextcloud state that HEIC preview is disabled by default due to performance or privacy concerns, so enable this at your own risk.
### 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:
@@ -96,13 +134,12 @@ 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))
```yaml
---
version: "2.1"
services:
nextcloud:
image: lscr.io/linuxserver/nextcloud:latest
@@ -112,7 +149,7 @@ services:
- PGID=1000
- TZ=Etc/UTC
volumes:
- /path/to/appdata:/config
- /path/to/nextcloud/config:/config
- /path/to/data:/data
ports:
- 443:443
@@ -128,16 +165,15 @@ docker run -d \
-e PGID=1000 \
-e TZ=Etc/UTC \
-p 443:443 \
-v /path/to/appdata:/config \
-v /path/to/nextcloud/config:/config \
-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 |
| :----: | --- |
@@ -145,7 +181,7 @@ Container images are configured using parameters passed at runtime (such as thos
| `-e PUID=1000` | for UserID - see below for explanation |
| `-e PGID=1000` | for GroupID - see below for explanation |
| `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). |
| `-v /config` | Nextcloud configs. |
| `-v /config` | Persistent config files |
| `-v /data` | Your personal data. |
## Environment variables from files (Docker secrets)
@@ -155,10 +191,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
@@ -167,15 +203,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
@@ -186,53 +227,100 @@ 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
Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (ie. nextcloud, plex), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image.
Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (noted in the relevant readme.md), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image.
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:
### 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
```
* 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).
```bash
docker image prune
```
### 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
@@ -257,6 +345,17 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
* **19.05.24:** - Added util-linux package required for taskset.
* **10.04.24:** - Added imagemagick-pdf.
* **05.04.24:** - Added imagemagick-heic. Manual update to `config.php` required - see above.
* **02.04.24:** - Existing users should update: site-confs/default.conf - Add support for the Client Push (notify_push) plugin and the [new mod](https://github.com/linuxserver/docker-mods/tree/nextcloud-notify-push).
* **22.03.24:** - Add imagemagick-svg module.
* **06.03.24:** - Rebase to Alpine 3.19 with php 8.3.
* **02.01.24:** - Existing users should update: site-confs/default.conf - Cleanup default site conf.
* **22.12.23:** - Site default conf updating to include mime.types for js and mjs and update location to include more file types.
* **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.
+536 -378
View File
@@ -1,378 +1,536 @@
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.2-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.57-r3 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
busybox 1.36.1 binary
busybox 1.36.1-r1 apk
busybox-binsh 1.36.1-r1 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.6-r0 apk
curl 8.1.2-r0 apk
cweagans/composer-patches 1.7.1 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 2.0.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-r15 apk
ffmpeg-libavcodec 6.0-r15 apk
ffmpeg-libavdevice 6.0-r15 apk
ffmpeg-libavfilter 6.0-r15 apk
ffmpeg-libavformat 6.0-r15 apk
ffmpeg-libavutil 6.0-r15 apk
ffmpeg-libpostproc 6.0-r15 apk
ffmpeg-libswresample 6.0-r15 apk
ffmpeg-libswscale 6.0-r15 apk
fgrosse/phpasn1 v2.3.0 php-composer
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.01.2-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-r0 apk
imagemagick-libs 7.1.1.13-r0 apk
jansson 2.14-r3 apk
jbig2dec 0.19-r3 apk
jq 1.6-r3 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.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-r3 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.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.3-r0 apk
libproc2 4.0.3-r1 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.5-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.1-r3 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.5-r0 apk
libwebp 1.3.1-r0 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
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.3-r1 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-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
nextcloud/lognormalizer v1.0.0 php-composer
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-r3 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
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
php-cli 8.2.8 binary
php-fpm 8.2.8 binary
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.8-r0 apk
php82-bcmath 8.2.8-r0 apk
php82-bz2 8.2.8-r0 apk
php82-common 8.2.8-r0 apk
php82-ctype 8.2.8-r0 apk
php82-curl 8.2.8-r0 apk
php82-dom 8.2.8-r0 apk
php82-exif 8.2.8-r0 apk
php82-fileinfo 8.2.8-r0 apk
php82-fpm 8.2.8-r0 apk
php82-ftp 8.2.8-r0 apk
php82-gd 8.2.8-r0 apk
php82-gmp 8.2.8-r0 apk
php82-iconv 8.2.8-r0 apk
php82-imap 8.2.8-r0 apk
php82-intl 8.2.8-r0 apk
php82-ldap 8.2.8-r0 apk
php82-mbstring 8.2.8-r0 apk
php82-mysqlnd 8.2.8-r0 apk
php82-opcache 8.2.8-r0 apk
php82-openssl 8.2.8-r0 apk
php82-pcntl 8.2.8-r0 apk
php82-pdo 8.2.8-r0 apk
php82-pdo_mysql 8.2.8-r0 apk
php82-pdo_pgsql 8.2.8-r0 apk
php82-pdo_sqlite 8.2.8-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.8-r0 apk
php82-phar 8.2.8-r0 apk
php82-posix 8.2.8-r0 apk
php82-session 8.2.8-r0 apk
php82-simplexml 8.2.8-r0 apk
php82-sockets 8.2.8-r0 apk
php82-sodium 8.2.8-r0 apk
php82-sqlite3 8.2.8-r0 apk
php82-sysvsem 8.2.8-r0 apk
php82-xml 8.2.8-r0 apk
php82-xmlreader 8.2.8-r0 apk
php82-xmlwriter 8.2.8-r0 apk
php82-zip 8.2.8-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
procps-ng 4.0.3-r1 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
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.5 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.5-r0 apk
samba-client-libs 4.18.5-r0 apk
samba-common 4.18.5-r0 apk
samba-libs 4.18.5-r0 apk
samba-util-libs 4.18.5-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-r1 apk
stecman/symfony-console-completion 0.11.0 php-composer
sudo 1.9.13_p3-r2 apk
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
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
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
NAME VERSION TYPE
@nextcloud/text 3.10.0 npm
Process Wrapper 1.0.0.0 dotnet (+1 duplicate)
activity 2.21.0 npm
agetty 2.39.3-r0 apk
alpine-baselayout 3.4.3-r2 apk
alpine-baselayout-data 3.4.3-r2 apk
alpine-keys 2.4-r1 apk
alpine-release 3.19.1-r0 apk
alsa-lib 1.2.10-r0 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
anyhow 1.0.71 rust-crate
anyhow 1.0.75 rust-crate
aom-libs 3.7.1-r0 apk
apache2-utils 2.4.59-r0 apk
apk-tools 2.14.4-r0 apk
apr 1.7.4-r0 apk
apr-util 1.6.3-r1 apk
arg_enum_proc_macro 0.3.2 rust-crate
argon2-libs 20190702-r5 apk
arrayvec 0.7.2 rust-crate
av-metrics 0.9.0 rust-crate
av1-grain 0.2.2 rust-crate
avahi-libs 0.8-r16 apk
aws/aws-crt-php v1.0.2 php-composer
aws/aws-sdk-php 3.240.8 php-composer
bamarni/composer-bin-plugin 1.8.2 php-composer
bantu/ini-get-wrapper v1.0.1 php-composer
bash 5.2.21-r0 apk
beberlei/assert v3.3.1 php-composer
bitflags 1.3.2 rust-crate
bitstream-io 1.6.0 rust-crate
bitstream-io 1.7.0 rust-crate
bitvec 1.0.1 rust-crate
bitvec_helpers 3.1.2 rust-crate
blkid 2.39.3-r0 apk
brick/math 0.9.2 php-composer
brotli-libs 1.1.0-r1 apk
bruteforcesettings 2.9.0 npm
busybox 1.36.1-r18 apk
busybox-binsh 1.36.1-r18 apk
c-ares 1.27.0-r0 apk
c-client 2007f-r15 apk
ca-certificates 20240226-r0 apk
ca-certificates-bundle 20240226-r0 apk
cairo 1.18.0-r0 apk
cairo-gobject 1.18.0-r0 apk
catatonit 0.2.0-r0 apk
cfdisk 2.39.3-r0 apk
cfg-if 1.0.0 rust-crate
christian-riesen/base32 1.6.0 php-composer
cjson 1.7.17-r0 apk
clap 4.0.32 rust-crate
clap_complete 4.0.7 rust-crate
clap_derive 4.0.21 rust-crate
clap_lex 0.3.0 rust-crate
composer 2.7.6 binary
console 0.15.5 rust-crate
coreutils 9.4-r2 apk
coreutils-env 9.4-r2 apk
coreutils-fmt 9.4-r2 apk
coreutils-sha512sum 9.4-r2 apk
crc 3.0.1 rust-crate
crc-catalog 2.2.0 rust-crate
crossbeam 0.8.2 rust-crate
crossbeam-channel 0.5.8 rust-crate
crossbeam-deque 0.8.3 rust-crate
crossbeam-epoch 0.9.14 rust-crate
crossbeam-queue 0.3.8 rust-crate
crossbeam-utils 0.8.15 rust-crate
cups-libs 2.4.7-r0 apk
curl 8.5.0-r0 apk
cweagans/composer-patches 1.7.3 php-composer
dbus-libs 1.14.10-r0 apk
deepdiver/zipstreamer v2.0.2 php-composer
deepdiver1975/tarstreamer v2.1.0 php-composer
doctrine/cache 2.2.0 php-composer
doctrine/dbal 3.8.3 php-composer
doctrine/deprecations 1.1.2 php-composer
doctrine/event-manager 1.2.0 php-composer
doctrine/lexer 2.1.0 php-composer
dolby_vision 3.2.0 rust-crate
egulias/email-validator 3.2.6 php-composer
either 1.8.1 rust-crate
fern 0.6.2 rust-crate
ffmpeg 6.1.1-r0 apk
ffmpeg-libavcodec 6.1.1-r0 apk
ffmpeg-libavdevice 6.1.1-r0 apk
ffmpeg-libavfilter 6.1.1-r0 apk
ffmpeg-libavformat 6.1.1-r0 apk
ffmpeg-libavutil 6.1.1-r0 apk
ffmpeg-libpostproc 6.1.1-r0 apk
ffmpeg-libswresample 6.1.1-r0 apk
ffmpeg-libswscale 6.1.1-r0 apk
fftw-double-libs 3.3.10-r5 apk
fgrosse/phpasn1 v2.3.0 php-composer
files_downloadlimit 1.1.0 npm
files_pdfviewer 2.10.0 npm
findmnt 2.39.3-r0 apk
findutils 4.9.0-r5 apk
firstrunwizard 2.18.0 npm
flock 2.39.3-r0 apk
fontconfig 2.14.2-r4 apk
freetype 2.13.2-r0 apk
fribidi 1.0.13-r0 apk
fstrim 2.39.3-r0 apk
funty 2.0.0 rust-crate
fusonic/linq v1.1.0 php-composer
fusonic/opengraph v2.2.0 php-composer
gdbm 1.23-r1 apk
gdk-pixbuf 2.42.10-r6 apk
getrandom 0.2.9 rust-crate
ghostscript 10.02.1-r0 apk
giggsey/libphonenumber-for-php-lite 8.13.27 php-composer
git 2.43.4-r0 apk
glib 2.78.6-r0 apk
glslang-libs 1.3.261.1-r0 apk
gmp 6.3.0-r0 apk
gnu-libiconv 1.17-r2 apk
gnu-libiconv-libs 1.17-r2 apk
gnutls 3.8.4-r0 apk
graphite2 1.3.14-r6 apk
guzzlehttp/guzzle 7.8.1 php-composer
guzzlehttp/promises 1.5.3 php-composer
guzzlehttp/psr7 2.6.2 php-composer
guzzlehttp/uri-template v0.2.0 php-composer
harfbuzz 8.3.0-r0 apk
heck 0.4.1 rust-crate
hexdump 2.39.3-r0 apk
hexogen/kdtree v0.2.5 php-composer
hwdata-pci 0.377.2-r0 apk
icewind/searchdav v3.1.0 php-composer
icewind/smb v3.5.4 php-composer
icewind/streams v0.7.7 php-composer (+1 duplicate)
icu-data-en 74.1-r0 apk
icu-libs 74.1-r0 apk
imagemagick 7.1.1.32-r0 apk
imagemagick-heic 7.1.1.32-r0 apk
imagemagick-jpeg 7.1.1.32-r0 apk
imagemagick-jxl 7.1.1.32-r0 apk
imagemagick-libs 7.1.1.32-r0 apk
imagemagick-pango 7.1.1.32-r0 apk
imagemagick-pdf 7.1.1.32-r0 apk
imagemagick-svg 7.1.1.32-r0 apk
imagemagick-tiff 7.1.1.32-r0 apk
imagemagick-webp 7.1.1.32-r0 apk
interpolate_name 0.2.3 rust-crate
io-lifetimes 1.0.10 rust-crate
is-terminal 0.4.7 rust-crate
itertools 0.10.5 rust-crate
ivf 0.1.2 rust-crate
jansson 2.14-r4 apk
jbig2dec 0.20-r0 apk
jq 1.7.1-r0 apk
justinrainbow/json-schema v5.2.13 php-composer
kornrunner/blurhash v1.2.2 php-composer
lab 0.11.0 rust-crate
lame-libs 3.100-r5 apk
laravel/serializable-closure v1.3.3 php-composer
lazy_static 1.4.0 rust-crate
lcms2 2.15-r4 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
libSvtAv1Enc 1.7.0-r0 apk
libacl 2.3.1-r4 apk
libarchive 3.7.4-r0 apk
libass 0.17.1-r1 apk
libasyncns 0.8-r2 apk
libattr 2.5.1-r5 apk
libavif 1.0.3-r0 apk
libblkid 2.39.3-r0 apk
libbluray 1.3.4-r1 apk
libbsd 0.11.7-r3 apk
libbz2 1.0.8-r6 apk
libc 0.2.144 rust-crate
libc 0.2.149 rust-crate
libc-utils 0.7.2-r5 apk
libcap-ng 0.8.3-r4 apk
libcap2 2.69-r1 apk
libcrypto3 3.1.5-r0 apk
libcurl 8.5.0-r0 apk
libdav1d 1.3.0-r1 apk
libde265 1.0.15-r0 apk
libdovi 3.2.0-r1 apk
libdrm 2.4.118-r0 apk
libeconf 0.5.2-r2 apk
libedit 20230828.3.1-r3 apk
libevent 2.1.12-r7 apk
libexpat 2.6.2-r0 apk
libfdisk 2.39.3-r0 apk
libffi 3.4.4-r3 apk
libflac 1.4.3-r1 apk
libformw 6.4_p20231125-r0 apk
libgcc 13.2.1_git20231014-r0 apk
libgomp 13.2.1_git20231014-r0 apk
libheif 1.17.6-r0 apk
libhwy 1.0.7-r0 apk
libice 1.1.1-r5 apk
libidn2 2.3.4-r4 apk
libintl 0.22.3-r0 apk
libjpeg-turbo 3.0.1-r0 apk
libjxl 0.8.2-r0 apk
libldap 2.6.6-r1 apk
libltdl 2.4.7-r3 apk
libmcrypt 2.5.8-r10 apk
libmd 1.1.0-r0 apk
libmemcached-libs 1.1.4-r1 apk
libmount 2.39.3-r0 apk
libncursesw 6.4_p20231125-r0 apk
libogg 1.3.5-r5 apk
libopenmpt 0.7.3-r1 apk
libpanelw 6.4_p20231125-r0 apk
libpciaccess 0.17-r2 apk
libplacebo 6.338.1-r0 apk
libpng 1.6.40-r0 apk
libpq 16.3-r0 apk
libproc2 4.0.4-r0 apk
libpulse 16.1-r11 apk
librist 0.2.10-r0 apk
librsvg 2.57.1-r0 apk
libsasl 2.1.28-r5 apk
libsharpyuv 1.3.2-r0 apk
libsm 1.2.4-r3 apk
libsmartcols 2.39.3-r0 apk
libsmbclient 4.18.9-r0 apk
libsndfile 1.2.2-r0 apk
libsodium 1.0.19-r0 apk
libsrt 1.5.3-r0 apk
libssh 0.10.6-r0 apk
libssl3 3.1.5-r0 apk
libstdc++ 13.2.1_git20231014-r0 apk
libtasn1 4.19.0-r2 apk
libtheora 1.1.1-r18 apk
libunibreak 5.1-r3 apk
libunistring 1.1-r2 apk
libuuid 2.39.3-r0 apk
libva 2.20.0-r0 apk
libvdpau 1.5-r2 apk
libvorbis 1.3.7-r2 apk
libvpx 1.13.1-r0 apk
libwbclient 4.18.9-r0 apk
libwebp 1.3.2-r0 apk
libwebpdemux 1.3.2-r0 apk
libwebpmux 1.3.2-r0 apk
libx11 1.8.7-r0 apk
libxau 1.0.11-r3 apk
libxcb 1.16-r0 apk
libxdmcp 1.1.4-r3 apk
libxext 1.3.5-r3 apk
libxfixes 6.0.1-r3 apk
libxft 2.3.8-r2 apk
libxml2 2.11.8-r0 apk
libxpm 3.5.17-r0 apk
libxrender 0.9.11-r4 apk
libxt 1.3.0-r4 apk
libxxhash 0.8.2-r2 apk
libzip 1.10.1-r0 apk
libzmq 4.3.5-r2 apk
lilv-libs 0.24.22-r0 apk
linux-pam 1.5.3-r7 apk
linux-raw-sys 0.3.7 rust-crate
lmdb 0.9.31-r0 apk
log 0.4.17 rust-crate
logger 2.39.3-r0 apk
logreader 2.14.0 npm
logrotate 3.21.0-r1 apk
losetup 2.39.3-r0 apk
lsblk 2.39.3-r0 apk
lz4-libs 1.9.4-r5 apk
maybe-rayon 0.1.1 rust-crate
mbedtls 2.28.8-r0 apk
mcookie 2.39.3-r0 apk
memchr 2.5.0 rust-crate
memoffset 0.8.0 rust-crate
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
minimal-lexical 0.2.1 rust-crate
mlocati/ip-lib 1.18.0 php-composer
mount 2.39.3-r0 apk
mpg123-libs 1.32.3-r0 apk
mtdowling/jmespath.php 2.6.1 php-composer
musl 1.2.4_git20230717-r4 apk
musl-utils 1.2.4_git20230717-r4 apk
nano 7.2-r1 apk
ncurses-terminfo-base 6.4_p20231125-r0 apk
netcat-openbsd 1.226-r0 apk
nettle 3.9.1-r0 apk
new_debug_unreachable 1.0.4 rust-crate
nextcloud 1.0.0 npm
nextcloud/lognormalizer v1.0.0 php-composer
nghttp2-libs 1.58.0-r0 apk
nginx 1.24.0-r16 apk
nom 7.1.3 rust-crate
noop_proc_macro 0.3.0 rust-crate
notifications 2.17.0 npm
num-bigint 0.4.3 rust-crate
num-derive 0.3.3 rust-crate
num-integer 0.1.45 rust-crate
num-rational 0.4.1 rust-crate
num-traits 0.2.15 rust-crate
num_cpus 1.15.0 rust-crate
numactl 2.0.16-r4 apk
once_cell 1.17.1 rust-crate
onevpl-libs 2023.3.1-r2 apk
oniguruma 6.9.9-r0 apk
openssl 3.1.5-r0 apk
opus 1.4-r0 apk
orc 0.4.34-r0 apk
os_str_bytes 6.5.0 rust-crate
p11-kit 0.25.3-r0 apk
pango 1.51.0-r0 apk
partx 2.39.3-r0 apk
password_policy 1.19.0 npm
paste 1.0.12 rust-crate
pcre 8.45-r3 apk
pcre2 10.42-r2 apk
pear/archive_tar 1.4.14 php-composer
pear/console_getopt v1.4.3 php-composer
pear/pear-core-minimal v1.10.14 php-composer
pear/pear_exception v1.0.2 php-composer
photos 2.5.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
php83 8.3.8-r0 apk
php83-bcmath 8.3.8-r0 apk
php83-bz2 8.3.8-r0 apk
php83-common 8.3.8-r0 apk
php83-ctype 8.3.8-r0 apk
php83-curl 8.3.8-r0 apk
php83-dom 8.3.8-r0 apk
php83-exif 8.3.8-r0 apk
php83-fileinfo 8.3.8-r0 apk
php83-fpm 8.3.8-r0 apk
php83-ftp 8.3.8-r0 apk
php83-gd 8.3.8-r0 apk
php83-gmp 8.3.8-r0 apk
php83-iconv 8.3.8-r0 apk
php83-imap 8.3.8-r0 apk
php83-intl 8.3.8-r0 apk
php83-ldap 8.3.8-r0 apk
php83-mbstring 8.3.8-r0 apk
php83-mysqlnd 8.3.8-r0 apk
php83-opcache 8.3.8-r0 apk
php83-openssl 8.3.8-r0 apk
php83-pcntl 8.3.8-r0 apk
php83-pdo 8.3.8-r0 apk
php83-pdo_mysql 8.3.8-r0 apk
php83-pdo_pgsql 8.3.8-r0 apk
php83-pdo_sqlite 8.3.8-r0 apk
php83-pecl-apcu 5.1.23-r0 apk
php83-pecl-igbinary 3.2.15-r0 apk
php83-pecl-imagick 3.7.0-r0 apk
php83-pecl-mcrypt 1.0.7-r0 apk
php83-pecl-memcached 3.2.0-r0 apk
php83-pecl-msgpack 2.2.0-r2 apk
php83-pecl-redis 6.0.2-r0 apk
php83-pecl-smbclient 1.1.1-r0 apk
php83-pgsql 8.3.8-r0 apk
php83-phar 8.3.8-r0 apk
php83-posix 8.3.8-r0 apk
php83-session 8.3.8-r0 apk
php83-simplexml 8.3.8-r0 apk
php83-sockets 8.3.8-r0 apk
php83-sodium 8.3.8-r0 apk
php83-sqlite3 8.3.8-r0 apk
php83-sysvsem 8.3.8-r0 apk
php83-xml 8.3.8-r0 apk
php83-xmlreader 8.3.8-r0 apk
php83-xmlwriter 8.3.8-r0 apk
php83-zip 8.3.8-r0 apk
phpseclib/phpseclib 2.0.47 php-composer
pimple/pimple v3.5.0 php-composer
pixman 0.42.2-r2 apk
pkgconf 2.1.0-r0 apk
popt 1.19-r3 apk
ppv-lite86 0.2.17 rust-crate
privacy 1.13.0 npm
proc-macro-error 1.0.4 rust-crate
proc-macro-error-attr 1.0.4 rust-crate
proc-macro2 1.0.57 rust-crate
procps-ng 4.0.4-r0 apk
psr/cache 3.0.0 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.3 php-composer
psr/http-factory 1.0.2 php-composer
psr/http-message 1.1 php-composer
psr/log 1.1.4 php-composer (+1 duplicate)
punic/punic 3.8.1 php-composer
quote 1.0.27 rust-crate
radium 0.7.0 rust-crate
ralouphie/getallheaders 3.0.3 php-composer
ramsey/collection 1.1.3 php-composer
ramsey/uuid 4.1.1 php-composer
rand 0.8.5 rust-crate
rand_chacha 0.3.1 rust-crate
rand_core 0.6.4 rust-crate
rav1e 0.6.6 rust-crate
rav1e-libs 0.6.6-r2 apk
rayon 1.7.0 rust-crate
rayon-core 1.11.0 rust-crate
readline 8.2.1-r2 apk
recommendations 2.1.0 npm
related_resources 1.4.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
runuser 2.39.3-r0 apk
rust_hawktracer 0.7.0 rust-crate
rust_hawktracer_normal_macro 0.4.1 rust-crate
rust_hawktracer_proc_macro 0.4.1 rust-crate
rustix 0.37.19 rust-crate
sabre/dav 4.5.0 php-composer
sabre/event 5.1.4 php-composer
sabre/http 5.1.10 php-composer
sabre/uri 2.3.3 php-composer
sabre/vobject 4.5.4 php-composer
sabre/xml 2.2.6 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
scan_fmt 0.2.6 rust-crate
scanelf 1.3.7-r2 apk
scopeguard 1.1.0 rust-crate
scssphp/scssphp v1.12.1 php-composer
sdl2 2.28.5-r0 apk
serd-libs 0.32.0-r0 apk
serde 1.0.163 rust-crate
serde_derive 1.0.163 rust-crate
setarch 2.39.3-r0 apk
setpriv 2.39.3-r0 apk
sfdisk 2.39.3-r0 apk
shaderc 2023.7-r0 apk
shadow 4.14.2-r0 apk
shared-mime-info 2.4-r0 apk
signal-hook 0.3.15 rust-crate
signal-hook-registry 1.4.1 rust-crate
simd_helpers 0.1.0 rust-crate
skalibs 2.14.0.1-r0 apk
sord-libs 0.16.16-r0 apk
soxr 0.1.3-r7 apk
speexdsp 1.2.1-r2 apk
spirv-tools 1.3.261.1-r0 apk
spomky-labs/base64url v2.0.4 php-composer
spomky-labs/cbor-php v2.0.1 php-composer
sqlite-libs 3.44.2-r0 apk
sratom 0.6.16-r0 apk
ssl_client 1.36.1-r18 apk
stecman/symfony-console-completion 0.11.0 php-composer
sudo 1.9.15_p2-r0 apk
support 1.12.0 npm
suspicious_login 7.0.0 npm
symfony/console v5.4.35 php-composer
symfony/css-selector v5.4.11 php-composer
symfony/deprecation-contracts v3.0.2 php-composer
symfony/dom-crawler v5.4.11 php-composer
symfony/event-dispatcher v5.4.26 php-composer
symfony/event-dispatcher-contracts v3.0.2 php-composer
symfony/http-foundation v5.4.25 php-composer
symfony/mailer v5.4.22 php-composer
symfony/mime v5.4.19 php-composer
symfony/polyfill-ctype v1.28.0 php-composer
symfony/polyfill-intl-grapheme v1.28.0 php-composer
symfony/polyfill-intl-idn v1.28.0 php-composer
symfony/polyfill-intl-normalizer v1.28.0 php-composer
symfony/polyfill-mbstring v1.27.0 php-composer
symfony/polyfill-mbstring v1.28.0 php-composer
symfony/polyfill-php72 v1.28.0 php-composer
symfony/polyfill-php73 v1.26.0 php-composer
symfony/polyfill-php73 v1.28.0 php-composer
symfony/polyfill-php80 v1.27.0 php-composer
symfony/polyfill-php80 v1.28.0 php-composer
symfony/process v5.4.34 php-composer
symfony/routing v5.4.25 php-composer
symfony/service-contracts v3.0.2 php-composer
symfony/string v6.0.19 php-composer
symfony/translation v5.4.24 php-composer
symfony/translation-contracts v2.4.0 php-composer
syn 1.0.109 rust-crate
syn 2.0.16 rust-crate
talloc 2.4.2-r0 apk
tap 1.0.1 rust-crate
tdb-libs 1.4.9-r0 apk
termcolor 1.2.0 rust-crate
terminal_size 0.2.6 rust-crate
tevent 0.15.0-r0 apk
thecodingmachine/safe v1.3.3 php-composer
thiserror 1.0.40 rust-crate
thiserror-impl 1.0.40 rust-crate
tiff 4.6.0-r0 apk
twofactor_totp 11.0.0-dev npm
tzdata 2024a-r0 apk
umount 2.39.3-r0 apk
unicode-ident 1.0.8 rust-crate
unicode-width 0.1.10 rust-crate
util-linux 2.39.3-r0 apk
util-linux-misc 2.39.3-r0 apk
utmps-libs 0.1.2.2-r0 apk
uuidgen 2.39.3-r0 apk
v4l-utils-libs 1.24.1-r1 apk
v_frame 0.3.3 rust-crate
vidstab 1.1.1-r0 apk
viewer 2.3.0 npm
vulkan-loader 1.3.261.1-r0 apk
wapmorgan/mp3info 0.1.0 php-composer
wayland-libs-client 1.22.0-r4 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
wipefs 2.39.3-r0 apk
wyz 0.5.1 rust-crate
x264-libs 0.164_git20231001-r0 apk
x265-libs 3.5-r4 apk
xvidcore 1.3.7-r2 apk
xz-libs 5.4.5-r0 apk
y4m 0.8.0 rust-crate
zimg 3.0.5-r2 apk
zix-libs 0.4.2-r0 apk
zlib 1.3.1-r0 apk
zstd-libs 1.5.5-r8 apk
+44 -2
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
@@ -30,7 +31,7 @@ param_env_vars:
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London." }
param_usage_include_vols: true
param_volumes:
- { vol_path: "/config", vol_host_path: "/path/to/appdata", desc: "Nextcloud configs." }
- { vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/config", desc: "Persistent config files" }
- { vol_path: "/data", vol_host_path: "/path/to/data", desc: "Your personal data." }
param_usage_include_ports: true
param_ports:
@@ -51,6 +52,8 @@ app_setup_block_enabled: true
app_setup_block: |
Access the webui at `https://<your-ip>:443`, for more information check out [Nextcloud]({{ project_url }}).
Note: `occ` should be run without prepending with `sudo -u abc php` or `sudo -u www-data php` ie; `docker exec -it nextcloud occ maintenance:mode --off`
### Updating Nextcloud
Updating Nextcloud is done by pulling the new image, and recreating the container with it.
@@ -65,6 +68,34 @@ app_setup_block: |
If (auto) installed, those built-in packages may cause instability and should be removed.
### HEIC Image Previews
In order to enable HEIC image preview generation you will need to add the following to your `config.php` file in your `config/www/nextcloud/config' directory;
```
'enable_previews' => true,
'enabledPreviewProviders' =>
array (
'OC\Preview\PNG',
'OC\Preview\JPEG',
'OC\Preview\GIF',
'OC\Preview\BMP',
'OC\Preview\XBitmap',
'OC\Preview\MP3',
'OC\Preview\TXT',
'OC\Preview\MarkDown',
'OC\Preview\OpenDocument',
'OC\Preview\Krita',
'OC\Preview\HEIC',
),
```
You may need to log out and back in for the changes to come in to effect.
This fix was sourced from [Nextcloud Documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html#enabledpreviewproviders)
Nextcloud state that HEIC preview is disabled by default due to performance or privacy concerns, so enable this at your own risk.
### 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:
@@ -78,6 +109,17 @@ app_setup_block: |
# changelog
changelogs:
- { date: "19.05.24:", desc: "Added util-linux package required for taskset."}
- { date: "10.04.24:", desc: "Added imagemagick-pdf."}
- { date: "05.04.24:", desc: "Added imagemagick-heic. Manual update to `config.php` required - see above."}
- { date: "02.04.24:", desc: "Existing users should update: site-confs/default.conf - Add support for the Client Push (notify_push) plugin and the [new mod](https://github.com/linuxserver/docker-mods/tree/nextcloud-notify-push)."}
- { date: "22.03.24:", desc: "Add imagemagick-svg module."}
- { date: "06.03.24:", desc: "Rebase to Alpine 3.19 with php 8.3."}
- { date: "02.01.24:", desc: "Existing users should update: site-confs/default.conf - Cleanup default site conf." }
- { date: "22.12.23:", desc: "Site default conf updating to include mime.types for js and mjs and update location to include more file types." }
- { 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." }
@@ -1,4 +1,4 @@
## Version 2023/06/23 - Changelog: https://github.com/linuxserver/docker-nextcloud/commits/master/root/defaults/nginx/site-confs/default.conf.sample
## Version 2024/04/02 - 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 {
@@ -36,25 +36,24 @@ server {
gzip_comp_level 4;
gzip_min_length 256;
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/wasm application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
gzip_types application/atom+xml text/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/wasm application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
# Pagespeed is not supported by Nextcloud, so if your server is built
# with the `ngx_pagespeed` module, uncomment this line to disable it.
#pagespeed off;
# The settings allows you to optimize the HTTP2 bandwitdth.
# The settings allows you to optimize the HTTP2 bandwidth.
# See https://blog.cloudflare.com/delivering-http-2-upload-speed-improvements/
# for tunning hints
# for tuning hints
client_body_buffer_size 512k;
# HTTP response headers borrowed from Nextcloud `.htaccess`
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "noindex, nofollow" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "noindex, nofollow" always;
add_header X-XSS-Protection "1; mode=block" always;
# Remove X-Powered-By, which is an information leak
fastcgi_hide_header X-Powered-By;
@@ -66,7 +65,7 @@ server {
# that file is correctly served; if it doesn't, then the request is passed to
# the front-end controller. This consistent behaviour means that we don't need
# to specify custom rules for certain paths (e.g. images and other assets,
# `/updater`, `/ocm-provider`, `/ocs-provider`), and thus
# `/updater`, `/ocs-provider`), and thus
# `try_files $uri $uri/ /index.php$request_uri`
# always provides the desired behaviour.
index index.php index.html /index.php$request_uri;
@@ -113,7 +112,7 @@ server {
# to the URI, resulting in a HTTP 500 error response.
location ~ \.php(?:$|/) {
# Required for legacy support
rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri;
rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|ocs-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri;
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
set $path_info $fastcgi_path_info;
@@ -134,7 +133,8 @@ server {
fastcgi_max_temp_file_size 0;
}
location ~ \.(?:css|js|svg|gif|png|jpg|ico|wasm|tflite|map)$ {
# Serve static files
location ~ \.(?:css|js|mjs|svg|gif|png|jpg|ico|wasm|tflite|map|ogg|flac)$ {
try_files $uri /index.php$request_uri;
add_header Cache-Control "public, max-age=15778463, $asset_immutable";
access_log off; # Optional: Don't log access to assets
@@ -142,6 +142,7 @@ server {
location ~ \.wasm$ {
default_type application/wasm;
}
}
location ~ \.woff2?$ {
@@ -155,6 +156,14 @@ server {
return 301 /remote.php$request_uri;
}
# Support for the Client Push (notify_push) plugin, needs mod installed https://github.com/linuxserver/docker-mods/tree/nextcloud-notify-push
location ^~ /push/ {
proxy_pass http://127.0.0.1:7867/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
location / {
# enable for basic auth
#auth_basic "Restricted";
@@ -90,7 +90,7 @@ if [ -f /config/www/nextcloud/config/needs_migration ] || [ -f /tmp/needs_instal
echo "Setting permissions"
lsiown abc:abc /data
lsiown abc:abc -R \
lsiown -R abc:abc \
/app/www/public \
/config/www/nextcloud
@@ -124,7 +124,7 @@ if occ config:system:get installed >/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
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'
@@ -132,6 +132,9 @@ if occ config:system:get installed >/dev/null 2>&1; then
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:"
@@ -139,11 +142,25 @@ else
echo "https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/files_locking_transactional.html"
fi
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
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
@@ -151,3 +168,9 @@ if [ ! -s /config/www/nextcloud/config/config.php ]; then
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
#modify javascript mime type and add .mjs support
if [ -s /etc/nginx/mime.types ]; then
sed -i 's|\bjs;|js mjs;|g' /etc/nginx/mime.types
sed -i 's|\bapplication/javascript|text/javascript|g' /etc/nginx/mime.types
fi
+1 -1
View File
@@ -5,7 +5,7 @@ DEFAULT_CONF="/config/nginx/site-confs/default.conf"
OLD_ROOT="root /config/www/nextcloud/;"
NEW_ROOT="root /app/www/public;"
if grep -q "${OLD_ROOT}" "${DEFAULT_CONF}"; then
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