mirror of
https://github.com/linuxserver/docker-nextcloud.git
synced 2026-06-03 09:57:35 +00:00
Compare commits
92 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b5e20d02a4 | |||
| 879dd4dcf4 | |||
| b6eabe53c8 | |||
| d24a8c50cf | |||
| 3f0024d06a | |||
| 869337ffff | |||
| b6b6990ecc | |||
| ec427fe900 | |||
| 6cef3a1902 | |||
| 0218ee58eb | |||
| ce464f063a | |||
| 2e78d11ff3 | |||
| be7553e985 | |||
| 301dffdcc4 | |||
| 873c29cf46 | |||
| 9792c3395b | |||
| 225619ad6f | |||
| 58d1a71d22 | |||
| 0d583a1726 | |||
| 50b93b57cd | |||
| 747369512e | |||
| 84baba1066 | |||
| 2558108134 | |||
| 225f31e0fc | |||
| f8350c5000 | |||
| 15ff0c6030 | |||
| a003647ac1 | |||
| 094601733c | |||
| be1eef5cff | |||
| 65e14df4a5 | |||
| 30274c83e1 | |||
| 9694a43305 | |||
| 57e8697500 | |||
| 5cc91f888a | |||
| 6bbf4f1e2b | |||
| 8d7d62acd0 | |||
| 30046bbc68 | |||
| ea734680b9 | |||
| f0cb338bfb | |||
| 37fea1f7c1 | |||
| e87b8deabf | |||
| c351c68522 | |||
| 7f8f48dd15 | |||
| 3f66db8ad1 | |||
| 0a507509b0 | |||
| cc4f859229 | |||
| cb2807c48b | |||
| 121edddb8f | |||
| c8b614cf84 | |||
| b167f0bd9c | |||
| 2cfac01e18 | |||
| 8e8c5915a2 | |||
| 6a0bdee688 | |||
| 2cb7ba662f | |||
| e54e344910 | |||
| 4cf6371b65 | |||
| c4a984f4c1 | |||
| f48ca9d3ea | |||
| de197f3e1a | |||
| 2c2df1e367 | |||
| ff4a56db21 | |||
| 3cc1474386 | |||
| 9b57369d48 | |||
| 4b69b7c771 | |||
| c3edf34346 | |||
| 9aa1ba3f2d | |||
| b5dcbd3a54 | |||
| 7a539fcefd | |||
| 17033d41f5 | |||
| 05485754bf | |||
| cbae795d6c | |||
| c51e83e759 | |||
| f189000a2c | |||
| c1802b152a | |||
| ead8b9b923 | |||
| cdad3b26ce | |||
| 8808f21139 | |||
| 08adb958cd | |||
| 04fde8415e | |||
| 1ec5618901 | |||
| 145490764b | |||
| ab0057a375 | |||
| 0a717ae242 | |||
| 904ac218ae | |||
| d45aadc662 | |||
| 19d5048ba8 | |||
| be23d13d86 | |||
| 0010c0c2a0 | |||
| 78c93b3dee | |||
| 615cc14425 | |||
| da485b2766 | |||
| 7517ff9346 |
@@ -24,7 +24,7 @@
|
||||
## Readme
|
||||
|
||||
If you would like to change our readme, please __**do not**__ directly edit the readme, as it is auto-generated on each commit.
|
||||
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-nextcloud/edit/master/readme-vars.yml).
|
||||
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-nextcloud/edit/php8/readme-vars.yml).
|
||||
|
||||
These variables are used in a template for our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) as part of an ansible play.
|
||||
Most of these variables are also carried over to [docs.linuxserver.io](https://docs.linuxserver.io/images/docker-nextcloud)
|
||||
@@ -115,7 +115,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
||||
|
||||
## Update the changelog
|
||||
|
||||
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-nextcloud/tree/master/root), add an entry to the changelog
|
||||
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-nextcloud/tree/php8/root), add an entry to the changelog
|
||||
|
||||
```yml
|
||||
changelogs:
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
------------------------------
|
||||
|
||||
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-nextcloud/blob/master/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
|
||||
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-nextcloud/blob/php8/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
|
||||
|
||||
------------------------------
|
||||
|
||||
|
||||
@@ -4,24 +4,24 @@ on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
external-trigger-master:
|
||||
external-trigger-php8:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2.3.3
|
||||
|
||||
- name: External Trigger
|
||||
if: github.ref == 'refs/heads/master'
|
||||
if: github.ref == 'refs/heads/php8'
|
||||
run: |
|
||||
if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_NEXTCLOUD_MASTER }}" ]; then
|
||||
echo "**** Github secret PAUSE_EXTERNAL_TRIGGER_NEXTCLOUD_MASTER is set; skipping trigger. ****"
|
||||
if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_NEXTCLOUD_PHP8 }}" ]; then
|
||||
echo "**** Github secret PAUSE_EXTERNAL_TRIGGER_NEXTCLOUD_PHP8 is set; skipping trigger. ****"
|
||||
exit 0
|
||||
fi
|
||||
echo "**** External trigger running off of master branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_NEXTCLOUD_MASTER\". ****"
|
||||
echo "**** External trigger running off of php8 branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_NEXTCLOUD_PHP8\". ****"
|
||||
echo "**** Retrieving external version ****"
|
||||
EXT_RELEASE=$(curl -s https://raw.githubusercontent.com/nextcloud/nextcloud.com/master/strings.php | awk -F\' '/VERSIONS_SERVER_FULL_STABLE/ {print $2;exit}')
|
||||
EXT_RELEASE=$(curl -u ${{ secrets.CR_USER }}:${{ secrets.CR_PAT }} -sX GET https://api.github.com/repos/nextcloud/server/releases/latest | jq -r '. | .tag_name' | sed 's|^v||')
|
||||
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
|
||||
echo "**** Can't retrieve external version, exiting ****"
|
||||
FAILURE_REASON="Can't retrieve external version for nextcloud branch master"
|
||||
FAILURE_REASON="Can't retrieve external version for nextcloud branch php8"
|
||||
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-nextcloud/actions/runs/${{ github.run_id }}"
|
||||
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
|
||||
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n**Trigger URL:** '"${GHA_TRIGGER_URL}"' \n"}],
|
||||
@@ -32,7 +32,7 @@ jobs:
|
||||
echo "**** External version: ${EXT_RELEASE} ****"
|
||||
echo "**** Retrieving last pushed version ****"
|
||||
image="linuxserver/nextcloud"
|
||||
tag="latest"
|
||||
tag="php8"
|
||||
token=$(curl -sX GET \
|
||||
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fnextcloud%3Apull" \
|
||||
| jq -r '.token')
|
||||
@@ -54,7 +54,7 @@ jobs:
|
||||
IMAGE_VERSION=$(echo ${IMAGE_RELEASE} | awk -F'-ls' '{print $1}')
|
||||
if [ -z "${IMAGE_VERSION}" ]; then
|
||||
echo "**** Can't retrieve last pushed version, exiting ****"
|
||||
FAILURE_REASON="Can't retrieve last pushed version for nextcloud tag latest"
|
||||
FAILURE_REASON="Can't retrieve last pushed version for nextcloud tag php8"
|
||||
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
|
||||
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
|
||||
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||
@@ -64,13 +64,13 @@ jobs:
|
||||
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
|
||||
echo "**** Version ${EXT_RELEASE} already pushed, exiting ****"
|
||||
exit 0
|
||||
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then
|
||||
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/php8/lastBuild/api/json | jq -r '.building') == "true" ]; then
|
||||
echo "**** New version ${EXT_RELEASE} found; but there already seems to be an active build on Jenkins; exiting ****"
|
||||
exit 0
|
||||
else
|
||||
echo "**** New version ${EXT_RELEASE} found; old version was ${IMAGE_VERSION}. Triggering new build ****"
|
||||
response=$(curl -iX POST \
|
||||
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/master/buildWithParameters?PACKAGE_CHECK=false \
|
||||
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/php8/buildWithParameters?PACKAGE_CHECK=false \
|
||||
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
|
||||
echo "**** Jenkins job queue url: ${response%$'\r'} ****"
|
||||
echo "**** Sleeping 10 seconds until job starts ****"
|
||||
@@ -85,7 +85,7 @@ jobs:
|
||||
--data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
|
||||
--data-urlencode "Submit=Submit"
|
||||
echo "**** Notifying Discord ****"
|
||||
TRIGGER_REASON="A version change was detected for nextcloud tag latest. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE}"
|
||||
TRIGGER_REASON="A version change was detected for nextcloud tag php8. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE}"
|
||||
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
|
||||
"description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}],
|
||||
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||
|
||||
@@ -8,6 +8,6 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/first-interaction@v1
|
||||
with:
|
||||
issue-message: 'Thanks for opening your first issue here! Be sure to follow the [bug](https://github.com/linuxserver/docker-nextcloud/blob/master/.github/ISSUE_TEMPLATE/issue.bug.md) or [feature](https://github.com/linuxserver/docker-nextcloud/blob/master/.github/ISSUE_TEMPLATE/issue.feature.md) issue templates!'
|
||||
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-nextcloud/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!'
|
||||
issue-message: 'Thanks for opening your first issue here! Be sure to follow the [bug](https://github.com/linuxserver/docker-nextcloud/blob/php8/.github/ISSUE_TEMPLATE/issue.bug.md) or [feature](https://github.com/linuxserver/docker-nextcloud/blob/php8/.github/ISSUE_TEMPLATE/issue.feature.md) issue templates!'
|
||||
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-nextcloud/blob/php8/.github/PULL_REQUEST_TEMPLATE.md)!'
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
@@ -4,25 +4,25 @@ on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
package-trigger-master:
|
||||
package-trigger-php8:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2.3.3
|
||||
|
||||
- name: Package Trigger
|
||||
if: github.ref == 'refs/heads/master'
|
||||
if: github.ref == 'refs/heads/php8'
|
||||
run: |
|
||||
if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_NEXTCLOUD_MASTER }}" ]; then
|
||||
echo "**** Github secret PAUSE_PACKAGE_TRIGGER_NEXTCLOUD_MASTER is set; skipping trigger. ****"
|
||||
if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_NEXTCLOUD_PHP8 }}" ]; then
|
||||
echo "**** Github secret PAUSE_PACKAGE_TRIGGER_NEXTCLOUD_PHP8 is set; skipping trigger. ****"
|
||||
exit 0
|
||||
fi
|
||||
if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then
|
||||
if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/php8/lastBuild/api/json | jq -r '.building') == "true" ]; then
|
||||
echo "**** There already seems to be an active build on Jenkins; skipping package trigger ****"
|
||||
exit 0
|
||||
fi
|
||||
echo "**** Package trigger running off of master branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_NEXTCLOUD_MASTER\". ****"
|
||||
echo "**** Package trigger running off of php8 branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_NEXTCLOUD_PHP8\". ****"
|
||||
response=$(curl -iX POST \
|
||||
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/master/buildWithParameters?PACKAGE_CHECK=true \
|
||||
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/php8/buildWithParameters?PACKAGE_CHECK=true \
|
||||
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
|
||||
echo "**** Jenkins job queue url: ${response%$'\r'} ****"
|
||||
echo "**** Sleeping 10 seconds until job starts ****"
|
||||
|
||||
+99
-97
@@ -1,4 +1,4 @@
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.14
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.14-php8
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@@ -8,105 +8,107 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
|
||||
LABEL maintainer="aptalca"
|
||||
|
||||
# environment settings
|
||||
ENV NEXTCLOUD_PATH="/config/www/nextcloud" \
|
||||
ENV \
|
||||
NEXTCLOUD_PATH="/config/www/nextcloud" \
|
||||
LD_PRELOAD="/usr/lib/preloadable_libiconv.so"
|
||||
|
||||
RUN \
|
||||
echo "**** install build packages ****" && \
|
||||
apk add --no-cache --virtual=build-dependencies --upgrade \
|
||||
autoconf \
|
||||
automake \
|
||||
file \
|
||||
g++ \
|
||||
gcc \
|
||||
make \
|
||||
php7-dev \
|
||||
re2c \
|
||||
samba-dev \
|
||||
zlib-dev && \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add --no-cache --upgrade \
|
||||
curl \
|
||||
ffmpeg \
|
||||
gnu-libiconv \
|
||||
imagemagick \
|
||||
libxml2 \
|
||||
php7-apcu \
|
||||
php7-bcmath \
|
||||
php7-bz2 \
|
||||
php7-ctype \
|
||||
php7-curl \
|
||||
php7-dom \
|
||||
php7-exif \
|
||||
php7-fileinfo \
|
||||
php7-ftp \
|
||||
php7-gd \
|
||||
php7-gmp \
|
||||
php7-iconv \
|
||||
php7-imagick \
|
||||
php7-imap \
|
||||
php7-intl \
|
||||
php7-ldap \
|
||||
php7-mcrypt \
|
||||
php7-memcached \
|
||||
php7-opcache \
|
||||
php7-pcntl \
|
||||
php7-pdo_mysql \
|
||||
php7-pdo_pgsql \
|
||||
php7-pdo_sqlite \
|
||||
php7-pgsql \
|
||||
php7-phar \
|
||||
php7-posix \
|
||||
php7-redis \
|
||||
php7-sodium \
|
||||
php7-sqlite3 \
|
||||
php7-xmlreader \
|
||||
php7-zip \
|
||||
samba-client \
|
||||
sudo \
|
||||
tar \
|
||||
unzip && \
|
||||
echo "**** compile smbclient ****" && \
|
||||
git clone git://github.com/eduardok/libsmbclient-php.git /tmp/smbclient && \
|
||||
cd /tmp/smbclient && \
|
||||
phpize7 && \
|
||||
./configure \
|
||||
--with-php-config=/usr/bin/php-config7 && \
|
||||
make && \
|
||||
make install && \
|
||||
echo "**** configure php and nginx for nextcloud ****" && \
|
||||
echo "extension="smbclient.so"" > /etc/php7/conf.d/00_smbclient.ini && \
|
||||
echo 'apc.enable_cli=1' >> /etc/php7/conf.d/apcu.ini && \
|
||||
sed -i \
|
||||
-e 's/;opcache.enable.*=.*/opcache.enable=1/g' \
|
||||
-e 's/;opcache.interned_strings_buffer.*=.*/opcache.interned_strings_buffer=8/g' \
|
||||
-e 's/;opcache.max_accelerated_files.*=.*/opcache.max_accelerated_files=10000/g' \
|
||||
-e 's/;opcache.memory_consumption.*=.*/opcache.memory_consumption=128/g' \
|
||||
-e 's/;opcache.save_comments.*=.*/opcache.save_comments=1/g' \
|
||||
-e 's/;opcache.revalidate_freq.*=.*/opcache.revalidate_freq=1/g' \
|
||||
-e 's/;always_populate_raw_post_data.*=.*/always_populate_raw_post_data=-1/g' \
|
||||
-e 's/memory_limit.*=.*128M/memory_limit=512M/g' \
|
||||
-e 's/max_execution_time.*=.*30/max_execution_time=120/g' \
|
||||
-e 's/upload_max_filesize.*=.*2M/upload_max_filesize=1024M/g' \
|
||||
-e 's/post_max_size.*=.*8M/post_max_size=1024M/g' \
|
||||
/etc/php7/php.ini && \
|
||||
sed -i \
|
||||
'/opcache.enable=1/a opcache.enable_cli=1' \
|
||||
/etc/php7/php.ini && \
|
||||
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php7/php-fpm.conf && \
|
||||
echo "**** set version tag ****" && \
|
||||
if [ -z ${NEXTCLOUD_RELEASE+x} ]; then \
|
||||
NEXTCLOUD_RELEASE=$(curl -s https://raw.githubusercontent.com/nextcloud/nextcloud.com/master/strings.php \
|
||||
| awk -F\' '/VERSIONS_SERVER_FULL_STABLE/ {print $2;exit}'); \
|
||||
fi && \
|
||||
echo "**** download nextcloud ****" && \
|
||||
curl -o /app/nextcloud.tar.bz2 -L \
|
||||
https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_RELEASE}.tar.bz2 && \
|
||||
echo "**** cleanup ****" && \
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/tmp/*
|
||||
echo "**** install build packages ****" && \
|
||||
apk add --no-cache --virtual=build-dependencies --upgrade \
|
||||
autoconf \
|
||||
automake \
|
||||
file \
|
||||
g++ \
|
||||
gcc \
|
||||
make \
|
||||
php8-dev \
|
||||
re2c \
|
||||
samba-dev \
|
||||
zlib-dev && \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add --no-cache --upgrade \
|
||||
curl \
|
||||
ffmpeg \
|
||||
gnu-libiconv \
|
||||
imagemagick \
|
||||
libxml2 \
|
||||
php8-bcmath \
|
||||
php8-bz2 \
|
||||
php8-ctype \
|
||||
php8-curl \
|
||||
php8-dom \
|
||||
php8-exif \
|
||||
php8-fileinfo \
|
||||
php8-ftp \
|
||||
php8-gd \
|
||||
php8-gmp \
|
||||
php8-iconv \
|
||||
php8-imap \
|
||||
php8-intl \
|
||||
php8-ldap \
|
||||
php8-opcache \
|
||||
php8-pcntl \
|
||||
php8-pdo_mysql \
|
||||
php8-pdo_pgsql \
|
||||
php8-pdo_sqlite \
|
||||
php8-pecl-apcu \
|
||||
php8-pecl-imagick \
|
||||
php8-pecl-mcrypt \
|
||||
php8-pecl-memcached \
|
||||
php8-pgsql \
|
||||
php8-phar \
|
||||
php8-posix \
|
||||
php8-redis \
|
||||
php8-sodium \
|
||||
php8-sqlite3 \
|
||||
php8-xmlreader \
|
||||
php8-zip \
|
||||
samba-client \
|
||||
sudo \
|
||||
tar \
|
||||
unzip && \
|
||||
echo "**** compile smbclient ****" && \
|
||||
git clone https://github.com/eduardok/libsmbclient-php.git /tmp/smbclient && \
|
||||
cd /tmp/smbclient && \
|
||||
phpize8 && \
|
||||
./configure \
|
||||
--with-php-config=/usr/bin/php-config8 && \
|
||||
make && \
|
||||
make install && \
|
||||
echo "**** configure php and nginx for nextcloud ****" && \
|
||||
echo "extension="smbclient.so"" > /etc/php8/conf.d/00_smbclient.ini && \
|
||||
echo 'apc.enable_cli=1' >> /etc/php8/conf.d/apcu.ini && \
|
||||
sed -i \
|
||||
-e 's/;opcache.enable.*=.*/opcache.enable=1/g' \
|
||||
-e 's/;opcache.interned_strings_buffer.*=.*/opcache.interned_strings_buffer=16/g' \
|
||||
-e 's/;opcache.max_accelerated_files.*=.*/opcache.max_accelerated_files=10000/g' \
|
||||
-e 's/;opcache.memory_consumption.*=.*/opcache.memory_consumption=128/g' \
|
||||
-e 's/;opcache.save_comments.*=.*/opcache.save_comments=1/g' \
|
||||
-e 's/;opcache.revalidate_freq.*=.*/opcache.revalidate_freq=1/g' \
|
||||
-e 's/;always_populate_raw_post_data.*=.*/always_populate_raw_post_data=-1/g' \
|
||||
-e 's/memory_limit.*=.*128M/memory_limit=512M/g' \
|
||||
-e 's/max_execution_time.*=.*30/max_execution_time=120/g' \
|
||||
-e 's/upload_max_filesize.*=.*2M/upload_max_filesize=1024M/g' \
|
||||
-e 's/post_max_size.*=.*8M/post_max_size=1024M/g' \
|
||||
/etc/php8/php.ini && \
|
||||
sed -i \
|
||||
'/opcache.enable=1/a opcache.enable_cli=1' \
|
||||
/etc/php8/php.ini && \
|
||||
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php8/php-fpm.conf && \
|
||||
echo "**** set version tag ****" && \
|
||||
if [ -z ${NEXTCLOUD_RELEASE+x} ]; then \
|
||||
NEXTCLOUD_RELEASE=$(curl -sX GET https://api.github.com/repos/nextcloud/server/releases/latest \
|
||||
| awk '/tag_name/{print $4;exit}' FS='[""]' \
|
||||
| sed 's|^v||'); \
|
||||
fi && \
|
||||
echo "**** download nextcloud ****" && \
|
||||
curl -o /app/nextcloud.tar.bz2 -L \
|
||||
https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_RELEASE}.tar.bz2 && \
|
||||
echo "**** cleanup ****" && \
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/tmp/*
|
||||
|
||||
# copy local files
|
||||
COPY root/ /
|
||||
|
||||
+99
-97
@@ -1,4 +1,4 @@
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.14
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.14-php8
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@@ -8,105 +8,107 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
|
||||
LABEL maintainer="aptalca"
|
||||
|
||||
# environment settings
|
||||
ENV NEXTCLOUD_PATH="/config/www/nextcloud" \
|
||||
ENV \
|
||||
NEXTCLOUD_PATH="/config/www/nextcloud" \
|
||||
LD_PRELOAD="/usr/lib/preloadable_libiconv.so"
|
||||
|
||||
RUN \
|
||||
echo "**** install build packages ****" && \
|
||||
apk add --no-cache --virtual=build-dependencies --upgrade \
|
||||
autoconf \
|
||||
automake \
|
||||
file \
|
||||
g++ \
|
||||
gcc \
|
||||
make \
|
||||
php7-dev \
|
||||
re2c \
|
||||
samba-dev \
|
||||
zlib-dev && \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add --no-cache --upgrade \
|
||||
curl \
|
||||
ffmpeg \
|
||||
gnu-libiconv \
|
||||
imagemagick \
|
||||
libxml2 \
|
||||
php7-apcu \
|
||||
php7-bcmath \
|
||||
php7-bz2 \
|
||||
php7-ctype \
|
||||
php7-curl \
|
||||
php7-dom \
|
||||
php7-exif \
|
||||
php7-fileinfo \
|
||||
php7-ftp \
|
||||
php7-gd \
|
||||
php7-gmp \
|
||||
php7-iconv \
|
||||
php7-imagick \
|
||||
php7-imap \
|
||||
php7-intl \
|
||||
php7-ldap \
|
||||
php7-mcrypt \
|
||||
php7-memcached \
|
||||
php7-opcache \
|
||||
php7-pcntl \
|
||||
php7-pdo_mysql \
|
||||
php7-pdo_pgsql \
|
||||
php7-pdo_sqlite \
|
||||
php7-pgsql \
|
||||
php7-phar \
|
||||
php7-posix \
|
||||
php7-redis \
|
||||
php7-sodium \
|
||||
php7-sqlite3 \
|
||||
php7-xmlreader \
|
||||
php7-zip \
|
||||
samba-client \
|
||||
sudo \
|
||||
tar \
|
||||
unzip && \
|
||||
echo "**** compile smbclient ****" && \
|
||||
git clone git://github.com/eduardok/libsmbclient-php.git /tmp/smbclient && \
|
||||
cd /tmp/smbclient && \
|
||||
phpize7 && \
|
||||
./configure \
|
||||
--with-php-config=/usr/bin/php-config7 && \
|
||||
make && \
|
||||
make install && \
|
||||
echo "**** configure php and nginx for nextcloud ****" && \
|
||||
echo "extension="smbclient.so"" > /etc/php7/conf.d/00_smbclient.ini && \
|
||||
echo 'apc.enable_cli=1' >> /etc/php7/conf.d/apcu.ini && \
|
||||
sed -i \
|
||||
-e 's/;opcache.enable.*=.*/opcache.enable=1/g' \
|
||||
-e 's/;opcache.interned_strings_buffer.*=.*/opcache.interned_strings_buffer=8/g' \
|
||||
-e 's/;opcache.max_accelerated_files.*=.*/opcache.max_accelerated_files=10000/g' \
|
||||
-e 's/;opcache.memory_consumption.*=.*/opcache.memory_consumption=128/g' \
|
||||
-e 's/;opcache.save_comments.*=.*/opcache.save_comments=1/g' \
|
||||
-e 's/;opcache.revalidate_freq.*=.*/opcache.revalidate_freq=1/g' \
|
||||
-e 's/;always_populate_raw_post_data.*=.*/always_populate_raw_post_data=-1/g' \
|
||||
-e 's/memory_limit.*=.*128M/memory_limit=512M/g' \
|
||||
-e 's/max_execution_time.*=.*30/max_execution_time=120/g' \
|
||||
-e 's/upload_max_filesize.*=.*2M/upload_max_filesize=1024M/g' \
|
||||
-e 's/post_max_size.*=.*8M/post_max_size=1024M/g' \
|
||||
/etc/php7/php.ini && \
|
||||
sed -i \
|
||||
'/opcache.enable=1/a opcache.enable_cli=1' \
|
||||
/etc/php7/php.ini && \
|
||||
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php7/php-fpm.conf && \
|
||||
echo "**** set version tag ****" && \
|
||||
if [ -z ${NEXTCLOUD_RELEASE+x} ]; then \
|
||||
NEXTCLOUD_RELEASE=$(curl -s https://raw.githubusercontent.com/nextcloud/nextcloud.com/master/strings.php \
|
||||
| awk -F\' '/VERSIONS_SERVER_FULL_STABLE/ {print $2;exit}'); \
|
||||
fi && \
|
||||
echo "**** download nextcloud ****" && \
|
||||
curl -o /app/nextcloud.tar.bz2 -L \
|
||||
https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_RELEASE}.tar.bz2 && \
|
||||
echo "**** cleanup ****" && \
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/tmp/*
|
||||
echo "**** install build packages ****" && \
|
||||
apk add --no-cache --virtual=build-dependencies --upgrade \
|
||||
autoconf \
|
||||
automake \
|
||||
file \
|
||||
g++ \
|
||||
gcc \
|
||||
make \
|
||||
php8-dev \
|
||||
re2c \
|
||||
samba-dev \
|
||||
zlib-dev && \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add --no-cache --upgrade \
|
||||
curl \
|
||||
ffmpeg \
|
||||
gnu-libiconv \
|
||||
imagemagick \
|
||||
libxml2 \
|
||||
php8-bcmath \
|
||||
php8-bz2 \
|
||||
php8-ctype \
|
||||
php8-curl \
|
||||
php8-dom \
|
||||
php8-exif \
|
||||
php8-fileinfo \
|
||||
php8-ftp \
|
||||
php8-gd \
|
||||
php8-gmp \
|
||||
php8-iconv \
|
||||
php8-imap \
|
||||
php8-intl \
|
||||
php8-ldap \
|
||||
php8-opcache \
|
||||
php8-pcntl \
|
||||
php8-pdo_mysql \
|
||||
php8-pdo_pgsql \
|
||||
php8-pdo_sqlite \
|
||||
php8-pecl-apcu \
|
||||
php8-pecl-imagick \
|
||||
php8-pecl-mcrypt \
|
||||
php8-pecl-memcached \
|
||||
php8-pgsql \
|
||||
php8-phar \
|
||||
php8-posix \
|
||||
php8-redis \
|
||||
php8-sodium \
|
||||
php8-sqlite3 \
|
||||
php8-xmlreader \
|
||||
php8-zip \
|
||||
samba-client \
|
||||
sudo \
|
||||
tar \
|
||||
unzip && \
|
||||
echo "**** compile smbclient ****" && \
|
||||
git clone https://github.com/eduardok/libsmbclient-php.git /tmp/smbclient && \
|
||||
cd /tmp/smbclient && \
|
||||
phpize8 && \
|
||||
./configure \
|
||||
--with-php-config=/usr/bin/php-config8 && \
|
||||
make && \
|
||||
make install && \
|
||||
echo "**** configure php and nginx for nextcloud ****" && \
|
||||
echo "extension="smbclient.so"" > /etc/php8/conf.d/00_smbclient.ini && \
|
||||
echo 'apc.enable_cli=1' >> /etc/php8/conf.d/apcu.ini && \
|
||||
sed -i \
|
||||
-e 's/;opcache.enable.*=.*/opcache.enable=1/g' \
|
||||
-e 's/;opcache.interned_strings_buffer.*=.*/opcache.interned_strings_buffer=16/g' \
|
||||
-e 's/;opcache.max_accelerated_files.*=.*/opcache.max_accelerated_files=10000/g' \
|
||||
-e 's/;opcache.memory_consumption.*=.*/opcache.memory_consumption=128/g' \
|
||||
-e 's/;opcache.save_comments.*=.*/opcache.save_comments=1/g' \
|
||||
-e 's/;opcache.revalidate_freq.*=.*/opcache.revalidate_freq=1/g' \
|
||||
-e 's/;always_populate_raw_post_data.*=.*/always_populate_raw_post_data=-1/g' \
|
||||
-e 's/memory_limit.*=.*128M/memory_limit=512M/g' \
|
||||
-e 's/max_execution_time.*=.*30/max_execution_time=120/g' \
|
||||
-e 's/upload_max_filesize.*=.*2M/upload_max_filesize=1024M/g' \
|
||||
-e 's/post_max_size.*=.*8M/post_max_size=1024M/g' \
|
||||
/etc/php8/php.ini && \
|
||||
sed -i \
|
||||
'/opcache.enable=1/a opcache.enable_cli=1' \
|
||||
/etc/php8/php.ini && \
|
||||
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php8/php-fpm.conf && \
|
||||
echo "**** set version tag ****" && \
|
||||
if [ -z ${NEXTCLOUD_RELEASE+x} ]; then \
|
||||
NEXTCLOUD_RELEASE=$(curl -sX GET https://api.github.com/repos/nextcloud/server/releases/latest \
|
||||
| awk '/tag_name/{print $4;exit}' FS='[""]' \
|
||||
| sed 's|^v||'); \
|
||||
fi && \
|
||||
echo "**** download nextcloud ****" && \
|
||||
curl -o /app/nextcloud.tar.bz2 -L \
|
||||
https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_RELEASE}.tar.bz2 && \
|
||||
echo "**** cleanup ****" && \
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/tmp/*
|
||||
|
||||
# copy local files
|
||||
COPY root/ /
|
||||
|
||||
+99
-97
@@ -1,4 +1,4 @@
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm32v7-3.14
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm32v7-3.14-php8
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@@ -8,105 +8,107 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
|
||||
LABEL maintainer="aptalca"
|
||||
|
||||
# environment settings
|
||||
ENV NEXTCLOUD_PATH="/config/www/nextcloud" \
|
||||
ENV \
|
||||
NEXTCLOUD_PATH="/config/www/nextcloud" \
|
||||
LD_PRELOAD="/usr/lib/preloadable_libiconv.so"
|
||||
|
||||
RUN \
|
||||
echo "**** install build packages ****" && \
|
||||
apk add --no-cache --virtual=build-dependencies --upgrade \
|
||||
autoconf \
|
||||
automake \
|
||||
file \
|
||||
g++ \
|
||||
gcc \
|
||||
make \
|
||||
php7-dev \
|
||||
re2c \
|
||||
samba-dev \
|
||||
zlib-dev && \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add --no-cache --upgrade \
|
||||
curl \
|
||||
ffmpeg \
|
||||
gnu-libiconv \
|
||||
imagemagick \
|
||||
libxml2 \
|
||||
php7-apcu \
|
||||
php7-bcmath \
|
||||
php7-bz2 \
|
||||
php7-ctype \
|
||||
php7-curl \
|
||||
php7-dom \
|
||||
php7-exif \
|
||||
php7-fileinfo \
|
||||
php7-ftp \
|
||||
php7-gd \
|
||||
php7-gmp \
|
||||
php7-iconv \
|
||||
php7-imagick \
|
||||
php7-imap \
|
||||
php7-intl \
|
||||
php7-ldap \
|
||||
php7-mcrypt \
|
||||
php7-memcached \
|
||||
php7-opcache \
|
||||
php7-pcntl \
|
||||
php7-pdo_mysql \
|
||||
php7-pdo_pgsql \
|
||||
php7-pdo_sqlite \
|
||||
php7-pgsql \
|
||||
php7-phar \
|
||||
php7-posix \
|
||||
php7-redis \
|
||||
php7-sodium \
|
||||
php7-sqlite3 \
|
||||
php7-xmlreader \
|
||||
php7-zip \
|
||||
samba-client \
|
||||
sudo \
|
||||
tar \
|
||||
unzip && \
|
||||
echo "**** compile smbclient ****" && \
|
||||
git clone git://github.com/eduardok/libsmbclient-php.git /tmp/smbclient && \
|
||||
cd /tmp/smbclient && \
|
||||
phpize7 && \
|
||||
./configure \
|
||||
--with-php-config=/usr/bin/php-config7 && \
|
||||
make && \
|
||||
make install && \
|
||||
echo "**** configure php and nginx for nextcloud ****" && \
|
||||
echo "extension="smbclient.so"" > /etc/php7/conf.d/00_smbclient.ini && \
|
||||
echo 'apc.enable_cli=1' >> /etc/php7/conf.d/apcu.ini && \
|
||||
sed -i \
|
||||
-e 's/;opcache.enable.*=.*/opcache.enable=1/g' \
|
||||
-e 's/;opcache.interned_strings_buffer.*=.*/opcache.interned_strings_buffer=8/g' \
|
||||
-e 's/;opcache.max_accelerated_files.*=.*/opcache.max_accelerated_files=10000/g' \
|
||||
-e 's/;opcache.memory_consumption.*=.*/opcache.memory_consumption=128/g' \
|
||||
-e 's/;opcache.save_comments.*=.*/opcache.save_comments=1/g' \
|
||||
-e 's/;opcache.revalidate_freq.*=.*/opcache.revalidate_freq=1/g' \
|
||||
-e 's/;always_populate_raw_post_data.*=.*/always_populate_raw_post_data=-1/g' \
|
||||
-e 's/memory_limit.*=.*128M/memory_limit=512M/g' \
|
||||
-e 's/max_execution_time.*=.*30/max_execution_time=120/g' \
|
||||
-e 's/upload_max_filesize.*=.*2M/upload_max_filesize=1024M/g' \
|
||||
-e 's/post_max_size.*=.*8M/post_max_size=1024M/g' \
|
||||
/etc/php7/php.ini && \
|
||||
sed -i \
|
||||
'/opcache.enable=1/a opcache.enable_cli=1' \
|
||||
/etc/php7/php.ini && \
|
||||
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php7/php-fpm.conf && \
|
||||
echo "**** set version tag ****" && \
|
||||
if [ -z ${NEXTCLOUD_RELEASE+x} ]; then \
|
||||
NEXTCLOUD_RELEASE=$(curl -s https://raw.githubusercontent.com/nextcloud/nextcloud.com/master/strings.php \
|
||||
| awk -F\' '/VERSIONS_SERVER_FULL_STABLE/ {print $2;exit}'); \
|
||||
fi && \
|
||||
echo "**** download nextcloud ****" && \
|
||||
curl -o /app/nextcloud.tar.bz2 -L \
|
||||
https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_RELEASE}.tar.bz2 && \
|
||||
echo "**** cleanup ****" && \
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/tmp/*
|
||||
echo "**** install build packages ****" && \
|
||||
apk add --no-cache --virtual=build-dependencies --upgrade \
|
||||
autoconf \
|
||||
automake \
|
||||
file \
|
||||
g++ \
|
||||
gcc \
|
||||
make \
|
||||
php8-dev \
|
||||
re2c \
|
||||
samba-dev \
|
||||
zlib-dev && \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add --no-cache --upgrade \
|
||||
curl \
|
||||
ffmpeg \
|
||||
gnu-libiconv \
|
||||
imagemagick \
|
||||
libxml2 \
|
||||
php8-bcmath \
|
||||
php8-bz2 \
|
||||
php8-ctype \
|
||||
php8-curl \
|
||||
php8-dom \
|
||||
php8-exif \
|
||||
php8-fileinfo \
|
||||
php8-ftp \
|
||||
php8-gd \
|
||||
php8-gmp \
|
||||
php8-iconv \
|
||||
php8-imap \
|
||||
php8-intl \
|
||||
php8-ldap \
|
||||
php8-opcache \
|
||||
php8-pcntl \
|
||||
php8-pdo_mysql \
|
||||
php8-pdo_pgsql \
|
||||
php8-pdo_sqlite \
|
||||
php8-pecl-apcu \
|
||||
php8-pecl-imagick \
|
||||
php8-pecl-mcrypt \
|
||||
php8-pecl-memcached \
|
||||
php8-pgsql \
|
||||
php8-phar \
|
||||
php8-posix \
|
||||
php8-redis \
|
||||
php8-sodium \
|
||||
php8-sqlite3 \
|
||||
php8-xmlreader \
|
||||
php8-zip \
|
||||
samba-client \
|
||||
sudo \
|
||||
tar \
|
||||
unzip && \
|
||||
echo "**** compile smbclient ****" && \
|
||||
git clone https://github.com/eduardok/libsmbclient-php.git /tmp/smbclient && \
|
||||
cd /tmp/smbclient && \
|
||||
phpize8 && \
|
||||
./configure \
|
||||
--with-php-config=/usr/bin/php-config8 && \
|
||||
make && \
|
||||
make install && \
|
||||
echo "**** configure php and nginx for nextcloud ****" && \
|
||||
echo "extension="smbclient.so"" > /etc/php8/conf.d/00_smbclient.ini && \
|
||||
echo 'apc.enable_cli=1' >> /etc/php8/conf.d/apcu.ini && \
|
||||
sed -i \
|
||||
-e 's/;opcache.enable.*=.*/opcache.enable=1/g' \
|
||||
-e 's/;opcache.interned_strings_buffer.*=.*/opcache.interned_strings_buffer=168/g' \
|
||||
-e 's/;opcache.max_accelerated_files.*=.*/opcache.max_accelerated_files=10000/g' \
|
||||
-e 's/;opcache.memory_consumption.*=.*/opcache.memory_consumption=128/g' \
|
||||
-e 's/;opcache.save_comments.*=.*/opcache.save_comments=1/g' \
|
||||
-e 's/;opcache.revalidate_freq.*=.*/opcache.revalidate_freq=1/g' \
|
||||
-e 's/;always_populate_raw_post_data.*=.*/always_populate_raw_post_data=-1/g' \
|
||||
-e 's/memory_limit.*=.*128M/memory_limit=512M/g' \
|
||||
-e 's/max_execution_time.*=.*30/max_execution_time=120/g' \
|
||||
-e 's/upload_max_filesize.*=.*2M/upload_max_filesize=1024M/g' \
|
||||
-e 's/post_max_size.*=.*8M/post_max_size=1024M/g' \
|
||||
/etc/php8/php.ini && \
|
||||
sed -i \
|
||||
'/opcache.enable=1/a opcache.enable_cli=1' \
|
||||
/etc/php8/php.ini && \
|
||||
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php8/php-fpm.conf && \
|
||||
echo "**** set version tag ****" && \
|
||||
if [ -z ${NEXTCLOUD_RELEASE+x} ]; then \
|
||||
NEXTCLOUD_RELEASE=$(curl -sX GET https://api.github.com/repos/nextcloud/server/releases/latest \
|
||||
| awk '/tag_name/{print $4;exit}' FS='[""]' \
|
||||
| sed 's|^v||'); \
|
||||
fi && \
|
||||
echo "**** download nextcloud ****" && \
|
||||
curl -o /app/nextcloud.tar.bz2 -L \
|
||||
https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_RELEASE}.tar.bz2 && \
|
||||
echo "**** cleanup ****" && \
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/tmp/*
|
||||
|
||||
# copy local files
|
||||
COPY root/ /
|
||||
|
||||
Vendored
+54
-52
@@ -42,7 +42,7 @@ pipeline {
|
||||
script{
|
||||
env.EXIT_STATUS = ''
|
||||
env.LS_RELEASE = sh(
|
||||
script: '''docker run --rm ghcr.io/linuxserver/alexeiled-skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':latest 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
|
||||
script: '''docker run --rm ghcr.io/linuxserver/alexeiled-skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':php8 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
|
||||
returnStdout: true).trim()
|
||||
env.LS_RELEASE_NOTES = sh(
|
||||
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
|
||||
@@ -104,7 +104,7 @@ pipeline {
|
||||
steps{
|
||||
script{
|
||||
env.EXT_RELEASE = sh(
|
||||
script: ''' curl -s https://raw.githubusercontent.com/nextcloud/nextcloud.com/master/strings.php | awk -F\\' '/VERSIONS_SERVER_FULL_STABLE/ {print $2;exit}' ''',
|
||||
script: ''' curl -sX GET https://api.github.com/repos/nextcloud/server/releases/latest | jq -r '. | .tag_name' | sed 's|^v||' ''',
|
||||
returnStdout: true).trim()
|
||||
env.RELEASE_LINK = 'custom_command'
|
||||
}
|
||||
@@ -144,10 +144,10 @@ pipeline {
|
||||
}
|
||||
}
|
||||
}
|
||||
// If this is a master build use live docker endpoints
|
||||
// If this is a php8 build use live docker endpoints
|
||||
stage("Set ENV live build"){
|
||||
when {
|
||||
branch "master"
|
||||
branch "php8"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
}
|
||||
steps {
|
||||
@@ -157,20 +157,20 @@ pipeline {
|
||||
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
|
||||
env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME
|
||||
if (env.MULTIARCH == 'true') {
|
||||
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
env.CI_TAGS = 'amd64-php8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-php8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-php8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
} else {
|
||||
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
env.CI_TAGS = 'php8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
}
|
||||
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
||||
env.META_TAG = 'php8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
env.EXT_RELEASE_TAG = 'php8-version-' + env.EXT_RELEASE_CLEAN
|
||||
}
|
||||
}
|
||||
}
|
||||
// If this is a dev build use dev docker endpoints
|
||||
stage("Set ENV dev build"){
|
||||
when {
|
||||
not {branch "master"}
|
||||
not {branch "php8"}
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
}
|
||||
steps {
|
||||
@@ -180,13 +180,13 @@ pipeline {
|
||||
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
|
||||
env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME
|
||||
if (env.MULTIARCH == 'true') {
|
||||
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||
env.CI_TAGS = 'amd64-php8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-php8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-php8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||
} else {
|
||||
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||
env.CI_TAGS = 'php8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||
}
|
||||
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
||||
env.META_TAG = 'php8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||
env.EXT_RELEASE_TAG = 'php8-version-' + env.EXT_RELEASE_CLEAN
|
||||
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
|
||||
}
|
||||
}
|
||||
@@ -203,13 +203,13 @@ pipeline {
|
||||
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
|
||||
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
|
||||
if (env.MULTIARCH == 'true') {
|
||||
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
||||
env.CI_TAGS = 'amd64-php8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-php8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-php8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
||||
} else {
|
||||
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
||||
env.CI_TAGS = 'php8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
||||
}
|
||||
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
||||
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
||||
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
||||
env.META_TAG = 'php8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
||||
env.EXT_RELEASE_TAG = 'php8-version-' + env.EXT_RELEASE_CLEAN
|
||||
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST
|
||||
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/'
|
||||
}
|
||||
@@ -247,7 +247,7 @@ pipeline {
|
||||
// Use helper containers to render templated files
|
||||
stage('Update-Templates') {
|
||||
when {
|
||||
branch "master"
|
||||
branch "php8"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
expression {
|
||||
env.CONTAINER_NAME != null
|
||||
@@ -258,13 +258,13 @@ 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
|
||||
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=php8 -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
|
||||
# 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}
|
||||
cd ${TEMPDIR}/repo/${LS_REPO}
|
||||
git checkout -f master
|
||||
git checkout -f php8
|
||||
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
|
||||
git add Jenkinsfile
|
||||
git commit -m 'Bot Updating Templated Files'
|
||||
@@ -287,7 +287,7 @@ pipeline {
|
||||
mkdir -p ${TEMPDIR}/repo
|
||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
||||
cd ${TEMPDIR}/repo/${LS_REPO}
|
||||
git checkout -f master
|
||||
git checkout -f php8
|
||||
for i in ${TEMPLATES_TO_DELETE}; do
|
||||
git rm "${i}"
|
||||
done
|
||||
@@ -308,7 +308,7 @@ pipeline {
|
||||
mkdir -p ${TEMPDIR}/repo
|
||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
||||
cd ${TEMPDIR}/repo/${LS_REPO}
|
||||
git checkout -f master
|
||||
git checkout -f php8
|
||||
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
|
||||
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
|
||||
@@ -343,9 +343,11 @@ pipeline {
|
||||
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
|
||||
cd ${TEMPDIR}/unraid/templates/
|
||||
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
|
||||
echo "Image is on the ignore list, removing Unraid template"
|
||||
git rm unraid/${CONTAINER_NAME}.xml || :
|
||||
git commit -m 'Bot Removing Deprecated Unraid Template' || :
|
||||
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
|
||||
git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || :
|
||||
git commit -m 'Bot Moving Deprecated Unraid Template' || :
|
||||
else
|
||||
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
|
||||
git add unraid/${CONTAINER_NAME}.xml
|
||||
@@ -364,7 +366,7 @@ pipeline {
|
||||
// Exit the build if the Templated files were just updated
|
||||
stage('Template-exit') {
|
||||
when {
|
||||
branch "master"
|
||||
branch "php8"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'FILES_UPDATED', value: 'true'
|
||||
expression {
|
||||
@@ -403,7 +405,7 @@ pipeline {
|
||||
// Add package to Scarf.sh and set permissions
|
||||
stage("Scarf.sh package registry"){
|
||||
when {
|
||||
branch "master"
|
||||
branch "php8"
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
}
|
||||
steps{
|
||||
@@ -560,7 +562,7 @@ pipeline {
|
||||
// Take the image we just built and dump package versions for comparison
|
||||
stage('Update-packages') {
|
||||
when {
|
||||
branch "master"
|
||||
branch "php8"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
}
|
||||
@@ -597,7 +599,7 @@ pipeline {
|
||||
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
|
||||
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
|
||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
|
||||
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f master
|
||||
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f php8
|
||||
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
|
||||
cd ${TEMPDIR}/${LS_REPO}/
|
||||
wait
|
||||
@@ -621,7 +623,7 @@ pipeline {
|
||||
// Exit the build if the package file was just updated
|
||||
stage('PACKAGE-exit') {
|
||||
when {
|
||||
branch "master"
|
||||
branch "php8"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'PACKAGE_UPDATED', value: 'true'
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
@@ -642,7 +644,7 @@ pipeline {
|
||||
// Exit the build if this is just a package check and there are no changes to push
|
||||
stage('PACKAGECHECK-exit') {
|
||||
when {
|
||||
branch "master"
|
||||
branch "php8"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'PACKAGE_UPDATED', value: 'false'
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
@@ -745,12 +747,12 @@ pipeline {
|
||||
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
|
||||
for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
|
||||
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
|
||||
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
|
||||
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:php8
|
||||
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG}
|
||||
if [ -n "${SEMVER}" ]; then
|
||||
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${SEMVER}
|
||||
fi
|
||||
docker push ${PUSHIMAGE}:latest
|
||||
docker push ${PUSHIMAGE}:php8
|
||||
docker push ${PUSHIMAGE}:${META_TAG}
|
||||
docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
|
||||
if [ -n "${SEMVER}" ]; then
|
||||
@@ -764,7 +766,7 @@ pipeline {
|
||||
docker rmi \
|
||||
${DELETEIMAGE}:${META_TAG} \
|
||||
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
|
||||
${DELETEIMAGE}:latest || :
|
||||
${DELETEIMAGE}:php8 || :
|
||||
if [ -n "${SEMVER}" ]; then
|
||||
docker rmi ${DELETEIMAGE}:${SEMVER} || :
|
||||
fi
|
||||
@@ -811,9 +813,9 @@ pipeline {
|
||||
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
|
||||
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
||||
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
|
||||
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
|
||||
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
|
||||
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-php8
|
||||
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-php8
|
||||
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-php8
|
||||
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
|
||||
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
|
||||
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
||||
@@ -825,9 +827,9 @@ pipeline {
|
||||
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
|
||||
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
||||
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||
docker push ${MANIFESTIMAGE}:amd64-latest
|
||||
docker push ${MANIFESTIMAGE}:arm32v7-latest
|
||||
docker push ${MANIFESTIMAGE}:arm64v8-latest
|
||||
docker push ${MANIFESTIMAGE}:amd64-php8
|
||||
docker push ${MANIFESTIMAGE}:arm32v7-php8
|
||||
docker push ${MANIFESTIMAGE}:arm64v8-php8
|
||||
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
|
||||
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
|
||||
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
||||
@@ -836,10 +838,10 @@ pipeline {
|
||||
docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER}
|
||||
docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
|
||||
fi
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
|
||||
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
|
||||
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
|
||||
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:php8 || :
|
||||
docker manifest create ${MANIFESTIMAGE}:php8 ${MANIFESTIMAGE}:amd64-php8 ${MANIFESTIMAGE}:arm32v7-php8 ${MANIFESTIMAGE}:arm64v8-php8
|
||||
docker manifest annotate ${MANIFESTIMAGE}:php8 ${MANIFESTIMAGE}:arm32v7-php8 --os linux --arch arm
|
||||
docker manifest annotate ${MANIFESTIMAGE}:php8 ${MANIFESTIMAGE}:arm64v8-php8 --os linux --arch arm64 --variant v8
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
|
||||
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
|
||||
@@ -854,7 +856,7 @@ pipeline {
|
||||
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm
|
||||
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
|
||||
fi
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:latest
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:php8
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
|
||||
if [ -n "${SEMVER}" ]; then
|
||||
@@ -867,13 +869,13 @@ pipeline {
|
||||
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
|
||||
docker rmi \
|
||||
${DELETEIMAGE}:amd64-${META_TAG} \
|
||||
${DELETEIMAGE}:amd64-latest \
|
||||
${DELETEIMAGE}:amd64-php8 \
|
||||
${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \
|
||||
${DELETEIMAGE}:arm32v7-${META_TAG} \
|
||||
${DELETEIMAGE}:arm32v7-latest \
|
||||
${DELETEIMAGE}:arm32v7-php8 \
|
||||
${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \
|
||||
${DELETEIMAGE}:arm64v8-${META_TAG} \
|
||||
${DELETEIMAGE}:arm64v8-latest \
|
||||
${DELETEIMAGE}:arm64v8-php8 \
|
||||
${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
|
||||
if [ -n "${SEMVER}" ]; then
|
||||
docker rmi \
|
||||
@@ -892,7 +894,7 @@ pipeline {
|
||||
// If this is a public release tag it in the LS Github
|
||||
stage('Github-Tag-Push-Release') {
|
||||
when {
|
||||
branch "master"
|
||||
branch "php8"
|
||||
expression {
|
||||
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
}
|
||||
@@ -904,17 +906,17 @@ pipeline {
|
||||
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
|
||||
-d '{"tag":"'${META_TAG}'",\
|
||||
"object": "'${COMMIT_SHA}'",\
|
||||
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
|
||||
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to php8",\
|
||||
"type": "commit",\
|
||||
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
|
||||
echo "Pushing New release for Tag"
|
||||
sh '''#! /bin/bash
|
||||
echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json
|
||||
echo '{"tag_name":"'${META_TAG}'",\
|
||||
"target_commitish": "master",\
|
||||
"target_commitish": "php8",\
|
||||
"name": "'${META_TAG}'",\
|
||||
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**Remote Changes:**\\n\\n' > start
|
||||
printf '","draft": false,"prerelease": false}' >> releasebody.json
|
||||
printf '","draft": false,"prerelease": true}' >> releasebody.json
|
||||
paste -d'\\0' start releasebody.json > releasebody.json.done
|
||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- DO NOT EDIT THIS FILE MANUALLY -->
|
||||
<!-- Please read the https://github.com/linuxserver/docker-nextcloud/blob/master/.github/CONTRIBUTING.md -->
|
||||
<!-- Please read the https://github.com/linuxserver/docker-nextcloud/blob/php8/.github/CONTRIBUTING.md -->
|
||||
|
||||
[](https://linuxserver.io)
|
||||
|
||||
@@ -37,7 +37,7 @@ Find us at:
|
||||
[](https://quay.io/repository/linuxserver.io/nextcloud)
|
||||
[](https://hub.docker.com/r/linuxserver/nextcloud)
|
||||
[](https://hub.docker.com/r/linuxserver/nextcloud)
|
||||
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/master/)
|
||||
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/php8/)
|
||||
[](https://ci-tests.linuxserver.io/linuxserver/nextcloud/latest/index.html)
|
||||
|
||||
[Nextcloud](https://nextcloud.com/) gives you access to all your files wherever you are.
|
||||
@@ -48,26 +48,17 @@ Where are your photos and documents? With Nextcloud you pick a server of your ch
|
||||
|
||||
## Supported Architectures
|
||||
|
||||
Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. 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://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/).
|
||||
|
||||
Simply pulling `lscr.io/linuxserver/nextcloud` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
|
||||
Simply pulling `lscr.io/linuxserver/nextcloud:php8` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
|
||||
|
||||
The architectures supported by this image are:
|
||||
|
||||
| Architecture | Tag |
|
||||
| :----: | --- |
|
||||
| x86-64 | amd64-latest |
|
||||
| arm64 | arm64v8-latest |
|
||||
| armhf | arm32v7-latest |
|
||||
|
||||
## Version Tags
|
||||
|
||||
This image provides various versions that are available via tags. `latest` tag usually provides the latest stable version. Others are considered under development and caution must be exercised when using them.
|
||||
|
||||
| Tag | Description |
|
||||
| :----: | --- |
|
||||
| latest | Stable Nextcloud releases (currently php7) |
|
||||
| php8 | Experimental php8 based Nextcloud releases |
|
||||
| Architecture | Available | Tag |
|
||||
| :----: | :----: | ---- |
|
||||
| x86-64 | ✅ | amd64-\<version tag\> |
|
||||
| arm64 | ✅ | arm64v8-\<version tag\> |
|
||||
| armhf| ✅ | arm32v7-\<version tag\> |
|
||||
|
||||
## Application Setup
|
||||
|
||||
@@ -106,7 +97,7 @@ Here are some example snippets to help you get started creating a container.
|
||||
version: "2.1"
|
||||
services:
|
||||
nextcloud:
|
||||
image: lscr.io/linuxserver/nextcloud
|
||||
image: lscr.io/linuxserver/nextcloud:php8
|
||||
container_name: nextcloud
|
||||
environment:
|
||||
- PUID=1000
|
||||
@@ -132,7 +123,7 @@ docker run -d \
|
||||
-v /path/to/appdata:/config \
|
||||
-v /path/to/data:/data \
|
||||
--restart unless-stopped \
|
||||
lscr.io/linuxserver/nextcloud
|
||||
lscr.io/linuxserver/nextcloud:php8
|
||||
```
|
||||
|
||||
## Parameters
|
||||
@@ -191,7 +182,7 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to
|
||||
* 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`
|
||||
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/nextcloud:php8`
|
||||
|
||||
## Updating Info
|
||||
|
||||
@@ -209,7 +200,7 @@ Below are the instructions for updating containers:
|
||||
|
||||
### Via Docker Run
|
||||
|
||||
* Update the image: `docker pull lscr.io/linuxserver/nextcloud`
|
||||
* Update the image: `docker pull lscr.io/linuxserver/nextcloud:php8`
|
||||
* Stop the running container: `docker stop nextcloud`
|
||||
* Delete the container: `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)
|
||||
@@ -244,7 +235,7 @@ cd docker-nextcloud
|
||||
docker build \
|
||||
--no-cache \
|
||||
--pull \
|
||||
-t lscr.io/linuxserver/nextcloud:latest .
|
||||
-t lscr.io/linuxserver/nextcloud:php8 .
|
||||
```
|
||||
|
||||
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
|
||||
@@ -257,8 +248,10 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
||||
|
||||
## Versions
|
||||
|
||||
* **11.09.21:** - Rebasing to alpine 3.14
|
||||
* **21.03.21:** - Publish `php8` tag for testing.
|
||||
* **05.06.22:** - Bring `php8` tag in line with `latest`.
|
||||
* **24.06.21:** - Rebase to alpine 3.14.
|
||||
* **01.04.21:** - Fix crontab during upgrade from php7.
|
||||
* **16.03.21:** - Rebase on the php8 nginx baseimage.
|
||||
* **25.02.21:** - Nginx default site config updated for v21 (existing users should delete `/config/nginx/site-confs/default` and restart the container).
|
||||
* **21.01.21:** - Fix php iconv (was breaking the mail addon). If installed, attempt to remove broken CODE Server app during startup.
|
||||
* **20.01.21:** - Increase php fcgi timeout to prevent 504 Gateway timeout errors (existing users should delete `/config/nginx/site-confs/default` and restart the container).
|
||||
|
||||
+4
-4
@@ -3,10 +3,10 @@
|
||||
# jenkins variables
|
||||
project_name: docker-nextcloud
|
||||
external_type: na
|
||||
custom_version_command: "curl -s https://raw.githubusercontent.com/nextcloud/nextcloud.com/master/strings.php | awk -F\\\\' '/VERSIONS_SERVER_FULL_STABLE/ {print $2;exit}'"
|
||||
release_type: stable
|
||||
release_tag: latest
|
||||
ls_branch: master
|
||||
custom_version_command: "curl -sX GET https://api.github.com/repos/nextcloud/server/releases/latest | jq -r '. | .tag_name' | sed 's|^v||'"
|
||||
release_type: prerelease
|
||||
release_tag: php8
|
||||
ls_branch: php8
|
||||
repo_vars:
|
||||
- BUILD_VERSION_ARG = 'NEXTCLOUD_RELEASE'
|
||||
- LS_USER = 'linuxserver'
|
||||
|
||||
+95
-96
@@ -2,61 +2,61 @@ alpine-baselayout-3.2.0-r16
|
||||
alpine-keys-2.4-r0
|
||||
alsa-lib-1.2.5-r2
|
||||
aom-libs-1.0.0-r3
|
||||
apache2-utils-2.4.52-r0
|
||||
apache2-utils-2.4.54-r0
|
||||
apk-tools-2.12.7-r0
|
||||
apr-1.7.0-r0
|
||||
apr-1.7.0-r1
|
||||
apr-util-1.6.1-r7
|
||||
argon2-libs-20190702-r1
|
||||
avahi-libs-0.8-r5
|
||||
bash-5.1.4-r0
|
||||
bash-5.1.16-r0
|
||||
brotli-libs-1.0.9-r5
|
||||
busybox-1.33.1-r6
|
||||
busybox-1.33.1-r8
|
||||
c-client-2007f-r11
|
||||
ca-certificates-20191127-r5
|
||||
ca-certificates-bundle-20191127-r5
|
||||
cairo-1.16.0-r3
|
||||
cairo-gobject-1.16.0-r3
|
||||
ca-certificates-20220614-r0
|
||||
ca-certificates-bundle-20220614-r0
|
||||
cairo-1.16.0-r5
|
||||
cairo-gobject-1.16.0-r5
|
||||
coreutils-8.32-r2
|
||||
cups-libs-2.3.3-r2
|
||||
curl-7.79.1-r0
|
||||
cups-libs-2.3.3-r3
|
||||
curl-7.79.1-r2
|
||||
dbus-libs-1.12.20-r2
|
||||
expat-2.4.1-r0
|
||||
expat-2.4.7-r0
|
||||
ffmpeg-4.4.1-r0
|
||||
ffmpeg-libs-4.4.1-r0
|
||||
fontconfig-2.13.1-r4
|
||||
freetype-2.10.4-r1
|
||||
freetype-2.10.4-r3
|
||||
fribidi-1.0.10-r0
|
||||
gdbm-1.19-r0
|
||||
gdk-pixbuf-2.42.6-r0
|
||||
gdk-pixbuf-2.42.6-r1
|
||||
ghostscript-9.54.0-r1
|
||||
git-2.32.0-r0
|
||||
git-2.32.3-r0
|
||||
glib-2.68.3-r0
|
||||
gmp-6.2.1-r0
|
||||
gmp-6.2.1-r1
|
||||
gnu-libiconv-1.16-r0
|
||||
gnutls-3.7.1-r0
|
||||
gnutls-3.7.1-r1
|
||||
graphite2-1.3.14-r0
|
||||
harfbuzz-2.8.1-r0
|
||||
icu-libs-67.1-r2
|
||||
imagemagick-7.0.11.14-r0
|
||||
imagemagick-libs-7.0.11.14-r0
|
||||
imagemagick-7.0.11.14-r1
|
||||
imagemagick-libs-7.0.11.14-r1
|
||||
jansson-2.13.1-r0
|
||||
jbig2dec-0.19-r0
|
||||
lame-3.100-r0
|
||||
lcms2-2.12-r1
|
||||
ldb-2.3.0-r1
|
||||
ldb-2.3.3-r0
|
||||
libacl-2.2.53-r0
|
||||
libarchive-3.5.2-r0
|
||||
libarchive-3.5.3-r0
|
||||
libass-0.15.1-r0
|
||||
libattr-2.5.1-r0
|
||||
libblkid-2.37.2-r0
|
||||
libblkid-2.37.4-r0
|
||||
libbsd-0.11.3-r0
|
||||
libbz2-1.0.8-r1
|
||||
libc-utils-0.7.2-r3
|
||||
libcap-2.50-r0
|
||||
libcrypto1.1-1.1.1l-r0
|
||||
libcurl-7.79.1-r0
|
||||
libcrypto1.1-1.1.1q-r0
|
||||
libcurl-7.79.1-r2
|
||||
libdav1d-0.9.0-r0
|
||||
libde265-1.0.8-r1
|
||||
libde265-1.0.8-r2
|
||||
libdrm-2.4.106-r0
|
||||
libedit-20210216.3.1-r0
|
||||
libffi-3.3-r2
|
||||
@@ -72,33 +72,33 @@ libmagic-5.40-r1
|
||||
libmcrypt-2.5.8-r9
|
||||
libmd-1.0.3-r0
|
||||
libmemcached-libs-1.0.18-r4
|
||||
libmount-2.37.2-r0
|
||||
libmount-2.37.4-r0
|
||||
libogg-1.3.5-r0
|
||||
libpciaccess-0.16-r0
|
||||
libpng-1.6.37-r1
|
||||
libpq-13.5-r0
|
||||
libpq-13.8-r0
|
||||
libproc-3.3.17-r0
|
||||
libressl3.3-libcrypto-3.3.3-r0
|
||||
libressl3.3-libssl-3.3.3-r0
|
||||
libretls-3.3.3p1-r2
|
||||
libressl3.3-libcrypto-3.3.6-r0
|
||||
libressl3.3-libssl-3.3.6-r0
|
||||
libretls-3.3.3p1-r3
|
||||
librsvg-2.50.4-r1
|
||||
libsasl-2.1.27-r12
|
||||
libsasl-2.1.28-r0
|
||||
libsm-1.2.3-r0
|
||||
libsmbclient-4.14.8-r0
|
||||
libsmbclient-4.14.12-r0
|
||||
libsodium-1.0.18-r0
|
||||
libsrt-1.4.2-r0
|
||||
libssh-0.9.6-r0
|
||||
libssl1.1-1.1.1l-r0
|
||||
libssl1.1-1.1.1q-r0
|
||||
libstdc++-10.3.1_git20210424-r2
|
||||
libtasn1-4.17.0-r0
|
||||
libtheora-1.1.1-r16
|
||||
libunistring-0.9.10-r1
|
||||
libuuid-2.37.2-r0
|
||||
libuuid-2.37.4-r0
|
||||
libva-2.11.0-r0
|
||||
libvdpau-1.4-r0
|
||||
libvorbis-1.3.7-r0
|
||||
libvpx-1.10.0-r0
|
||||
libwbclient-4.14.8-r0
|
||||
libwbclient-4.14.12-r0
|
||||
libwebp-1.2.0-r2
|
||||
libx11-1.7.2-r0
|
||||
libxau-1.0.9-r0
|
||||
@@ -107,85 +107,84 @@ libxdmcp-1.1.3-r0
|
||||
libxext-1.3.4-r0
|
||||
libxfixes-6.0.0-r0
|
||||
libxft-2.3.3-r0
|
||||
libxml2-2.9.12-r1
|
||||
libxml2-2.9.14-r1
|
||||
libxpm-3.5.13-r0
|
||||
libxrender-0.9.10-r3
|
||||
libxt-1.2.1-r0
|
||||
libzip-1.7.3-r2
|
||||
linux-pam-1.5.1-r1
|
||||
lmdb-0.9.29-r0
|
||||
logrotate-3.18.1-r0
|
||||
logrotate-3.18.1-r3
|
||||
lz4-libs-1.9.3-r1
|
||||
musl-1.2.2-r3
|
||||
musl-utils-1.2.2-r3
|
||||
nano-5.7-r2
|
||||
ncurses-libs-6.2_p20210612-r0
|
||||
ncurses-terminfo-base-6.2_p20210612-r0
|
||||
ncurses-libs-6.2_p20210612-r1
|
||||
ncurses-terminfo-base-6.2_p20210612-r1
|
||||
nettle-3.7.3-r0
|
||||
nghttp2-libs-1.43.0-r0
|
||||
nginx-1.20.2-r0
|
||||
nginx-1.20.2-r1
|
||||
oniguruma-6.9.7.1-r0
|
||||
openssl-1.1.1l-r0
|
||||
openssl-1.1.1q-r0
|
||||
opus-1.3.1-r1
|
||||
p11-kit-0.23.22-r0
|
||||
pango-1.48.5-r0
|
||||
pcre-8.44-r0
|
||||
pcre2-10.36-r0
|
||||
php7-7.4.26-r0
|
||||
php7-bcmath-7.4.26-r0
|
||||
php7-bz2-7.4.26-r0
|
||||
php7-common-7.4.26-r0
|
||||
php7-ctype-7.4.26-r0
|
||||
php7-curl-7.4.26-r0
|
||||
php7-dom-7.4.26-r0
|
||||
php7-exif-7.4.26-r0
|
||||
php7-fileinfo-7.4.26-r0
|
||||
php7-fpm-7.4.26-r0
|
||||
php7-ftp-7.4.26-r0
|
||||
php7-gd-7.4.26-r0
|
||||
php7-gmp-7.4.26-r0
|
||||
php7-iconv-7.4.26-r0
|
||||
php7-imap-7.4.26-r0
|
||||
php7-intl-7.4.26-r0
|
||||
php7-json-7.4.26-r0
|
||||
php7-ldap-7.4.26-r0
|
||||
php7-mbstring-7.4.26-r0
|
||||
php7-mysqlnd-7.4.26-r0
|
||||
php7-opcache-7.4.26-r0
|
||||
php7-openssl-7.4.26-r0
|
||||
php7-pcntl-7.4.26-r0
|
||||
php7-pdo-7.4.26-r0
|
||||
php7-pdo_mysql-7.4.26-r0
|
||||
php7-pdo_pgsql-7.4.26-r0
|
||||
php7-pdo_sqlite-7.4.26-r0
|
||||
php7-pecl-apcu-5.1.21-r0
|
||||
php7-pecl-igbinary-3.2.6-r0
|
||||
php7-pecl-imagick-3.5.0-r1
|
||||
php7-pecl-mcrypt-1.0.4-r0
|
||||
php7-pecl-memcached-3.1.5-r2
|
||||
php7-pecl-redis-5.3.4-r0
|
||||
php7-pgsql-7.4.26-r0
|
||||
php7-phar-7.4.26-r0
|
||||
php7-posix-7.4.26-r0
|
||||
php7-session-7.4.26-r0
|
||||
php7-simplexml-7.4.26-r0
|
||||
php7-sodium-7.4.26-r0
|
||||
php7-sqlite3-7.4.26-r0
|
||||
php7-xml-7.4.26-r0
|
||||
php7-xmlreader-7.4.26-r0
|
||||
php7-xmlwriter-7.4.26-r0
|
||||
php7-zip-7.4.26-r0
|
||||
pcre2-10.36-r1
|
||||
php8-8.0.13-r0
|
||||
php8-bcmath-8.0.13-r0
|
||||
php8-bz2-8.0.13-r0
|
||||
php8-common-8.0.13-r0
|
||||
php8-ctype-8.0.13-r0
|
||||
php8-curl-8.0.13-r0
|
||||
php8-dom-8.0.13-r0
|
||||
php8-exif-8.0.13-r0
|
||||
php8-fileinfo-8.0.13-r0
|
||||
php8-fpm-8.0.13-r0
|
||||
php8-ftp-8.0.13-r0
|
||||
php8-gd-8.0.13-r0
|
||||
php8-gmp-8.0.13-r0
|
||||
php8-iconv-8.0.13-r0
|
||||
php8-imap-8.0.13-r0
|
||||
php8-intl-8.0.13-r0
|
||||
php8-ldap-8.0.13-r0
|
||||
php8-mbstring-8.0.13-r0
|
||||
php8-mysqlnd-8.0.13-r0
|
||||
php8-opcache-8.0.13-r0
|
||||
php8-openssl-8.0.13-r0
|
||||
php8-pcntl-8.0.13-r0
|
||||
php8-pdo-8.0.13-r0
|
||||
php8-pdo_mysql-8.0.13-r0
|
||||
php8-pdo_pgsql-8.0.13-r0
|
||||
php8-pdo_sqlite-8.0.13-r0
|
||||
php8-pecl-apcu-5.1.21-r0
|
||||
php8-pecl-igbinary-3.2.6-r0
|
||||
php8-pecl-imagick-3.5.0-r1
|
||||
php8-pecl-mcrypt-1.0.4-r0
|
||||
php8-pecl-memcached-3.1.5-r1
|
||||
php8-pecl-redis-5.3.4-r0
|
||||
php8-pgsql-8.0.13-r0
|
||||
php8-phar-8.0.13-r0
|
||||
php8-posix-8.0.13-r0
|
||||
php8-session-8.0.13-r0
|
||||
php8-simplexml-8.0.13-r0
|
||||
php8-sodium-8.0.13-r0
|
||||
php8-sqlite3-8.0.13-r0
|
||||
php8-xml-8.0.13-r0
|
||||
php8-xmlreader-8.0.13-r0
|
||||
php8-xmlwriter-8.0.13-r0
|
||||
php8-zip-8.0.13-r0
|
||||
pixman-0.40.0-r2
|
||||
pkgconf-1.7.4-r0
|
||||
popt-1.18-r0
|
||||
procps-3.3.17-r0
|
||||
readline-8.1.0-r0
|
||||
s6-ipcserver-2.10.0.3-r0
|
||||
samba-client-4.14.8-r0
|
||||
samba-client-libs-4.14.8-r0
|
||||
samba-common-4.14.8-r0
|
||||
samba-libs-4.14.8-r0
|
||||
samba-util-libs-4.14.8-r0
|
||||
samba-client-4.14.12-r0
|
||||
samba-client-libs-4.14.12-r0
|
||||
samba-common-4.14.12-r0
|
||||
samba-libs-4.14.12-r0
|
||||
samba-util-libs-4.14.12-r0
|
||||
scanelf-1.3.2-r0
|
||||
sdl2-2.0.14-r1
|
||||
shadow-4.8.1-r0
|
||||
@@ -193,14 +192,14 @@ shared-mime-info-2.1-r0
|
||||
skalibs-2.10.0.3-r0
|
||||
soxr-0.1.3-r2
|
||||
sqlite-libs-3.35.5-r0
|
||||
ssl_client-1.33.1-r6
|
||||
ssl_client-1.33.1-r8
|
||||
sudo-1.9.7_p1-r1
|
||||
talloc-2.3.2-r1
|
||||
tar-1.34-r0
|
||||
tdb-libs-1.4.3-r1
|
||||
tevent-0.10.2-r1
|
||||
tiff-4.2.0-r1
|
||||
tzdata-2021e-r0
|
||||
tiff-4.3.0-r0
|
||||
tzdata-2022c-r0
|
||||
unzip-6.0-r9
|
||||
utmps-0.1.0.2-r0
|
||||
v4l-utils-libs-1.20.0-r0
|
||||
@@ -210,7 +209,7 @@ wayland-libs-client-1.19.0-r0
|
||||
x264-libs-20210211-r0
|
||||
x265-libs-3.4-r0
|
||||
xvidcore-1.3.7-r1
|
||||
xz-5.2.5-r0
|
||||
xz-libs-5.2.5-r0
|
||||
zlib-1.2.11-r3
|
||||
xz-5.2.5-r1
|
||||
xz-libs-5.2.5-r1
|
||||
zlib-1.2.12-r3
|
||||
zstd-libs-1.4.9-r1
|
||||
|
||||
+5
-6
@@ -18,10 +18,7 @@ available_architectures:
|
||||
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"}
|
||||
|
||||
# development version
|
||||
development_versions: true
|
||||
development_versions_items:
|
||||
- { tag: "latest", desc: "Stable Nextcloud releases (currently php7)" }
|
||||
- { tag: "php8", desc: "Experimental php8 based Nextcloud releases" }
|
||||
development_versions: false
|
||||
|
||||
# container parameters
|
||||
common_param_env_vars_enabled: true
|
||||
@@ -78,8 +75,10 @@ app_setup_block: |
|
||||
|
||||
# changelog
|
||||
changelogs:
|
||||
- { date: "11.09.21:", desc: "Rebasing to alpine 3.14" }
|
||||
- { date: "21.03.21:", desc: "Publish `php8` tag for testing." }
|
||||
- { date: "05.06.22:", desc: "Bring `php8` tag in line with `latest`." }
|
||||
- { date: "24.06.21:", desc: "Rebase to alpine 3.14." }
|
||||
- { date: "01.04.21:", desc: "Fix crontab during upgrade from php7." }
|
||||
- { date: "16.03.21:", desc: "Rebase on the php8 nginx baseimage." }
|
||||
- { date: "25.02.21:", desc: "Nginx default site config updated for v21 (existing users should delete `/config/nginx/site-confs/default` and restart the container)." }
|
||||
- { date: "21.01.21:", desc: "Fix php iconv (was breaking the mail addon). If installed, attempt to remove broken CODE Server app during startup." }
|
||||
- { date: "20.01.21:", desc: "Increase php fcgi timeout to prevent 504 Gateway timeout errors (existing users should delete `/config/nginx/site-confs/default` and restart the container)." }
|
||||
|
||||
+28
-9
@@ -27,6 +27,7 @@ server {
|
||||
|
||||
# set max upload size
|
||||
client_max_body_size 512M;
|
||||
client_body_timeout 300s;
|
||||
fastcgi_buffers 64 4K;
|
||||
|
||||
# Enable gzip but do not remove ETag headers
|
||||
@@ -35,7 +36,7 @@ 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/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 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;
|
||||
|
||||
# HTTP response headers borrowed from Nextcloud `.htaccess`
|
||||
add_header Referrer-Policy "no-referrer" always;
|
||||
@@ -85,25 +86,32 @@ server {
|
||||
# `location ~ /(\.|autotest|...)` which would otherwise handle requests
|
||||
# for `/.well-known`.
|
||||
location ^~ /.well-known {
|
||||
# The following 6 rules are borrowed from `.htaccess`
|
||||
# The rules in this block are an adaptation of the rules
|
||||
# in `.htaccess` that concern `/.well-known`.
|
||||
|
||||
location = /.well-known/carddav { return 301 /remote.php/dav/; }
|
||||
location = /.well-known/caldav { return 301 /remote.php/dav/; }
|
||||
# Anything else is dynamically handled by Nextcloud
|
||||
location ^~ /.well-known { return 301 /index.php$uri; }
|
||||
location = /.well-known/carddav { return 301 /remote.php/dav/; }
|
||||
location = /.well-known/caldav { return 301 /remote.php/dav/; }
|
||||
|
||||
try_files $uri $uri/ =404;
|
||||
location /.well-known/acme-challenge { try_files $uri $uri/ =404; }
|
||||
location /.well-known/pki-validation { try_files $uri $uri/ =404; }
|
||||
|
||||
# Let Nextcloud's API for `/.well-known` URIs handle all other
|
||||
# requests by passing them to the front-end controller.
|
||||
return 301 /index.php$request_uri;
|
||||
}
|
||||
|
||||
# Rules borrowed from `.htaccess` to hide certain paths from clients
|
||||
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/) { return 404; }
|
||||
location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { return 404; }
|
||||
location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { return 404; }
|
||||
|
||||
# Ensure this block, which passes PHP files to the PHP process, is above the blocks
|
||||
# which handle static assets (as seen below). If this block is not declared first,
|
||||
# then Nginx will encounter an infinite rewriting loop when it prepends `/index.php`
|
||||
# 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;
|
||||
|
||||
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
|
||||
set $path_info $fastcgi_path_info;
|
||||
|
||||
@@ -120,12 +128,18 @@ server {
|
||||
|
||||
fastcgi_intercept_errors on;
|
||||
fastcgi_request_buffering off;
|
||||
|
||||
fastcgi_max_temp_file_size 0;
|
||||
}
|
||||
|
||||
location ~ \.(?:css|js|svg|gif)$ {
|
||||
location ~ \.(?:css|js|svg|gif|png|jpg|ico|wasm|tflite|map)$ {
|
||||
try_files $uri /index.php$request_uri;
|
||||
expires 6M; # Cache-Control policy borrowed from `.htaccess`
|
||||
access_log off; # Optional: Don't log access to assets
|
||||
|
||||
location ~ \.wasm$ {
|
||||
default_type application/wasm;
|
||||
}
|
||||
}
|
||||
|
||||
location ~ \.woff2?$ {
|
||||
@@ -134,6 +148,11 @@ server {
|
||||
access_log off; # Optional: Don't log access to assets
|
||||
}
|
||||
|
||||
# Rule borrowed from `.htaccess`
|
||||
location /remote {
|
||||
return 301 /remote.php$request_uri;
|
||||
}
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php$request_uri;
|
||||
}
|
||||
|
||||
@@ -26,13 +26,11 @@ chown -R ${htuser}:${htgroup} ${ocpath}/updater/
|
||||
chmod +x ${ocpath}/occ
|
||||
|
||||
printf "chmod/chown .htaccess\n"
|
||||
if [ -f ${ocpath}/.htaccess ]
|
||||
then
|
||||
chmod 0644 ${ocpath}/.htaccess
|
||||
chown ${rootuser}:${htgroup} ${ocpath}/.htaccess
|
||||
if [ -f ${ocpath}/.htaccess ]; then
|
||||
chmod 0644 ${ocpath}/.htaccess
|
||||
chown ${rootuser}:${htgroup} ${ocpath}/.htaccess
|
||||
fi
|
||||
if [ -f ${ocpath}/data/.htaccess ]
|
||||
then
|
||||
chmod 0644 ${ocpath}/data/.htaccess
|
||||
chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess
|
||||
if [ -f ${ocpath}/data/.htaccess ]; then
|
||||
chmod 0644 ${ocpath}/data/.htaccess
|
||||
chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess
|
||||
fi
|
||||
|
||||
+1
-1
@@ -6,4 +6,4 @@
|
||||
0 3 * * 6 run-parts /etc/periodic/weekly
|
||||
0 5 1 * * run-parts /etc/periodic/monthly
|
||||
# nextcloud cron
|
||||
*/5 * * * * s6-setuidgid abc php7 -f /config/www/nextcloud/cron.php
|
||||
*/5 * * * * s6-setuidgid abc php8 -f /config/www/nextcloud/cron.php
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
# permissions
|
||||
chown abc:abc \
|
||||
/config \
|
||||
/data
|
||||
/config \
|
||||
/data
|
||||
chown -R abc:abc \
|
||||
/var/lib/nginx
|
||||
/var/lib/nginx
|
||||
|
||||
@@ -2,19 +2,20 @@
|
||||
|
||||
# create folders
|
||||
mkdir -p \
|
||||
"${NEXTCLOUD_PATH}" \
|
||||
/config/crontabs
|
||||
"${NEXTCLOUD_PATH}" \
|
||||
/config/crontabs
|
||||
|
||||
# install app
|
||||
if [ ! -e "${NEXTCLOUD_PATH}/index.php" ]; then
|
||||
tar xf /app/nextcloud.tar.bz2 -C \
|
||||
"${NEXTCLOUD_PATH}" --strip-components=1
|
||||
chown abc:abc -R \
|
||||
"${NEXTCLOUD_PATH}"
|
||||
chmod +x "${NEXTCLOUD_PATH}/occ"
|
||||
tar xf /app/nextcloud.tar.bz2 -C \
|
||||
"${NEXTCLOUD_PATH}" --strip-components=1
|
||||
chown abc:abc -R \
|
||||
"${NEXTCLOUD_PATH}"
|
||||
chmod +x "${NEXTCLOUD_PATH}/occ"
|
||||
fi
|
||||
|
||||
# set cronjob
|
||||
[[ ! -f /config/crontabs/root ]] && \
|
||||
cp /defaults/root /config/crontabs/root
|
||||
cp /defaults/root /config/crontabs/root
|
||||
sed -i 's|php7|php8|g' /config/crontabs/root
|
||||
cp /config/crontabs/root /etc/crontabs/root
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
# copy config
|
||||
[[ ! -f /config/www/nextcloud/config/config.php ]] && \
|
||||
cp /defaults/config.php /config/www/nextcloud/config/config.php
|
||||
cp /defaults/config.php /config/www/nextcloud/config/config.php
|
||||
|
||||
# permissions
|
||||
chown abc:abc \
|
||||
/config/www/nextcloud/config/config.php
|
||||
/config/www/nextcloud/config/config.php
|
||||
|
||||
@@ -2,19 +2,19 @@
|
||||
|
||||
## Set alias for occ and make executable
|
||||
[[ ! -f /usr/bin/occ ]] && \
|
||||
echo -e '#!/bin/bash\nsudo -u abc -s /bin/bash -c "php7 /config/www/nextcloud/occ $*"' > /usr/bin/occ
|
||||
echo -e '#!/bin/bash\nsudo -u abc -s /bin/bash -c "php8 /config/www/nextcloud/occ $*"' > /usr/bin/occ
|
||||
|
||||
[[ ! -x /usr/bin/occ ]] && \
|
||||
chmod +x /usr/bin/occ
|
||||
chmod +x /usr/bin/occ
|
||||
|
||||
## Set alias for updater.phar and make executable
|
||||
[[ ! -f /usr/bin/updater.phar ]] && \
|
||||
echo -e '#!/bin/bash\nsudo -u abc -s /bin/bash -c "php7 /config/www/nextcloud/updater/updater.phar $*"' > /usr/bin/updater.phar
|
||||
echo -e '#!/bin/bash\nsudo -u abc -s /bin/bash -c "php8 /config/www/nextcloud/updater/updater.phar $*"' > /usr/bin/updater.phar
|
||||
|
||||
[[ ! -x /usr/bin/updater.phar ]] && \
|
||||
chmod +x /usr/bin/updater.phar
|
||||
chmod +x /usr/bin/updater.phar
|
||||
|
||||
if ( occ app:list --no-interaction | grep -q richdocumentscode) 2>/dev/null; then
|
||||
echo "Removing CODE Server"
|
||||
occ app:remove --no-interaction richdocumentscode 2>/dev/null
|
||||
echo "Removing CODE Server"
|
||||
occ app:remove --no-interaction richdocumentscode 2>/dev/null
|
||||
fi
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
|
||||
/usr/sbin/crond -f -S -l 0 -c /etc/crontabs
|
||||
exec /usr/sbin/crond -f -S -l 0 -c /etc/crontabs
|
||||
|
||||
Reference in New Issue
Block a user