mirror of
https://github.com/linuxserver/docker-nextcloud.git
synced 2026-06-03 09:57:35 +00:00
Compare commits
145 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cc54304aca | |||
| b75b58c26d | |||
| 9a51ddf4d0 | |||
| 087f1397ed | |||
| 6c1a89e936 | |||
| 5265411720 | |||
| b0b8a2cded | |||
| ee6658bdc0 | |||
| 0119f24aab | |||
| 1795161c0f | |||
| 05c55cdcb8 | |||
| c6eb2a710b | |||
| f712209adf | |||
| cd6d7be44c | |||
| 11b4d51abc | |||
| 4b09bd1d22 | |||
| 2841ac911d | |||
| 9a54966413 | |||
| ef78539aa8 | |||
| dd8a6470e0 | |||
| f8db376478 | |||
| d14531deb5 | |||
| fd8684d41f | |||
| 2a5f9d2b05 | |||
| 271f2d8937 | |||
| 5245b16b81 | |||
| 81aec3f457 | |||
| 68a9ef6d60 | |||
| 2b72530f8f | |||
| b37cc80fe0 | |||
| 90ae0699f7 | |||
| c55960faad | |||
| 3e9639bc9c | |||
| e49698776a | |||
| a988e18597 | |||
| d765d296e7 | |||
| 2b10bdeab4 | |||
| 71679df706 | |||
| 3d8e8ffd92 | |||
| 6bee23fa13 | |||
| 61c22a7270 | |||
| 8c560d9e81 | |||
| c7ba8dd567 | |||
| 349f723241 | |||
| a1c5a02841 | |||
| 41a1c80112 | |||
| c3811ffcd0 | |||
| 43464eac91 | |||
| b5e1ea428f | |||
| dd0693c9e2 | |||
| ed8c5b0703 | |||
| c2057ca1ed | |||
| 00b7ea5cb3 | |||
| 0ec959e8c7 | |||
| 6159545435 | |||
| df969acaaf | |||
| 08b3153c6c | |||
| e2f5a4881d | |||
| f46689ba0a | |||
| 0725c68408 | |||
| 1fb67f3cf0 | |||
| 2f2f584fb0 | |||
| 1247a815de | |||
| 8c6dafe518 | |||
| af856445db | |||
| 103f1d67c6 | |||
| b621b67f26 | |||
| 38d52211e9 | |||
| 6a2d868229 | |||
| ea707b9e5d | |||
| 5450bab38a | |||
| a9aaf78b30 | |||
| 716d6dbb2e | |||
| 930e6bb596 | |||
| d0b76f5482 | |||
| db360ca162 | |||
| 98da436987 | |||
| 76ab834a20 | |||
| b46c42cacf | |||
| ce900d8d8e | |||
| 8bdbbf982e | |||
| dec81a2751 | |||
| 1fde72fae4 | |||
| 21f0bce059 | |||
| 83d8ac703d | |||
| 7b5a4358b7 | |||
| e04f41c4a3 | |||
| fc3e3d2724 | |||
| a208935571 | |||
| 9e202081d7 | |||
| 2d602b0e46 | |||
| 8c1048c348 | |||
| 5bf22d2a8c | |||
| d05e5a7904 | |||
| 4ff83c7210 | |||
| d2ca43078a | |||
| 523b71f45c | |||
| 0f41399c9f | |||
| 72192aeb47 | |||
| fecf7673d6 | |||
| a39017cc73 | |||
| 2e2b3b9cf6 | |||
| e17cb4a648 | |||
| 1cbdb9f4e7 | |||
| 9d83dc0ece | |||
| 3abdcce7b0 | |||
| 05bafbb7b1 | |||
| 08449338b2 | |||
| 1cf1a7f450 | |||
| bfbe03b675 | |||
| 32117124ec | |||
| f10a2c5ebb | |||
| 65336aae28 | |||
| 5d472c622c | |||
| 33c48f4405 | |||
| 7ef7a7025d | |||
| e4058b48df | |||
| dbe6f269c5 | |||
| 5eeca64e8e | |||
| 8c3a38e0be | |||
| bd23955995 | |||
| fb7d5ec411 | |||
| 7aa8d56075 | |||
| 55012a2508 | |||
| f2aeaf922e | |||
| 87797a998c | |||
| 7251f37675 | |||
| e2cf4b7e1b | |||
| 6bd06be5b2 | |||
| 0dba137a29 | |||
| e150ec8200 | |||
| a6f3b90552 | |||
| ce8f20b1a0 | |||
| 1ed02051f3 | |||
| 8de888ed1e | |||
| 52caabe6e1 | |||
| abcb894240 | |||
| 70c4bd63f1 | |||
| a101ff6d14 | |||
| fbdf2b2eb3 | |||
| e3250f0107 | |||
| ed224e0523 | |||
| fa1225fd22 | |||
| 7e34d51683 | |||
| f1fb49429c |
@@ -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/previous/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/previous/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/previous/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
|
||||
|
||||
------------------------------
|
||||
|
||||
|
||||
@@ -7,31 +7,31 @@ permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
external-trigger-master:
|
||||
external-trigger-previous:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4.1.1
|
||||
|
||||
- name: External Trigger
|
||||
if: github.ref == 'refs/heads/master'
|
||||
if: github.ref == 'refs/heads/previous'
|
||||
env:
|
||||
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_previous_" <<< "${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 "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`nextcloud_previous_\`; will skip trigger if version matches." >> $GITHUB_STEP_SUMMARY
|
||||
elif grep -q "^nextcloud_previous" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`nextcloud_master\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`nextcloud_previous\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
|
||||
exit 0
|
||||
fi
|
||||
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> External trigger running off of master branch. To disable this trigger, add \`nextcloud_master\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $GITHUB_STEP_SUMMARY
|
||||
echo "> External trigger running off of previous branch. To disable this trigger, add \`nextcloud_previous\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $GITHUB_STEP_SUMMARY
|
||||
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)
|
||||
EXT_RELEASE=$(curl -u ${{ secrets.CR_USER }}:${{ secrets.CR_PAT }} -sX GET https://api.github.com/repos/nextcloud/server/releases | jq -r "first(.[] | select(.tag_name | contains($(( $(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' | awk -F '.' '{print $1}' | sort -rV | head -1) -1 ))|tostring ) and (contains( \"rc\" )|not)) | .tag_name)" | sed 's|^v||g')
|
||||
echo "Type is \`custom_version_command\`" >> $GITHUB_STEP_SUMMARY
|
||||
if grep -q "^nextcloud_master_${EXT_RELEASE}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||
if grep -q "^nextcloud_previous_${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
|
||||
@@ -39,7 +39,7 @@ jobs:
|
||||
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Can't retrieve external version, exiting" >> $GITHUB_STEP_SUMMARY
|
||||
FAILURE_REASON="Can't retrieve external version for nextcloud branch master"
|
||||
FAILURE_REASON="Can't retrieve external version for nextcloud branch previous"
|
||||
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"}],
|
||||
@@ -50,7 +50,7 @@ jobs:
|
||||
echo "Sanitized external version: \`${EXT_RELEASE_SANITIZED}\`" >> $GITHUB_STEP_SUMMARY
|
||||
echo "Retrieving last pushed version" >> $GITHUB_STEP_SUMMARY
|
||||
image="linuxserver/nextcloud"
|
||||
tag="latest"
|
||||
tag="previous"
|
||||
token=$(curl -sX GET \
|
||||
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fnextcloud%3Apull" \
|
||||
| jq -r '.token')
|
||||
@@ -96,7 +96,7 @@ jobs:
|
||||
if [ -z "${IMAGE_VERSION}" ]; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "Can't retrieve last pushed version, exiting" >> $GITHUB_STEP_SUMMARY
|
||||
FAILURE_REASON="Can't retrieve last pushed version for nextcloud tag latest"
|
||||
FAILURE_REASON="Can't retrieve last pushed version for nextcloud tag previous"
|
||||
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 }}
|
||||
@@ -106,14 +106,14 @@ jobs:
|
||||
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
|
||||
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/previous/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
|
||||
exit 0
|
||||
else
|
||||
if [[ "${artifacts_found}" == "false" ]]; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> New version detected, but not all artifacts are published yet; skipping trigger" >> $GITHUB_STEP_SUMMARY
|
||||
FAILURE_REASON="New version ${EXT_RELEASE} for nextcloud tag latest is detected, however not all artifacts are uploaded to upstream release yet. Will try again later."
|
||||
FAILURE_REASON="New version ${EXT_RELEASE} for nextcloud tag previous is detected, however not all artifacts are uploaded to upstream release yet. Will try again later."
|
||||
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
|
||||
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
|
||||
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||
@@ -124,7 +124,7 @@ jobs:
|
||||
echo "All artifacts seem to be uploaded." >> $GITHUB_STEP_SUMMARY
|
||||
fi
|
||||
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/previous/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'})" >> $GITHUB_STEP_SUMMARY
|
||||
echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY
|
||||
@@ -139,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_SANITIZED}"
|
||||
TRIGGER_REASON="A version change was detected for nextcloud tag previous. 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 }}
|
||||
|
||||
@@ -15,5 +15,5 @@ jobs:
|
||||
- uses: actions/first-interaction@v1
|
||||
with:
|
||||
issue-message: 'Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.'
|
||||
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)!'
|
||||
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-nextcloud/blob/previous/.github/PULL_REQUEST_TEMPLATE.md)!'
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
+3
-2
@@ -84,8 +84,9 @@ RUN \
|
||||
/app/www/src/ && \
|
||||
if [ -z ${NEXTCLOUD_RELEASE+x} ]; then \
|
||||
NEXTCLOUD_RELEASE=$(curl -sX GET https://api.github.com/repos/nextcloud/server/releases \
|
||||
| jq -r '.[] | select(.prerelease != true) | .tag_name' \
|
||||
| sed 's|^v||g' | sort -rV | head -1); \
|
||||
| jq -r "first(.[] | select(.tag_name | contains($(( $(curl -sX GET https://api.github.com/repos/nextcloud/server/releases/latest \
|
||||
| jq -r '.tag_name' | sed 's|^v||g' | awk -F '.' '{print $1}') -1 ))|tostring ) and (contains( \"rc\" )|not)) | .tag_name)" \
|
||||
| sed 's|^v||g'); \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/nextcloud.tar.bz2 -L \
|
||||
|
||||
+3
-2
@@ -84,8 +84,9 @@ RUN \
|
||||
/app/www/src/ && \
|
||||
if [ -z ${NEXTCLOUD_RELEASE+x} ]; then \
|
||||
NEXTCLOUD_RELEASE=$(curl -sX GET https://api.github.com/repos/nextcloud/server/releases \
|
||||
| jq -r '.[] | select(.prerelease != true) | .tag_name' \
|
||||
| sed 's|^v||g' | sort -rV | head -1); \
|
||||
| jq -r "first(.[] | select(.tag_name | contains($(( $(curl -sX GET https://api.github.com/repos/nextcloud/server/releases/latest \
|
||||
| jq -r '.tag_name' | sed 's|^v||g' | awk -F '.' '{print $1}') -1 ))|tostring ) and (contains( \"rc\" )|not)) | .tag_name)" \
|
||||
| sed 's|^v||g'); \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/nextcloud.tar.bz2 -L \
|
||||
|
||||
Vendored
+58
-58
@@ -78,7 +78,7 @@ pipeline {
|
||||
env.CI_TEST_ATTEMPTED = ''
|
||||
env.PUSH_ATTEMPTED = ''
|
||||
env.LS_RELEASE = sh(
|
||||
script: '''docker run --rm quay.io/skopeo/stable:v1 inspect docker://ghcr.io/${LS_USER}/${CONTAINER_NAME}:latest 2>/dev/null | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
|
||||
script: '''docker run --rm quay.io/skopeo/stable:v1 inspect docker://ghcr.io/${LS_USER}/${CONTAINER_NAME}:previous 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' ''',
|
||||
@@ -111,7 +111,7 @@ pipeline {
|
||||
script{
|
||||
env.LS_TAG_NUMBER = sh(
|
||||
script: '''#! /bin/bash
|
||||
tagsha=$(git rev-list -n 1 ${LS_RELEASE} 2>/dev/null)
|
||||
tagsha=$(git rev-list -n 1 previous-${LS_RELEASE} 2>/dev/null)
|
||||
if [ "${tagsha}" == "${COMMIT_SHA}" ]; then
|
||||
echo ${LS_RELEASE_NUMBER}
|
||||
elif [ -z "${GIT_COMMIT}" ]; then
|
||||
@@ -149,7 +149,7 @@ pipeline {
|
||||
steps{
|
||||
script{
|
||||
env.EXT_RELEASE = sh(
|
||||
script: ''' curl -sX GET https://api.github.com/repos/nextcloud/server/releases | jq -r '.[] | select(.prerelease != true) | .tag_name' | sed 's|^v||g' | sort -rV | head -1 ''',
|
||||
script: ''' curl -sX GET https://api.github.com/repos/nextcloud/server/releases | jq -r "first(.[] | select(.tag_name | contains($(( $(curl -sX GET https://api.github.com/repos/nextcloud/server/releases | jq -r '.[] | select(.prerelease != true) | .tag_name' | sed 's|^v||g' | awk -F '.' '{print $1}' | sort -rV | head -1) -1 ))|tostring ) and (contains( \\"rc\\" )|not)) | .tag_name)" | sed 's|^v||g' ''',
|
||||
returnStdout: true).trim()
|
||||
env.RELEASE_LINK = 'custom_command'
|
||||
}
|
||||
@@ -189,10 +189,10 @@ pipeline {
|
||||
}
|
||||
}
|
||||
}
|
||||
// If this is a master build use live docker endpoints
|
||||
// If this is a previous build use live docker endpoints
|
||||
stage("Set ENV live build"){
|
||||
when {
|
||||
branch "master"
|
||||
branch "previous"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
}
|
||||
steps {
|
||||
@@ -202,13 +202,13 @@ 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 + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
env.CI_TAGS = 'amd64-previous-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-previous-' + 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 = 'previous-' + 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 = 'previous-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
env.EXT_RELEASE_TAG = 'previous-version-' + env.EXT_RELEASE_CLEAN
|
||||
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
|
||||
env.CITEST_IMAGETAG = 'latest'
|
||||
}
|
||||
@@ -217,7 +217,7 @@ pipeline {
|
||||
// If this is a dev build use dev docker endpoints
|
||||
stage("Set ENV dev build"){
|
||||
when {
|
||||
not {branch "master"}
|
||||
not {branch "previous"}
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
}
|
||||
steps {
|
||||
@@ -227,13 +227,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 + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||
env.CI_TAGS = 'amd64-previous-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-previous-' + 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 = 'previous-' + 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 = 'previous-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||
env.EXT_RELEASE_TAG = 'previous-version-' + env.EXT_RELEASE_CLEAN
|
||||
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
|
||||
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
|
||||
env.CITEST_IMAGETAG = 'develop'
|
||||
@@ -252,13 +252,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 + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||
env.CI_TAGS = 'amd64-previous-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-previous-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||
} else {
|
||||
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||
env.CI_TAGS = 'previous-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||
}
|
||||
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
||||
env.META_TAG = 'previous-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||
env.EXT_RELEASE_TAG = 'previous-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/'
|
||||
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
|
||||
@@ -297,7 +297,7 @@ pipeline {
|
||||
// Use helper containers to render templated files
|
||||
stage('Update-Templates') {
|
||||
when {
|
||||
branch "master"
|
||||
branch "previous"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
expression {
|
||||
env.CONTAINER_NAME != null
|
||||
@@ -309,24 +309,24 @@ pipeline {
|
||||
TEMPDIR=$(mktemp -d)
|
||||
docker pull ghcr.io/linuxserver/jenkins-builder:latest
|
||||
# Cloned repo paths for templating:
|
||||
# ${TEMPDIR}/docker-${CONTAINER_NAME}: Cloned branch master of ${LS_USER}/${LS_REPO} for running the jenkins builder on
|
||||
# ${TEMPDIR}/repo/${LS_REPO}: Cloned branch master of ${LS_USER}/${LS_REPO} for commiting various templated file changes and pushing back to Github
|
||||
# ${TEMPDIR}/docker-${CONTAINER_NAME}: Cloned branch previous of ${LS_USER}/${LS_REPO} for running the jenkins builder on
|
||||
# ${TEMPDIR}/repo/${LS_REPO}: Cloned branch previous of ${LS_USER}/${LS_REPO} for commiting various templated file changes and pushing back to Github
|
||||
# ${TEMPDIR}/docs/docker-documentation: Cloned docs repo for pushing docs updates to Github
|
||||
# ${TEMPDIR}/unraid/docker-templates: Cloned docker-templates repo to check for logos
|
||||
# ${TEMPDIR}/unraid/templates: Cloned templates repo for commiting unraid template changes and pushing back to Github
|
||||
git clone --branch master --depth 1 https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||
git clone --branch previous --depth 1 https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||
docker run --rm -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/tmp -e LOCAL=true -e PUID=$(id -u) -e PGID=$(id -g) ghcr.io/linuxserver/jenkins-builder:latest
|
||||
echo "Starting Stage 1 - Jenkinsfile update"
|
||||
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
|
||||
mkdir -p ${TEMPDIR}/repo
|
||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
||||
cd ${TEMPDIR}/repo/${LS_REPO}
|
||||
git checkout -f master
|
||||
git checkout -f previous
|
||||
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
|
||||
git add Jenkinsfile
|
||||
git commit -m 'Bot Updating Templated Files'
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git previous
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git previous
|
||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
echo "Updating Jenkinsfile and exiting build, new one will trigger based on commit"
|
||||
rm -Rf ${TEMPDIR}
|
||||
@@ -345,13 +345,13 @@ 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 previous
|
||||
for i in ${TEMPLATES_TO_DELETE}; do
|
||||
git rm "${i}"
|
||||
done
|
||||
git commit -m 'Bot Updating Templated Files'
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git previous
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git previous
|
||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
echo "Deleting old/deprecated templates and exiting build, new one will trigger based on commit"
|
||||
rm -Rf ${TEMPDIR}
|
||||
@@ -366,20 +366,20 @@ pipeline {
|
||||
sed -i 's|^changelogs:|# init diagram\\ninit_diagram:\\n\\n# changelog\\nchangelogs:|' readme-vars.yml
|
||||
fi
|
||||
mkdir -p ${TEMPDIR}/d2
|
||||
docker run --rm -v ${TEMPDIR}/d2:/output -e PUID=$(id -u) -e PGID=$(id -g) -e RAW="true" ghcr.io/linuxserver/d2-builder:latest ${CONTAINER_NAME}:latest
|
||||
docker run --rm -v ${TEMPDIR}/d2:/output -e PUID=$(id -u) -e PGID=$(id -g) -e RAW="true" ghcr.io/linuxserver/d2-builder:latest ${CONTAINER_NAME}:previous
|
||||
ls -al ${TEMPDIR}/d2
|
||||
yq -ei ".init_diagram |= load_str(\\"${TEMPDIR}/d2/${CONTAINER_NAME}-latest.d2\\")" readme-vars.yml
|
||||
yq -ei ".init_diagram |= load_str(\\"${TEMPDIR}/d2/${CONTAINER_NAME}-previous.d2\\")" readme-vars.yml
|
||||
if [[ $(md5sum readme-vars.yml | cut -c1-8) != $(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/readme-vars.yml | cut -c1-8) ]]; then
|
||||
echo "'init_diagram' has been updated. Updating repo and exiting build, new one will trigger based on commit."
|
||||
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 previous
|
||||
cp ${WORKSPACE}/readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/readme-vars.yml
|
||||
git add readme-vars.yml
|
||||
git commit -m 'Bot Updating Templated Files'
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git previous
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git previous
|
||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
echo "Updating templates and exiting build, new one will trigger based on commit"
|
||||
rm -Rf ${TEMPDIR}
|
||||
@@ -396,7 +396,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 previous
|
||||
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
|
||||
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
|
||||
@@ -409,8 +409,8 @@ pipeline {
|
||||
fi
|
||||
git add readme-vars.yml ${TEMPLATED_FILES}
|
||||
git commit -m 'Bot Updating Templated Files'
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git previous
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git previous
|
||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
echo "Updating templates and exiting build, new one will trigger based on commit"
|
||||
rm -Rf ${TEMPDIR}
|
||||
@@ -511,7 +511,7 @@ pipeline {
|
||||
// Exit the build if the Templated files were just updated
|
||||
stage('Template-exit') {
|
||||
when {
|
||||
branch "master"
|
||||
branch "previous"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'FILES_UPDATED', value: 'true'
|
||||
expression {
|
||||
@@ -524,10 +524,10 @@ pipeline {
|
||||
}
|
||||
}
|
||||
}
|
||||
// If this is a master build check the S6 service file perms
|
||||
// If this is a previous build check the S6 service file perms
|
||||
stage("Check S6 Service file Permissions"){
|
||||
when {
|
||||
branch "master"
|
||||
branch "previous"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
}
|
||||
@@ -780,7 +780,7 @@ pipeline {
|
||||
// Take the image we just built and dump package versions for comparison
|
||||
stage('Update-packages') {
|
||||
when {
|
||||
branch "master"
|
||||
branch "previous"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
}
|
||||
@@ -803,14 +803,14 @@ 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 previous
|
||||
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
|
||||
cd ${TEMPDIR}/${LS_REPO}/
|
||||
wait
|
||||
git add package_versions.txt
|
||||
git commit -m 'Bot Updating Package Versions'
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git previous
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git previous
|
||||
echo "true" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
echo "Package tag updated, stopping build process"
|
||||
else
|
||||
@@ -828,7 +828,7 @@ pipeline {
|
||||
// Exit the build if the package file was just updated
|
||||
stage('PACKAGE-exit') {
|
||||
when {
|
||||
branch "master"
|
||||
branch "previous"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'PACKAGE_UPDATED', value: 'true'
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
@@ -842,7 +842,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 "previous"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'PACKAGE_UPDATED', value: 'false'
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
@@ -897,7 +897,7 @@ pipeline {
|
||||
-e DOCKER_LOGS_TIMEOUT=\"${CI_DELAY}\" \
|
||||
-e TAGS=\"${CI_TAGS}\" \
|
||||
-e META_TAG=\"${META_TAG}\" \
|
||||
-e RELEASE_TAG=\"latest\" \
|
||||
-e RELEASE_TAG=\"previous\" \
|
||||
-e PORT=\"${CI_PORT}\" \
|
||||
-e SSL=\"${CI_SSL}\" \
|
||||
-e BASE=\"${DIST_IMAGE}\" \
|
||||
@@ -940,7 +940,7 @@ pipeline {
|
||||
CACHEIMAGE=${i}
|
||||
fi
|
||||
done
|
||||
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${META_TAG} -t ${PUSHIMAGE}:latest -t ${PUSHIMAGE}:${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
||||
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${META_TAG} -t ${PUSHIMAGE}:previous -t ${PUSHIMAGE}:${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
||||
{ if [[ "${PUSHIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
||||
if [ -n "${SEMVER}" ]; then
|
||||
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
||||
@@ -976,9 +976,9 @@ pipeline {
|
||||
CACHEIMAGE=${i}
|
||||
fi
|
||||
done
|
||||
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${META_TAG} -t ${MANIFESTIMAGE}:amd64-latest -t ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
||||
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${META_TAG} -t ${MANIFESTIMAGE}:amd64-previous -t ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
||||
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
||||
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${META_TAG} -t ${MANIFESTIMAGE}:arm64v8-latest -t ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
||||
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${META_TAG} -t ${MANIFESTIMAGE}:arm64v8-previous -t ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
||||
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
||||
if [ -n "${SEMVER}" ]; then
|
||||
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
||||
@@ -988,7 +988,7 @@ pipeline {
|
||||
fi
|
||||
done
|
||||
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
|
||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest || \
|
||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:previous ${MANIFESTIMAGE}:amd64-previous ${MANIFESTIMAGE}:arm64v8-previous || \
|
||||
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} || \
|
||||
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
||||
@@ -1006,7 +1006,7 @@ pipeline {
|
||||
// If this is a public release tag it in the LS Github
|
||||
stage('Github-Tag-Push-Release') {
|
||||
when {
|
||||
branch "master"
|
||||
branch "previous"
|
||||
expression {
|
||||
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
}
|
||||
@@ -1022,21 +1022,21 @@ pipeline {
|
||||
else
|
||||
AUTO_RELEASE_NOTES=$(curl -fsL -H "Authorization: token ${GITHUB_TOKEN}" -H "Accept: application/vnd.github+json" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases/generate-notes \
|
||||
-d '{"tag_name":"'${META_TAG}'",\
|
||||
"target_commitish": "master"}' \
|
||||
"target_commitish": "previous"}' \
|
||||
| jq -r '.body' | sed 's|## What.s Changed||')
|
||||
fi
|
||||
echo "Pushing New tag for current commit ${META_TAG}"
|
||||
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 previous",\
|
||||
"type": "commit",\
|
||||
"tagger": {"name": "LinuxServer-CI","email": "ci@linuxserver.io","date": "'${GITHUB_DATE}'"}}'
|
||||
echo "Pushing New release for Tag"
|
||||
echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json
|
||||
jq -n \
|
||||
--arg tag_name "$META_TAG" \
|
||||
--arg target_commitish "master" \
|
||||
--arg target_commitish "previous" \
|
||||
--arg ci_url "${CI_URL:-N/A}" \
|
||||
--arg ls_notes "$AUTO_RELEASE_NOTES" \
|
||||
--arg remote_notes "$(cat releasebody.json)" \
|
||||
@@ -1046,7 +1046,7 @@ pipeline {
|
||||
"name": $tag_name,
|
||||
"body": ("**CI Report:**\\n\\n" + $ci_url + "\\n\\n**LinuxServer Changes:**\\n\\n" + $ls_notes + "\\n\\n**Remote Changes:**\\n\\n" + $remote_notes),
|
||||
"draft": false,
|
||||
"prerelease": false }' > releasebody.json.done
|
||||
"prerelease": true }' > 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
|
||||
'''
|
||||
}
|
||||
@@ -1054,14 +1054,14 @@ pipeline {
|
||||
// Add protection to the release branch
|
||||
stage('Github-Release-Branch-Protection') {
|
||||
when {
|
||||
branch "master"
|
||||
branch "previous"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
}
|
||||
steps {
|
||||
echo "Setting up protection for release branch master"
|
||||
echo "Setting up protection for release branch previous"
|
||||
sh '''#! /bin/bash
|
||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -X PUT https://api.github.com/repos/${LS_USER}/${LS_REPO}/branches/master/protection \
|
||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -X PUT https://api.github.com/repos/${LS_USER}/${LS_REPO}/branches/previous/protection \
|
||||
-d $(jq -c . << EOF
|
||||
{
|
||||
"required_status_checks": null,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- DO NOT EDIT THIS FILE MANUALLY -->
|
||||
<!-- Please read https://github.com/linuxserver/docker-nextcloud/blob/master/.github/CONTRIBUTING.md -->
|
||||
<!-- Please read https://github.com/linuxserver/docker-nextcloud/blob/previous/.github/CONTRIBUTING.md -->
|
||||
[](https://linuxserver.io)
|
||||
|
||||
[](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
|
||||
@@ -34,8 +34,8 @@ 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-tests.linuxserver.io/linuxserver/nextcloud/latest/index.html)
|
||||
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/previous/)
|
||||
[](https://ci-tests.linuxserver.io/linuxserver/nextcloud/previous/index.html)
|
||||
|
||||
[Nextcloud](https://nextcloud.com/) gives you access to all your files wherever you are.
|
||||
|
||||
@@ -47,7 +47,7 @@ Where are your photos and documents? With Nextcloud you pick a server of your ch
|
||||
|
||||
We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://distribution.github.io/distribution/spec/manifest-v2-2/#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
|
||||
|
||||
Simply pulling `lscr.io/linuxserver/nextcloud:latest` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
|
||||
Simply pulling `lscr.io/linuxserver/nextcloud:previous` 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:
|
||||
|
||||
@@ -143,7 +143,7 @@ To help you get started creating a container from this image you can either use
|
||||
---
|
||||
services:
|
||||
nextcloud:
|
||||
image: lscr.io/linuxserver/nextcloud:latest
|
||||
image: lscr.io/linuxserver/nextcloud:previous
|
||||
container_name: nextcloud
|
||||
environment:
|
||||
- PUID=1000
|
||||
@@ -169,7 +169,7 @@ docker run -d \
|
||||
-v /path/to/nextcloud/config:/config \
|
||||
-v /path/to/data:/data \
|
||||
--restart unless-stopped \
|
||||
lscr.io/linuxserver/nextcloud:latest
|
||||
lscr.io/linuxserver/nextcloud:previous
|
||||
```
|
||||
|
||||
## Parameters
|
||||
@@ -249,7 +249,7 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to
|
||||
* Image version number:
|
||||
|
||||
```bash
|
||||
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/nextcloud:latest
|
||||
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/nextcloud:previous
|
||||
```
|
||||
|
||||
## Updating Info
|
||||
@@ -297,7 +297,7 @@ Below are the instructions for updating containers:
|
||||
* Update the image:
|
||||
|
||||
```bash
|
||||
docker pull lscr.io/linuxserver/nextcloud:latest
|
||||
docker pull lscr.io/linuxserver/nextcloud:previous
|
||||
```
|
||||
|
||||
* Stop the running container:
|
||||
@@ -334,7 +334,7 @@ cd docker-nextcloud
|
||||
docker build \
|
||||
--no-cache \
|
||||
--pull \
|
||||
-t lscr.io/linuxserver/nextcloud:latest .
|
||||
-t lscr.io/linuxserver/nextcloud:previous .
|
||||
```
|
||||
|
||||
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`
|
||||
@@ -347,7 +347,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
||||
|
||||
## Versions
|
||||
|
||||
* **10.07.25:** - Rebase to Alpine 3.22.
|
||||
* **14.10.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.
|
||||
|
||||
+4
-4
@@ -3,10 +3,10 @@
|
||||
# jenkins variables
|
||||
project_name: docker-nextcloud
|
||||
external_type: na
|
||||
custom_version_command: "curl -sX GET https://api.github.com/repos/nextcloud/server/releases | jq -r '.[] | select(.prerelease != true) | .tag_name' | sed 's|^v||g' | sort -rV | head -1"
|
||||
release_type: stable
|
||||
release_tag: latest
|
||||
ls_branch: master
|
||||
custom_version_command: "curl -sX GET https://api.github.com/repos/nextcloud/server/releases | jq -r \"first(.[] | select(.tag_name | contains($(( $(curl -sX GET https://api.github.com/repos/nextcloud/server/releases | jq -r '.[] | select(.prerelease != true) | .tag_name' | sed 's|^v||g' | awk -F '.' '{print $1}' | sort -rV | head -1) -1 ))|tostring ) and (contains( \\\\\"rc\\\\\" )|not)) | .tag_name)\" | sed 's|^v||g'"
|
||||
release_type: prerelease
|
||||
release_tag: previous
|
||||
ls_branch: previous
|
||||
repo_vars:
|
||||
- BUILD_VERSION_ARG = 'NEXTCLOUD_RELEASE'
|
||||
- LS_USER = 'linuxserver'
|
||||
|
||||
+45
-47
@@ -1,14 +1,14 @@
|
||||
NAME VERSION TYPE
|
||||
Process Wrapper 0.0.0.0 binary (+1 duplicate)
|
||||
acl-libs 2.3.2-r1 apk
|
||||
activity 6.0.0-dev.0 npm
|
||||
activity 5.0.0-dev.0 npm
|
||||
agetty 2.41-r9 apk
|
||||
alpine-baselayout 3.7.0-r0 apk
|
||||
alpine-baselayout-data 3.7.0-r0 apk
|
||||
alpine-keys 2.5-r0 apk
|
||||
alpine-release 3.22.4-r0 apk
|
||||
alsa-lib 1.2.14-r0 apk
|
||||
amphp/amp v2.6.5 php-composer
|
||||
amphp/amp v2.6.4 php-composer
|
||||
amphp/byte-stream v1.8.2 php-composer
|
||||
amphp/parallel v1.4.4 php-composer
|
||||
amphp/parser v1.1.1 php-composer
|
||||
@@ -35,7 +35,7 @@ av1-grain 0.2.3 rust-crate
|
||||
avahi-libs 0.8-r21 apk
|
||||
aws/aws-crt-php v1.2.7 php-composer
|
||||
aws/aws-sdk-php 3.376.2 php-composer
|
||||
bamarni/composer-bin-plugin 1.8.3 php-composer
|
||||
bamarni/composer-bin-plugin 1.8.2 php-composer
|
||||
bantu/ini-get-wrapper v1.0.1 php-composer
|
||||
bash 5.2.37-r0 apk
|
||||
bitflags 2.4.1 rust-crate
|
||||
@@ -44,7 +44,7 @@ bitstream-io 2.6.0 rust-crate
|
||||
bitvec 1.0.1 rust-crate
|
||||
bitvec_helpers 3.1.6 rust-crate
|
||||
blkid 2.41-r9 apk
|
||||
brick/math 0.12.1 php-composer
|
||||
brick/math 0.13.1 php-composer
|
||||
brotli-libs 1.1.0-r2 apk
|
||||
busybox 1.37.0-r20 apk
|
||||
busybox-binsh 1.37.0-r20 apk
|
||||
@@ -104,11 +104,11 @@ ffmpeg-libpostproc 6.1.2-r2 apk
|
||||
ffmpeg-libswresample 6.1.2-r2 apk
|
||||
ffmpeg-libswscale 6.1.2-r2 apk
|
||||
fftw-double-libs 3.3.10-r6 apk
|
||||
files_downloadlimit 5.1.0-dev.0 npm
|
||||
files_pdfviewer 6.0.0-dev.0 npm
|
||||
files_downloadlimit 5.0.0-dev.0 npm
|
||||
files_pdfviewer 5.0.0 npm
|
||||
findmnt 2.41-r9 apk
|
||||
findutils 4.10.0-r0 apk
|
||||
firstrunwizard 6.0.0-dev.0 npm
|
||||
firstrunwizard 5.0.0-dev.0 npm
|
||||
flock 2.41-r9 apk
|
||||
fontconfig 2.15.0-r3 apk
|
||||
freetype 2.13.3-r0 apk
|
||||
@@ -121,7 +121,7 @@ gdk-pixbuf 2.42.12-r1 apk
|
||||
getrandom 0.2.12 rust-crate
|
||||
ghostscript 10.05.1-r0 apk
|
||||
giflib 5.2.2-r1 apk
|
||||
giggsey/libphonenumber-for-php-lite 9.0.9 php-composer
|
||||
giggsey/libphonenumber-for-php-lite 9.0.17 php-composer
|
||||
git 2.49.1-r0 apk
|
||||
git-init-template 2.49.1-r0 apk
|
||||
glib 2.84.4-r0 apk
|
||||
@@ -131,9 +131,9 @@ gnu-libiconv 1.17-r2 apk
|
||||
gnu-libiconv-libs 1.17-r2 apk
|
||||
gnutls 3.8.13-r0 apk
|
||||
graphite2 1.3.14-r6 apk
|
||||
guzzlehttp/guzzle 7.10.0 php-composer
|
||||
guzzlehttp/promises 2.3.0 php-composer
|
||||
guzzlehttp/psr7 2.8.0 php-composer
|
||||
guzzlehttp/guzzle 7.9.3 php-composer
|
||||
guzzlehttp/promises 2.2.0 php-composer
|
||||
guzzlehttp/psr7 2.7.1 php-composer
|
||||
guzzlehttp/uri-template v1.0.4 php-composer
|
||||
harfbuzz 11.2.1-r0 apk
|
||||
heck 0.4.1 rust-crate
|
||||
@@ -141,7 +141,7 @@ hexdump 2.41-r9 apk
|
||||
hexogen/kdtree v0.2.6 php-composer
|
||||
hwdata-pci 0.395-r0 apk
|
||||
icewind/searchdav v3.2.0 php-composer
|
||||
icewind/smb 3.8.1 php-composer
|
||||
icewind/smb v3.7.0 php-composer
|
||||
icewind/streams v0.7.8 php-composer
|
||||
icu-data-en 76.1-r1 apk
|
||||
icu-libs 76.1-r1 apk
|
||||
@@ -165,7 +165,7 @@ jansson 2.14.1-r0 apk
|
||||
jbig2dec 0.20-r0 apk
|
||||
joomla/string 3.0.4 php-composer
|
||||
jq 1.8.1-r0 apk
|
||||
justinrainbow/json-schema 6.6.4 php-composer
|
||||
justinrainbow/json-schema 6.4.2 php-composer
|
||||
kornrunner/blurhash v1.2.2 php-composer
|
||||
lab 0.11.0 rust-crate
|
||||
lame-libs 3.100-r5 apk
|
||||
@@ -277,7 +277,7 @@ linux-raw-sys 0.4.12 rust-crate
|
||||
lmdb 0.9.33-r0 apk
|
||||
log 0.4.20 rust-crate
|
||||
logger 2.41-r9 apk
|
||||
logreader 6.0.0 npm
|
||||
logreader 5.0.0 npm
|
||||
logrotate 3.21.0-r1 apk
|
||||
losetup 2.41-r9 apk
|
||||
lsblk 2.41-r9 apk
|
||||
@@ -293,7 +293,7 @@ mexitek/phpcolors v1.0.4 php-composer
|
||||
microsoft/azure-storage-blob 1.5.4 php-composer
|
||||
microsoft/azure-storage-common 1.5.2 php-composer
|
||||
minimal-lexical 0.2.1 rust-crate
|
||||
mlocati/ip-lib 1.22.0 php-composer
|
||||
mlocati/ip-lib 1.20.0 php-composer
|
||||
mount 2.41-r9 apk
|
||||
mpg123-libs 1.32.10-r0 apk
|
||||
mtdowling/jmespath.php 2.8.0 php-composer
|
||||
@@ -301,17 +301,16 @@ musl 1.2.5-r12 apk
|
||||
musl-utils 1.2.5-r12 apk
|
||||
nano 8.4-r0 apk
|
||||
ncurses-terminfo-base 6.5_p20250503-r0 apk
|
||||
nelexa/buffer 1.3.0 php-composer
|
||||
netcat-openbsd 1.229.1-r0 apk
|
||||
nettle 3.10.2-r0 apk
|
||||
new_debug_unreachable 1.0.4 rust-crate
|
||||
nextcloud 1.0.0 npm
|
||||
nextcloud/lognormalizer v3.0.1 php-composer
|
||||
nextcloud/lognormalizer v1.0.0 php-composer
|
||||
nghttp2-libs 1.69.0-r0 apk
|
||||
nginx 1.28.3-r2 apk
|
||||
nom 7.1.3 rust-crate
|
||||
noop_proc_macro 0.3.0 rust-crate
|
||||
notifications 6.0.0-dev.0 npm
|
||||
notifications 5.0.0-dev.0 npm
|
||||
num-bigint 0.4.4 rust-crate
|
||||
num-derive 0.4.1 rust-crate
|
||||
num-integer 0.1.45 rust-crate
|
||||
@@ -331,16 +330,16 @@ opus 1.5.2-r1 apk
|
||||
orc 0.4.40-r1 apk
|
||||
p11-kit 0.25.5-r2 apk
|
||||
pango 1.56.3-r0 apk
|
||||
paragonie/constant_time_encoding v2.6.3 php-composer
|
||||
paragonie/constant_time_encoding v3.1.3 php-composer
|
||||
partx 2.41-r9 apk
|
||||
password_policy 5.0.0-dev.0 npm
|
||||
password_policy 4.0.0-dev.0 npm
|
||||
paste 1.0.14 rust-crate
|
||||
pcre2 10.46-r0 apk
|
||||
pear/archive_tar 1.5.0 php-composer
|
||||
pear/console_getopt v1.4.3 php-composer
|
||||
pear/pear-core-minimal v1.10.16 php-composer
|
||||
pear/pear_exception v1.0.2 php-composer
|
||||
photos 6.0.0-dev.0 npm
|
||||
photos 5.0.0-dev.1 npm
|
||||
php-http/guzzle7-adapter 1.1.0 php-composer
|
||||
php-http/httplug 2.4.1 php-composer
|
||||
php-http/promise 1.3.1 php-composer
|
||||
@@ -392,12 +391,12 @@ php84-xmlreader 8.4.16-r0 apk
|
||||
php84-xmlwriter 8.4.16-r0 apk
|
||||
php84-zip 8.4.16-r0 apk
|
||||
phpseclib/phpseclib 2.0.53 php-composer
|
||||
pimple/pimple v3.6.0 php-composer
|
||||
pimple/pimple v3.5.0 php-composer
|
||||
pixman 0.46.4-r0 apk
|
||||
pkgconf 2.4.3-r0 apk
|
||||
popt 1.19-r4 apk
|
||||
ppv-lite86 0.2.17 rust-crate
|
||||
privacy 5.0.0-dev.0 npm
|
||||
privacy 4.0.0-dev.0 npm
|
||||
proc-macro2 1.0.76 rust-crate
|
||||
procps-ng 4.0.4-r3 apk
|
||||
profiling 1.0.13 rust-crate
|
||||
@@ -422,9 +421,9 @@ rav1e-libs 0.7.1-r2 apk
|
||||
rayon 1.8.0 rust-crate
|
||||
rayon-core 1.12.0 rust-crate
|
||||
readline 8.2.13-r1 apk
|
||||
recommendations 6.0.0-dev.0 npm
|
||||
recommendations 5.0.0-dev.0 npm
|
||||
rsync 3.4.3-r0 apk
|
||||
rubix/ml 2.5.3 php-composer
|
||||
rubix/ml 2.5.2 php-composer
|
||||
rubix/tensor 3.0.5 php-composer
|
||||
rullzer/easytotp v0.1.4 php-composer
|
||||
runuser 2.41-r9 apk
|
||||
@@ -459,50 +458,50 @@ sord-libs 0.16.18-r0 apk
|
||||
soxr 0.1.3-r7 apk
|
||||
speexdsp 1.2.1-r2 apk
|
||||
spirv-tools 1.4.313.0-r0 apk
|
||||
spomky-labs/cbor-php 3.0.4 php-composer
|
||||
spomky-labs/pki-framework 1.2.1 php-composer
|
||||
spomky-labs/cbor-php 3.2.2 php-composer
|
||||
spomky-labs/pki-framework 1.4.0 php-composer
|
||||
sqlite-libs 3.49.2-r1 apk
|
||||
sratom 0.6.18-r0 apk
|
||||
ssl_client 1.37.0-r20 apk
|
||||
stecman/symfony-console-completion v0.14.0 php-composer
|
||||
sudo 1.9.17_p2-r0 apk
|
||||
support 5.0.0-dev.0 npm
|
||||
support 4.0.0-dev.0 npm
|
||||
symfony/console v6.4.32 php-composer
|
||||
symfony/css-selector v6.4.24 php-composer
|
||||
symfony/css-selector v6.4.13 php-composer
|
||||
symfony/deprecation-contracts v3.6.0 php-composer (+1 duplicate)
|
||||
symfony/dom-crawler v6.4.32 php-composer
|
||||
symfony/dom-crawler v6.4.23 php-composer
|
||||
symfony/event-dispatcher v6.4.32 php-composer
|
||||
symfony/event-dispatcher-contracts v3.5.1 php-composer
|
||||
symfony/filesystem v7.4.0 php-composer
|
||||
symfony/http-foundation v6.4.33 php-composer
|
||||
symfony/event-dispatcher-contracts v3.6.0 php-composer
|
||||
symfony/filesystem v6.4.30 php-composer
|
||||
symfony/http-foundation v6.4.32 php-composer
|
||||
symfony/mailer v6.4.31 php-composer
|
||||
symfony/mime v6.4.32 php-composer
|
||||
symfony/polyfill-intl-grapheme v1.32.0 php-composer
|
||||
symfony/polyfill-intl-idn v1.32.0 php-composer
|
||||
symfony/polyfill-intl-grapheme v1.33.0 php-composer
|
||||
symfony/polyfill-intl-idn v1.33.0 php-composer
|
||||
symfony/polyfill-intl-normalizer v1.33.0 php-composer
|
||||
symfony/polyfill-mbstring v1.31.0 php-composer
|
||||
symfony/polyfill-php80 v1.31.0 php-composer
|
||||
symfony/polyfill-php82 v1.31.0 php-composer
|
||||
symfony/polyfill-php82 v1.32.0 php-composer
|
||||
symfony/polyfill-php83 v1.31.0 php-composer
|
||||
symfony/polyfill-php83 v1.33.0 php-composer
|
||||
symfony/polyfill-php84 v1.33.0 php-composer (+1 duplicate)
|
||||
symfony/polyfill-php85 v1.33.0 php-composer
|
||||
symfony/polyfill-uuid v1.29.0 php-composer
|
||||
symfony/polyfill-php84 v1.32.0 php-composer
|
||||
symfony/polyfill-uuid v1.33.0 php-composer
|
||||
symfony/process v6.4.33 php-composer
|
||||
symfony/routing v6.4.32 php-composer
|
||||
symfony/service-contracts v3.5.1 php-composer
|
||||
symfony/service-contracts v3.6.1 php-composer
|
||||
symfony/string v6.4.30 php-composer
|
||||
symfony/translation v6.4.32 php-composer
|
||||
symfony/translation-contracts v3.4.3 php-composer
|
||||
symfony/uid v6.4.32 php-composer
|
||||
symfony/translation-contracts v3.6.1 php-composer
|
||||
symfony/uid v6.4.24 php-composer
|
||||
syn 2.0.48 rust-crate
|
||||
talloc 2.4.2-r1 apk
|
||||
tap 1.0.1 rust-crate
|
||||
tdb-libs 1.4.12-r0 apk
|
||||
teams 33.0.0-dev.0 npm
|
||||
teams 32.0.0 npm
|
||||
terminal_size 0.3.0 rust-crate
|
||||
tevent 0.16.1-r0 apk
|
||||
text 7.0.0-dev.1 npm
|
||||
text 6.0.0 npm
|
||||
thiserror 1.0.56 rust-crate
|
||||
thiserror-impl 1.0.56 rust-crate
|
||||
tiff 4.7.1-r0 apk
|
||||
@@ -519,15 +518,14 @@ uuidgen 2.41-r9 apk
|
||||
v4l-utils-libs 1.28.1-r1 apk
|
||||
v_frame 0.3.7 rust-crate
|
||||
vidstab 1.1.1-r0 apk
|
||||
viewer 6.0.0-dev.0 npm
|
||||
viewer 5.0.0-dev.0 npm
|
||||
vulkan-loader 1.4.313.0-r0 apk
|
||||
wamania/php-stemmer v4.0.0 php-composer
|
||||
wapmorgan/mp3info 0.1.1 php-composer
|
||||
wayland-libs-client 1.23.1-r3 apk
|
||||
web-auth/cose-lib 4.3.0 php-composer
|
||||
web-auth/webauthn-lib 4.9.1 php-composer
|
||||
web-auth/cose-lib 4.4.2 php-composer
|
||||
web-auth/webauthn-lib 4.9.2 php-composer
|
||||
wipefs 2.41-r9 apk
|
||||
woltlab/webp-exif v0.1.2 php-composer
|
||||
wyz 0.5.1 rust-crate
|
||||
x264-libs 0.164.3108-r0 apk
|
||||
x265-libs 3.6-r0 apk
|
||||
|
||||
+3
-4
@@ -9,7 +9,6 @@ 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"}
|
||||
@@ -93,7 +92,7 @@ app_setup_block: |
|
||||
Afterwards, you can set `"path" => OC::$SERVERROOT . "/your_custom_apps_folder",` in your `config.php` file, per the [official documentation](https://docs.nextcloud.com/server/latest/admin_manual/apps_management.html#using-custom-app-directories).
|
||||
# init diagram
|
||||
init_diagram: |
|
||||
"nextcloud:latest": {
|
||||
"nextcloud:previous": {
|
||||
docker-mods
|
||||
base {
|
||||
fix-attr +\nlegacy cont-init
|
||||
@@ -142,10 +141,10 @@ init_diagram: |
|
||||
Base Images: {
|
||||
"baseimage-alpine-nginx:3.22" <- "baseimage-alpine:3.22"
|
||||
}
|
||||
"nextcloud:latest" <- Base Images
|
||||
"nextcloud:previous" <- Base Images
|
||||
# changelog
|
||||
changelogs:
|
||||
- {date: "10.07.25:", desc: "Rebase to Alpine 3.22."}
|
||||
- {date: "14.10.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."}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
## Version 2025/07/10 - Changelog: https://github.com/linuxserver/docker-nextcloud/commits/master/root/defaults/nginx/site-confs/default.conf.sample
|
||||
## Version 2025/10/14 - Changelog: https://github.com/linuxserver/docker-nextcloud/commits/previous/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 {
|
||||
|
||||
Reference in New Issue
Block a user