Compare commits

..

146 Commits

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

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

* update date and edge repo

---------

Signed-off-by: Eric Nemchik <eric@nemchik.com>
Co-authored-by: aptalca <541623+aptalca@users.noreply.github.com>
2024-03-11 12:24:35 -04:00
LinuxServer-CI 831ce18af1 Bot Updating Package Versions 2024-03-01 17:43:10 +00:00
LinuxServer-CI 787055f100 Bot Updating Package Versions 2024-02-27 11:56:04 +00:00
LinuxServer-CI a5387e7e93 Bot Updating Templated Files 2024-02-27 11:50:52 +00:00
LinuxServer-CI a433a93be4 Bot Updating Templated Files 2024-02-27 11:49:18 +00:00
LinuxServer-CI 2fe4e7f4dd Bot Updating Package Versions 2024-02-20 11:55:16 +00:00
LinuxServer-CI c5113c09c3 Bot Updating Package Versions 2024-02-13 11:50:31 +00:00
LinuxServer-CI 975e20b305 Bot Updating Package Versions 2024-02-05 18:53:13 +00:00
LinuxServer-CI a9a42c6dd3 Bot Updating Templated Files 2024-02-05 18:49:17 +00:00
driz e610ba336a Merge pull request #413 from linuxserver/drizuid-patch-1
Update readme-vars.yml
2024-02-05 13:46:59 -05:00
driz c132755dc2 Update readme-vars.yml 2024-02-05 13:30:49 -05:00
LinuxServer-CI 9e19c87fb6 Bot Updating Package Versions 2024-01-30 11:53:33 +00:00
LinuxServer-CI 195b4b9f84 Bot Updating Package Versions 2024-01-23 11:50:42 +00:00
LinuxServer-CI 3df9fb301a Bot Updating Package Versions 2024-01-16 11:56:53 +00:00
LinuxServer-CI 643222817f Bot Updating Templated Files 2024-01-16 11:51:37 +00:00
LinuxServer-CI cd1f5c8f3e Bot Updating Templated Files 2024-01-16 11:50:04 +00:00
LinuxServer-CI 2d4551b309 Bot Updating Package Versions 2024-01-09 11:55:21 +00:00
Eric Nemchik 360dce038d Merge pull request #405 from linuxserver/conf-fix-test
maybe fix nextcloud?
2024-01-03 17:43:17 -06:00
driz ca6cd4b47e fix sed and add whitespace 2024-01-03 15:49:22 -05:00
driz 4030be8278 swap application/javascript to text/javascript per rfc 2024-01-03 13:41:56 -05:00
driz 6b9d8e456a try again 2024-01-03 13:15:26 -05:00
driz 760894a4fb update date 2024-01-03 11:46:33 -05:00
driz 2d7a5594b7 fix typo 2024-01-03 11:46:11 -05:00
driz 8cff1cf999 maybe fix nextcloud? 2024-01-03 11:16:21 -05:00
LinuxServer-CI 883ffed0d8 Bot Updating Templated Files 2024-01-02 16:12:18 +00:00
Eric Nemchik 6a22255425 Merge pull request #401 from linuxserver/nginx-cleanup
Cleanup default site conf
2024-01-02 10:10:03 -06:00
Eric Nemchik 4e037eca94 Update readme date
Signed-off-by: GitHub <noreply@github.com>
2024-01-02 16:07:43 +00:00
LinuxServer-CI 210ce02e22 Bot Updating Package Versions 2024-01-02 11:52:26 +00:00
Eric Nemchik 144d576909 Cleanup default site conf
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-12-25 14:20:36 -06:00
Adam 9895069283 Merge pull request #395 from linuxserver/master-mime
Avoid duplicate mime definition
2023-12-22 22:39:22 +00:00
TheSpad ca1ef7f8aa Use text/javascript as per rfc9239 2023-12-22 17:15:42 +00:00
TheSpad 1dc7711ecb Prefer application/javascript 2023-12-22 17:07:51 +00:00
TheSpad 35de5f814c Avoid duplicate mime definition 2023-12-22 16:59:16 +00:00
LinuxServer-CI 9f23faeab3 Bot Updating Package Versions 2023-12-22 16:03:07 +00:00
LinuxServer-CI 22f9e84444 Bot Updating Templated Files 2023-12-22 15:59:11 +00:00
Adam 1b0600d3cc Fix duplicate header 2023-12-22 15:58:41 +00:00
Adam 20c6337958 Merge pull request #392 from calvin-li-developer/dev
sync nginx conf with upstream nextcloud docs
2023-12-22 15:57:34 +00:00
Calvin Li 07a04516b1 revert fastcgi_pass/php-handler change 2023-12-22 10:34:32 -05:00
Calvin Li 5abf9b3d36 Update readme-vars.yml 2023-12-22 09:54:33 -05:00
Calvin Li 1a559c9893 Update readme-vars.yml 2023-12-22 09:49:06 -05:00
Calvin Li fa511a6f7b Update readme-vars.yml 2023-12-22 09:45:45 -05:00
Calvin Li ceb60ef76b sync with upstream nextcloud docs. closes #391 2023-12-22 09:39:56 -05:00
LinuxServer-CI ba7913a764 Bot Updating Package Versions 2023-12-12 12:51:00 +00:00
LinuxServer-CI d3698ce2e6 Bot Updating Package Versions 2023-12-12 11:52:16 +00:00
LinuxServer-CI c2d8366bfb Bot Updating Package Versions 2023-12-05 11:54:19 +00:00
Eric Nemchik 052617f0b8 Merge pull request #382 from linuxserver/quiet-migration
only run migration if conf exists
2023-11-29 08:30:49 -06:00
LinuxServer-CI fa870cb93c Bot Updating Package Versions 2023-11-28 11:50:53 +00:00
Eric Nemchik 47204a2368 only run migration if conf exists
redirect stderr to /dev/null

Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-11-25 10:43:10 -06:00
LinuxServer-CI 11aedff334 Bot Updating Package Versions 2023-11-23 20:34:09 +00:00
LinuxServer-CI 04b088162e Bot Updating Package Versions 2023-11-21 11:50:07 +00:00
LinuxServer-CI 41ed12bc46 Bot Updating Package Versions 2023-11-19 01:14:13 +00:00
LinuxServer-CI 9e8419179c Bot Updating Templated Files 2023-11-19 01:10:36 +00:00
Eric Nemchik 56206810af Merge pull request #343 from linuxserver/standard-cron
standard cron master
2023-11-18 19:09:03 -06:00
LinuxServer-CI 0794dc7b87 Bot Updating Package Versions 2023-11-13 22:39:31 +00:00
aptalca 7e18efc6d5 Merge pull request #379 from linuxserver/mcrypt
install mcrypt from community repo on alpine edge
2023-11-13 17:35:56 -05:00
aptalca 4636a2ef5f install mcrypt from community repo on alpine edge 2023-11-13 17:03:44 -05:00
LinuxServer-CI bb421a0d33 Bot Updating Package Versions 2023-11-07 11:51:02 +00:00
LinuxServer-CI fd22973a29 Bot Updating Templated Files 2023-10-28 19:54:45 +00:00
Eric Nemchik 186e5194f5 Merge pull request #375 from linuxserver/disable-web-upgrade-master
Disable web upgrades using occ during init master
2023-10-28 14:53:07 -05:00
Eric Nemchik 7e18f6f27d Disable web upgrades using occ during init
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-10-28 14:24:11 -05:00
LinuxServer-CI b7d9f30b0d Bot Updating Package Versions 2023-10-28 15:33:13 +00:00
LinuxServer-CI 64922d3839 Bot Updating Package Versions 2023-10-24 11:50:26 +00:00
LinuxServer-CI 05e5c8363a Bot Updating Package Versions 2023-10-17 11:52:30 +00:00
LinuxServer-CI 2ecd6cb8d9 Bot Updating Package Versions 2023-10-10 11:54:26 +00:00
LinuxServer-CI 1cce29259a Bot Updating Templated Files 2023-10-10 11:50:44 +00:00
LinuxServer-CI 8e3018012d Bot Updating Templated Files 2023-10-10 11:49:16 +00:00
LinuxServer-CI 12810033bf Bot Updating Package Versions 2023-09-29 00:39:44 +00:00
Eric Nemchik 5f37ac0862 Merge pull request #358 from linuxserver/updatenotification-app
Re-add updatenotification app
2023-09-28 19:35:41 -05:00
LinuxServer-CI b92694d865 Bot Updating Package Versions 2023-09-26 11:50:26 +00:00
LinuxServer-CI 6f2ac537d5 Bot Updating Package Versions 2023-09-21 10:37:14 +00:00
quietsy 3accfcac32 Merge pull request #364 from linuxserver/fix-lsiown
Fix lsiown -R order
2023-09-18 17:01:45 +03:00
quietsy c93fe11b13 Fix lsiown -R order 2023-09-18 16:38:05 +03:00
LinuxServer-CI 330bf2caca Bot Updating Package Versions 2023-09-16 09:34:06 +00:00
LinuxServer-CI 9ac9165b38 Bot Updating Package Versions 2023-09-12 11:56:00 +00:00
LinuxServer-CI a116d0836b Bot Updating Package Versions 2023-09-05 11:52:55 +00:00
Eric Nemchik 2e9769050c Re-add updatenotification app
Closes https://github.com/linuxserver/docker-nextcloud/issues/356

