mirror of
https://github.com/linuxserver/docker-nextcloud.git
synced 2026-02-19 23:03:50 +08:00
Compare commits
263 Commits
develop-33
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8fae3e345e | ||
|
|
a2c404e1d0 | ||
|
|
c4aa3dcfc6 | ||
|
|
5c847640a7 | ||
|
|
a8acf603c0 | ||
|
|
a9986202f1 | ||
|
|
d5a0616a8a | ||
|
|
bfff824b96 | ||
|
|
a4dd1518ac | ||
|
|
2a86ae1b51 | ||
|
|
aa7d6d7a30 | ||
|
|
26621e6978 | ||
|
|
29bfdd6179 | ||
|
|
02e04c7ca1 | ||
|
|
02d3e63b31 | ||
|
|
7c15a6afbc | ||
|
|
71f2e451cc | ||
|
|
57be47db06 | ||
|
|
d4dd78e5f1 | ||
|
|
fbe6911d45 | ||
|
|
7fb8d5e6c5 | ||
|
|
38c245c3e1 | ||
|
|
caa56c3a65 | ||
|
|
9262ce5918 | ||
|
|
0ec1e0771c | ||
|
|
01d2d796a5 | ||
|
|
5bbba7a2c2 | ||
|
|
bf3466672a | ||
|
|
c5374df7f1 | ||
|
|
603a1aafe6 | ||
|
|
eddb0ba07f | ||
|
|
1a9a5623d2 | ||
|
|
649671afc4 | ||
|
|
8521a9ecc7 | ||
|
|
5a0612cea0 | ||
|
|
94992dd964 | ||
|
|
8f2cd9f8c7 | ||
|
|
b856b47daf | ||
|
|
33f1dfb183 | ||
|
|
49ce9438c0 | ||
|
|
655d40c59e | ||
|
|
418e949aba | ||
|
|
8669c16c13 | ||
|
|
ad3ae9d34b | ||
|
|
4e0503e90c | ||
|
|
7d1f2a6b62 | ||
|
|
345954fdb7 | ||
|
|
5b240d5fc7 | ||
|
|
44a7602f64 | ||
|
|
69f5ae1999 | ||
|
|
2a6f636744 | ||
|
|
2d8f3930d0 | ||
|
|
681e00336d | ||
|
|
8de43f9a23 | ||
|
|
d14698f41d | ||
|
|
474583b339 | ||
|
|
efd03d46ee | ||
|
|
9c0a1c7d1b | ||
|
|
d01e9b2612 | ||
|
|
fd06c9519e | ||
|
|
9631b6ec5e | ||
|
|
bb4c8ad9f1 | ||
|
|
268bc6961d | ||
|
|
58db8a85ca | ||
|
|
71dca7428b | ||
|
|
f4bc3e7222 | ||
|
|
c97e312e06 | ||
|
|
11982b1c3a | ||
|
|
ced40a2cbc | ||
|
|
e9bdab6b93 | ||
|
|
fe020f818e | ||
|
|
b44f846924 | ||
|
|
72823c6b9e | ||
|
|
3db6a0078d | ||
|
|
3670492ab3 | ||
|
|
509d654794 | ||
|
|
a1006f0a13 | ||
|
|
35a4c7de2a | ||
|
|
0b2b251297 | ||
|
|
b6207b22c9 | ||
|
|
b8db8a0ecf | ||
|
|
8f3559e81b | ||
|
|
6ba88a65a7 | ||
|
|
342be688a3 | ||
|
|
d607b5ef14 | ||
|
|
b4ff591a39 | ||
|
|
021caf5d06 | ||
|
|
343a22781f | ||
|
|
34ea4ee05c | ||
|
|
6f0895b8e7 | ||
|
|
6da40f7e57 | ||
|
|
3363ae1d84 | ||
|
|
dfad39fe24 | ||
|
|
5e30c0d249 | ||
|
|
9301b0fc65 | ||
|
|
8dd00ede1f | ||
|
|
d756aa7704 | ||
|
|
df4d11205d | ||
|
|
191079344a | ||
|
|
fb0465fec5 | ||
|
|
8b0fa3ab28 | ||
|
|
05689ae4b6 | ||
|
|
e5b3ef46f6 | ||
|
|
01f12ba9b4 | ||
|
|
1474664b72 | ||
|
|
c262e49bda | ||
|
|
8a51a26d73 | ||
|
|
85086e56c0 | ||
|
|
d3fe0c090d | ||
|
|
25428d08c7 | ||
|
|
328a31e86a | ||
|
|
3538d04f49 | ||
|
|
e3cf74e961 | ||
|
|
d8bcbb32cd | ||
|
|
dd3ab43349 | ||
|
|
6bea89c0dd | ||
|
|
313ba13796 | ||
|
|
7db57450af | ||
|
|
a72a83b207 | ||
|
|
bebf7a88c4 | ||
|
|
e985d027d9 | ||
|
|
f7c3c1c4b9 | ||
|
|
0972392034 | ||
|
|
47a0b290ab | ||
|
|
c47352aa01 | ||
|
|
4b20e88109 | ||
|
|
c045c2cfe4 | ||
|
|
05c9088a9c | ||
|
|
bb618184c9 | ||
|
|
2e8ea2cd8a | ||
|
|
9d9e6ac736 | ||
|
|
9c35ccc9c3 | ||
|
|
7c83ac3ae8 | ||
|
|
ec446daf59 | ||
|
|
ee0f0ba1da | ||
|
|
14ed393810 | ||
|
|
7bf3ea8641 | ||
|
|
da6033ad1a | ||
|
|
c7d16fd78d | ||
|
|
b09792001d | ||
|
|
dafdd3d0ef | ||
|
|
0fec1e2d1f | ||
|
|
a1efdbff95 | ||
|
|
1b21aa9752 | ||
|
|
82d3ce42f5 | ||
|
|
1c717ed2d3 | ||
|
|
a9b4b64147 | ||
|
|
1f8d395d78 | ||
|
|
d520caca1d | ||
|
|
02d627ff88 | ||
|
|
035711f3e7 | ||
|
|
f72ad27864 | ||
|
|
0281fd2f76 | ||
|
|
2273a0b3fc | ||
|
|
923c3301ae | ||
|
|
afc2c65ba0 | ||
|
|
1bdc3ce934 | ||
|
|
4c43010214 | ||
|
|
6d784f8cc4 | ||
|
|
d8d98c708c | ||
|
|
1b5d3ee8f8 | ||
|
|
195ba6d634 | ||
|
|
5e54e9ed78 | ||
|
|
c9de3ee13f | ||
|
|
5905985884 | ||
|
|
80a6a72a2e | ||
|
|
94059f4f8c | ||
|
|
f3a23468b8 | ||
|
|
17e9b76ae2 | ||
|
|
69c818dfe9 | ||
|
|
8f491be450 | ||
|
|
1976901a43 | ||
|
|
12d3825554 | ||
|
|
aec8824238 | ||
|
|
86795c1bd5 | ||
|
|
92dd23b49b | ||
|
|
1dbeb4a006 | ||
|
|
6785c9836e | ||
|
|
2313c84a2f | ||
|
|
f390f10da9 | ||
|
|
12ac2da8ea | ||
|
|
a7c3e50f35 | ||
|
|
831ce18af1 | ||
|
|
787055f100 | ||
|
|
a5387e7e93 | ||
|
|
a433a93be4 | ||
|
|
2fe4e7f4dd | ||
|
|
c5113c09c3 | ||
|
|
975e20b305 | ||
|
|
a9a42c6dd3 | ||
|
|
e610ba336a | ||
|
|
c132755dc2 | ||
|
|
9e19c87fb6 | ||
|
|
195b4b9f84 | ||
|
|
3df9fb301a | ||
|
|
643222817f | ||
|
|
cd1f5c8f3e | ||
|
|
2d4551b309 | ||
|
|
360dce038d | ||
|
|
ca6cd4b47e | ||
|
|
4030be8278 | ||
|
|
6b9d8e456a | ||
|
|
760894a4fb | ||
|
|
2d7a5594b7 | ||
|
|
8cff1cf999 | ||
|
|
883ffed0d8 | ||
|
|
6a22255425 | ||
|
|
4e037eca94 | ||
|
|
210ce02e22 | ||
|
|
144d576909 | ||
|
|
9895069283 | ||
|
|
ca1ef7f8aa | ||
|
|
1dc7711ecb | ||
|
|
35de5f814c | ||
|
|
9f23faeab3 | ||
|
|
22f9e84444 | ||
|
|
1b0600d3cc | ||
|
|
20c6337958 | ||
|
|
07a04516b1 | ||
|
|
5abf9b3d36 | ||
|
|
1a559c9893 | ||
|
|
fa511a6f7b | ||
|
|
ceb60ef76b | ||
|
|
ba7913a764 | ||
|
|
d3698ce2e6 | ||
|
|
c2d8366bfb | ||
|
|
052617f0b8 | ||
|
|
fa870cb93c | ||
|
|
47204a2368 | ||
|
|
11aedff334 | ||
|
|
04b088162e | ||
|
|
41ed12bc46 | ||
|
|
9e8419179c | ||
|
|
56206810af | ||
|
|
0794dc7b87 | ||
|
|
7e18efc6d5 | ||
|
|
4636a2ef5f | ||
|
|
bb421a0d33 | ||
|
|
fd22973a29 | ||
|
|
186e5194f5 | ||
|
|
7e18f6f27d | ||
|
|
b7d9f30b0d | ||
|
|
64922d3839 | ||
|
|
05e5c8363a | ||
|
|
2ecd6cb8d9 | ||
|
|
1cce29259a | ||
|
|
8e3018012d | ||
|
|
12810033bf | ||
|
|
5f37ac0862 | ||
|
|
b92694d865 | ||
|
|
6f2ac537d5 | ||
|
|
3accfcac32 | ||
|
|
c93fe11b13 | ||
|
|
330bf2caca | ||
|
|
9ac9165b38 | ||
|
|
a116d0836b | ||
|
|
2e9769050c | ||
|
|
76d3af10c2 | ||
|
|
87ab71daba | ||
|
|
8263ebe714 | ||
|
|
61cacaaa92 | ||
|
|
1585ba556b | ||
|
|
8e868b8471 |
4
.github/CONTRIBUTING.md
vendored
4
.github/CONTRIBUTING.md
vendored
@ -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/develop/readme-vars.yml).
|
||||
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-nextcloud/edit/master/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/develop/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/master/root), add an entry to the changelog
|
||||
|
||||
```yml
|
||||
changelogs:
|
||||
|
||||
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -21,7 +21,7 @@
|
||||
|
||||
------------------------------
|
||||
|
||||
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-nextcloud/blob/develop/.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/master/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
|
||||
|
||||
------------------------------
|
||||
|
||||
|
||||
32
.github/workflows/external_trigger.yml
vendored
32
.github/workflows/external_trigger.yml
vendored
@ -7,31 +7,31 @@ permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
external-trigger-develop:
|
||||
external-trigger-master:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4.1.1
|
||||
|
||||
- name: External Trigger
|
||||
if: github.ref == 'refs/heads/develop'
|
||||
if: github.ref == 'refs/heads/master'
|
||||
env:
|
||||
SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }}
|
||||
run: |
|
||||
printf "# External trigger for docker-nextcloud\n\n" >> $GITHUB_STEP_SUMMARY
|
||||
if grep -q "^nextcloud_develop_" <<< "${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_develop_\`; will skip trigger if version matches." >> $GITHUB_STEP_SUMMARY
|
||||
elif grep -q "^nextcloud_develop" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||
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_develop\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`nextcloud_master\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
|
||||
exit 0
|
||||
fi
|
||||
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> External trigger running off of develop branch. To disable this trigger, add \`nextcloud_develop\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $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
|
||||
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 '.[] | 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_develop_${EXT_RELEASE}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||
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
|
||||
@ -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 develop"
|
||||
FAILURE_REASON="Can't retrieve external version for nextcloud branch master"
|
||||
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="develop"
|
||||
tag="latest"
|
||||
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 develop"
|
||||
FAILURE_REASON="Can't retrieve last pushed version for nextcloud tag latest"
|
||||
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/develop/lastBuild/api/json | jq -r '.building') == "true" ]; then
|
||||
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
|
||||
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 develop 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 latest 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/develop/buildWithParameters?PACKAGE_CHECK=false \
|
||||
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/master/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 develop. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE_SANITIZED}"
|
||||
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 }}
|
||||
|
||||
2
.github/workflows/greetings.yml
vendored
2
.github/workflows/greetings.yml
vendored
@ -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/develop/.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/master/.github/PULL_REQUEST_TEMPLATE.md)!'
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
@ -18,6 +18,9 @@ RUN \
|
||||
ffmpeg \
|
||||
gnu-libiconv \
|
||||
imagemagick \
|
||||
imagemagick-heic \
|
||||
imagemagick-pdf \
|
||||
imagemagick-svg \
|
||||
libxml2 \
|
||||
php84-apcu \
|
||||
php84-bcmath \
|
||||
@ -47,6 +50,7 @@ RUN \
|
||||
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/php84/php-fpm.d/www.conf && \
|
||||
@ -80,12 +84,12 @@ 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' \
|
||||
| jq -r '.[] | select(.prerelease != true) | .tag_name' \
|
||||
| sed 's|^v||g' | sort -rV | head -1); \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/nextcloud.tar.bz2 -L \
|
||||
https://download.nextcloud.com/server/prereleases/nextcloud-${NEXTCLOUD_RELEASE}.tar.bz2 && \
|
||||
https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_RELEASE}.tar.bz2 && \
|
||||
tar xf /tmp/nextcloud.tar.bz2 -C \
|
||||
/app/www/src --strip-components=1 && \
|
||||
rm -rf /app/www/src/updater && \
|
||||
|
||||
@ -18,6 +18,9 @@ RUN \
|
||||
ffmpeg \
|
||||
gnu-libiconv \
|
||||
imagemagick \
|
||||
imagemagick-heic \
|
||||
imagemagick-pdf \
|
||||
imagemagick-svg \
|
||||
libxml2 \
|
||||
php84-apcu \
|
||||
php84-bcmath \
|
||||
@ -47,6 +50,7 @@ RUN \
|
||||
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/php84/php-fpm.d/www.conf && \
|
||||
@ -80,12 +84,12 @@ 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' \
|
||||
| jq -r '.[] | select(.prerelease != true) | .tag_name' \
|
||||
| sed 's|^v||g' | sort -rV | head -1); \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/nextcloud.tar.bz2 -L \
|
||||
https://download.nextcloud.com/server/prereleases/nextcloud-${NEXTCLOUD_RELEASE}.tar.bz2 && \
|
||||
https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_RELEASE}.tar.bz2 && \
|
||||
tar xf /tmp/nextcloud.tar.bz2 -C \
|
||||
/app/www/src --strip-components=1 && \
|
||||
rm -rf /app/www/src/updater && \
|
||||
|
||||
116
Jenkinsfile
vendored
116
Jenkinsfile
vendored
@ -76,7 +76,7 @@ pipeline {
|
||||
script{
|
||||
env.EXIT_STATUS = ''
|
||||
env.LS_RELEASE = sh(
|
||||
script: '''docker run --rm quay.io/skopeo/stable:v1 inspect docker://ghcr.io/${LS_USER}/${CONTAINER_NAME}:develop 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}:latest 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' ''',
|
||||
@ -109,7 +109,7 @@ pipeline {
|
||||
script{
|
||||
env.LS_TAG_NUMBER = sh(
|
||||
script: '''#! /bin/bash
|
||||
tagsha=$(git rev-list -n 1 develop-${LS_RELEASE} 2>/dev/null)
|
||||
tagsha=$(git rev-list -n 1 ${LS_RELEASE} 2>/dev/null)
|
||||
if [ "${tagsha}" == "${COMMIT_SHA}" ]; then
|
||||
echo ${LS_RELEASE_NUMBER}
|
||||
elif [ -z "${GIT_COMMIT}" ]; then
|
||||
@ -147,7 +147,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 '.[] | select(.prerelease != true) | .tag_name' | sed 's|^v||g' | sort -rV | head -1 ''',
|
||||
returnStdout: true).trim()
|
||||
env.RELEASE_LINK = 'custom_command'
|
||||
}
|
||||
@ -187,10 +187,10 @@ pipeline {
|
||||
}
|
||||
}
|
||||
}
|
||||
// If this is a develop build use live docker endpoints
|
||||
// If this is a master build use live docker endpoints
|
||||
stage("Set ENV live build"){
|
||||
when {
|
||||
branch "develop"
|
||||
branch "master"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
}
|
||||
steps {
|
||||
@ -200,13 +200,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-develop-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-develop-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
} else {
|
||||
env.CI_TAGS = 'develop-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
}
|
||||
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
env.META_TAG = 'develop-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
env.EXT_RELEASE_TAG = 'develop-version-' + env.EXT_RELEASE_CLEAN
|
||||
env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
env.EXT_RELEASE_TAG = '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'
|
||||
}
|
||||
@ -215,7 +215,7 @@ pipeline {
|
||||
// If this is a dev build use dev docker endpoints
|
||||
stage("Set ENV dev build"){
|
||||
when {
|
||||
not {branch "develop"}
|
||||
not {branch "master"}
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
}
|
||||
steps {
|
||||
@ -225,13 +225,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-develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||
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
|
||||
} else {
|
||||
env.CI_TAGS = 'develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||
env.CI_TAGS = 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 = 'develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||
env.EXT_RELEASE_TAG = 'develop-version-' + env.EXT_RELEASE_CLEAN
|
||||
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.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'
|
||||
@ -250,13 +250,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-develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||
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
|
||||
} else {
|
||||
env.CI_TAGS = 'develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||
env.CI_TAGS = 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 = 'develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||
env.EXT_RELEASE_TAG = 'develop-version-' + env.EXT_RELEASE_CLEAN
|
||||
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.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'
|
||||
@ -295,7 +295,7 @@ pipeline {
|
||||
// Use helper containers to render templated files
|
||||
stage('Update-Templates') {
|
||||
when {
|
||||
branch "develop"
|
||||
branch "master"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
expression {
|
||||
env.CONTAINER_NAME != null
|
||||
@ -307,24 +307,24 @@ pipeline {
|
||||
TEMPDIR=$(mktemp -d)
|
||||
docker pull ghcr.io/linuxserver/jenkins-builder:latest
|
||||
# Cloned repo paths for templating:
|
||||
# ${TEMPDIR}/docker-${CONTAINER_NAME}: Cloned branch develop of ${LS_USER}/${LS_REPO} for running the jenkins builder on
|
||||
# ${TEMPDIR}/repo/${LS_REPO}: Cloned branch develop of ${LS_USER}/${LS_REPO} for commiting various templated file changes and pushing back to Github
|
||||
# ${TEMPDIR}/docker-${CONTAINER_NAME}: Cloned branch master of ${LS_USER}/${LS_REPO} for running the jenkins builder on
|
||||
# ${TEMPDIR}/repo/${LS_REPO}: Cloned branch master of ${LS_USER}/${LS_REPO} for commiting various templated file changes and pushing back to Github
|
||||
# ${TEMPDIR}/docs/docker-documentation: Cloned docs repo for pushing docs updates to Github
|
||||
# ${TEMPDIR}/unraid/docker-templates: Cloned docker-templates repo to check for logos
|
||||
# ${TEMPDIR}/unraid/templates: Cloned templates repo for commiting unraid template changes and pushing back to Github
|
||||
git clone --branch develop --depth 1 https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||
git clone --branch master --depth 1 https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||
docker run --rm -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/tmp -e LOCAL=true -e PUID=$(id -u) -e PGID=$(id -g) ghcr.io/linuxserver/jenkins-builder:latest
|
||||
echo "Starting Stage 1 - Jenkinsfile update"
|
||||
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
|
||||
mkdir -p ${TEMPDIR}/repo
|
||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
||||
cd ${TEMPDIR}/repo/${LS_REPO}
|
||||
git checkout -f develop
|
||||
git checkout -f master
|
||||
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 develop
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
echo "Updating Jenkinsfile and exiting build, new one will trigger based on commit"
|
||||
rm -Rf ${TEMPDIR}
|
||||
@ -343,13 +343,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 develop
|
||||
git checkout -f master
|
||||
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 develop
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
echo "Deleting old/deprecated templates and exiting build, new one will trigger based on commit"
|
||||
rm -Rf ${TEMPDIR}
|
||||
@ -364,20 +364,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}:develop
|
||||
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
|
||||
ls -al ${TEMPDIR}/d2
|
||||
yq -ei ".init_diagram |= load_str(\\"${TEMPDIR}/d2/${CONTAINER_NAME}-develop.d2\\")" readme-vars.yml
|
||||
yq -ei ".init_diagram |= load_str(\\"${TEMPDIR}/d2/${CONTAINER_NAME}-latest.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 develop
|
||||
git checkout -f master
|
||||
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 develop
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
echo "Updating templates and exiting build, new one will trigger based on commit"
|
||||
rm -Rf ${TEMPDIR}
|
||||
@ -394,7 +394,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 develop
|
||||
git checkout -f master
|
||||
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
|
||||
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
|
||||
@ -407,8 +407,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 develop
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
echo "Updating templates and exiting build, new one will trigger based on commit"
|
||||
rm -Rf ${TEMPDIR}
|
||||
@ -509,7 +509,7 @@ pipeline {
|
||||
// Exit the build if the Templated files were just updated
|
||||
stage('Template-exit') {
|
||||
when {
|
||||
branch "develop"
|
||||
branch "master"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'FILES_UPDATED', value: 'true'
|
||||
expression {
|
||||
@ -522,10 +522,10 @@ pipeline {
|
||||
}
|
||||
}
|
||||
}
|
||||
// If this is a develop build check the S6 service file perms
|
||||
// If this is a master build check the S6 service file perms
|
||||
stage("Check S6 Service file Permissions"){
|
||||
when {
|
||||
branch "develop"
|
||||
branch "master"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
}
|
||||
@ -778,7 +778,7 @@ pipeline {
|
||||
// Take the image we just built and dump package versions for comparison
|
||||
stage('Update-packages') {
|
||||
when {
|
||||
branch "develop"
|
||||
branch "master"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
}
|
||||
@ -801,14 +801,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 develop
|
||||
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f master
|
||||
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 develop
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||
echo "true" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
echo "Package tag updated, stopping build process"
|
||||
else
|
||||
@ -826,7 +826,7 @@ pipeline {
|
||||
// Exit the build if the package file was just updated
|
||||
stage('PACKAGE-exit') {
|
||||
when {
|
||||
branch "develop"
|
||||
branch "master"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'PACKAGE_UPDATED', value: 'true'
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
@ -840,7 +840,7 @@ pipeline {
|
||||
// Exit the build if this is just a package check and there are no changes to push
|
||||
stage('PACKAGECHECK-exit') {
|
||||
when {
|
||||
branch "develop"
|
||||
branch "master"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'PACKAGE_UPDATED', value: 'false'
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
@ -894,7 +894,7 @@ pipeline {
|
||||
-e DOCKER_LOGS_TIMEOUT=\"${CI_DELAY}\" \
|
||||
-e TAGS=\"${CI_TAGS}\" \
|
||||
-e META_TAG=\"${META_TAG}\" \
|
||||
-e RELEASE_TAG=\"develop\" \
|
||||
-e RELEASE_TAG=\"latest\" \
|
||||
-e PORT=\"${CI_PORT}\" \
|
||||
-e SSL=\"${CI_SSL}\" \
|
||||
-e BASE=\"${DIST_IMAGE}\" \
|
||||
@ -934,7 +934,7 @@ pipeline {
|
||||
CACHEIMAGE=${i}
|
||||
fi
|
||||
done
|
||||
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${META_TAG} -t ${PUSHIMAGE}:develop -t ${PUSHIMAGE}:${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
||||
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} || \
|
||||
{ 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} || \
|
||||
@ -963,9 +963,9 @@ pipeline {
|
||||
CACHEIMAGE=${i}
|
||||
fi
|
||||
done
|
||||
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${META_TAG} -t ${MANIFESTIMAGE}:amd64-develop -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-latest -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-develop -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-latest -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} || \
|
||||
@ -975,7 +975,7 @@ pipeline {
|
||||
fi
|
||||
done
|
||||
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
|
||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:develop ${MANIFESTIMAGE}:amd64-develop ${MANIFESTIMAGE}:arm64v8-develop || \
|
||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest || \
|
||||
{ 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; }
|
||||
@ -993,7 +993,7 @@ pipeline {
|
||||
// If this is a public release tag it in the LS Github
|
||||
stage('Github-Tag-Push-Release') {
|
||||
when {
|
||||
branch "develop"
|
||||
branch "master"
|
||||
expression {
|
||||
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
}
|
||||
@ -1009,21 +1009,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": "develop"}' \
|
||||
"target_commitish": "master"}' \
|
||||
| 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 develop",\
|
||||
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
|
||||
"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 "develop" \
|
||||
--arg target_commitish "master" \
|
||||
--arg ci_url "${CI_URL:-N/A}" \
|
||||
--arg ls_notes "$AUTO_RELEASE_NOTES" \
|
||||
--arg remote_notes "$(cat releasebody.json)" \
|
||||
@ -1033,7 +1033,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": true }' > releasebody.json.done
|
||||
"prerelease": false }' > 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
|
||||
'''
|
||||
}
|
||||
@ -1041,14 +1041,14 @@ pipeline {
|
||||
// Add protection to the release branch
|
||||
stage('Github-Release-Branch-Protection') {
|
||||
when {
|
||||
branch "develop"
|
||||
branch "master"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
}
|
||||
steps {
|
||||
echo "Setting up protection for release branch develop"
|
||||
echo "Setting up protection for release branch master"
|
||||
sh '''#! /bin/bash
|
||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -X PUT https://api.github.com/repos/${LS_USER}/${LS_REPO}/branches/develop/protection \
|
||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -X PUT https://api.github.com/repos/${LS_USER}/${LS_REPO}/branches/master/protection \
|
||||
-d $(jq -c . << EOF
|
||||
{
|
||||
"required_status_checks": null,
|
||||
|
||||
18
README.md
18
README.md
@ -1,5 +1,5 @@
|
||||
<!-- DO NOT EDIT THIS FILE MANUALLY -->
|
||||
<!-- Please read https://github.com/linuxserver/docker-nextcloud/blob/develop/.github/CONTRIBUTING.md -->
|
||||
<!-- Please read https://github.com/linuxserver/docker-nextcloud/blob/master/.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/develop/)
|
||||
[](https://ci-tests.linuxserver.io/linuxserver/nextcloud/develop/index.html)
|
||||
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/master/)
|
||||
[](https://ci-tests.linuxserver.io/linuxserver/nextcloud/latest/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:develop` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
|
||||
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.
|
||||
|
||||
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:develop
|
||||
image: lscr.io/linuxserver/nextcloud:latest
|
||||
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:develop
|
||||
lscr.io/linuxserver/nextcloud:latest
|
||||
```
|
||||
|
||||
## 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:develop
|
||||
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/nextcloud:latest
|
||||
```
|
||||
|
||||
## Updating Info
|
||||
@ -297,7 +297,7 @@ Below are the instructions for updating containers:
|
||||
* Update the image:
|
||||
|
||||
```bash
|
||||
docker pull lscr.io/linuxserver/nextcloud:develop
|
||||
docker pull lscr.io/linuxserver/nextcloud:latest
|
||||
```
|
||||
|
||||
* Stop the running container:
|
||||
@ -334,7 +334,7 @@ cd docker-nextcloud
|
||||
docker build \
|
||||
--no-cache \
|
||||
--pull \
|
||||
-t lscr.io/linuxserver/nextcloud:develop .
|
||||
-t lscr.io/linuxserver/nextcloud:latest .
|
||||
```
|
||||
|
||||
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`
|
||||
|
||||
@ -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: prerelease
|
||||
release_tag: develop
|
||||
ls_branch: develop
|
||||
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
|
||||
repo_vars:
|
||||
- BUILD_VERSION_ARG = 'NEXTCLOUD_RELEASE'
|
||||
- LS_USER = 'linuxserver'
|
||||
|
||||
@ -2,6 +2,7 @@ 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
|
||||
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
|
||||
@ -31,6 +32,7 @@ argon2-libs 20190702-r5 apk
|
||||
arrayvec 0.7.4 rust-crate
|
||||
av-metrics 0.9.1 rust-crate
|
||||
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.369.9 php-composer
|
||||
bamarni/composer-bin-plugin 1.8.3 php-composer
|
||||
@ -41,6 +43,7 @@ bitstream-io 2.2.0 rust-crate
|
||||
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
|
||||
brotli-libs 1.1.0-r2 apk
|
||||
busybox 1.37.0-r20 apk
|
||||
@ -49,7 +52,9 @@ c-ares 1.34.6-r0 apk
|
||||
c-client 2007f-r15 apk
|
||||
ca-certificates 20250911-r0 apk
|
||||
ca-certificates-bundle 20250911-r0 apk
|
||||
cairo 1.18.4-r0 apk
|
||||
catatonit 0.2.1-r0 apk
|
||||
cfdisk 2.41-r9 apk
|
||||
cfg-if 1.0.0 rust-crate
|
||||
christian-riesen/base32 1.6.0 php-composer
|
||||
cjson 1.7.19-r0 apk
|
||||
@ -73,11 +78,13 @@ crossbeam-deque 0.8.5 rust-crate
|
||||
crossbeam-epoch 0.9.18 rust-crate
|
||||
crossbeam-queue 0.3.11 rust-crate
|
||||
crossbeam-utils 0.8.19 rust-crate
|
||||
cups-libs 2.4.16-r0 apk
|
||||
curl 8.14.1-r2 apk
|
||||
cweagans/composer-patches 1.7.3 php-composer
|
||||
dbus-libs 1.16.2-r1 apk
|
||||
deepdiver/zipstreamer v2.0.3 php-composer
|
||||
deepdiver1975/tarstreamer v2.1.0 php-composer
|
||||
dmesg 2.41-r9 apk
|
||||
doctrine/dbal 3.10.4 php-composer
|
||||
doctrine/deprecations 1.1.5 php-composer
|
||||
doctrine/event-manager 2.0.1 php-composer
|
||||
@ -99,15 +106,20 @@ 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
|
||||
findmnt 2.41-r9 apk
|
||||
findutils 4.10.0-r0 apk
|
||||
firstrunwizard 6.0.0-dev.0 npm
|
||||
flock 2.41-r9 apk
|
||||
fontconfig 2.15.0-r3 apk
|
||||
freetype 2.13.3-r0 apk
|
||||
fribidi 1.0.16-r1 apk
|
||||
fstrim 2.41-r9 apk
|
||||
funty 2.0.0 rust-crate
|
||||
fusonic/opengraph v3.0.0 php-composer
|
||||
gdbm 1.24-r0 apk
|
||||
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
|
||||
git 2.49.1-r0 apk
|
||||
@ -125,6 +137,7 @@ guzzlehttp/psr7 2.8.0 php-composer
|
||||
guzzlehttp/uri-template v1.0.4 php-composer
|
||||
harfbuzz 11.2.1-r0 apk
|
||||
heck 0.4.1 rust-crate
|
||||
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
|
||||
@ -133,10 +146,15 @@ icewind/streams v0.7.8 php-composer
|
||||
icu-data-en 76.1-r1 apk
|
||||
icu-libs 76.1-r1 apk
|
||||
imagemagick 7.1.2.8-r0 apk
|
||||
imagemagick-heic 7.1.2.8-r0 apk
|
||||
imagemagick-jpeg 7.1.2.8-r0 apk
|
||||
imagemagick-jxl 7.1.2.8-r0 apk
|
||||
imagemagick-libs 7.1.2.8-r0 apk
|
||||
imagemagick-openexr 7.1.2.8-r0 apk
|
||||
imagemagick-pango 7.1.2.8-r0 apk
|
||||
imagemagick-pdf 7.1.2.8-r0 apk
|
||||
imagemagick-svg 7.1.2.8-r0 apk
|
||||
imagemagick-tiff 7.1.2.8-r0 apk
|
||||
imagemagick-webp 7.1.2.8-r0 apk
|
||||
imath 3.1.12-r0 apk
|
||||
interpolate_name 0.2.4 rust-crate
|
||||
@ -144,6 +162,7 @@ itertools 0.10.5 rust-crate
|
||||
itertools 0.12.0 rust-crate
|
||||
ivf 0.1.3 rust-crate
|
||||
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
|
||||
@ -169,10 +188,12 @@ libbsd 0.12.2-r0 apk
|
||||
libbz2 1.0.8-r6 apk
|
||||
libc 0.2.155 rust-crate
|
||||
libc 0.2.172 rust-crate
|
||||
libcap-ng 0.8.5-r0 apk
|
||||
libcap2 2.76-r0 apk
|
||||
libcrypto3 3.5.5-r0 apk
|
||||
libcurl 8.14.1-r2 apk
|
||||
libdav1d 1.5.1-r0 apk
|
||||
libde265 1.0.15-r1 apk
|
||||
libdeflate 1.23-r0 apk
|
||||
libdovi 3.3.1-r1 apk
|
||||
libdrm 2.4.124-r0 apk
|
||||
@ -180,11 +201,13 @@ libeconf 0.6.3-r0 apk
|
||||
libedit 20250104.3.1-r1 apk
|
||||
libevent 2.1.12-r8 apk
|
||||
libexpat 2.7.4-r0 apk
|
||||
libfdisk 2.41-r9 apk
|
||||
libffi 3.4.8-r0 apk
|
||||
libflac 1.4.3-r1 apk
|
||||
libformw 6.5_p20250503-r0 apk
|
||||
libgcc 14.2.0-r6 apk
|
||||
libgomp 14.2.0-r6 apk
|
||||
libheif 1.19.8-r1 apk
|
||||
libhwy 1.0.7-r1 apk
|
||||
libice 1.1.2-r0 apk
|
||||
libidn2 2.3.7-r0 apk
|
||||
@ -208,9 +231,11 @@ libproc2 4.0.4-r3 apk
|
||||
libpsl 0.21.5-r3 apk
|
||||
libpulse 17.0-r5 apk
|
||||
librist 0.2.10-r1 apk
|
||||
librsvg 2.60.0-r0 apk
|
||||
libsasl 2.1.28-r8 apk
|
||||
libsharpyuv 1.5.0-r0 apk
|
||||
libsm 1.2.5-r0 apk
|
||||
libsmartcols 2.41-r9 apk
|
||||
libsmbclient 4.21.9-r1 apk
|
||||
libsndfile 1.2.2-r2 apk
|
||||
libsodium 1.0.20-r1 apk
|
||||
@ -237,8 +262,10 @@ libxcb 1.17.0-r0 apk
|
||||
libxdmcp 1.1.5-r1 apk
|
||||
libxext 1.3.6-r2 apk
|
||||
libxfixes 6.0.1-r4 apk
|
||||
libxft 2.3.8-r3 apk
|
||||
libxml2 2.13.9-r0 apk
|
||||
libxpm 3.5.17-r0 apk
|
||||
libxrender 0.9.12-r0 apk
|
||||
libxt 1.3.1-r0 apk
|
||||
libxxhash 0.8.3-r0 apk
|
||||
libyuv 0.0.1887.20251502-r1 apk
|
||||
@ -249,19 +276,25 @@ linux-pam 1.7.0-r4 apk
|
||||
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
|
||||
logrotate 3.21.0-r1 apk
|
||||
losetup 2.41-r9 apk
|
||||
lsblk 2.41-r9 apk
|
||||
lscpu 2.41-r9 apk
|
||||
lz4-libs 1.10.0-r0 apk
|
||||
marc-mabe/php-enum v4.7.1 php-composer
|
||||
masterminds/html5 2.9.0 php-composer
|
||||
maybe-rayon 0.1.1 rust-crate
|
||||
mbedtls 3.6.5-r0 apk
|
||||
mcookie 2.41-r9 apk
|
||||
memchr 2.7.1 rust-crate
|
||||
mexitek/phpcolors v1.0.4 php-composer
|
||||
microsoft/azure-storage-blob 1.5.4 php-composer
|
||||
microsoft/azure-storage-common 1.5.2 php-composer
|
||||
minimal-lexical 0.2.1 rust-crate
|
||||
mlocati/ip-lib 1.22.0 php-composer
|
||||
mount 2.41-r9 apk
|
||||
mpg123-libs 1.32.10-r0 apk
|
||||
mtdowling/jmespath.php 2.8.0 php-composer
|
||||
musl 1.2.5-r10 apk
|
||||
@ -292,11 +325,14 @@ openexr-libiex 3.3.2-r0 apk
|
||||
openexr-libilmthread 3.3.2-r0 apk
|
||||
openexr-libopenexr 3.3.2-r0 apk
|
||||
openexr-libopenexrcore 3.3.2-r0 apk
|
||||
openjpeg 2.5.3-r0 apk
|
||||
openssl 3.5.5-r0 apk
|
||||
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
|
||||
partx 2.41-r9 apk
|
||||
password_policy 5.0.0-dev.0 npm
|
||||
paste 1.0.14 rust-crate
|
||||
pcre2 10.46-r0 apk
|
||||
@ -357,6 +393,8 @@ php84-xmlwriter 8.4.16-r0 apk
|
||||
php84-zip 8.4.16-r0 apk
|
||||
phpseclib/phpseclib 2.0.47 php-composer
|
||||
pimple/pimple v3.6.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
|
||||
@ -389,6 +427,7 @@ rsync 3.4.1-r1 apk
|
||||
rubix/ml 2.5.3 php-composer
|
||||
rubix/tensor 3.0.5 php-composer
|
||||
rullzer/easytotp v0.1.4 php-composer
|
||||
runuser 2.41-r9 apk
|
||||
rustix 0.38.28 rust-crate
|
||||
sabre/dav 4.7.0 php-composer
|
||||
sabre/event 5.1.7 php-composer
|
||||
@ -406,8 +445,12 @@ scanelf 1.3.8-r1 apk
|
||||
sdl2-compat 2.32.56-r0 apk
|
||||
sdl3 3.2.16-r0 apk
|
||||
serd-libs 0.32.4-r0 apk
|
||||
setarch 2.41-r9 apk
|
||||
setpriv 2.41-r9 apk
|
||||
sfdisk 2.41-r9 apk
|
||||
shaderc 2024.4-r0 apk
|
||||
shadow 4.17.3-r0 apk
|
||||
shared-mime-info 2.4-r6 apk
|
||||
signal-hook 0.3.17 rust-crate
|
||||
signal-hook-registry 1.4.1 rust-crate
|
||||
simd_helpers 0.1.0 rust-crate
|
||||
@ -462,13 +505,18 @@ tevent 0.16.1-r0 apk
|
||||
text 7.0.0-dev.1 npm
|
||||
thiserror 1.0.56 rust-crate
|
||||
thiserror-impl 1.0.56 rust-crate
|
||||
tiff 4.7.1-r0 apk
|
||||
tinyvec 1.9.0 rust-crate
|
||||
twofactor_totp 15.0.0-dev.0 npm
|
||||
tzdata 2025c-r0 apk
|
||||
umount 2.41-r9 apk
|
||||
unicode-ident 1.0.12 rust-crate
|
||||
unicode-width 0.1.11 rust-crate
|
||||
utf8parse 0.2.1 rust-crate
|
||||
util-linux 2.41-r9 apk
|
||||
util-linux-misc 2.41-r9 apk
|
||||
utmps-libs 0.1.3.1-r0 apk
|
||||
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
|
||||
@ -479,6 +527,7 @@ 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
|
||||
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
|
||||
|
||||
@ -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"}
|
||||
@ -92,7 +93,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:develop": {
|
||||
"nextcloud:latest": {
|
||||
docker-mods
|
||||
base {
|
||||
fix-attr +\nlegacy cont-init
|
||||
@ -141,7 +142,7 @@ init_diagram: |
|
||||
Base Images: {
|
||||
"baseimage-alpine-nginx:3.22" <- "baseimage-alpine:3.22"
|
||||
}
|
||||
"nextcloud:develop" <- Base Images
|
||||
"nextcloud:latest" <- Base Images
|
||||
# changelog
|
||||
changelogs:
|
||||
- {date: "10.07.25:", desc: "Rebase to Alpine 3.22."}
|
||||
|
||||
@ -157,6 +157,14 @@ server {
|
||||
return 301 /remote.php$request_uri;
|
||||
}
|
||||
|
||||
# Support for the Client Push (notify_push) plugin, needs mod installed https://github.com/linuxserver/docker-mods/tree/nextcloud-notify-push
|
||||
location ^~ /push/ {
|
||||
proxy_pass http://127.0.0.1:7867/;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "Upgrade";
|
||||
}
|
||||
|
||||
location / {
|
||||
# enable for basic auth
|
||||
#auth_basic "Restricted";
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user