Compare commits

...

52 Commits

Author SHA1 Message Date
LinuxServer-CI 8521a9ecc7 Bot Updating Package Versions 2025-08-26 11:52:39 +00:00
LinuxServer-CI 94992dd964 Bot Updating Package Versions 2025-08-19 11:52:28 +00:00
LinuxServer-CI 8f2cd9f8c7 Bot Updating Package Versions 2025-08-14 07:43:51 +00:00
LinuxServer-CI b856b47daf Bot Updating Package Versions 2025-08-12 11:53:14 +00:00
LinuxServer-CI 33f1dfb183 Bot Updating Package Versions 2025-08-05 11:55:11 +00:00
LinuxServer-CI 49ce9438c0 Bot Updating Package Versions 2025-07-29 11:53:56 +00:00
LinuxServer-CI 655d40c59e Bot Updating Package Versions 2025-07-22 11:54:12 +00:00
LinuxServer-CI 418e949aba Bot Updating Package Versions 2025-07-20 15:13:01 +00:00
LinuxServer-CI 8669c16c13 Bot Updating Templated Files 2025-07-20 15:06:57 +00:00
Adam ad3ae9d34b Merge pull request #511 from linuxserver/master-3.22 2025-07-20 16:05:01 +01:00
LinuxServer-CI 4e0503e90c Bot Updating Package Versions 2025-07-15 11:53:20 +00:00
thespad 7d1f2a6b62 Fix || breaking build failures 2025-07-10 19:38:57 +01:00
thespad 345954fdb7 Remove pecl-mcrypt 2025-07-10 17:32:34 +01:00
thespad 5b240d5fc7 Rebase to 3.22 2025-07-10 17:31:45 +01:00
LinuxServer-CI 44a7602f64 Bot Updating Package Versions 2025-07-08 11:57:42 +00:00
LinuxServer-CI 69f5ae1999 Bot Updating Templated Files 2025-07-08 11:51:45 +00:00
LinuxServer-CI 2a6f636744 Bot Updating Templated Files 2025-07-08 11:49:40 +00:00
LinuxServer-CI 2d8f3930d0 Bot Updating Package Versions 2025-06-10 11:55:58 +00:00
LinuxServer-CI 681e00336d Bot Updating Templated Files 2025-06-10 11:49:25 +00:00
LinuxServer-CI 8de43f9a23 Bot Updating Package Versions 2025-05-26 23:51:15 +00:00
LinuxServer-CI d14698f41d Bot Updating Package Versions 2025-05-20 11:54:15 +00:00
LinuxServer-CI 474583b339 Bot Updating Templated Files 2025-05-20 11:48:56 +00:00
LinuxServer-CI efd03d46ee Bot Updating Package Versions 2025-05-15 13:05:30 +00:00
LinuxServer-CI 9c0a1c7d1b Bot Updating Package Versions 2025-05-06 11:54:36 +00:00
LinuxServer-CI d01e9b2612 Bot Updating Package Versions 2025-04-22 11:51:45 +00:00
LinuxServer-CI fd06c9519e Bot Updating Package Versions 2025-04-16 08:49:22 +00:00
LinuxServer-CI 9631b6ec5e Bot Updating Package Versions 2025-04-15 16:47:39 +00:00
LinuxServer-CI bb4c8ad9f1 Bot Updating Package Versions 2025-04-11 08:37:14 +00:00
LinuxServer-CI 268bc6961d Bot Updating Package Versions 2025-04-08 11:55:20 +00:00
LinuxServer-CI 58db8a85ca Bot Updating Package Versions 2025-04-01 11:50:57 +00:00
LinuxServer-CI 71dca7428b Bot Updating Package Versions 2025-03-18 11:54:06 +00:00
LinuxServer-CI f4bc3e7222 Bot Updating Package Versions 2025-03-11 11:51:17 +00:00
LinuxServer-CI c97e312e06 Bot Updating Package Versions 2025-03-04 11:53:44 +00:00
LinuxServer-CI 11982b1c3a Bot Updating Package Versions 2025-02-25 13:43:36 +00:00
LinuxServer-CI ced40a2cbc Bot Updating Package Versions 2025-02-25 11:50:47 +00:00
LinuxServer-CI e9bdab6b93 Bot Updating Package Versions 2025-02-18 11:50:46 +00:00
LinuxServer-CI fe020f818e Bot Updating Package Versions 2025-02-13 22:01:05 +00:00
LinuxServer-CI b44f846924 Bot Updating Templated Files 2025-02-13 21:56:11 +00:00
Adam 72823c6b9e Merge pull request #494 from linuxserver/master-3.21 2025-02-13 21:53:55 +00:00
LinuxServer-CI 3db6a0078d Bot Updating Package Versions 2025-02-13 15:38:08 +00:00
thespad 3670492ab3 Rebase to 3.21 2025-02-12 21:24:56 +00:00
LinuxServer-CI 509d654794 Bot Updating Package Versions 2025-02-11 11:54:13 +00:00
LinuxServer-CI a1006f0a13 Bot Updating Templated Files 2025-02-11 11:49:10 +00:00
LinuxServer-CI 35a4c7de2a Bot Updating Templated Files 2025-02-04 11:50:22 +00:00
LinuxServer-CI 0b2b251297 Bot Updating Templated Files 2025-02-04 11:49:08 +00:00
LinuxServer-CI b6207b22c9 Bot Updating Package Versions 2025-01-28 11:51:07 +00:00
quietsy b8db8a0ecf Merge pull request #489 from linuxserver/add-project-categories
Add categories to readme-vars.yml
2025-01-22 19:48:25 +02:00
quietsy 8f3559e81b Add categories to readme-vars.yml 2025-01-22 16:40:56 +02:00
LinuxServer-CI 6ba88a65a7 Bot Updating Package Versions 2025-01-21 11:56:07 +00:00
LinuxServer-CI 342be688a3 Bot Updating Package Versions 2025-01-16 18:44:47 +00:00
quietsy d607b5ef14 Merge pull request #480 from linuxserver/fix-large-files
Fix uploading large files
2025-01-09 13:34:47 +02:00
quietsy b4ff591a39 Fix uploading large files 2025-01-09 12:52:46 +02:00
21 changed files with 744 additions and 565 deletions
Executable → Regular
View File
Executable → Regular
+1 -1
View File
@@ -6,7 +6,7 @@
* Read, and fill the Pull Request template
* If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR
* If the PR is addressing an existing issue include, closes #\<issue number>, in the body of the PR commit message
* If you want to discuss changes, you can also bring it up in [#dev-talk](https://discordapp.com/channels/354974912613449730/757585807061155840) in our [Discord server](https://discord.gg/YWrKVTn)
* If you want to discuss changes, you can also bring it up in [#dev-talk](https://discordapp.com/channels/354974912613449730/757585807061155840) in our [Discord server](https://linuxserver.io/discord)
## Common files
Executable → Regular
View File
+1 -1
View File
@@ -1,7 +1,7 @@
blank_issues_enabled: false
contact_links:
- name: Discord chat support
url: https://discord.gg/YWrKVTn
url: https://linuxserver.io/discord
about: Realtime support / chat with the community and the team.
- name: Discourse discussion forum
View File
View File
+3
View File
@@ -8,6 +8,9 @@ on:
pull_request_review:
types: [submitted,edited,dismissed]
permissions:
contents: read
jobs:
manage-project:
permissions:
+3
View File
@@ -4,6 +4,9 @@ on:
- cron: '35 2 * * *'
workflow_dispatch:
permissions:
contents: read
jobs:
stale:
permissions:
+18 -7
View File
@@ -3,6 +3,9 @@ name: External Trigger Main
on:
workflow_dispatch:
permissions:
contents: read
jobs:
external-trigger-master:
runs-on: ubuntu-latest
@@ -15,7 +18,10 @@ jobs:
SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }}
run: |
printf "# External trigger for docker-nextcloud\n\n" >> $GITHUB_STEP_SUMMARY
if grep -q "^nextcloud_master" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
if grep -q "^nextcloud_master_" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`nextcloud_master_\`; will skip trigger if version matches." >> $GITHUB_STEP_SUMMARY
elif grep -q "^nextcloud_master" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`nextcloud_master\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0
@@ -25,6 +31,11 @@ jobs:
printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY
EXT_RELEASE=$(curl -u ${{ secrets.CR_USER }}:${{ secrets.CR_PAT }} -sX GET https://api.github.com/repos/nextcloud/server/releases | jq -r '.[] | select(.prerelease != true) | .tag_name' | sed 's|^v||g' | sort -rV | head -1)
echo "Type is \`custom_version_command\`" >> $GITHUB_STEP_SUMMARY
if grep -q "^nextcloud_master_${EXT_RELEASE}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` matches current external release; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0
fi
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Can't retrieve external version, exiting" >> $GITHUB_STEP_SUMMARY
@@ -35,8 +46,8 @@ jobs:
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
exit 1
fi
EXT_RELEASE=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
echo "External version: \`${EXT_RELEASE}\`" >> $GITHUB_STEP_SUMMARY
EXT_RELEASE_SANITIZED=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
echo "Sanitized external version: \`${EXT_RELEASE_SANITIZED}\`" >> $GITHUB_STEP_SUMMARY
echo "Retrieving last pushed version" >> $GITHUB_STEP_SUMMARY
image="linuxserver/nextcloud"
tag="latest"
@@ -92,8 +103,8 @@ jobs:
exit 1
fi
echo "Last pushed version: \`${IMAGE_VERSION}\`" >> $GITHUB_STEP_SUMMARY
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
echo "Version \`${EXT_RELEASE}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY
if [ "${EXT_RELEASE_SANITIZED}" == "${IMAGE_VERSION}" ]; then
echo "Sanitized version \`${EXT_RELEASE_SANITIZED}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY
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
echo "New version \`${EXT_RELEASE}\` found; but there already seems to be an active build on Jenkins; exiting" >> $GITHUB_STEP_SUMMARY
@@ -108,7 +119,7 @@ jobs:
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
else
printf "\n## Trigger new build\n\n" >> $GITHUB_STEP_SUMMARY
echo "New version \`${EXT_RELEASE}\` found; old version was \`${IMAGE_VERSION}\`. Triggering new build" >> $GITHUB_STEP_SUMMARY
echo "New sanitized version \`${EXT_RELEASE_SANITIZED}\` found; old version was \`${IMAGE_VERSION}\`. Triggering new build" >> $GITHUB_STEP_SUMMARY
if [[ "${artifacts_found}" == "true" ]]; then
echo "All artifacts seem to be uploaded." >> $GITHUB_STEP_SUMMARY
fi
@@ -128,7 +139,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 latest. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE_SANITIZED}"
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 }}
+3
View File
@@ -5,6 +5,9 @@ on:
- cron: '27 * * * *'
workflow_dispatch:
permissions:
contents: read
jobs:
external-trigger-scheduler:
runs-on: ubuntu-latest
Executable → Regular
+6
View File
@@ -2,8 +2,14 @@ name: Greetings
on: [pull_request_target, issues]
permissions:
contents: read
jobs:
greeting:
permissions:
issues: write
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/first-interaction@v1
+3
View File
@@ -5,6 +5,9 @@ on:
- cron: '42 11 * * 2'
workflow_dispatch:
permissions:
contents: read
jobs:
package-trigger-scheduler:
runs-on: ubuntu-latest
View File
+38 -39
View File
@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.20
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.22
# set version label
ARG BUILD_DATE
@@ -22,45 +22,44 @@ RUN \
imagemagick-pdf \
imagemagick-svg \
libxml2 \
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-mcrypt \
php83-pecl-memcached \
php83-pecl-smbclient \
php83-pgsql \
php83-posix \
php83-redis \
php83-sodium \
php83-sqlite3 \
php83-sysvsem \
php83-xmlreader \
php84-apcu \
php84-bcmath \
php84-bz2 \
php84-dom \
php84-exif \
php84-ftp \
php84-gd \
php84-gmp \
php84-imap \
php84-intl \
php84-ldap \
php84-opcache \
php84-pcntl \
php84-pdo_mysql \
php84-pdo_pgsql \
php84-pdo_sqlite \
php84-pecl-imagick \
php84-pecl-memcached \
php84-pecl-smbclient \
php84-pgsql \
php84-posix \
php84-redis \
php84-sodium \
php84-sqlite3 \
php84-sysvsem \
php84-xmlreader \
rsync \
samba-client \
util-linux \
sudo && \
echo "**** configure php-fpm to pass env vars ****" && \
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 && \
sed -E -i 's/^;?clear_env ?=.*$/clear_env = no/g' /etc/php84/php-fpm.d/www.conf && \
if ! grep -qxF 'clear_env = no' /etc/php84/php-fpm.d/www.conf; then echo 'clear_env = no' >> /etc/php84/php-fpm.d/www.conf; fi && \
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php84/php-fpm.conf && \
echo "**** configure php for nextcloud ****" && \
{ \
echo 'apc.enable_cli=1'; \
} >> /etc/php83/conf.d/apcu.ini && \
} >> /etc/php84/conf.d/apcu.ini && \
{ \
echo 'opcache.enable=1'; \
echo 'opcache.interned_strings_buffer=32'; \
@@ -70,16 +69,16 @@ RUN \
echo 'opcache.revalidate_freq=60'; \
echo 'opcache.jit=1255'; \
echo 'opcache.jit_buffer_size=128M'; \
} >> "/etc/php83/conf.d/00_opcache.ini" && \
} >> "/etc/php84/conf.d/00_opcache.ini" && \
{ \
echo 'memory_limit=512M'; \
echo 'upload_max_filesize=512M'; \
echo 'post_max_size=512M'; \
echo 'max_input_time=300'; \
echo 'max_execution_time=300'; \
echo 'memory_limit=-1'; \
echo 'upload_max_filesize=100G'; \
echo 'post_max_size=100G'; \
echo 'max_input_time=3600'; \
echo 'max_execution_time=3600'; \
echo 'output_buffering=0'; \
echo 'always_populate_raw_post_data=-1'; \
} >> "/etc/php83/conf.d/nextcloud.ini" && \
} >> "/etc/php84/conf.d/nextcloud.ini" && \
echo "**** install nextcloud ****" && \
mkdir -p \
/app/www/src/ && \
+38 -39
View File
@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.20
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.22
# set version label
ARG BUILD_DATE
@@ -22,45 +22,44 @@ RUN \
imagemagick-pdf \
imagemagick-svg \
libxml2 \
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-mcrypt \
php83-pecl-memcached \
php83-pecl-smbclient \
php83-pgsql \
php83-posix \
php83-redis \
php83-sodium \
php83-sqlite3 \
php83-sysvsem \
php83-xmlreader \
php84-apcu \
php84-bcmath \
php84-bz2 \
php84-dom \
php84-exif \
php84-ftp \
php84-gd \
php84-gmp \
php84-imap \
php84-intl \
php84-ldap \
php84-opcache \
php84-pcntl \
php84-pdo_mysql \
php84-pdo_pgsql \
php84-pdo_sqlite \
php84-pecl-imagick \
php84-pecl-memcached \
php84-pecl-smbclient \
php84-pgsql \
php84-posix \
php84-redis \
php84-sodium \
php84-sqlite3 \
php84-sysvsem \
php84-xmlreader \
rsync \
samba-client \
util-linux \
sudo && \
echo "**** configure php-fpm to pass env vars ****" && \
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 && \
sed -E -i 's/^;?clear_env ?=.*$/clear_env = no/g' /etc/php84/php-fpm.d/www.conf && \
if ! grep -qxF 'clear_env = no' /etc/php84/php-fpm.d/www.conf; then echo 'clear_env = no' >> /etc/php84/php-fpm.d/www.conf; fi && \
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php84/php-fpm.conf && \
echo "**** configure php for nextcloud ****" && \
{ \
echo 'apc.enable_cli=1'; \
} >> /etc/php83/conf.d/apcu.ini && \
} >> /etc/php84/conf.d/apcu.ini && \
{ \
echo 'opcache.enable=1'; \
echo 'opcache.interned_strings_buffer=32'; \
@@ -70,16 +69,16 @@ RUN \
echo 'opcache.revalidate_freq=60'; \
echo 'opcache.jit=1255'; \
echo 'opcache.jit_buffer_size=128M'; \
} >> "/etc/php83/conf.d/00_opcache.ini" && \
} >> "/etc/php84/conf.d/00_opcache.ini" && \
{ \
echo 'memory_limit=512M'; \
echo 'upload_max_filesize=512M'; \
echo 'post_max_size=512M'; \
echo 'max_input_time=300'; \
echo 'max_execution_time=300'; \
echo 'memory_limit=-1'; \
echo 'upload_max_filesize=100G'; \
echo 'post_max_size=100G'; \
echo 'max_input_time=3600'; \
echo 'max_execution_time=3600'; \
echo 'output_buffering=0'; \
echo 'always_populate_raw_post_data=-1'; \
} >> "/etc/php83/conf.d/nextcloud.ini" && \
} >> "/etc/php84/conf.d/nextcloud.ini" && \
echo "**** install nextcloud ****" && \
mkdir -p \
/app/www/src/ && \
Vendored
+37 -9
View File
@@ -56,11 +56,23 @@ pipeline {
steps{
echo "Running on node: ${NODE_NAME}"
sh '''#! /bin/bash
containers=$(docker ps -aq)
echo "Pruning builder"
docker builder prune -f --builder container || :
containers=$(docker ps -q)
if [[ -n "${containers}" ]]; then
docker stop ${containers}
BUILDX_CONTAINER_ID=$(docker ps -qf 'name=buildx_buildkit')
for container in ${containers}; do
if [[ "${container}" == "${BUILDX_CONTAINER_ID}" ]]; then
echo "skipping buildx container in docker stop"
else
echo "Stopping container ${container}"
docker stop ${container}
fi
done
fi
docker system prune -af --volumes || : '''
docker system prune -f --volumes || :
docker image prune -af || :
'''
script{
env.EXIT_STATUS = ''
env.LS_RELEASE = sh(
@@ -82,7 +94,11 @@ pipeline {
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'
if ( env.SYFT_IMAGE_TAG == null ) {
env.SYFT_IMAGE_TAG = 'latest'
}
}
echo "Using syft image tag ${SYFT_IMAGE_TAG}"
sh '''#! /bin/bash
echo "The default github branch detected as ${GH_DEFAULT_BRANCH}" '''
script{
@@ -741,7 +757,8 @@ pipeline {
if [[ -n "${containers}" ]]; then
docker stop ${containers}
fi
docker system prune -af --volumes || :
docker system prune -f --volumes || :
docker image prune -af || :
'''
}
}
@@ -767,7 +784,7 @@ pipeline {
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v ${TEMPDIR}:/tmp \
ghcr.io/anchore/syft:latest \
ghcr.io/anchore/syft:${SYFT_IMAGE_TAG} \
${LOCAL_CONTAINER} -o table=/tmp/package_versions.txt
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
@@ -877,6 +894,7 @@ pipeline {
-e WEB_AUTH=\"${CI_AUTH}\" \
-e WEB_PATH=\"${CI_WEBPATH}\" \
-e NODE_NAME=\"${NODE_NAME}\" \
-e SYFT_IMAGE_TAG=\"${CI_SYFT_IMAGE_TAG:-${SYFT_IMAGE_TAG}}\" \
-t ghcr.io/linuxserver/ci:latest \
python3 test_build.py'''
}
@@ -1152,12 +1170,22 @@ EOF
}
cleanup {
sh '''#! /bin/bash
echo "Performing docker system prune!!"
containers=$(docker ps -aq)
echo "Pruning builder!!"
docker builder prune -f --builder container || :
containers=$(docker ps -q)
if [[ -n "${containers}" ]]; then
docker stop ${containers}
BUILDX_CONTAINER_ID=$(docker ps -qf 'name=buildx_buildkit')
for container in ${containers}; do
if [[ "${container}" == "${BUILDX_CONTAINER_ID}" ]]; then
echo "skipping buildx container in docker stop"
else
echo "Stopping container ${container}"
docker stop ${container}
fi
done
fi
docker system prune -af --volumes || :
docker system prune -f --volumes || :
docker image prune -af || :
'''
cleanWs()
}
Executable → Regular
View File
+5 -5
View File
@@ -3,9 +3,8 @@
[![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!")
[![Discord](https://img.shields.io/discord/354974912613449730.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Discord&logo=discord)](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
[![Discord](https://img.shields.io/discord/354974912613449730.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Discord&logo=discord)](https://linuxserver.io/discord "realtime support / chat with the community and the team.")
[![Discourse](https://img.shields.io/discourse/https/discourse.linuxserver.io/topics.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=discourse)](https://discourse.linuxserver.io "post on our community forum.")
[![Fleet](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Fleet)](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
[![GitHub](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub&logo=github)](https://github.com/linuxserver "view the source for all of our repositories.")
[![Open Collective](https://img.shields.io/opencollective/all/linuxserver.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Supporters&logo=open%20collective)](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
@@ -20,9 +19,8 @@ The [LinuxServer.io](https://linuxserver.io) team brings you another container r
Find us at:
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
* [Discord](https://linuxserver.io/discord) - realtime support / chat with the community and the team.
* [Discourse](https://discourse.linuxserver.io) - post on our community forum.
* [Fleet](https://fleet.linuxserver.io) - an online web interface which displays all of our maintained images.
* [GitHub](https://github.com/linuxserver) - view the source for all of our repositories.
* [Open Collective](https://opencollective.com/linuxserver) - please consider helping us by either donating or contributing to our budget
@@ -57,7 +55,6 @@ The architectures supported by this image are:
| :----: | :----: | ---- |
| x86-64 | ✅ | amd64-\<version tag\> |
| arm64 | ✅ | arm64v8-\<version tag\> |
| armhf | ❌ | |
## Version Tags
@@ -350,6 +347,9 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
* **10.07.25:** - Rebase to Alpine 3.22.
* **12.02.25:** - Rebase to Alpine 3.21.
* **09.01.25:** - Fix uploading large files. Existing users should update their nginx confs.
* **09.07.24:** - Add `previous` tag for n-1 releases.
* **24.06.24:** - Rebase to Alpine 3.20. Existing users should update their nginx confs to avoid http2 deprecation warnings.
* **19.05.24:** - Added util-linux package required for taskset.
+571 -452
View File
File diff suppressed because it is too large Load Diff
+13 -10
View File
@@ -9,6 +9,7 @@ project_blurb: |
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.
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
project_categories: "Cloud,Documents"
# supported architectures
available_architectures:
- {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
@@ -29,6 +30,8 @@ param_volumes:
param_usage_include_ports: true
param_ports:
- {external_port: "443", internal_port: "443", port_desc: "WebUI"}
readonly_supported: false
nonroot_supported: false
# application setup block
app_setup_block_enabled: true
app_setup_block: |
@@ -106,32 +109,29 @@ init_diagram: |
init-nginx-end -> init-config
init-os-end -> init-config
init-config -> init-config-end
init-crontab-config -> init-config-end
init-nextcloud-config -> init-config-end
init-os-end -> init-crontab-config
init-config -> init-crontab-config
init-mods-end -> init-custom-files
init-adduser -> init-device-perms
base -> init-envfile
init-os-end -> init-folders
init-php -> init-keygen
base -> init-migrations
base -> init-mods
init-config-end -> init-mods
init-version-checks -> init-mods
init-mods -> init-mods-end
init-mods-package-install -> init-mods-end
init-mods -> init-mods-package-install
init-nginx-end -> init-nextcloud-config
init-samples -> init-nginx
init-permissions -> init-nginx-end
base -> init-os-end
init-version-checks -> init-nginx-end
init-adduser -> init-os-end
init-device-perms -> init-os-end
init-envfile -> init-os-end
init-migrations -> init-os-end
init-keygen -> init-permissions
init-nginx -> init-php
init-folders -> init-samples
init-custom-files -> init-services
init-mods-end -> init-services
init-config-end -> init-version-checks
init-permissions -> init-version-checks
init-services -> svc-cron
svc-cron -> legacy-services
init-services -> svc-nginx
@@ -140,11 +140,14 @@ init_diagram: |
svc-php-fpm -> legacy-services
}
Base Images: {
"baseimage-alpine-nginx:3.20" <- "baseimage-alpine:3.20"
"baseimage-alpine-nginx:3.22" <- "baseimage-alpine:3.22"
}
"nextcloud:latest" <- Base Images
# changelog
changelogs:
- {date: "10.07.25:", desc: "Rebase to Alpine 3.22."}
- {date: "12.02.25:", desc: "Rebase to Alpine 3.21."}
- {date: "09.01.25:", desc: "Fix uploading large files. Existing users should update their nginx confs."}
- {date: "09.07.24:", desc: "Add `previous` tag for n-1 releases."}
- {date: "24.06.24:", desc: "Rebase to Alpine 3.20. Existing users should update their nginx confs to avoid http2 deprecation warnings."}
- {date: "19.05.24:", desc: "Added util-linux package required for taskset."}
@@ -1,4 +1,4 @@
## Version 2024/07/16 - Changelog: https://github.com/linuxserver/docker-nextcloud/commits/master/root/defaults/nginx/site-confs/default.conf.sample
## Version 2025/07/10 - 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 {
@@ -11,6 +11,8 @@ server {
listen [::]:80 default_server;
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
listen 443 quic reuseport default_server;
listen [::]:443 quic reuseport default_server;
server_name _;
@@ -25,7 +27,7 @@ server {
# https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html#nextcloud-in-the-webroot-of-nginx
# set max upload size and increase upload timeout:
client_max_body_size 512M;
client_max_body_size 0;
client_body_timeout 300s;
fastcgi_buffers 64 4K;