Signed-off-by: GitHub <noreply@github.com>
2023-08-31 13:59:44 +00:00
LinuxServer-CI 76d3af10c2 Bot Updating Package Versions 2023-08-29 11:53:09 +00:00
LinuxServer-CI 87ab71daba Bot Updating Package Versions 2023-08-22 11:52:44 +00:00
LinuxServer-CI 8263ebe714 Bot Updating Package Versions 2023-08-15 11:57:27 +00:00
LinuxServer-CI 61cacaaa92 Bot Updating Package Versions 2023-08-15 11:52:26 +00:00
quietsy 1585ba556b Merge pull request #354 from linuxserver/master-develop
Add the develop tag to the readme
2023-08-15 10:54:46 +03:00
quietsy 8e868b8471 Add the develop tag to the readme 2023-08-15 10:21:47 +03:00
25 changed files with 1068 additions and 1483 deletions
Regular → Executable
View File
Regular → Executable
+5 -5
View File
@@ -6,7 +6,7 @@
* Read, and fill the Pull Request template * Read, and fill the Pull Request template
* If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR * If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR
* If the PR is addressing an existing issue include, closes #\<issue number>, in the body of the PR commit message * If the PR is addressing an existing issue include, closes #\<issue number>, in the body of the PR commit message
* If you want to discuss changes, you can also bring it up in [#dev-talk](https://discordapp.com/channels/354974912613449730/757585807061155840) in our [Discord server](https://linuxserver.io/discord) * If you want to discuss changes, you can also bring it up in [#dev-talk](https://discordapp.com/channels/354974912613449730/757585807061155840) in our [Discord server](https://discord.gg/YWrKVTn)
## Common files ## Common files
@@ -24,7 +24,7 @@
## Readme ## Readme
If you would like to change our readme, please __**do not**__ directly edit the readme, as it is auto-generated on each commit. 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/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. 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) Most of these variables are also carried over to [docs.linuxserver.io](https://docs.linuxserver.io/images/docker-nextcloud)
@@ -105,17 +105,17 @@ docker build \
-t linuxserver/nextcloud:latest . -t linuxserver/nextcloud:latest .
``` ```
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static` The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
```bash ```bash
docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset docker run --rm --privileged multiarch/qemu-user-static:register --reset
``` ```
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`. Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
## Update the changelog ## 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/previous/root), add an entry to the changelog
```yml ```yml
changelogs: changelogs:
Regular → Executable
View File
+1 -1
View File
@@ -1,7 +1,7 @@
blank_issues_enabled: false blank_issues_enabled: false
contact_links: contact_links:
- name: Discord chat support - name: Discord chat support
url: https://linuxserver.io/discord url: https://discord.gg/YWrKVTn
about: Realtime support / chat with the community and the team. about: Realtime support / chat with the community and the team.
- name: Discourse discussion forum - name: Discourse discussion forum
View File
View File
+1 -1
View File
@@ -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/previous/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
------------------------------ ------------------------------
-3
View File
@@ -8,9 +8,6 @@ on:
pull_request_review: pull_request_review:
types: [submitted,edited,dismissed] types: [submitted,edited,dismissed]
permissions:
contents: read
jobs: jobs:
manage-project: manage-project:
permissions: permissions:
-3
View File
@@ -4,9 +4,6 @@ on:
- cron: '35 2 * * *' - cron: '35 2 * * *'
workflow_dispatch: workflow_dispatch:
permissions:
contents: read
jobs: jobs:
stale: stale:
permissions: permissions:
+57 -100
View File
@@ -3,86 +3,52 @@ name: External Trigger Main
on: on:
workflow_dispatch: workflow_dispatch:
permissions:
contents: read
jobs: jobs:
external-trigger-develop: external-trigger-previous:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4.1.1 - uses: actions/checkout@v4.1.1
- name: External Trigger - name: External Trigger
if: github.ref == 'refs/heads/develop' if: github.ref == 'refs/heads/previous'
env:
SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }}
run: | run: |
printf "# External trigger for docker-nextcloud\n\n" >> $GITHUB_STEP_SUMMARY if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_NEXTCLOUD_PREVIOUS }}" ]; then
if grep -q "^nextcloud_develop_" <<< "${SKIP_EXTERNAL_TRIGGER}"; then echo "**** Github secret PAUSE_EXTERNAL_TRIGGER_NEXTCLOUD_PREVIOUS is set; skipping trigger. ****"
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY echo "Github secret \`PAUSE_EXTERNAL_TRIGGER_NEXTCLOUD_PREVIOUS\` is set; skipping trigger." >> $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 "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`nextcloud_develop\`; 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
printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY
EXT_RELEASE=$(curl -u ${{ secrets.CR_USER }}:${{ secrets.CR_PAT }} -sX GET https://api.github.com/repos/nextcloud/server/releases | jq -r '.[] | select(.prerelease == true) | .tag_name' | sed 's|^v||g' | sort -rV | head -1)
echo "Type is \`custom_version_command\`" >> $GITHUB_STEP_SUMMARY
if grep -q "^nextcloud_develop_${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 exit 0
fi fi
echo "**** External trigger running off of previous branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_NEXTCLOUD_PREVIOUS\". ****"
echo "External trigger running off of previous branch. To disable this trigger, set a Github secret named \`PAUSE_EXTERNAL_TRIGGER_NEXTCLOUD_PREVIOUS\`" >> $GITHUB_STEP_SUMMARY
echo "**** Retrieving external version ****"
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/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')
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY echo "**** Can't retrieve external version, exiting ****"
echo "> Can't retrieve external version, exiting" >> $GITHUB_STEP_SUMMARY FAILURE_REASON="Can't retrieve external version for nextcloud branch previous"
FAILURE_REASON="Can't retrieve external version for nextcloud branch develop"
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-nextcloud/actions/runs/${{ github.run_id }}" 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, 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"}], "description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n**Trigger URL:** '"${GHA_TRIGGER_URL}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }} "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
exit 1 exit 1
fi fi
EXT_RELEASE_SANITIZED=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g') EXT_RELEASE=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
echo "Sanitized external version: \`${EXT_RELEASE_SANITIZED}\`" >> $GITHUB_STEP_SUMMARY echo "**** External version: ${EXT_RELEASE} ****"
echo "Retrieving last pushed version" >> $GITHUB_STEP_SUMMARY echo "External version: ${EXT_RELEASE}" >> $GITHUB_STEP_SUMMARY
echo "**** Retrieving last pushed version ****"
image="linuxserver/nextcloud" image="linuxserver/nextcloud"
tag="develop" tag="previous"
token=$(curl -sX GET \ token=$(curl -sX GET \
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fnextcloud%3Apull" \ "https://ghcr.io/token?scope=repository%3Alinuxserver%2Fnextcloud%3Apull" \
| jq -r '.token') | jq -r '.token')
multidigest=$(curl -s \ multidigest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Accept: application/vnd.oci.image.index.v1+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${tag}")
if jq -e '.layers // empty' <<< "${multidigest}" >/dev/null 2>&1; then
# If there's a layer element it's a single-arch manifest so just get that digest
digest=$(jq -r '.config.digest' <<< "${multidigest}")
else
# Otherwise it's multi-arch or has manifest annotations
if jq -e '.manifests[]?.annotations // empty' <<< "${multidigest}" >/dev/null 2>&1; then
# Check for manifest annotations and delete if found
multidigest=$(jq 'del(.manifests[] | select(.annotations))' <<< "${multidigest}")
fi
if [[ $(jq '.manifests | length' <<< "${multidigest}") -gt 1 ]]; then
# If there's still more than one digest, it's multi-arch
multidigest=$(jq -r ".manifests[] | select(.platform.architecture == \"amd64\").digest?" <<< "${multidigest}")
else
# Otherwise it's single arch
multidigest=$(jq -r ".manifests[].digest?" <<< "${multidigest}")
fi
if digest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \ --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Accept: application/vnd.oci.image.manifest.v1+json" \
--header "Authorization: Bearer ${token}" \ --header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${multidigest}"); then "https://ghcr.io/v2/${image}/manifests/${tag}" \
digest=$(jq -r '.config.digest' <<< "${digest}"); | jq -r 'first(.manifests[].digest)')
fi digest=$(curl -s \
fi --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${multidigest}" \
| jq -r '.config.digest')
image_info=$(curl -sL \ image_info=$(curl -sL \
--header "Authorization: Bearer ${token}" \ --header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/blobs/${digest}") "https://ghcr.io/v2/${image}/blobs/${digest}")
@@ -94,54 +60,45 @@ jobs:
IMAGE_RELEASE=$(echo ${image_info} | jq -r '.Labels.build_version' | awk '{print $3}') IMAGE_RELEASE=$(echo ${image_info} | jq -r '.Labels.build_version' | awk '{print $3}')
IMAGE_VERSION=$(echo ${IMAGE_RELEASE} | awk -F'-ls' '{print $1}') IMAGE_VERSION=$(echo ${IMAGE_RELEASE} | awk -F'-ls' '{print $1}')
if [ -z "${IMAGE_VERSION}" ]; then if [ -z "${IMAGE_VERSION}" ]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY echo "**** Can't retrieve last pushed version, exiting ****"
echo "Can't retrieve last pushed version, exiting" >> $GITHUB_STEP_SUMMARY FAILURE_REASON="Can't retrieve last pushed version for nextcloud tag previous"
FAILURE_REASON="Can't retrieve last pushed version for nextcloud tag develop"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680, 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"}], "description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }} "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
exit 1 exit 1
fi fi
echo "Last pushed version: \`${IMAGE_VERSION}\`" >> $GITHUB_STEP_SUMMARY echo "**** Last pushed version: ${IMAGE_VERSION} ****"
if [ "${EXT_RELEASE_SANITIZED}" == "${IMAGE_VERSION}" ]; then echo "Last pushed version: ${IMAGE_VERSION}" >> $GITHUB_STEP_SUMMARY
echo "Sanitized version \`${EXT_RELEASE_SANITIZED}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
echo "**** Version ${EXT_RELEASE} already pushed, exiting ****"
echo "Version ${EXT_RELEASE} already pushed, exiting" >> $GITHUB_STEP_SUMMARY
exit 0 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/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 echo "**** New version ${EXT_RELEASE} found; but there already seems to be an active build on Jenkins; exiting ****"
echo "New version ${EXT_RELEASE} found; but there already seems to be an active build on Jenkins; exiting" >> $GITHUB_STEP_SUMMARY
exit 0 exit 0
else else
if [[ "${artifacts_found}" == "false" ]]; then echo "**** New version ${EXT_RELEASE} found; old version was ${IMAGE_VERSION}. Triggering new build ****"
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY echo "New version ${EXT_RELEASE} found; old version was ${IMAGE_VERSION}. Triggering new build" >> $GITHUB_STEP_SUMMARY
echo "> New version detected, but not all artifacts are published yet; skipping trigger" >> $GITHUB_STEP_SUMMARY response=$(curl -iX POST \
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." https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/previous/buildWithParameters?PACKAGE_CHECK=false \
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903, --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}], echo "**** Jenkins job queue url: ${response%$'\r'} ****"
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }} echo "**** Sleeping 10 seconds until job starts ****"
else sleep 10
printf "\n## Trigger new build\n\n" >> $GITHUB_STEP_SUMMARY buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
echo "New sanitized version \`${EXT_RELEASE_SANITIZED}\` found; old version was \`${IMAGE_VERSION}\`. Triggering new build" >> $GITHUB_STEP_SUMMARY buildurl="${buildurl%$'\r'}"
if [[ "${artifacts_found}" == "true" ]]; then echo "**** Jenkins job build url: ${buildurl} ****"
echo "All artifacts seem to be uploaded." >> $GITHUB_STEP_SUMMARY echo "Jenkins job build url: ${buildurl}" >> $GITHUB_STEP_SUMMARY
fi echo "**** Attempting to change the Jenkins job description ****"
response=$(curl -iX POST \ curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/develop/buildWithParameters?PACKAGE_CHECK=false \ "${buildurl}submitDescription" \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|") --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY --data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY --data-urlencode "Submit=Submit"
sleep 10 echo "**** Notifying Discord ****"
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url') TRIGGER_REASON="A version change was detected for nextcloud tag previous. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE}"
buildurl="${buildurl%$'\r'}" curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY "description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}],
echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
curl -iX POST \
"${buildurl}submitDescription" \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
--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}"
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 }}
fi
fi fi
+12 -15
View File
@@ -5,9 +5,6 @@ on:
- cron: '27 * * * *' - cron: '27 * * * *'
workflow_dispatch: workflow_dispatch:
permissions:
contents: read
jobs: jobs:
external-trigger-scheduler: external-trigger-scheduler:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -18,31 +15,31 @@ jobs:
- name: External Trigger Scheduler - name: External Trigger Scheduler
run: | run: |
printf "# External trigger scheduler for docker-nextcloud\n\n" >> $GITHUB_STEP_SUMMARY echo "**** Branches found: ****"
printf "Found the branches:\n\n%s\n" "$(git for-each-ref --format='- %(refname:lstrip=3)' refs/remotes)" >> $GITHUB_STEP_SUMMARY git for-each-ref --format='%(refname:short)' refs/remotes
for br in $(git for-each-ref --format='%(refname:lstrip=3)' refs/remotes) for br in $(git for-each-ref --format='%(refname:short)' refs/remotes)
do do
if [[ "${br}" == "HEAD" ]]; then br=$(echo "$br" | sed 's|origin/||g')
printf "\nSkipping %s.\n" ${br} >> $GITHUB_STEP_SUMMARY echo "**** Evaluating branch ${br} ****"
continue
fi
printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY
ls_jenkins_vars=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-nextcloud/${br}/jenkins-vars.yml) ls_jenkins_vars=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-nextcloud/${br}/jenkins-vars.yml)
ls_branch=$(echo "${ls_jenkins_vars}" | yq -r '.ls_branch') ls_branch=$(echo "${ls_jenkins_vars}" | yq -r '.ls_branch')
ls_trigger=$(echo "${ls_jenkins_vars}" | yq -r '.external_type') ls_trigger=$(echo "${ls_jenkins_vars}" | yq -r '.external_type')
if [[ "${br}" == "${ls_branch}" ]] && [[ "${ls_trigger}" != "os" ]]; then if [[ "${br}" == "${ls_branch}" ]] && [[ "${ls_trigger}" != "os" ]]; then
echo "Branch appears to be live and trigger is not os; checking workflow." >> $GITHUB_STEP_SUMMARY echo "**** Branch ${br} appears to be live and trigger is not os; checking workflow. ****"
if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-nextcloud/${br}/.github/workflows/external_trigger.yml > /dev/null 2>&1; then if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-nextcloud/${br}/.github/workflows/external_trigger.yml > /dev/null 2>&1; then
echo "Triggering external trigger workflow for branch." >> $GITHUB_STEP_SUMMARY echo "**** Workflow exists. Triggering external trigger workflow for branch ${br} ****."
echo "Triggering external trigger workflow for branch ${br}" >> $GITHUB_STEP_SUMMARY
curl -iX POST \ curl -iX POST \
-H "Authorization: token ${{ secrets.CR_PAT }}" \ -H "Authorization: token ${{ secrets.CR_PAT }}" \
-H "Accept: application/vnd.github.v3+json" \ -H "Accept: application/vnd.github.v3+json" \
-d "{\"ref\":\"refs/heads/${br}\"}" \ -d "{\"ref\":\"refs/heads/${br}\"}" \
https://api.github.com/repos/linuxserver/docker-nextcloud/actions/workflows/external_trigger.yml/dispatches https://api.github.com/repos/linuxserver/docker-nextcloud/actions/workflows/external_trigger.yml/dispatches
else else
echo "Skipping branch due to no external trigger workflow present." >> $GITHUB_STEP_SUMMARY echo "**** Workflow doesn't exist; skipping trigger. ****"
echo "Skipping branch ${br} due to no external trigger workflow present." >> $GITHUB_STEP_SUMMARY
fi fi
else else
echo "Skipping branch due to being detected as dev branch or having no external version." >> $GITHUB_STEP_SUMMARY echo "**** ${br} is either a dev branch, or has no external version; skipping trigger. ****"
echo "Skipping branch ${br} due to being detected as dev branch or having no external version." >> $GITHUB_STEP_SUMMARY
fi fi
done done
Regular → Executable
+1 -7
View File
@@ -2,18 +2,12 @@ name: Greetings
on: [pull_request_target, issues] on: [pull_request_target, issues]
permissions:
contents: read
jobs: jobs:
greeting: greeting:
permissions:
issues: write
pull-requests: write
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/first-interaction@v1 - uses: actions/first-interaction@v1
with: 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.' 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/previous/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}
+42
View File
@@ -0,0 +1,42 @@
name: Package Trigger Main
on:
workflow_dispatch:
jobs:
package-trigger-previous:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- name: Package Trigger
if: github.ref == 'refs/heads/previous'
run: |
if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_NEXTCLOUD_PREVIOUS }}" ]; then
echo "**** Github secret PAUSE_PACKAGE_TRIGGER_NEXTCLOUD_PREVIOUS is set; skipping trigger. ****"
echo "Github secret \`PAUSE_PACKAGE_TRIGGER_NEXTCLOUD_PREVIOUS\` is set; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0
fi
if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/previous/lastBuild/api/json | jq -r '.building') == "true" ]; then
echo "**** There already seems to be an active build on Jenkins; skipping package trigger ****"
echo "There already seems to be an active build on Jenkins; skipping package trigger" >> $GITHUB_STEP_SUMMARY
exit 0
fi
echo "**** Package trigger running off of previous branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_NEXTCLOUD_PREVIOUS\". ****"
echo "Package trigger running off of previous branch. To disable, set a Github secret named \`PAUSE_PACKAGE_TRIGGER_NEXTCLOUD_PREVIOUS\`" >> $GITHUB_STEP_SUMMARY
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/previous/buildWithParameters?PACKAGE_CHECK=true \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
echo "**** Jenkins job queue url: ${response%$'\r'} ****"
echo "**** Sleeping 10 seconds until job starts ****"
sleep 10
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}"
echo "**** Jenkins job build url: ${buildurl} ****"
echo "Jenkins job build url: ${buildurl}" >> $GITHUB_STEP_SUMMARY
echo "**** Attempting to change the Jenkins job description ****"
curl -iX POST \
"${buildurl}submitDescription" \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
--data-urlencode "description=GHA package trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
--data-urlencode "Submit=Submit"
+26 -79
View File
@@ -5,9 +5,6 @@ on:
- cron: '42 11 * * 2' - cron: '42 11 * * 2'
workflow_dispatch: workflow_dispatch:
permissions:
contents: read
jobs: jobs:
package-trigger-scheduler: package-trigger-scheduler:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -17,87 +14,37 @@ jobs:
fetch-depth: '0' fetch-depth: '0'
- name: Package Trigger Scheduler - name: Package Trigger Scheduler
env:
SKIP_PACKAGE_TRIGGER: ${{ vars.SKIP_PACKAGE_TRIGGER }}
run: | run: |
printf "# Package trigger scheduler for docker-nextcloud\n\n" >> $GITHUB_STEP_SUMMARY echo "**** Branches found: ****"
printf "Found the branches:\n\n%s\n" "$(git for-each-ref --format='- %(refname:lstrip=3)' refs/remotes)" >> $GITHUB_STEP_SUMMARY git for-each-ref --format='%(refname:short)' refs/remotes
for br in $(git for-each-ref --format='%(refname:lstrip=3)' refs/remotes) for br in $(git for-each-ref --format='%(refname:short)' refs/remotes)
do do
if [[ "${br}" == "HEAD" ]]; then br=$(echo "$br" | sed 's|origin/||g')
printf "\nSkipping %s.\n" ${br} >> $GITHUB_STEP_SUMMARY echo "**** Evaluating branch ${br} ****"
continue ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-nextcloud/${br}/jenkins-vars.yml | yq -r '.ls_branch')
fi if [ "${br}" == "${ls_branch}" ]; then
printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY echo "**** Branch ${br} appears to be live; checking workflow. ****"
JENKINS_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-nextcloud/${br}/jenkins-vars.yml) if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-nextcloud/${br}/.github/workflows/package_trigger.yml > /dev/null 2>&1; then
if ! curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-nextcloud/${br}/Jenkinsfile >/dev/null 2>&1; then echo "**** Workflow exists. Triggering package trigger workflow for branch ${br}. ****"
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY echo "Triggering package trigger workflow for branch ${br}" >> $GITHUB_STEP_SUMMARY
echo "> No Jenkinsfile found. Branch is either deprecated or is an early dev branch." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif [[ "${br}" == $(yq -r '.ls_branch' <<< "${JENKINS_VARS}") ]]; then
echo "Branch appears to be live; checking workflow." >> $GITHUB_STEP_SUMMARY
README_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-nextcloud/${br}/readme-vars.yml)
if [[ $(yq -r '.project_deprecation_status' <<< "${README_VARS}") == "true" ]]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Branch appears to be deprecated; skipping trigger." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif [[ $(yq -r '.skip_package_check' <<< "${JENKINS_VARS}") == "true" ]]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Skipping branch ${br} due to \`skip_package_check\` being set in \`jenkins-vars.yml\`." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif grep -q "^nextcloud_${br}" <<< "${SKIP_PACKAGE_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_PACKAGE_TRIGGER\` contains \`nextcloud_${br}\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/${br}/lastBuild/api/json | jq -r '.building' 2>/dev/null) == "true" ]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> There already seems to be an active build on Jenkins; skipping package trigger for ${br}" >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
else
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo "> Triggering package trigger for branch ${br}" >> $GITHUB_STEP_SUMMARY
printf "> To disable, add \`nextcloud_%s\` into the Github organizational variable \`SKIP_PACKAGE_TRIGGER\`.\n\n" "${br}" >> $GITHUB_STEP_SUMMARY
triggered_branches="${triggered_branches}${br} " triggered_branches="${triggered_branches}${br} "
response=$(curl -iX POST \ curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/${br}/buildWithParameters?PACKAGE_CHECK=true \ -H "Authorization: token ${{ secrets.CR_PAT }}" \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|") -H "Accept: application/vnd.github.v3+json" \
if [[ -z "${response}" ]]; then -d "{\"ref\":\"refs/heads/${br}\"}" \
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY https://api.github.com/repos/linuxserver/docker-nextcloud/actions/workflows/package_trigger.yml/dispatches
echo "> Jenkins build could not be triggered. Skipping branch." sleep 30
continue else
fi echo "**** Workflow doesn't exist; skipping trigger. ****"
echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY echo "Skipping branch ${br} due to no package trigger workflow present." >> $GITHUB_STEP_SUMMARY
echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY
sleep 10
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}"
echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY
echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY
if ! curl -ifX POST \
"${buildurl}submitDescription" \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
--data-urlencode "description=GHA package trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
--data-urlencode "Submit=Submit"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Unable to change the Jenkins job description."
fi
sleep 20
fi fi
else else
echo "**** ${br} appears to be a dev branch; skipping trigger. ****"
echo "Skipping branch ${br} due to being detected as dev branch." >> $GITHUB_STEP_SUMMARY echo "Skipping branch ${br} due to being detected as dev branch." >> $GITHUB_STEP_SUMMARY
fi fi
done done
if [[ -n "${triggered_branches}" ]] || [[ -n "${skipped_branches}" ]]; then echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****"
if [[ -n "${triggered_branches}" ]]; then echo "**** Notifying Discord ****"
NOTIFY_BRANCHES="**Triggered:** ${triggered_branches} \n" curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
NOTIFY_BUILD_URL="**Build URL:** https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-nextcloud/activity/ \n" "description": "**Package Check Build(s) Triggered for nextcloud** \n**Branch(es):** '"${triggered_branches}"' \n**Build URL:** '"https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-nextcloud/activity/"' \n"}],
echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****" "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
fi
if [[ -n "${skipped_branches}" ]]; then
NOTIFY_BRANCHES="${NOTIFY_BRANCHES}**Skipped:** ${skipped_branches} \n"
fi
echo "**** Notifying Discord ****"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Package Check Build(s) for nextcloud** \n'"${NOTIFY_BRANCHES}"''"${NOTIFY_BUILD_URL}"'"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
fi
View File
+47 -41
View File
@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1 # syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.22 FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.20
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
@@ -18,44 +18,49 @@ RUN \
ffmpeg \ ffmpeg \
gnu-libiconv \ gnu-libiconv \
imagemagick \ imagemagick \
imagemagick-heic \
imagemagick-pdf \
imagemagick-svg \
libxml2 \ libxml2 \
php84-apcu \ php83-apcu \
php84-bcmath \ php83-bcmath \
php84-bz2 \ php83-bz2 \
php84-dom \ php83-dom \
php84-exif \ php83-exif \
php84-ftp \ php83-ftp \
php84-gd \ php83-gd \
php84-gmp \ php83-gmp \
php84-imap \ php83-imap \
php84-intl \ php83-intl \
php84-ldap \ php83-ldap \
php84-opcache \ php83-opcache \
php84-pcntl \ php83-pcntl \
php84-pdo_mysql \ php83-pdo_mysql \
php84-pdo_pgsql \ php83-pdo_pgsql \
php84-pdo_sqlite \ php83-pdo_sqlite \
php84-pecl-imagick \ php83-pecl-imagick \
php84-pecl-memcached \ php83-pecl-mcrypt \
php84-pecl-smbclient \ php83-pecl-memcached \
php84-pgsql \ php83-pecl-smbclient \
php84-posix \ php83-pgsql \
php84-redis \ php83-posix \
php84-sodium \ php83-redis \
php84-sqlite3 \ php83-sodium \
php84-sysvsem \ php83-sqlite3 \
php84-xmlreader \ php83-sysvsem \
php83-xmlreader \
rsync \ rsync \
samba-client \ samba-client \
util-linux \
sudo && \ sudo && \
echo "**** configure php-fpm to pass env vars ****" && \ 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 && \ sed -E -i 's/^;?clear_env ?=.*$/clear_env = no/g' /etc/php83/php-fpm.d/www.conf && \
if ! grep -qxF 'clear_env = no' /etc/php84/php-fpm.d/www.conf; then echo 'clear_env = no' >> /etc/php84/php-fpm.d/www.conf; fi && \ grep -qxF 'clear_env = no' /etc/php83/php-fpm.d/www.conf || echo 'clear_env = no' >> /etc/php83/php-fpm.d/www.conf && \
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php84/php-fpm.conf && \ echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php83/php-fpm.conf && \
echo "**** configure php for nextcloud ****" && \ echo "**** configure php for nextcloud ****" && \
{ \ { \
echo 'apc.enable_cli=1'; \ echo 'apc.enable_cli=1'; \
} >> /etc/php84/conf.d/apcu.ini && \ } >> /etc/php83/conf.d/apcu.ini && \
{ \ { \
echo 'opcache.enable=1'; \ echo 'opcache.enable=1'; \
echo 'opcache.interned_strings_buffer=32'; \ echo 'opcache.interned_strings_buffer=32'; \
@@ -65,27 +70,28 @@ RUN \
echo 'opcache.revalidate_freq=60'; \ echo 'opcache.revalidate_freq=60'; \
echo 'opcache.jit=1255'; \ echo 'opcache.jit=1255'; \
echo 'opcache.jit_buffer_size=128M'; \ echo 'opcache.jit_buffer_size=128M'; \
} >> "/etc/php84/conf.d/00_opcache.ini" && \ } >> "/etc/php83/conf.d/00_opcache.ini" && \
{ \ { \
echo 'memory_limit=-1'; \ echo 'memory_limit=512M'; \
echo 'upload_max_filesize=100G'; \ echo 'upload_max_filesize=512M'; \
echo 'post_max_size=100G'; \ echo 'post_max_size=512M'; \
echo 'max_input_time=3600'; \ echo 'max_input_time=300'; \
echo 'max_execution_time=3600'; \ echo 'max_execution_time=300'; \
echo 'output_buffering=0'; \ echo 'output_buffering=0'; \
echo 'always_populate_raw_post_data=-1'; \ echo 'always_populate_raw_post_data=-1'; \
} >> "/etc/php84/conf.d/nextcloud.ini" && \ } >> "/etc/php83/conf.d/nextcloud.ini" && \
echo "**** install nextcloud ****" && \ echo "**** install nextcloud ****" && \
mkdir -p \ mkdir -p \
/app/www/src/ && \ /app/www/src/ && \
if [ -z ${NEXTCLOUD_RELEASE+x} ]; then \ if [ -z ${NEXTCLOUD_RELEASE+x} ]; then \
NEXTCLOUD_RELEASE=$(curl -sX GET https://api.github.com/repos/nextcloud/server/releases \ NEXTCLOUD_RELEASE=$(curl -sX GET https://api.github.com/repos/nextcloud/server/releases \
| jq -r '.[] | select(.prerelease == true) | .tag_name' \ | jq -r "first(.[] | select(.tag_name | contains($(( $(curl -sX GET https://api.github.com/repos/nextcloud/server/releases/latest \
| sed 's|^v||g' | sort -rV | head -1); \ | 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 && \ fi && \
curl -o \ curl -o \
/tmp/nextcloud.tar.bz2 -L \ /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 \ tar xf /tmp/nextcloud.tar.bz2 -C \
/app/www/src --strip-components=1 && \ /app/www/src --strip-components=1 && \
rm -rf /app/www/src/updater && \ rm -rf /app/www/src/updater && \
+47 -41
View File
@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1 # syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.22 FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.20
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
@@ -18,44 +18,49 @@ RUN \
ffmpeg \ ffmpeg \
gnu-libiconv \ gnu-libiconv \
imagemagick \ imagemagick \
imagemagick-heic \
imagemagick-pdf \
imagemagick-svg \
libxml2 \ libxml2 \
php84-apcu \ php83-apcu \
php84-bcmath \ php83-bcmath \
php84-bz2 \ php83-bz2 \
php84-dom \ php83-dom \
php84-exif \ php83-exif \
php84-ftp \ php83-ftp \
php84-gd \ php83-gd \
php84-gmp \ php83-gmp \
php84-imap \ php83-imap \
php84-intl \ php83-intl \
php84-ldap \ php83-ldap \
php84-opcache \ php83-opcache \
php84-pcntl \ php83-pcntl \
php84-pdo_mysql \ php83-pdo_mysql \
php84-pdo_pgsql \ php83-pdo_pgsql \
php84-pdo_sqlite \ php83-pdo_sqlite \
php84-pecl-imagick \ php83-pecl-imagick \
php84-pecl-memcached \ php83-pecl-mcrypt \
php84-pecl-smbclient \ php83-pecl-memcached \
php84-pgsql \ php83-pecl-smbclient \
php84-posix \ php83-pgsql \
php84-redis \ php83-posix \
php84-sodium \ php83-redis \
php84-sqlite3 \ php83-sodium \
php84-sysvsem \ php83-sqlite3 \
php84-xmlreader \ php83-sysvsem \
php83-xmlreader \
rsync \ rsync \
samba-client \ samba-client \
util-linux \
sudo && \ sudo && \
echo "**** configure php-fpm to pass env vars ****" && \ 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 && \ sed -E -i 's/^;?clear_env ?=.*$/clear_env = no/g' /etc/php83/php-fpm.d/www.conf && \
if ! grep -qxF 'clear_env = no' /etc/php84/php-fpm.d/www.conf; then echo 'clear_env = no' >> /etc/php84/php-fpm.d/www.conf; fi && \ grep -qxF 'clear_env = no' /etc/php83/php-fpm.d/www.conf || echo 'clear_env = no' >> /etc/php83/php-fpm.d/www.conf && \
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php84/php-fpm.conf && \ echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php83/php-fpm.conf && \
echo "**** configure php for nextcloud ****" && \ echo "**** configure php for nextcloud ****" && \
{ \ { \
echo 'apc.enable_cli=1'; \ echo 'apc.enable_cli=1'; \
} >> /etc/php84/conf.d/apcu.ini && \ } >> /etc/php83/conf.d/apcu.ini && \
{ \ { \
echo 'opcache.enable=1'; \ echo 'opcache.enable=1'; \
echo 'opcache.interned_strings_buffer=32'; \ echo 'opcache.interned_strings_buffer=32'; \
@@ -65,27 +70,28 @@ RUN \
echo 'opcache.revalidate_freq=60'; \ echo 'opcache.revalidate_freq=60'; \
echo 'opcache.jit=1255'; \ echo 'opcache.jit=1255'; \
echo 'opcache.jit_buffer_size=128M'; \ echo 'opcache.jit_buffer_size=128M'; \
} >> "/etc/php84/conf.d/00_opcache.ini" && \ } >> "/etc/php83/conf.d/00_opcache.ini" && \
{ \ { \
echo 'memory_limit=-1'; \ echo 'memory_limit=512M'; \
echo 'upload_max_filesize=100G'; \ echo 'upload_max_filesize=512M'; \
echo 'post_max_size=100G'; \ echo 'post_max_size=512M'; \
echo 'max_input_time=3600'; \ echo 'max_input_time=300'; \
echo 'max_execution_time=3600'; \ echo 'max_execution_time=300'; \
echo 'output_buffering=0'; \ echo 'output_buffering=0'; \
echo 'always_populate_raw_post_data=-1'; \ echo 'always_populate_raw_post_data=-1'; \
} >> "/etc/php84/conf.d/nextcloud.ini" && \ } >> "/etc/php83/conf.d/nextcloud.ini" && \
echo "**** install nextcloud ****" && \ echo "**** install nextcloud ****" && \
mkdir -p \ mkdir -p \
/app/www/src/ && \ /app/www/src/ && \
if [ -z ${NEXTCLOUD_RELEASE+x} ]; then \ if [ -z ${NEXTCLOUD_RELEASE+x} ]; then \
NEXTCLOUD_RELEASE=$(curl -sX GET https://api.github.com/repos/nextcloud/server/releases \ NEXTCLOUD_RELEASE=$(curl -sX GET https://api.github.com/repos/nextcloud/server/releases \
| jq -r '.[] | select(.prerelease == true) | .tag_name' \ | jq -r "first(.[] | select(.tag_name | contains($(( $(curl -sX GET https://api.github.com/repos/nextcloud/server/releases/latest \
| sed 's|^v||g' | sort -rV | head -1); \ | 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 && \ fi && \
curl -o \ curl -o \
/tmp/nextcloud.tar.bz2 -L \ /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 \ tar xf /tmp/nextcloud.tar.bz2 -C \
/app/www/src --strip-components=1 && \ /app/www/src --strip-components=1 && \
rm -rf /app/www/src/updater && \ rm -rf /app/www/src/updater && \
Vendored
+257 -511
View File
File diff suppressed because it is too large Load Diff
Regular → Executable
View File
+18 -22
View File
@@ -1,10 +1,11 @@
<!-- DO NOT EDIT THIS FILE MANUALLY --> <!-- 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/previous/.github/CONTRIBUTING.md -->
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io) [![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io)
[![Blog](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Blog)](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!") [![Blog](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Blog)](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
[![Discord](https://img.shields.io/discord/354974912613449730.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Discord&logo=discord)](https://linuxserver.io/discord "realtime support / chat with the community and the team.") [![Discord](https://img.shields.io/discord/354974912613449730.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Discord&logo=discord)](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
[![Discourse](https://img.shields.io/discourse/https/discourse.linuxserver.io/topics.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=discourse)](https://discourse.linuxserver.io "post on our community forum.") [![Discourse](https://img.shields.io/discourse/https/discourse.linuxserver.io/topics.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=discourse)](https://discourse.linuxserver.io "post on our community forum.")
[![Fleet](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Fleet)](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
[![GitHub](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub&logo=github)](https://github.com/linuxserver "view the source for all of our repositories.") [![GitHub](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub&logo=github)](https://github.com/linuxserver "view the source for all of our repositories.")
[![Open Collective](https://img.shields.io/opencollective/all/linuxserver.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Supporters&logo=open%20collective)](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget") [![Open Collective](https://img.shields.io/opencollective/all/linuxserver.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Supporters&logo=open%20collective)](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
@@ -19,8 +20,9 @@ The [LinuxServer.io](https://linuxserver.io) team brings you another container r
Find us at: Find us at:
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more! * [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
* [Discord](https://linuxserver.io/discord) - realtime support / chat with the community and the team. * [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
* [Discourse](https://discourse.linuxserver.io) - post on our community forum. * [Discourse](https://discourse.linuxserver.io) - post on our community forum.
* [Fleet](https://fleet.linuxserver.io) - an online web interface which displays all of our maintained images.
* [GitHub](https://github.com/linuxserver) - view the source for all of our repositories. * [GitHub](https://github.com/linuxserver) - view the source for all of our repositories.
* [Open Collective](https://opencollective.com/linuxserver) - please consider helping us by either donating or contributing to our budget * [Open Collective](https://opencollective.com/linuxserver) - please consider helping us by either donating or contributing to our budget
@@ -34,8 +36,8 @@ Find us at:
[![Quay.io](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Quay.io)](https://quay.io/repository/linuxserver.io/nextcloud) [![Quay.io](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Quay.io)](https://quay.io/repository/linuxserver.io/nextcloud)
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/nextcloud.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/nextcloud) [![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/nextcloud.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/nextcloud)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/nextcloud.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/nextcloud) [![Docker Stars](https://img.shields.io/docker/stars/linuxserver/nextcloud.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/nextcloud)
[![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-nextcloud%2Fjob%2Fdevelop%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/develop/) [![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-nextcloud%2Fjob%2Fprevious%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/previous/)
[![LSIO CI](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=CI&query=CI&url=https%3A%2F%2Fci-tests.linuxserver.io%2Flinuxserver%2Fnextcloud%2Fdevelop%2Fci-status.yml)](https://ci-tests.linuxserver.io/linuxserver/nextcloud/develop/index.html) [![LSIO CI](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=CI&query=CI&url=https%3A%2F%2Fci-tests.linuxserver.io%2Flinuxserver%2Fnextcloud%2Flatest%2Fci-status.yml)](https://ci-tests.linuxserver.io/linuxserver/nextcloud/latest/index.html)
[Nextcloud](https://nextcloud.com/) gives you access to all your files wherever you are. [Nextcloud](https://nextcloud.com/) gives you access to all your files wherever you are.
@@ -47,7 +49,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/). 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: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: The architectures supported by this image are:
@@ -55,6 +57,7 @@ The architectures supported by this image are:
| :----: | :----: | ---- | | :----: | :----: | ---- |
| x86-64 | ✅ | amd64-\<version tag\> | | x86-64 | ✅ | amd64-\<version tag\> |
| arm64 | ✅ | arm64v8-\<version tag\> | | arm64 | ✅ | arm64v8-\<version tag\> |
| armhf | ❌ | |
## Version Tags ## Version Tags
@@ -134,16 +137,13 @@ If you are using a reverse proxy which validates certificates, you need to [disa
To help you get started creating a container from this image you can either use docker-compose or the docker cli. To help you get started creating a container from this image you can either use docker-compose or the docker cli.
>[!NOTE]
>Unless a parameter is flagged as 'optional', it is *mandatory* and a value must be provided.
### docker-compose (recommended, [click here for more info](https://docs.linuxserver.io/general/docker-compose)) ### docker-compose (recommended, [click here for more info](https://docs.linuxserver.io/general/docker-compose))
```yaml ```yaml
--- ---
services: services:
nextcloud: nextcloud:
image: lscr.io/linuxserver/nextcloud:develop image: lscr.io/linuxserver/nextcloud:previous
container_name: nextcloud container_name: nextcloud
environment: environment:
- PUID=1000 - PUID=1000
@@ -169,7 +169,7 @@ docker run -d \
-v /path/to/nextcloud/config:/config \ -v /path/to/nextcloud/config:/config \
-v /path/to/data:/data \ -v /path/to/data:/data \
--restart unless-stopped \ --restart unless-stopped \
lscr.io/linuxserver/nextcloud:develop lscr.io/linuxserver/nextcloud:previous
``` ```
## Parameters ## Parameters
@@ -178,7 +178,7 @@ Containers are configured using parameters passed at runtime (such as those abov
| Parameter | Function | | Parameter | Function |
| :----: | --- | | :----: | --- |
| `-p 443:443` | WebUI | | `-p 443` | WebUI |
| `-e PUID=1000` | for UserID - see below for explanation | | `-e PUID=1000` | for UserID - see below for explanation |
| `-e PGID=1000` | for GroupID - see below for explanation | | `-e PGID=1000` | for GroupID - see below for explanation |
| `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). | | `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). |
@@ -249,7 +249,7 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to
* Image version number: * Image version number:
```bash ```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:previous
``` ```
## Updating Info ## Updating Info
@@ -297,7 +297,7 @@ Below are the instructions for updating containers:
* Update the image: * Update the image:
```bash ```bash
docker pull lscr.io/linuxserver/nextcloud:develop docker pull lscr.io/linuxserver/nextcloud:previous
``` ```
* Stop the running container: * Stop the running container:
@@ -321,8 +321,7 @@ Below are the instructions for updating containers:
### Image Update Notifications - Diun (Docker Image Update Notifier) ### Image Update Notifications - Diun (Docker Image Update Notifier)
>[!TIP] **tip**: We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
>We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
## Building locally ## Building locally
@@ -334,22 +333,19 @@ cd docker-nextcloud
docker build \ docker build \
--no-cache \ --no-cache \
--pull \ --pull \
-t lscr.io/linuxserver/nextcloud:develop . -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` The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
```bash ```bash
docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset docker run --rm --privileged multiarch/qemu-user-static:register --reset
``` ```
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`. Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
## Versions ## Versions
* **10.07.25:** - Rebase to Alpine 3.22.
* **12.02.25:** - Rebase to Alpine 3.21.
* **09.01.25:** - Fix uploading large files. Existing users should update their nginx confs.
* **09.07.24:** - Add `previous` tag for n-1 releases. * **09.07.24:** - Add `previous` tag for n-1 releases.
* **24.06.24:** - Rebase to Alpine 3.20. Existing users should update their nginx confs to avoid http2 deprecation warnings. * **24.06.24:** - Rebase to Alpine 3.20. Existing users should update their nginx confs to avoid http2 deprecation warnings.
* **19.05.24:** - Added util-linux package required for taskset. * **19.05.24:** - Added util-linux package required for taskset.
+3 -3
View File
@@ -3,10 +3,10 @@
# jenkins variables # jenkins variables
project_name: docker-nextcloud project_name: docker-nextcloud
external_type: na 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" 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/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'"
release_type: prerelease release_type: prerelease
release_tag: develop release_tag: previous
ls_branch: develop ls_branch: previous
repo_vars: repo_vars:
- BUILD_VERSION_ARG = 'NEXTCLOUD_RELEASE' - BUILD_VERSION_ARG = 'NEXTCLOUD_RELEASE'
- LS_USER = 'linuxserver' - LS_USER = 'linuxserver'
+445 -497
View File
@@ -1,497 +1,445 @@
NAME VERSION TYPE NAME VERSION TYPE
Process Wrapper 0.0.0.0 binary (+1 duplicate) @nextcloud/text 28.0.0-dev.1 npm
acl-libs 2.3.2-r1 apk Process Wrapper 1.0.0.0 dotnet (+1 duplicate)
activity 7.0.0-dev.0 npm activity 2.20.0 npm
alpine-baselayout 3.7.0-r0 apk agetty 2.40.1-r1 apk
alpine-baselayout-data 3.7.0-r0 apk alpine-baselayout 3.6.5-r0 apk
alpine-keys 2.5-r0 apk alpine-baselayout-data 3.6.5-r0 apk
alpine-release 3.22.4-r0 apk alpine-keys 2.4-r1 apk
alsa-lib 1.2.14-r0 apk alpine-release 3.20.2-r0 apk
amphp/amp v2.6.5 php-composer alsa-lib 1.2.11-r0 apk
amphp/byte-stream v1.8.2 php-composer amphp/amp v2.6.2 php-composer
amphp/parallel v1.4.4 php-composer amphp/byte-stream v1.8.1 php-composer
amphp/parser v1.1.1 php-composer amphp/parallel v1.4.3 php-composer
amphp/process v1.1.9 php-composer amphp/parser v1.1.0 php-composer
amphp/serialization v1.0.0 php-composer amphp/process v1.1.4 php-composer
amphp/sync v1.4.2 php-composer amphp/serialization v1.0.0 php-composer
andrewdalpino/okbloomer 1.0.0 php-composer amphp/sync v1.4.2 php-composer
anstream 0.6.8 rust-crate aom-libs 3.9.1-r0 apk
anstyle 1.0.4 rust-crate apache2-utils 2.4.62-r0 apk
anstyle-parse 0.2.3 rust-crate apk-tools 2.14.4-r0 apk
anstyle-query 1.0.2 rust-crate apr 1.7.4-r0 apk
anyhow 1.0.79 rust-crate apr-util 1.6.3-r1 apk
anyhow 1.0.98 rust-crate argon2-libs 20190702-r5 apk
aom-libs 3.12.1-r0 apk avahi-libs 0.8-r17 apk
apache2-utils 2.4.67-r0 apk aws/aws-crt-php v1.0.2 php-composer
apk-tools 2.14.9-r3 apk aws/aws-sdk-php 3.240.8 php-composer
apr 1.7.5-r0 apk bantu/ini-get-wrapper v1.0.1 php-composer
apr-util 1.6.3-r1 apk bash 5.2.26-r0 apk
arg_enum_proc_macro 0.3.4 rust-crate beberlei/assert v3.3.1 php-composer
argon2-libs 20190702-r5 apk blkid 2.40.1-r1 apk
arrayvec 0.7.4 rust-crate brick/math 0.9.2 php-composer
av-metrics 0.9.1 rust-crate brotli-libs 1.1.0-r2 apk
av1-grain 0.2.3 rust-crate bruteforcesettings 2.8.0 npm
aws/aws-crt-php v1.2.7 php-composer busybox 1.36.1-r29 apk
aws/aws-sdk-php 3.376.2 php-composer busybox-binsh 1.36.1-r29 apk
bamarni/composer-bin-plugin 1.9.1 php-composer (+1 duplicate) c-ares 1.28.1-r0 apk
bantu/ini-get-wrapper v1.0.1 php-composer c-client 2007f-r15 apk
bash 5.2.37-r0 apk ca-certificates 20240705-r0 apk
bitflags 2.4.1 rust-crate ca-certificates-bundle 20240705-r0 apk
bitstream-io 2.2.0 rust-crate cairo 1.18.0-r0 apk
bitstream-io 2.6.0 rust-crate cairo-gobject 1.18.0-r0 apk
bitvec 1.0.1 rust-crate catatonit 0.2.0-r0 apk
bitvec_helpers 3.1.6 rust-crate cfdisk 2.40.1-r1 apk
brick/math 0.12.1 php-composer christian-riesen/base32 1.6.0 php-composer
brick/math 0.14.8 php-composer cjson 1.7.18-r0 apk
brotli-libs 1.1.0-r2 apk composer 2.7.7 binary
busybox 1.37.0-r20 apk coreutils 9.5-r1 apk
busybox-binsh 1.37.0-r20 apk coreutils-env 9.5-r1 apk
c-ares 1.34.6-r0 apk coreutils-fmt 9.5-r1 apk
c-client 2007f-r15 apk coreutils-sha512sum 9.5-r1 apk
ca-certificates 20260413-r0 apk cups-libs 2.4.9-r0 apk
ca-certificates-bundle 20260413-r0 apk curl 8.9.0-r0 apk
catatonit 0.2.1-r0 apk cweagans/composer-patches 1.7.3 php-composer
cfg-if 1.0.0 rust-crate dbus-libs 1.14.10-r1 apk
christian-riesen/base32 1.6.0 php-composer deepdiver/zipstreamer v2.0.3 php-composer
cjson 1.7.19-r0 apk deepdiver1975/tarstreamer v2.1.0 php-composer
clap 4.4.14 rust-crate dmesg 2.40.1-r1 apk
clap_builder 4.4.14 rust-crate doctrine/cache 2.2.0 php-composer
clap_complete 4.4.6 rust-crate doctrine/dbal 3.7.0 php-composer
clap_derive 4.4.7 rust-crate doctrine/deprecations 1.1.2 php-composer
clap_lex 0.6.0 rust-crate doctrine/event-manager 1.2.0 php-composer
colorchoice 1.0.0 rust-crate doctrine/lexer 1.2.3 php-composer
composer 2.10.0 binary egulias/email-validator 3.2.5 php-composer
console 0.15.8 rust-crate ffmpeg 6.1.1-r8 apk
coreutils 9.7-r1 apk ffmpeg-libavcodec 6.1.1-r8 apk
coreutils-env 9.7-r1 apk ffmpeg-libavdevice 6.1.1-r8 apk
coreutils-fmt 9.7-r1 apk ffmpeg-libavfilter 6.1.1-r8 apk
coreutils-sha512sum 9.7-r1 apk ffmpeg-libavformat 6.1.1-r8 apk
crc 3.3.0 rust-crate ffmpeg-libavutil 6.1.1-r8 apk
crc-catalog 2.4.0 rust-crate ffmpeg-libpostproc 6.1.1-r8 apk
crossbeam 0.8.4 rust-crate ffmpeg-libswresample 6.1.1-r8 apk
crossbeam-channel 0.5.14 rust-crate ffmpeg-libswscale 6.1.1-r8 apk
crossbeam-deque 0.8.5 rust-crate fftw-double-libs 3.3.10-r5 apk
crossbeam-epoch 0.9.18 rust-crate fgrosse/phpasn1 v2.3.0 php-composer
crossbeam-queue 0.3.11 rust-crate files_pdfviewer 2.9.0 npm
crossbeam-utils 0.8.19 rust-crate findmnt 2.40.1-r1 apk
curl 8.14.1-r2 apk findutils 4.9.0-r5 apk
cweagans/composer-patches 1.7.3 php-composer firstrunwizard 2.17.0 npm
dbus-libs 1.16.2-r1 apk flock 2.40.1-r1 apk
deepdiver/zipstreamer v3.0.1 php-composer fontconfig 2.15.0-r1 apk
deepdiver1975/tarstreamer v2.1.0 php-composer freetype 2.13.2-r0 apk
doctrine/dbal 3.10.4 php-composer fribidi 1.0.15-r0 apk
doctrine/deprecations 1.1.5 php-composer fstrim 2.40.1-r1 apk
doctrine/event-manager 2.0.1 php-composer fusonic/linq v1.1.0 php-composer
doctrine/lexer 3.0.1 php-composer fusonic/opengraph v2.2.0 php-composer
dolby_vision 3.3.1 rust-crate gdbm 1.23-r1 apk
egulias/email-validator 4.0.4 php-composer gdk-pixbuf 2.42.11-r1 apk
either 1.9.0 rust-crate ghostscript 10.03.1-r0 apk
errno 0.3.8 rust-crate giflib 5.2.2-r0 apk
fern 0.6.2 rust-crate giggsey/libphonenumber-for-php-lite 8.13.12 php-composer
ffmpeg 6.1.2-r2 apk git 2.45.2-r0 apk
ffmpeg-libavcodec 6.1.2-r2 apk git-init-template 2.45.2-r0 apk
ffmpeg-libavdevice 6.1.2-r2 apk glib 2.80.2-r0 apk
ffmpeg-libavfilter 6.1.2-r2 apk glslang-libs 1.3.261.1-r0 apk
ffmpeg-libavformat 6.1.2-r2 apk gmp 6.3.0-r1 apk
ffmpeg-libavutil 6.1.2-r2 apk gnu-libiconv 1.17-r2 apk
ffmpeg-libpostproc 6.1.2-r2 apk gnu-libiconv-libs 1.17-r2 apk
ffmpeg-libswresample 6.1.2-r2 apk gnutls 3.8.5-r0 apk
ffmpeg-libswscale 6.1.2-r2 apk graphite2 1.3.14-r6 apk
fftw-double-libs 3.3.10-r6 apk guzzlehttp/guzzle 7.5.0 php-composer
files_downloadlimit 5.2.0-dev.0 npm guzzlehttp/promises 1.5.2 php-composer
files_pdfviewer 7.0.0-dev.0 npm guzzlehttp/psr7 2.4.5 php-composer
findutils 4.10.0-r0 apk guzzlehttp/uri-template v0.2.0 php-composer
firstrunwizard 7.0.0-dev.0 npm harfbuzz 8.5.0-r0 apk
fontconfig 2.15.0-r3 apk hexdump 2.40.1-r1 apk
freetype 2.13.3-r0 apk hexogen/kdtree v0.2.5 php-composer
fribidi 1.0.16-r1 apk hwdata-pci 0.382-r0 apk
funty 2.0.0 rust-crate icewind/searchdav v3.1.0 php-composer
fusonic/opengraph v3.0.0 php-composer icewind/smb v3.5.4 php-composer
gdbm 1.24-r0 apk icewind/streams v0.7.7 php-composer (+1 duplicate)
getrandom 0.2.12 rust-crate icu-data-en 74.2-r0 apk
giflib 5.2.2-r1 apk icu-libs 74.2-r0 apk
giggsey/libphonenumber-for-php-lite 9.0.9 php-composer imagemagick 7.1.1.32-r2 apk
git 2.49.1-r0 apk imagemagick-heic 7.1.1.32-r2 apk
git-init-template 2.49.1-r0 apk imagemagick-jpeg 7.1.1.32-r2 apk
glib 2.84.4-r0 apk imagemagick-jxl 7.1.1.32-r2 apk
glslang-libs 1.4.309.0-r0 apk imagemagick-libs 7.1.1.32-r2 apk
gmp 6.3.0-r3 apk imagemagick-pango 7.1.1.32-r2 apk
gnu-libiconv 1.17-r2 apk imagemagick-pdf 7.1.1.32-r2 apk
gnu-libiconv-libs 1.17-r2 apk imagemagick-svg 7.1.1.32-r2 apk
gnutls 3.8.13-r0 apk imagemagick-tiff 7.1.1.32-r2 apk
graphite2 1.3.14-r6 apk imagemagick-webp 7.1.1.32-r2 apk
guzzlehttp/guzzle 7.10.0 php-composer (+1 duplicate) imath 3.1.11-r2 apk
guzzlehttp/promises 2.3.0 php-composer (+1 duplicate) jansson 2.14-r4 apk
guzzlehttp/psr7 2.8.0 php-composer jbig2dec 0.20-r0 apk
guzzlehttp/psr7 2.9.0 php-composer jq 1.7.1-r0 apk
guzzlehttp/uri-template v1.0.4 php-composer justinrainbow/json-schema 5.2.10 php-composer
harfbuzz 11.2.1-r0 apk lame-libs 3.100-r5 apk
heck 0.4.1 rust-crate laravel/serializable-closure v1.2.2 php-composer
hexogen/kdtree v0.2.6 php-composer lcms2 2.16-r0 apk
hwdata-pci 0.395-r0 apk ldb 2.8.0-r1 apk
icewind/searchdav v3.2.0 php-composer league/flysystem 2.5.0 php-composer
icewind/smb 3.8.1 php-composer league/mime-type-detection 1.11.0 php-composer
icewind/streams v0.7.8 php-composer league/uri 6.4.0 php-composer
icu-data-en 76.1-r1 apk league/uri-interfaces 2.2.0 php-composer
icu-libs 76.1-r1 apk libSvtAv1Enc 2.0.0-r1 apk
imagemagick 7.1.2.15-r0 apk libacl 2.3.2-r0 apk
imagemagick-jpeg 7.1.2.15-r0 apk libarchive 3.7.4-r0 apk
imagemagick-jxl 7.1.2.15-r0 apk libass 0.17.2-r0 apk
imagemagick-libs 7.1.2.15-r0 apk libasyncns 0.8-r3 apk
imagemagick-openexr 7.1.2.15-r0 apk libattr 2.5.2-r0 apk
imagemagick-webp 7.1.2.15-r0 apk libauth-samba 4.19.6-r0 apk
imath 3.1.12-r0 apk libavif 1.0.4-r0 apk
interpolate_name 0.2.4 rust-crate libblkid 2.40.1-r1 apk
itertools 0.10.5 rust-crate libbluray 1.3.4-r1 apk
itertools 0.12.0 rust-crate libbsd 0.12.2-r0 apk
ivf 0.1.3 rust-crate libbz2 1.0.8-r6 apk
jansson 2.14.1-r0 apk libcap-ng 0.8.5-r0 apk
joomla/string 3.0.4 php-composer libcap2 2.70-r0 apk
jq 1.8.1-r0 apk libcrypto3 3.3.1-r3 apk
justinrainbow/json-schema 6.6.4 php-composer libcurl 8.9.0-r0 apk
kornrunner/blurhash v1.2.2 php-composer libdav1d 1.4.2-r0 apk
lab 0.11.0 rust-crate libde265 1.0.15-r0 apk
lame-libs 3.100-r5 apk libdovi 3.3.0-r0 apk
laravel/serializable-closure v2.0.4 php-composer libdrm 2.4.120-r0 apk
lazy_static 1.4.0 rust-crate libeconf 0.6.3-r0 apk
lcms2 2.19-r0 apk libedit 20240517.3.1-r0 apk
lcobucci/clock 3.0.0 php-composer libevent 2.1.12-r7 apk
ldb 4.21.9-r1 apk libexpat 2.6.2-r0 apk
libSvtAv1Enc 2.3.0-r0 apk libfdisk 2.40.1-r1 apk
libapk2 2.14.9-r3 apk libffi 3.4.6-r0 apk
libarchive 3.8.3-r0 apk libflac 1.4.3-r1 apk
libass 0.17.3-r0 apk libformw 6.4_p20240420-r0 apk
libasyncns 0.8-r4 apk libgcc 13.2.1_git20240309-r0 apk
libattr 2.5.2-r2 apk libgomp 13.2.1_git20240309-r0 apk
libauth-samba 4.21.9-r1 apk libheif 1.17.6-r1 apk
libavif 1.3.0-r0 apk libhwy 1.0.7-r0 apk
libblkid 2.41-r9 apk libice 1.1.1-r6 apk
libbluray 1.3.4-r1 apk libidn2 2.3.7-r0 apk
libbsd 0.12.2-r0 apk libintl 0.22.5-r0 apk
libbz2 1.0.8-r6 apk libjpeg-turbo 3.0.3-r0 apk
libc 0.2.155 rust-crate libjxl 0.10.2-r0 apk
libc 0.2.172 rust-crate libldap 2.6.7-r0 apk
libcap2 2.78-r0 apk libltdl 2.4.7-r3 apk
libcrypto3 3.5.6-r0 apk libmcrypt 2.5.8-r10 apk
libcurl 8.14.1-r2 apk libmd 1.1.0-r0 apk
libdav1d 1.5.1-r0 apk libmemcached-libs 1.1.4-r1 apk
libdeflate 1.23-r0 apk libmount 2.40.1-r1 apk
libdovi 3.3.1-r1 apk libncursesw 6.4_p20240420-r0 apk
libdrm 2.4.124-r0 apk libogg 1.3.5-r5 apk
libeconf 0.6.3-r0 apk libopenmpt 0.7.7-r0 apk
libedit 20250104.3.1-r1 apk libpanelw 6.4_p20240420-r0 apk
libevent 2.1.12-r8 apk libpciaccess 0.18.1-r0 apk
libexpat 2.7.5-r0 apk libplacebo 6.338.2-r1 apk
libffi 3.4.8-r0 apk libpng 1.6.43-r0 apk
libflac 1.4.3-r1 apk libpq 16.3-r0 apk
libformw 6.5_p20250503-r0 apk libproc2 4.0.4-r0 apk
libgcc 14.2.0-r6 apk libpsl 0.21.5-r1 apk
libgomp 14.2.0-r6 apk libpulse 17.0-r0 apk
libhwy 1.0.7-r1 apk librist 0.2.10-r1 apk
libice 1.1.2-r0 apk librsvg 2.58.0-r0 apk
libidn2 2.3.7-r0 apk libsasl 2.1.28-r6 apk
libintl 0.24.1-r0 apk libsharpyuv 1.3.2-r0 apk
libjpeg-turbo 3.1.0-r0 apk libsm 1.2.4-r4 apk
libjxl 0.10.3-r2 apk libsmartcols 2.40.1-r1 apk
libldap 2.6.8-r0 apk libsmbclient 4.19.6-r0 apk
libltdl 2.5.4-r1 apk libsndfile 1.2.2-r0 apk
libmd 1.1.0-r0 apk libsodium 1.0.19-r0 apk
libmemcached-libs 1.1.4-r1 apk libsrt 1.5.3-r0 apk
libmount 2.41-r9 apk libssh 0.10.6-r0 apk
libncursesw 6.5_p20250503-r0 apk libssl3 3.3.1-r3 apk
libogg 1.3.5-r5 apk libstdc++ 13.2.1_git20240309-r0 apk
libopenmpt 0.7.15-r0 apk libtasn1 4.19.0-r2 apk
libpanelw 6.5_p20250503-r0 apk libtheora 1.1.1-r18 apk
libpciaccess 0.18.1-r0 apk libunibreak 6.1-r0 apk
libplacebo 6.338.2-r3 apk libunistring 1.2-r0 apk
libpng 1.6.57-r0 apk libuuid 2.40.1-r1 apk
libpq 17.10-r0 apk libva 2.21.0-r0 apk
libproc2 4.0.4-r3 apk libvdpau 1.5-r3 apk
libpsl 0.21.5-r3 apk libvorbis 1.3.7-r2 apk
libpulse 17.0-r5 apk libvpx 1.14.1-r0 apk
librist 0.2.10-r1 apk libwbclient 4.19.6-r0 apk
libsasl 2.1.28-r8 apk libwebp 1.3.2-r0 apk
libsharpyuv 1.5.0-r0 apk libwebpdemux 1.3.2-r0 apk
libsm 1.2.5-r0 apk libwebpmux 1.3.2-r0 apk
libsmbclient 4.21.9-r1 apk libx11 1.8.9-r1 apk
libsndfile 1.2.2-r2 apk libxau 1.0.11-r4 apk
libsodium 1.0.20-r1 apk libxcb 1.16.1-r0 apk
libsrt 1.5.3-r1 apk libxdmcp 1.1.5-r1 apk
libssh 0.11.2-r0 apk libxext 1.3.6-r2 apk
libssl3 3.5.6-r0 apk libxfixes 6.0.1-r4 apk
libstdc++ 14.2.0-r6 apk libxft 2.3.8-r3 apk
libtasn1 4.21.0-r0 apk libxml2 2.12.7-r0 apk
libtheora 1.1.1-r18 apk libxpm 3.5.17-r0 apk
libunibreak 6.1-r0 apk libxrender 0.9.11-r5 apk
libunistring 1.3-r0 apk libxt 1.3.0-r5 apk
libuuid 2.41-r9 apk libxxhash 0.8.2-r2 apk
libva 2.22.0-r1 apk libzip 1.10.1-r0 apk
libvdpau 1.5-r4 apk libzmq 4.3.5-r2 apk
libvorbis 1.3.7-r2 apk lilv-libs 0.24.24-r1 apk
libvpx 1.15.0-r0 apk linux-pam 1.6.0-r0 apk
libwbclient 4.21.9-r1 apk lmdb 0.9.32-r0 apk
libwebp 1.5.0-r0 apk logger 2.40.1-r1 apk
libwebpdemux 1.5.0-r0 apk logrotate 3.21.0-r1 apk
libwebpmux 1.5.0-r0 apk losetup 2.40.1-r1 apk
libx11 1.8.11-r0 apk lsblk 2.40.1-r1 apk
libxau 1.0.12-r0 apk lz4-libs 1.9.4-r5 apk
libxcb 1.17.0-r0 apk mbedtls 3.6.0-r0 apk
libxdmcp 1.1.5-r1 apk mcookie 2.40.1-r1 apk
libxext 1.3.6-r2 apk mexitek/phpcolors v1.0.4 php-composer
libxfixes 6.0.1-r4 apk microsoft/azure-storage-blob 1.5.4 php-composer
libxml2 2.13.9-r0 apk microsoft/azure-storage-common 1.5.2 php-composer
libxpm 3.5.19-r0 apk mlocati/ip-lib 1.18.0 php-composer
libxt 1.3.1-r0 apk mount 2.40.1-r1 apk
libxxhash 0.8.3-r0 apk mpg123-libs 1.32.6-r0 apk
libyuv 0.0.1887.20251502-r1 apk mtdowling/jmespath.php 2.6.1 php-composer
libzip 1.11.4-r0 apk musl 1.2.5-r0 apk
libzmq 4.3.5-r2 apk musl-utils 1.2.5-r0 apk
lilv-libs 0.24.26-r0 apk nano 8.0-r0 apk
linux-pam 1.7.0-r4 apk ncurses-terminfo-base 6.4_p20240420-r0 apk
linux-raw-sys 0.4.12 rust-crate netcat-openbsd 1.226-r0 apk
lmdb 0.9.33-r0 apk nettle 3.9.1-r0 apk
log 0.4.20 rust-crate nextcloud 1.0.0 npm
logreader 7.0.0-dev.0 npm nextcloud/lognormalizer v1.0.0 php-composer
logrotate 3.21.0-r1 apk nghttp2-libs 1.62.1-r0 apk
lz4-libs 1.10.0-r0 apk nginx 1.26.1-r0 apk
marc-mabe/php-enum v4.7.1 php-composer notifications 2.16.0 npm
masterminds/html5 2.9.0 php-composer numactl 2.0.18-r0 apk
maybe-rayon 0.1.1 rust-crate onevpl-libs 2023.3.1-r2 apk
mbedtls 3.6.6-r0 apk oniguruma 6.9.9-r0 apk
memchr 2.7.1 rust-crate openexr-libiex 3.1.13-r1 apk
mexitek/phpcolors v1.0.4 php-composer openexr-libilmthread 3.1.13-r1 apk
microsoft/azure-storage-blob 1.5.4 php-composer openexr-libopenexr 3.1.13-r1 apk
microsoft/azure-storage-common 1.5.2 php-composer openjpeg 2.5.2-r0 apk
minimal-lexical 0.2.1 rust-crate openssl 3.3.1-r3 apk
minishlink/web-push v10.0.3 php-composer opus 1.5.2-r0 apk
mlocati/ip-lib 1.22.0 php-composer orc 0.4.37-r0 apk
mpg123-libs 1.32.10-r0 apk p11-kit 0.25.3-r0 apk
mtdowling/jmespath.php 2.8.0 php-composer pango 1.52.2-r0 apk
musl 1.2.5-r12 apk partx 2.40.1-r1 apk
musl-utils 1.2.5-r12 apk password_policy 1.18.0 npm
nano 8.4-r0 apk pcre 8.45-r3 apk
ncurses-terminfo-base 6.5_p20250503-r0 apk pcre2 10.43-r0 apk
nelexa/buffer 1.3.0 php-composer pear/archive_tar 1.4.14 php-composer
netcat-openbsd 1.229.1-r0 apk pear/console_getopt v1.4.3 php-composer
nettle 3.10.2-r0 apk pear/pear-core-minimal v1.10.10 php-composer
new_debug_unreachable 1.0.4 rust-crate pear/pear_exception v1.0.2 php-composer
nextcloud 1.0.0 npm photos 2.4.0 npm
nextcloud/lognormalizer v3.0.1 php-composer php-http/guzzle7-adapter 1.0.0 php-composer
nghttp2-libs 1.69.0-r0 apk php-http/httplug 2.2.0 php-composer
nginx 1.28.3-r2 apk php-http/promise 1.1.0 php-composer
nom 7.1.3 rust-crate php-opencloud/openstack v3.2.1 php-composer
noop_proc_macro 0.3.0 rust-crate php83 8.3.10-r0 apk
notifications 7.0.0-dev.0 npm php83-bcmath 8.3.10-r0 apk
num-bigint 0.4.4 rust-crate php83-bz2 8.3.10-r0 apk
num-derive 0.4.1 rust-crate php83-common 8.3.10-r0 apk
num-integer 0.1.45 rust-crate php83-ctype 8.3.10-r0 apk
num-rational 0.4.1 rust-crate php83-curl 8.3.10-r0 apk
num-traits 0.2.17 rust-crate php83-dom 8.3.10-r0 apk
numactl 2.0.18-r0 apk php83-exif 8.3.10-r0 apk
office 1.0.0 npm php83-fileinfo 8.3.10-r0 apk
once_cell 1.19.0 rust-crate php83-fpm 8.3.10-r0 apk
onevpl-libs 2023.3.1-r2 apk php83-ftp 8.3.10-r0 apk
oniguruma 6.9.10-r0 apk php83-gd 8.3.10-r0 apk
openexr-libiex 3.3.2-r0 apk php83-gmp 8.3.10-r0 apk
openexr-libilmthread 3.3.2-r0 apk php83-iconv 8.3.10-r0 apk
openexr-libopenexr 3.3.2-r0 apk php83-imap 8.3.10-r0 apk
openexr-libopenexrcore 3.3.2-r0 apk php83-intl 8.3.10-r0 apk
openssl 3.5.6-r0 apk php83-ldap 8.3.10-r0 apk
opus 1.5.2-r1 apk php83-mbstring 8.3.10-r0 apk
orc 0.4.40-r1 apk php83-mysqlnd 8.3.10-r0 apk
p11-kit 0.25.5-r2 apk php83-opcache 8.3.10-r0 apk
paragonie/constant_time_encoding v2.6.3 php-composer php83-openssl 8.3.10-r0 apk
password_policy 6.0.0-dev.0 npm php83-pcntl 8.3.10-r0 apk
paste 1.0.14 rust-crate php83-pdo 8.3.10-r0 apk
pcre2 10.46-r0 apk php83-pdo_mysql 8.3.10-r0 apk
pear/archive_tar 1.5.0 php-composer php83-pdo_pgsql 8.3.10-r0 apk
pear/console_getopt v1.4.3 php-composer php83-pdo_sqlite 8.3.10-r0 apk
pear/pear-core-minimal v1.10.16 php-composer php83-pecl-apcu 5.1.23-r0 apk
pear/pear_exception v1.0.2 php-composer php83-pecl-igbinary 3.2.15-r0 apk
photos 7.0.0-dev.0 npm php83-pecl-imagick 3.7.0-r0 apk
php-http/guzzle7-adapter 1.1.0 php-composer php83-pecl-mcrypt 1.0.7-r0 apk
php-http/httplug 2.4.1 php-composer php83-pecl-memcached 3.2.0-r0 apk
php-http/promise 1.3.1 php-composer php83-pecl-msgpack 2.2.0-r2 apk
php-opencloud/openstack v3.14.0 php-composer php83-pecl-redis 6.0.2-r0 apk
php84 8.4.16-r0 apk php83-pecl-smbclient 1.1.1-r0 apk
php84-bcmath 8.4.16-r0 apk php83-pgsql 8.3.10-r0 apk
php84-bz2 8.4.16-r0 apk php83-phar 8.3.10-r0 apk
php84-common 8.4.16-r0 apk php83-posix 8.3.10-r0 apk
php84-ctype 8.4.16-r0 apk php83-session 8.3.10-r0 apk
php84-curl 8.4.16-r0 apk php83-simplexml 8.3.10-r0 apk
php84-dom 8.4.16-r0 apk php83-sockets 8.3.10-r0 apk
php84-exif 8.4.16-r0 apk php83-sodium 8.3.10-r0 apk
php84-fileinfo 8.4.16-r0 apk php83-sqlite3 8.3.10-r0 apk
php84-fpm 8.4.16-r0 apk php83-sysvsem 8.3.10-r0 apk
php84-ftp 8.4.16-r0 apk php83-xml 8.3.10-r0 apk
php84-gd 8.4.16-r0 apk php83-xmlreader 8.3.10-r0 apk
php84-gmp 8.4.16-r0 apk php83-xmlwriter 8.3.10-r0 apk
php84-iconv 8.4.16-r0 apk php83-zip 8.3.10-r0 apk
php84-intl 8.4.16-r0 apk phpseclib/phpseclib 2.0.47 php-composer
php84-ldap 8.4.16-r0 apk pimple/pimple v3.5.0 php-composer
php84-mbstring 8.4.16-r0 apk pixman 0.43.2-r0 apk
php84-mysqlnd 8.4.16-r0 apk pkgconf 2.2.0-r0 apk
php84-opcache 8.4.16-r0 apk popt 1.19-r3 apk
php84-openssl 8.4.16-r0 apk privacy 1.12.0 npm
php84-pcntl 8.4.16-r0 apk procps-ng 4.0.4-r0 apk
php84-pdo 8.4.16-r0 apk psr/cache 3.0.0 php-composer
php84-pdo_mysql 8.4.16-r0 apk psr/clock 1.0.0 php-composer
php84-pdo_pgsql 8.4.16-r0 apk psr/container 2.0.2 php-composer
php84-pdo_sqlite 8.4.16-r0 apk psr/event-dispatcher 1.0.0 php-composer
php84-pecl-apcu 5.1.27-r0 apk psr/http-client 1.0.1 php-composer
php84-pecl-igbinary 3.2.16-r1 apk psr/http-factory 1.0.1 php-composer
php84-pecl-imagick 3.8.0-r1 apk psr/http-message 1.0.1 php-composer
php84-pecl-imap 1.0.3-r0 apk psr/log 1.1.4 php-composer (+1 duplicate)
php84-pecl-memcached 3.3.0-r0 apk punic/punic 3.8.1 php-composer
php84-pecl-msgpack 3.0.0-r0 apk ralouphie/getallheaders 3.0.3 php-composer
php84-pecl-redis 6.3.0-r0 apk ramsey/collection 1.1.3 php-composer
php84-pecl-smbclient 1.2.0_pre-r0 apk ramsey/uuid 4.1.1 php-composer
php84-pgsql 8.4.16-r0 apk rav1e-libs 0.7.1-r0 apk
php84-phar 8.4.16-r0 apk readline 8.2.10-r0 apk
php84-posix 8.4.16-r0 apk recommendations 2.0.0 npm
php84-session 8.4.16-r0 apk related_resources 1.3.0 npm
php84-simplexml 8.4.16-r0 apk rsync 3.3.0-r0 apk
php84-sockets 8.4.16-r0 apk rubix/ml dev-chore/bump-flysystem-v2.1.1 php-composer
php84-sodium 8.4.16-r0 apk rubix/tensor 2.2.3 php-composer
php84-sqlite3 8.4.16-r0 apk rullzer/easytotp v0.1.4 php-composer
php84-sysvsem 8.4.16-r0 apk runuser 2.40.1-r1 apk
php84-xml 8.4.16-r0 apk sabre/dav 4.5.0 php-composer
php84-xmlreader 8.4.16-r0 apk sabre/event 5.1.4 php-composer
php84-xmlwriter 8.4.16-r0 apk sabre/http 5.1.10 php-composer
php84-zip 8.4.16-r0 apk sabre/uri 2.3.3 php-composer
phpseclib/phpseclib 2.0.53 php-composer sabre/vobject 4.5.4 php-composer
pimple/pimple v3.6.0 php-composer sabre/xml 2.2.6 php-composer
popt 1.19-r4 apk samba-client 4.19.6-r0 apk
ppv-lite86 0.2.17 rust-crate samba-client-libs 4.19.6-r0 apk
privacy 6.0.0-dev.0 npm samba-common 4.19.6-r0 apk
proc-macro2 1.0.76 rust-crate samba-libs 4.19.6-r0 apk
procps-ng 4.0.4-r3 apk samba-util-libs 4.19.6-r0 apk
profiling 1.0.13 rust-crate scanelf 1.3.7-r2 apk
profiling-procmacros 1.0.13 rust-crate scssphp/scssphp v1.11.0 php-composer
psr/cache 3.0.0 php-composer sdl2 2.28.5-r1 apk
psr/clock 1.0.0 php-composer (+1 duplicate) serd-libs 0.32.2-r0 apk
psr/container 2.0.2 php-composer setarch 2.40.1-r1 apk
psr/event-dispatcher 1.0.0 php-composer setpriv 2.40.1-r1 apk
psr/http-client 1.0.3 php-composer (+1 duplicate) sfdisk 2.40.1-r1 apk
psr/http-factory 1.1.0 php-composer (+1 duplicate) shaderc 2024.0-r0 apk
psr/http-message 2.0 php-composer (+1 duplicate) shadow 4.15.1-r0 apk
psr/log 3.0.2 php-composer (+1 duplicate) shared-mime-info 2.4-r0 apk
punic/punic 3.8.1 php-composer skalibs 2.14.1.1-r0 apk
quote 1.0.35 rust-crate sord-libs 0.16.16-r0 apk
radium 0.7.0 rust-crate soxr 0.1.3-r7 apk
ralouphie/getallheaders 3.0.3 php-composer (+1 duplicate) speexdsp 1.2.1-r2 apk
rand 0.8.5 rust-crate spirv-tools 1.3.261.1-r0 apk
rand_chacha 0.3.1 rust-crate spomky-labs/base64url v2.0.4 php-composer
rand_core 0.6.4 rust-crate spomky-labs/cbor-php v2.0.1 php-composer
rav1e 0.7.1 rust-crate sqlite-libs 3.45.3-r1 apk
rav1e-libs 0.7.1-r2 apk sratom 0.6.16-r0 apk
rayon 1.8.0 rust-crate ssl_client 1.36.1-r29 apk
rayon-core 1.12.0 rust-crate stecman/symfony-console-completion 0.11.0 php-composer
readline 8.2.13-r1 apk sudo 1.9.15_p5-r0 apk
recommendations 7.0.0-dev.0 npm suspicious_login 6.0.0 npm
rsync 3.4.3-r0 apk symfony/console v5.4.24 php-composer
rubix/ml 2.5.3 php-composer symfony/css-selector v5.4.11 php-composer
rubix/tensor 3.0.5 php-composer symfony/deprecation-contracts v3.0.2 php-composer
rullzer/easytotp v0.1.4 php-composer symfony/dom-crawler v5.4.11 php-composer
rustix 0.38.28 rust-crate symfony/event-dispatcher v5.4.26 php-composer
sabre/dav 4.7.0 php-composer symfony/event-dispatcher-contracts v3.0.2 php-composer
sabre/event 5.1.7 php-composer symfony/http-foundation v5.4.25 php-composer
sabre/http 5.1.12 php-composer symfony/mailer v5.4.22 php-composer
sabre/uri 2.3.4 php-composer symfony/mime v5.4.19 php-composer
sabre/vobject 4.5.6 php-composer symfony/polyfill-ctype v1.23.0 php-composer
sabre/xml 2.2.11 php-composer symfony/polyfill-intl-grapheme v1.23.1 php-composer
samba-client 4.21.9-r1 apk symfony/polyfill-intl-idn v1.27.0 php-composer
samba-client-libs 4.21.9-r1 apk symfony/polyfill-intl-normalizer v1.27.0 php-composer
samba-common 4.21.9-r1 apk symfony/polyfill-mbstring v1.27.0 php-composer (+1 duplicate)
samba-libs 4.21.9-r1 apk symfony/polyfill-php72 v1.27.0 php-composer
samba-util-libs 4.21.9-r1 apk symfony/polyfill-php73 v1.23.0 php-composer
scan_fmt 0.2.6 rust-crate symfony/polyfill-php73 v1.26.0 php-composer
scanelf 1.3.8-r1 apk symfony/polyfill-php80 v1.27.0 php-composer (+1 duplicate)
sdl2-compat 2.32.56-r0 apk symfony/process v5.4.24 php-composer
sdl3 3.2.16-r0 apk symfony/routing v5.4.25 php-composer
serd-libs 0.32.4-r0 apk symfony/service-contracts v3.0.2 php-composer
shaderc 2024.4-r0 apk symfony/string v6.0.19 php-composer
shadow 4.17.3-r0 apk symfony/translation v5.4.24 php-composer
signal-hook 0.3.17 rust-crate symfony/translation-contracts v2.4.0 php-composer
signal-hook-registry 1.4.1 rust-crate talloc 2.4.2-r1 apk
simd_helpers 0.1.0 rust-crate tdb-libs 1.4.9-r1 apk
skalibs-libs 2.14.4.0-r0 apk tevent 0.16.1-r0 apk
sord-libs 0.16.18-r0 apk thecodingmachine/safe v1.3.3 php-composer
soxr 0.1.3-r7 apk tiff 4.6.0t-r0 apk
speexdsp 1.2.1-r2 apk twofactor_totp 10.0.0-beta2 npm
spirv-tools 1.4.313.0-r0 apk tzdata 2024a-r1 apk
spomky-labs/base64url v2.0.4 php-composer umount 2.40.1-r1 apk
spomky-labs/cbor-php 3.0.4 php-composer util-linux 2.40.1-r1 apk
spomky-labs/pki-framework 1.2.1 php-composer util-linux-misc 2.40.1-r1 apk
spomky-labs/pki-framework 1.4.1 php-composer utmps-libs 0.1.2.2-r1 apk
sqlite-libs 3.49.2-r1 apk uuidgen 2.40.1-r1 apk
sratom 0.6.18-r0 apk v4l-utils-libs 1.24.1-r1 apk
ssl_client 1.37.0-r20 apk vidstab 1.1.1-r0 apk
stecman/symfony-console-completion v0.14.0 php-composer viewer 2.2.0 npm
sudo 1.9.17_p2-r0 apk vulkan-loader 1.3.261.1-r0 apk
support 6.0.0-dev.0 npm wapmorgan/mp3info 0.1.0 php-composer
symfony/console v6.4.32 php-composer wayland-libs-client 1.22.0-r4 apk
symfony/css-selector v6.4.24 php-composer web-auth/cose-lib v3.3.9 php-composer
symfony/deprecation-contracts v3.6.0 php-composer (+2 duplicates) web-auth/metadata-service v3.3.9 php-composer
symfony/dom-crawler v6.4.32 php-composer web-auth/webauthn-lib v3.3.9 php-composer
symfony/event-dispatcher v6.4.32 php-composer wipefs 2.40.1-r1 apk
symfony/event-dispatcher-contracts v3.5.1 php-composer x264-libs 0.164_git20231001-r0 apk
symfony/filesystem v7.4.8 php-composer x265-libs 3.6-r0 apk
symfony/http-foundation v6.4.33 php-composer xvidcore 1.3.7-r2 apk
symfony/mailer v6.4.31 php-composer xz-libs 5.6.2-r0 apk
symfony/mime v6.4.32 php-composer zimg 3.0.5-r2 apk
symfony/polyfill-intl-grapheme v1.32.0 php-composer zix-libs 0.4.2-r0 apk
symfony/polyfill-intl-idn v1.32.0 php-composer zlib 1.3.1-r1 apk
symfony/polyfill-intl-normalizer v1.33.0 php-composer zstd-libs 1.5.6-r0 apk
symfony/polyfill-mbstring v1.33.0 php-composer
symfony/polyfill-php80 v1.33.0 php-composer
symfony/polyfill-php82 v1.33.0 php-composer
symfony/polyfill-php83 v1.33.0 php-composer (+2 duplicates)
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/process v6.4.33 php-composer
symfony/routing v6.4.32 php-composer
symfony/service-contracts v3.5.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
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 34.0.0-dev.0 npm
terminal_size 0.3.0 rust-crate
tevent 0.16.1-r0 apk
text 8.0.0-dev.0 npm
thiserror 1.0.56 rust-crate
thiserror-impl 1.0.56 rust-crate
tinyvec 1.9.0 rust-crate
tzdata 2026b-r0 apk
unicode-ident 1.0.12 rust-crate
unicode-width 0.1.11 rust-crate
utf8parse 0.2.1 rust-crate
utmps-libs 0.1.3.1-r0 apk
v4l-utils-libs 1.28.1-r1 apk
v_frame 0.3.7 rust-crate
vidstab 1.1.1-r0 apk
viewer 7.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-token/jwt-library 4.1.3 php-composer
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
xvidcore 1.3.7-r2 apk
xz-libs 5.8.3-r0 apk
y4m 0.8.0 rust-crate
zimg 3.0.5-r3 apk
zix-libs 0.6.2-r0 apk
zlib 1.3.2-r0 apk
zstd-libs 1.5.7-r0 apk
+74 -126
View File
@@ -9,28 +9,30 @@ 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. 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_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
# supported architectures # supported architectures
available_architectures: available_architectures:
- {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"} - { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
- {arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"} - { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
# development version # development version
development_versions: true development_versions: true
development_versions_items: development_versions_items:
- {tag: "latest", desc: "Stable Nextcloud releases"} - { tag: "latest", desc: "Stable Nextcloud releases" }
- {tag: "develop", desc: "Beta Nextcloud pre-releases *only*"} - { tag: "develop", desc: "Beta Nextcloud pre-releases *only*" }
- {tag: "previous", desc: "Nextcloud releases from the previous major version"} - { tag: "previous", desc: "Nextcloud releases from the previous major version" }
# container parameters # container parameters
common_param_env_vars_enabled: true common_param_env_vars_enabled: true
param_container_name: "{{ project_name }}" param_container_name: "{{ project_name }}"
param_usage_include_vols: true param_usage_include_vols: true
param_volumes: param_volumes:
- {vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/config", desc: "Persistent config files"} - { vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/config", desc: "Persistent config files" }
- {vol_path: "/data", vol_host_path: "/path/to/data", desc: "Your personal data."} - { vol_path: "/data", vol_host_path: "/path/to/data", desc: "Your personal data." }
param_usage_include_ports: true param_usage_include_ports: true
param_ports: param_ports:
- {external_port: "443", internal_port: "443", port_desc: "WebUI"} - { external_port: "443", internal_port: "443", port_desc: "WebUI" }
readonly_supported: false
nonroot_supported: false
# application setup block # application setup block
app_setup_block_enabled: true app_setup_block_enabled: true
app_setup_block: | app_setup_block: |
@@ -90,121 +92,67 @@ 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). 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": {
docker-mods
base {
fix-attr +\nlegacy cont-init
}
docker-mods -> base
legacy-services
custom services
init-services -> legacy-services
init-services -> custom services
custom services -> legacy-services
legacy-services -> ci-service-check
init-migrations -> init-adduser
init-nginx-end -> init-config
init-os-end -> init-config
init-config -> init-config-end
init-crontab-config -> init-config-end
init-nextcloud-config -> init-config-end
init-config -> init-crontab-config
init-mods-end -> init-custom-files
init-adduser -> init-device-perms
base -> init-envfile
init-os-end -> init-folders
init-php -> init-keygen
base -> init-migrations
init-config-end -> init-mods
init-mods-package-install -> init-mods-end
init-mods -> init-mods-package-install
init-nginx-end -> init-nextcloud-config
init-samples -> init-nginx
init-version-checks -> init-nginx-end
init-adduser -> init-os-end
init-device-perms -> init-os-end
init-envfile -> init-os-end
init-keygen -> init-permissions
init-nginx -> init-php
init-folders -> init-samples
init-custom-files -> init-services
init-permissions -> init-version-checks
init-services -> svc-cron
svc-cron -> legacy-services
init-services -> svc-nginx
svc-nginx -> legacy-services
init-services -> svc-php-fpm
svc-php-fpm -> legacy-services
}
Base Images: {
"baseimage-alpine-nginx:3.22" <- "baseimage-alpine:3.22"
}
"nextcloud:develop" <- Base Images
# changelog # changelog
changelogs: changelogs:
- {date: "10.07.25:", desc: "Rebase to Alpine 3.22."} - { date: "09.07.24:", desc: "Add `previous` tag for n-1 releases."}
- {date: "12.02.25:", desc: "Rebase to Alpine 3.21."} - { date: "24.06.24:", desc: "Rebase to Alpine 3.20. Existing users should update their nginx confs to avoid http2 deprecation warnings."}
- {date: "09.01.25:", desc: "Fix uploading large files. Existing users should update their nginx confs."} - { date: "19.05.24:", desc: "Added util-linux package required for taskset."}
- {date: "09.07.24:", desc: "Add `previous` tag for n-1 releases."} - { date: "10.04.24:", desc: "Added imagemagick-pdf."}
- {date: "24.06.24:", desc: "Rebase to Alpine 3.20. Existing users should update their nginx confs to avoid http2 deprecation warnings."} - { date: "05.04.24:", desc: "Added imagemagick-heic. Manual update to `config.php` required - see above."}
- {date: "19.05.24:", desc: "Added util-linux package required for taskset."} - { date: "02.04.24:", desc: "Existing users should update: site-confs/default.conf - Add support for the Client Push (notify_push) plugin and the [new mod](https://github.com/linuxserver/docker-mods/tree/nextcloud-notify-push)."}
- {date: "10.04.24:", desc: "Added imagemagick-pdf."} - { date: "22.03.24:", desc: "Add imagemagick-svg module."}
- {date: "05.04.24:", desc: "Added imagemagick-heic. Manual update to `config.php` required - see above."} - { date: "06.03.24:", desc: "Rebase to Alpine 3.19 with php 8.3."}
- {date: "02.04.24:", desc: "Existing users should update: site-confs/default.conf - Add support for the Client Push (notify_push) plugin and the [new mod](https://github.com/linuxserver/docker-mods/tree/nextcloud-notify-push)."} - { date: "02.01.24:", desc: "Existing users should update: site-confs/default.conf - Cleanup default site conf." }
- {date: "22.03.24:", desc: "Add imagemagick-svg module."} - { date: "22.12.23:", desc: "Site default conf updating to include mime.types for js and mjs and update location to include more file types." }
- {date: "06.03.24:", desc: "Rebase to Alpine 3.19 with php 8.3."} - { date: "28.10.23:", desc: "Disable web upgrades using occ during init." }
- {date: "02.01.24:", desc: "Existing users should update: site-confs/default.conf - Cleanup default site conf."} - { date: "31.08.23:", desc: "Re-add updatenotification app. This allows users to be notified for app updates, but also notifies for NextCloud updates. Updating NextCloud via the web UI is not supported when using this image." }
- {date: "22.12.23:", desc: "Site default conf updating to include mime.types for js and mjs and update location to include more file types."} - { date: "14.08.23:", desc: "Add develop branch." }
- {date: "28.10.23:", desc: "Disable web upgrades using occ during init."} - { date: "25.06.23:", desc: "Move Nextcloud installation inside container. Remove CLI updater. [See changes announcement](https://info.linuxserver.io/issues/2023-06-25-nextcloud/)." }
- {date: "31.08.23:", desc: "Re-add updatenotification app. This allows users to be notified for app updates, but also notifies for NextCloud updates. Updating NextCloud via the web UI is not supported when using this image."} - { date: "21.06.23:", desc: "Existing users should update `/config/nginx/site-confs/default.conf` - Security fix for real ip settings." }
- {date: "14.08.23:", desc: "Add develop branch."} - { date: "25.05.23:", desc: "Rebase to Alpine 3.18, deprecate armhf." }
- {date: "25.06.23:", desc: "Move Nextcloud installation inside container. Remove CLI updater. [See changes announcement](https://info.linuxserver.io/issues/2023-06-25-nextcloud/)."} - { date: "13.04.23:", desc: "Move ssl.conf include to default.conf." }
- {date: "21.06.23:", desc: "Existing users should update `/config/nginx/site-confs/default.conf` - Security fix for real ip settings."} - { date: "21.03.23:", desc: "Add php81-sysvsem as new dep for v26. Update default X-Robots-Tag to `noindex, nofollow``." }
- {date: "25.05.23:", desc: "Rebase to Alpine 3.18, deprecate armhf."} - { date: "02.03.23:", desc: "Set permissions on crontabs during init." }
- {date: "13.04.23:", desc: "Move ssl.conf include to default.conf."} - { date: "20.01.23:", desc: "Rebase to alpine 3.17 with php8.1." }
- {date: "21.03.23:", desc: "Add php81-sysvsem as new dep for v26. Update default X-Robots-Tag to `noindex, nofollow``."} - { date: "10.10.22:", desc: "Rebasing to alpine 3.15 with php8. Restructure nginx configs ([see changes announcement](https://info.linuxserver.io/issues/2022-08-20-nginx-base))." }
- {date: "02.03.23:", desc: "Set permissions on crontabs during init."} - { date: "30.09.22:", desc: "Disabled `output_buffering` as per [nextcloud docs](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/big_file_upload_configuration.html" }
- {date: "20.01.23:", desc: "Rebase to alpine 3.17 with php8.1."} - { date: "21.05.22:", desc: "Update version check endpoint." }
- {date: "10.10.22:", desc: "Rebasing to alpine 3.15 with php8. Restructure nginx configs ([see changes announcement](https://info.linuxserver.io/issues/2022-08-20-nginx-base))."} - { date: "28.04.22:", desc: "Increase OPCache interned strings buffered setting to 16." }
- {date: "30.09.22:", desc: "Disabled `output_buffering` as per [nextcloud docs](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/big_file_upload_configuration.html"} - { date: "14.04.22:", desc: "Nginx default site config updated for v23 (existing users should delete `/config/nginx/site-confs/default.conf` and restart the container). Fix LDAP connection." }
- {date: "21.05.22:", desc: "Update version check endpoint."} - { date: "11.09.21:", desc: "Rebasing to alpine 3.14" }
- {date: "28.04.22:", desc: "Increase OPCache interned strings buffered setting to 16."} - { date: "21.03.21:", desc: "Publish `php8` tag for testing." }
- {date: "14.04.22:", desc: "Nginx default site config updated for v23 (existing users should delete `/config/nginx/site-confs/default.conf` and restart the container). Fix LDAP connection."} - { date: "25.02.21:", desc: "Nginx default site config updated for v21 (existing users should delete `/config/nginx/site-confs/default.conf` and restart the container)." }
- {date: "11.09.21:", desc: "Rebasing to alpine 3.14"} - { date: "21.01.21:", desc: "Fix php iconv (was breaking the mail addon). If installed, attempt to remove broken CODE Server app during startup." }
- {date: "21.03.21:", desc: "Publish `php8` tag for testing."} - { date: "20.01.21:", desc: "Increase php fcgi timeout to prevent 504 Gateway timeout errors (existing users should delete `/config/nginx/site-confs/default.conf` and restart the container)." }
- {date: "25.02.21:", desc: "Nginx default site config updated for v21 (existing users should delete `/config/nginx/site-confs/default.conf` and restart the container)."} - { date: "16.01.21:", desc: "Rebasing to alpine 3.13. Users with issues on 32-bit arm, [see this article](https://docs.linuxserver.io/faq#my-host-is-incompatible-with-images-based-on-ubuntu-focal-and-alpine-3-13)." }
- {date: "21.01.21:", desc: "Fix php iconv (was breaking the mail addon). If installed, attempt to remove broken CODE Server app during startup."} - { date: "12.08.20:", desc: "Various updates to default site config, including added support for webfinger (existing users should delete `/config/nginx/site-confs/default.conf` and restart the container)." }
- {date: "20.01.21:", desc: "Increase php fcgi timeout to prevent 504 Gateway timeout errors (existing users should delete `/config/nginx/site-confs/default.conf` and restart the container)."} - { date: "03.06.20:", desc: "Rebasing to alpine 3.12" }
- {date: "16.01.21:", desc: "Rebasing to alpine 3.13. Users with issues on 32-bit arm, [see this article](https://docs.linuxserver.io/faq#my-host-is-incompatible-with-images-based-on-ubuntu-focal-and-alpine-3-13)."} - { date: "03.06.20:", desc: "Add php7-bcmath and php7-fileinfo" }
- {date: "12.08.20:", desc: "Various updates to default site config, including added support for webfinger (existing users should delete `/config/nginx/site-confs/default.conf` and restart the container)."} - { date: "31.05.20:", desc: "Add aliases for occ and updater.phar" }
- {date: "03.06.20:", desc: "Rebasing to alpine 3.12"} - { date: "31.03.20:", desc: "Allow crontab to be user customized, fix logrotate." }
- {date: "03.06.20:", desc: "Add php7-bcmath and php7-fileinfo"} - { date: "17.01.20:", desc: "Updated php.ini defaults and site config, including an optional HSTS directive (existing users should delete `/config/nginx/site-confs/default.conf` and restart the container)." }
- {date: "31.05.20:", desc: "Add aliases for occ and updater.phar"} - { date: "19.12.19:", desc: "Rebasing to alpine 3.11." }
- {date: "31.03.20:", desc: "Allow crontab to be user customized, fix logrotate."} - { date: "18.11.19:", desc: "Nginx default site config updated for v17 (existing users should delete `/config/nginx/site-confs/default.conf` and restart the container)." }
- {date: "17.01.20:", desc: "Updated php.ini defaults and site config, including an optional HSTS directive (existing users should delete `/config/nginx/site-confs/default.conf` and restart the container)."} - { date: "28.10.19:", desc: "Change cronjob to run every 5 minutes." }
- {date: "19.12.19:", desc: "Rebasing to alpine 3.11."} - { date: "24.10.19:", desc: "Nginx default site config updated due to CVE-2019-11043 (existing users should delete `/config/nginx/site-confs/default.conf` and restart the container)." }
- {date: "18.11.19:", desc: "Nginx default site config updated for v17 (existing users should delete `/config/nginx/site-confs/default.conf` and restart the container)."} - { date: "14.07.19:", desc: "Download nextcloud during build time." }
- {date: "28.10.19:", desc: "Change cronjob to run every 5 minutes."} - { date: "28.06.19:", desc: "Rebasing to alpine 3.10." }
- {date: "24.10.19:", desc: "Nginx default site config updated due to CVE-2019-11043 (existing users should delete `/config/nginx/site-confs/default.conf` and restart the container)."} - { date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag." }
- {date: "14.07.19:", desc: "Download nextcloud during build time."} - { date: "27.02.19:", desc: "Updating base nginx config to sync up with v15 requirements." }
- {date: "28.06.19:", desc: "Rebasing to alpine 3.10."} - { date: "22.02.19:", desc: "Rebasing to alpine 3.9." }
- {date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag."} - { date: "28.01.19:", desc: "Add pipeline logic and multi arch." }
- {date: "27.02.19:", desc: "Updating base nginx config to sync up with v15 requirements."} - { date: "25.01.19:", desc: "Add php7-phar for occ upgrades." }
- {date: "22.02.19:", desc: "Rebasing to alpine 3.9."} - { date: "05.09.18:", desc: "Rebase to alpine 3.8." }
- {date: "28.01.19:", desc: "Add pipeline logic and multi arch."} - { date: "11.06.18:", desc: "Use latest rather than specific version for initial install." }
- {date: "25.01.19:", desc: "Add php7-phar for occ upgrades."} - { date: "26.04.18:", desc: "Bump default install to 13.0.1." }
- {date: "05.09.18:", desc: "Rebase to alpine 3.8."} - { date: "06.02.18:", desc: "Bump default install to 13.0.0." }
- {date: "11.06.18:", desc: "Use latest rather than specific version for initial install."} - { date: "26.01.18:", desc: "Rebase to alpine 3.7, bump default install to 12.0.5." }
- {date: "26.04.18:", desc: "Bump default install to 13.0.1."} - { date: "12.12.17:", desc: "Bump default install to 12.0.4, fix continuation lines." }
- {date: "06.02.18:", desc: "Bump default install to 13.0.0."} - { date: "15.10.17:", desc: "Sed php.ini for opcache requirements in newer nextcloud versions." }
- {date: "26.01.18:", desc: "Rebase to alpine 3.7, bump default install to 12.0.5."} - { date: "20.09.17:", desc: "Bump default install to 12.0.3." }
- {date: "12.12.17:", desc: "Bump default install to 12.0.4, fix continuation lines."} - { date: "19.08.17:", desc: "Bump default install to 12.0.2." }
- {date: "15.10.17:", desc: "Sed php.ini for opcache requirements in newer nextcloud versions."} - { date: "25.05.17:", desc: "Rebase to alpine 3.6." }
- {date: "20.09.17:", desc: "Bump default install to 12.0.3."} - { date: "22.05.17:", desc: "Update to nextcloud 12.0, adding required dependecies and note about commenting out SAMEORIGIN; line." }
- {date: "19.08.17:", desc: "Bump default install to 12.0.2."} - { date: "03.05.17:", desc: "Use community repo of memcache." }
- {date: "25.05.17:", desc: "Rebase to alpine 3.6."} - { date: "07.03.17:", desc: "Release into main repository and upgrade to php7 and Alpine 3.5." }
- {date: "22.05.17:", desc: "Update to nextcloud 12.0, adding required dependecies and note about commenting out SAMEORIGIN; line."}
- {date: "03.05.17:", desc: "Use community repo of memcache."}
- {date: "07.03.17:", desc: "Release into main repository and upgrade to php7 and Alpine 3.5."}
@@ -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 2024/06/24 - Changelog: https://github.com/linuxserver/docker-nextcloud/commits/master/root/defaults/nginx/site-confs/default.conf.sample
# Set the `immutable` cache control options only for assets with a cache busting `v` argument # Set the `immutable` cache control options only for assets with a cache busting `v` argument
map $arg_v $asset_immutable { map $arg_v $asset_immutable {
@@ -7,12 +7,8 @@ map $arg_v $asset_immutable {
} }
server { server {
listen 80 default_server; listen *:80 default_server;
listen [::]:80 default_server; listen *:443 ssl default_server;
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
listen 443 quic reuseport default_server;
listen [::]:443 quic reuseport default_server;
server_name _; server_name _;
@@ -27,7 +23,7 @@ server {
# https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html#nextcloud-in-the-webroot-of-nginx # https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html#nextcloud-in-the-webroot-of-nginx
# set max upload size and increase upload timeout: # set max upload size and increase upload timeout:
client_max_body_size 0; client_max_body_size 512M;
client_body_timeout 300s; client_body_timeout 300s;
fastcgi_buffers 64 4K; fastcgi_buffers 64 4K;
@@ -157,6 +153,14 @@ server {
return 301 /remote.php$request_uri; 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 / { location / {
# enable for basic auth # enable for basic auth
#auth_basic "Restricted"; #auth_basic "Restricted";
@@ -10,7 +10,7 @@ mkdir -p \
/data /data
# migrate legacy install (copy inside container) # migrate legacy install (copy inside container)
if [[ -f /config/www/nextcloud/version.php ]]; then if [ -f /config/www/nextcloud/version.php ]; then
echo "Migrating legacy install (this can take a while) ...)" echo "Migrating legacy install (this can take a while) ...)"
rsync -rlD --remove-source-files --exclude-from=/app/upgrade.exclude /config/www/nextcloud/ /app/www/public/ rsync -rlD --remove-source-files --exclude-from=/app/upgrade.exclude /config/www/nextcloud/ /app/www/public/
rm -rf /config/www/nextcloud/updater/ rm -rf /config/www/nextcloud/updater/
@@ -26,7 +26,7 @@ fi
# symlink config folders # symlink config folders
for dir in apps config themes; do for dir in apps config themes; do
if [[ "$(readlink /app/www/public/${dir})" != "/config/www/nextcloud/${dir}" ]]; then if [ "$(readlink /app/www/public/${dir})" != "/config/www/nextcloud/${dir}" ]; then
rm -rf "/app/www/public/${dir}" rm -rf "/app/www/public/${dir}"
ln -s "/config/www/nextcloud/${dir}" "/app/www/public/${dir}" ln -s "/config/www/nextcloud/${dir}" "/app/www/public/${dir}"
lsiown abc:abc "/config/www/nextcloud/${dir}" "/app/www/public/${dir}" lsiown abc:abc "/config/www/nextcloud/${dir}" "/app/www/public/${dir}"
@@ -34,9 +34,9 @@ for dir in apps config themes; do
done done
# get versions # get versions
image_version=$(php -r "require '/app/www/src/version.php'; echo implode('.', \$OC_Version);" 2>/dev/null | xargs) image_version=$(php -r "require '/app/www/src/version.php'; echo implode('.', \$OC_Version);" 2>/dev/null)
installed_version=$(php -r "require '/config/www/nextcloud/config/config.php'; echo \$CONFIG['version'];" 2>/dev/null | xargs) installed_version=$(php -r "require '/config/www/nextcloud/config/config.php'; echo \$CONFIG['version'];" 2>/dev/null)
if [[ "${installed_version}" = "" ]]; then if [ "${installed_version}" = "" ]; then
installed_version="0.0.0.0" installed_version="0.0.0.0"
fi fi
image_major="${image_version%%.*}" image_major="${image_version%%.*}"
@@ -54,23 +54,23 @@ if vergt "${installed_version}" "${image_version}"; then
sleep infinity sleep infinity
fi fi
if [[ "${installed_version}" != "0.0.0.0" ]] && vergt "${image_major}" "${max_upgrade}"; then if [ "${installed_version}" != "0.0.0.0" ] && vergt "${image_major}" "${max_upgrade}"; then
echo "Can't start Nextcloud because the version of the data (${installed_version}) is more than one major version behind the docker image version (${image_version}) and upgrading more than one major version is not supported. Please run an image tagged for the major version ${max_upgrade} first." echo "Can't start Nextcloud because the version of the data (${installed_version}) is more than one major version behind the docker image version (${image_version}) and upgrading more than one major version is not supported. Please run an image tagged for the major version ${max_upgrade} first."
sleep infinity sleep infinity
fi fi
if [[ "${installed_version}" = "0.0.0.0" ]] || [[ ! -f /app/www/public/version.php ]] || [[ -z "$(ls -A /config/www/nextcloud/apps 2>/dev/null)" ]]; then if [ "${installed_version}" = "0.0.0.0" ] || [ ! -f /app/www/public/version.php ] || [ -z "$(ls -A /config/www/nextcloud/apps 2>/dev/null)" ]; then
touch /tmp/needs_install touch /tmp/needs_install
fi fi
if [[ "${installed_version}" != "0.0.0.0" ]] && vergt "${image_version}" "${installed_version}"; then if [ "${installed_version}" != "0.0.0.0" ] && vergt "${image_version}" "${installed_version}"; then
touch /tmp/needs_upgrade touch /tmp/needs_upgrade
fi fi
# initialize nextcloud # initialize nextcloud
if [[ -f /config/www/nextcloud/config/needs_migration ]] || [[ -f /tmp/needs_install ]] || [[ -f /tmp/needs_upgrade ]]; then if [ -f /config/www/nextcloud/config/needs_migration ] || [ -f /tmp/needs_install ] || [ -f /tmp/needs_upgrade ]; then
echo "Initializing nextcloud ${image_version} (this can take a while) ..." echo "Initializing nextcloud ${image_version} (this can take a while) ..."
if [[ -f /config/www/nextcloud/config/needs_migration ]] || [[ -f /tmp/needs_upgrade ]]; then if [ -f /config/www/nextcloud/config/needs_migration ] || [ -f /tmp/needs_upgrade ]; then
echo "Upgrading nextcloud from ${installed_version} ..." echo "Upgrading nextcloud from ${installed_version} ..."
shippedApps=$(jq -r .shippedApps[] /app/www/src/core/shipped.json) shippedApps=$(jq -r .shippedApps[] /app/www/src/core/shipped.json)
for app in ${shippedApps}; do for app in ${shippedApps}; do
@@ -80,11 +80,11 @@ if [[ -f /config/www/nextcloud/config/needs_migration ]] || [[ -f /tmp/needs_ins
rsync -rlD --exclude-from=/app/upgrade.exclude /app/www/src/ /app/www/public/ rsync -rlD --exclude-from=/app/upgrade.exclude /app/www/src/ /app/www/public/
for dir in apps config themes; do for dir in apps config themes; do
if [[ -f /config/www/nextcloud/config/needs_migration ]] || [[ -f /tmp/needs_upgrade ]] || [[ -z "$(ls -A /app/www/public/${dir} 2>/dev/null)" ]]; then if [ -f /config/www/nextcloud/config/needs_migration ] || [ -f /tmp/needs_upgrade ] || [ -z "$(ls -A /app/www/public/${dir} 2>/dev/null)" ]; then
rsync -rlD --include "/${dir}" --exclude '/*' /app/www/src/ /config/www/nextcloud/ rsync -rlD --include "/${dir}" --exclude '/*' /app/www/src/ /config/www/nextcloud/
fi fi
done done
if [[ -z "$(ls -A /data/ 2>/dev/null)" ]]; then if [ -z "$(ls -A /data/ 2>/dev/null)" ]; then
rsync -rlD --include "/data" --exclude '/*' /app/www/src/ / rsync -rlD --include "/data" --exclude '/*' /app/www/src/ /
fi fi
@@ -94,11 +94,11 @@ if [[ -f /config/www/nextcloud/config/needs_migration ]] || [[ -f /tmp/needs_ins
/app/www/public \ /app/www/public \
/config/www/nextcloud /config/www/nextcloud
if [[ -f /config/www/nextcloud/config/needs_migration ]] || [[ -f /tmp/needs_upgrade ]]; then if [ -f /config/www/nextcloud/config/needs_migration ] || [ -f /tmp/needs_upgrade ]; then
# Upgrade # Upgrade
occ upgrade occ upgrade
else else
if [[ "${installed_version}" = "0.0.0.0" ]]; then if [ "${installed_version}" = "0.0.0.0" ]; then
# Install # Install
echo "New nextcloud instance" echo "New nextcloud instance"
echo "Please run the web-based installer on first connect!" echo "Please run the web-based installer on first connect!"
@@ -148,14 +148,14 @@ for APP in richdocumentscode; do
echo "Removing ${APP}" echo "Removing ${APP}"
fi fi
APP_PATH=$(occ app:getpath "${APP}" 2>/dev/null) APP_PATH=$(occ app:getpath "${APP}" 2>/dev/null)
if [[ -z "${APP_PATH}" ]] || [[ ! -d "${APP_PATH}" ]]; then if [ -z "${APP_PATH}" ] || [ ! -d "${APP_PATH}" ]; then
APP_PATH="/app/www/public/apps/${APP}" APP_PATH="/app/www/public/apps/${APP}"
fi fi
if [[ -d "${APP_PATH}" ]]; then if [ -d "${APP_PATH}" ]; then
occ app:disable "${APP}" >/dev/null 2>&1 occ app:disable "${APP}" >/dev/null 2>&1
fi fi
APP_STATUS="$(occ config:app:get "${APP}" enabled 2>/dev/null)" APP_STATUS="$(occ config:app:get "${APP}" enabled 2>/dev/null)"
if [[ "${APP_STATUS}" != "no" ]] && [[ -n "${APP_STATUS}" ]]; then if [ "${APP_STATUS}" != "no" ] && [ -n "${APP_STATUS}" ]; then
occ config:app:set "${APP}" enabled --value="no" >/dev/null 2>&1 occ config:app:set "${APP}" enabled --value="no" >/dev/null 2>&1
fi fi
occ app:remove "${APP}" >/dev/null 2>&1 occ app:remove "${APP}" >/dev/null 2>&1
@@ -163,14 +163,14 @@ for APP in richdocumentscode; do
done done
# set data directory # set data directory
if [[ ! -s /config/www/nextcloud/config/config.php ]]; then if [ ! -s /config/www/nextcloud/config/config.php ]; then
echo -e "<?php\n\$CONFIG = array (\n 'datadirectory' => '/data',\n);" >/config/www/nextcloud/config/config.php echo -e "<?php\n\$CONFIG = array (\n 'datadirectory' => '/data',\n);" >/config/www/nextcloud/config/config.php
elif [[ -f /config/www/nextcloud/config/config.php ]]; then elif [ -f /config/www/nextcloud/config/config.php ]; then
sed -i "s|/app/www/public/data|/data|g" /config/www/nextcloud/config/config.php sed -i "s|/app/www/public/data|/data|g" /config/www/nextcloud/config/config.php
fi fi
#modify javascript mime type and add .mjs support #modify javascript mime type and add .mjs support
if [[ -s /etc/nginx/mime.types ]]; then if [ -s /etc/nginx/mime.types ]; then
sed -i 's|\bjs;|js mjs;|g' /etc/nginx/mime.types sed -i 's|\bjs;|js mjs;|g' /etc/nginx/mime.types
sed -i 's|\bapplication/javascript|text/javascript|g' /etc/nginx/mime.types sed -i 's|\bapplication/javascript|text/javascript|g' /etc/nginx/mime.types
fi fi