Compare commits

...

202 Commits

Author SHA1 Message Date
Simon L.
3719a89e0e Merge pull request #6598 from nextcloud/aio-helm-update
Helm Chart updates
2025-07-01 13:53:44 +02:00
szaimen
88541ffe26 Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-01 11:53:05 +00:00
Simon L.
98706bdba1 Merge pull request #6522 from nextcloud/enh/6505/add-cm-cc
add container-management cc
2025-07-01 11:40:40 +02:00
Simon L.
5da3535dac Merge pull request #6584 from apparle/fix-signal-handling
Fix signal handling for mastercontainer
2025-07-01 11:37:15 +02:00
Simon L.
655c9e3f72 Merge pull request #6590 from nextcloud/aio-dependency-update
PHP dependency updates
2025-07-01 11:35:38 +02:00
Simon L.
9788aa2b03 Merge pull request #6588 from nextcloud/dependabot/docker/Containers/talk/nats-2.11.5-scratch
build(deps): bump nats from 2.11.4-scratch to 2.11.5-scratch in /Containers/talk
2025-07-01 11:35:21 +02:00
Simon L.
7e23f0736b Merge pull request #6597 from nextcloud/revert-6587-dependabot/docker/Containers/onlyoffice/onlyoffice/documentserver-9.0.2.1
Revert "build(deps): bump onlyoffice/documentserver from 8.3.3.1 to 9.0.2.1 in /Containers/onlyoffice"
2025-07-01 11:35:02 +02:00
Simon L.
5d1bebfd0b Revert "build(deps): bump onlyoffice/documentserver from 8.3.3.1 to 9.0.2.1 in /Containers/onlyoffice" 2025-07-01 11:34:38 +02:00
Simon L.
dd52074adb Merge pull request #6587 from nextcloud/dependabot/docker/Containers/onlyoffice/onlyoffice/documentserver-9.0.2.1
build(deps): bump onlyoffice/documentserver from 8.3.3.1 to 9.0.2.1 in /Containers/onlyoffice
2025-07-01 11:34:06 +02:00
Simon L.
5d3a0a65d8 Merge pull request #6583 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-28.3.0-cli
build(deps): bump docker from 28.2.2-cli to 28.3.0-cli in /Containers/mastercontainer
2025-07-01 11:33:50 +02:00
Simon L.
4784494dab Merge pull request #6591 from prokopschield/patch-1
rp-docs: fix typo
2025-07-01 11:01:31 +02:00
Prokop Schield
cca0ce9e72 fix: typo
Signed-off-by: Prokop Schield <76836484+prokopschield@users.noreply.github.com>
2025-06-29 12:58:14 +02:00
szaimen
d520f106c3 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-28 12:02:55 +00:00
dependabot[bot]
1c3b257107 build(deps): bump nats in /Containers/talk
Bumps nats from 2.11.4-scratch to 2.11.5-scratch.

---
updated-dependencies:
- dependency-name: nats
  dependency-version: 2.11.5-scratch
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-27 04:41:28 +00:00
dependabot[bot]
58d79307a1 build(deps): bump onlyoffice/documentserver in /Containers/onlyoffice
Bumps onlyoffice/documentserver from 8.3.3.1 to 9.0.2.1.

---
updated-dependencies:
- dependency-name: onlyoffice/documentserver
  dependency-version: 9.0.2.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-27 04:41:24 +00:00
Simon L.
ce1208b26e add container-managment cc
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-06-26 16:35:26 +02:00
Simon L.
d922017777 Merge pull request #6585 from nextcloud/alexanderdd-patch-1
readme: add "do not install Docker as snap"
2025-06-26 14:53:46 +02:00
Alexander Müller
ddbeca9170 readme: add "do not install Docker as snap"
Signed-off-by: Alexander Müller <28591861+alexanderdd@users.noreply.github.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-06-26 14:51:20 +02:00
Apoorv Parle
e28d0516f5 Use exec for supervisord replace process and propagate signals
Signed-off-by: Apoorv Parle <19315187+apparle@users.noreply.github.com>
2025-06-26 00:54:11 -07:00
dependabot[bot]
914d9bfd7f build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 28.2.2-cli to 28.3.0-cli.

---
updated-dependencies:
- dependency-name: docker
  dependency-version: 28.3.0-cli
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-26 04:38:18 +00:00
Simon L.
a0e4201955 increase to 11.2.1
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-06-24 14:37:52 +02:00
Simon L.
9351614972 Merge pull request #6574 from apparle/improve-start-command
Make daily-backup.sh more robust by checking for uninitialized state
2025-06-24 14:36:27 +02:00
Simon L.
2d46aaf1bc Merge pull request #6580 from nextcloud/dependabot/docker/Containers/whiteboard/nextcloud-releases/whiteboard-v1.1.2
build(deps): bump nextcloud-releases/whiteboard from v1.1.1 to v1.1.2 in /Containers/whiteboard
2025-06-24 14:35:15 +02:00
dependabot[bot]
698732254b build(deps): bump nextcloud-releases/whiteboard
Bumps nextcloud-releases/whiteboard from v1.1.1 to v1.1.2.

---
updated-dependencies:
- dependency-name: nextcloud-releases/whiteboard
  dependency-version: v1.1.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-24 12:32:53 +00:00
Apoorv Parle
108dcf6c48 Update Containers/mastercontainer/daily-backup.sh based on review comments
Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: Apoorv Parle <19315187+apparle@users.noreply.github.com>
2025-06-24 01:24:26 -07:00
Simon L.
21b9a7cda8 Merge pull request #6518 from nextcloud/enh/noid/mention-docker-ipv6-support
ipv6-docs: mention that `"com.docker.network.enable_ipv6":"true"` ena…
2025-06-23 18:15:39 +02:00
Simon L.
2366cda31c add additional hint that the network can be created manually with ipv6 support
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-06-23 16:18:19 +02:00
Simon L.
9f9a002ba7 increase to 11.2.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-06-23 13:58:14 +02:00
Simon L.
3c729d0746 Merge pull request #6575 from nextcloud/dependabot/docker/Containers/whiteboard/nextcloud-releases/whiteboard-v1.1.1
build(deps): bump nextcloud-releases/whiteboard from v1.0.5 to v1.1.1 in /Containers/whiteboard
2025-06-23 13:09:28 +02:00
dependabot[bot]
3b93da5ff5 build(deps): bump nextcloud-releases/whiteboard
Bumps nextcloud-releases/whiteboard from v1.0.5 to v1.1.1.

---
updated-dependencies:
- dependency-name: nextcloud-releases/whiteboard
  dependency-version: v1.1.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 11:08:51 +00:00
Simon L.
e5d7b7cd7e Merge pull request #6571 from G-Pereira/patch-1
readme: fix typo in backup migration section
2025-06-22 12:11:59 +02:00
Apoorv Parle
00b2465379 Add check in daily-backup.sh for uninitialized state
Signed-off-by: Apoorv Parle <19315187+apparle@users.noreply.github.com>
2025-06-22 02:17:25 -07:00
Gonçalo Pereira
ec654ecd58 Typo in readme on backup migration section
Signed-off-by: Gonçalo Pereira <goncalo_pereira@outlook.pt>
2025-06-21 00:59:34 +01:00
Simon L.
a9de130a2c Merge pull request #6542 from nextcloud/dependabot/docker/Containers/talk-recording/python-3.13.5-alpine3.21
build(deps): bump python from 3.13.4-alpine3.21 to 3.13.5-alpine3.21 in /Containers/talk-recording
2025-06-20 10:21:08 +02:00
Simon L.
f13ed5b637 Merge pull request #6535 from nextcloud/enh/noid/move-button-to-new-line
app: move the button to a new line
2025-06-20 10:20:17 +02:00
Apoorv Parle
2552c24c6f Merge pull request #5568 from apparle/enable_local_testability
mastercontainer: enable local testability
2025-06-20 10:17:45 +02:00
Simon L.
676fa6ccbf Merge pull request #6533 from apparle/podman-compatibility
watchtower: change to a well-maintained repo and add podman compatibility
2025-06-20 10:16:03 +02:00
Simon L.
92f1421b7e Merge pull request #6551 from nextcloud/enh/noid/add-onlyoffice-logic
entrypoint.sh: add additional logic for ONLYOFFICE_HOST
2025-06-20 10:15:27 +02:00
Simon L.
31b55a9aef Merge pull request #6566 from nextcloud/fix/nextcloud-container-stuck-terminating
fix: nextcloud container sometimes becoming stuck terminating
2025-06-20 10:10:06 +02:00
Simon L.
05b8319c29 Merge pull request #6569 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-25.04.3.1.1
build(deps): bump collabora/code from 25.04.2.2.1 to 25.04.3.1.1 in /Containers/collabora
2025-06-20 10:08:56 +02:00
dependabot[bot]
b2ce65472e build(deps): bump collabora/code in /Containers/collabora
Bumps collabora/code from 25.04.2.2.1 to 25.04.3.1.1.

---
updated-dependencies:
- dependency-name: collabora/code
  dependency-version: 25.04.3.1.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-20 04:42:51 +00:00
Richard Steinmetz
2f8b349262 fix: nextcloud container sometimes becoming stuck terminating
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-06-19 14:48:45 +02:00
Simon L.
f8ed7e03d2 Merge pull request #6562 from nextcloud/aio-helm-update
Helm Chart updates
2025-06-19 10:34:06 +02:00
szaimen
7141a7dbb2 Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-19 08:30:33 +00:00
Simon L.
a7f58e0413 Merge pull request #6550 from frederikb96/main
feat(helm): allow custom data storage class for Nextcloud data PVC
2025-06-19 10:18:17 +02:00
Simon L.
d50f6a375f add suggestions
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-06-19 10:15:57 +02:00
Frederik Berg
19793b3753 feat(helm): allow custom data storage class
Signed-off-by: Frederik Berg <fberg@posteo.de>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-06-19 10:15:56 +02:00
Simon L.
4344148cdd entrypoint.sh: add additional logic for ONLYOFFICE_HOST
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-06-16 14:21:05 +02:00
Simon L.
f0bb29bf8a Merge pull request #6545 from nextcloud/dependabot/github_actions/dot-github/workflows/shivammathur/setup-php-2.34.1
build(deps): bump shivammathur/setup-php from 2.34.0 to 2.34.1 in /.github/workflows
2025-06-13 17:30:06 +02:00
Apoorv Parle
eb533eef28 Use watchtower image directly instead of building it
Signed-off-by: Apoorv Parle <19315187+apparle@users.noreply.github.com>
2025-06-13 05:35:10 -07:00
dependabot[bot]
83d4902804 build(deps): bump shivammathur/setup-php in /.github/workflows
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.34.0 to 2.34.1.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](27853eb8b4...0f7f1d08e3)

---
updated-dependencies:
- dependency-name: shivammathur/setup-php
  dependency-version: 2.34.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-13 12:29:52 +00:00
dependabot[bot]
c174ee3a9a build(deps): bump python in /Containers/talk-recording
Bumps python from 3.13.4-alpine3.21 to 3.13.5-alpine3.21.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.13.5-alpine3.21
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-13 04:56:44 +00:00
Simon L.
3957a03b2d app: move the button to a new line
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-06-12 14:23:35 +02:00
Simon L.
e0916df031 Merge pull request #6517 from nextcloud/enh/6408/re-enable-the-update-app
nextcloud: re-enable the updatenotification app
2025-06-12 11:39:09 +02:00
Simon L.
a84cae708f Merge pull request #6534 from nextcloud/nextcloud-container-update
Nextcloud dependency update
2025-06-12 11:37:35 +02:00
szaimen
02a7f909a7 nextcloud-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-12 09:36:36 +00:00
Simon L.
11accd3129 Merge pull request #6532 from nextcloud/dependabot/docker/Containers/docker-socket-proxy/haproxy-3.2.1-alpine
build(deps): bump haproxy from 3.2.0-alpine to 3.2.1-alpine in /Containers/docker-socket-proxy
2025-06-12 09:48:13 +02:00
Apoorv Parle
ee23d43ca7 Update watchtower to a well-maintained fork and add podman support
Signed-off-by: Apoorv Parle <19315187+apparle@users.noreply.github.com>
2025-06-11 22:48:52 -07:00
dependabot[bot]
6b2ed113cd build(deps): bump haproxy in /Containers/docker-socket-proxy
Bumps haproxy from 3.2.0-alpine to 3.2.1-alpine.

---
updated-dependencies:
- dependency-name: haproxy
  dependency-version: 3.2.1-alpine
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-12 04:21:45 +00:00
Simon L.
13b645dc1d nextcloud: fix APPSTORE_URL default
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-06-11 15:33:41 +02:00
Simon L.
0d4081ab13 DockerController: also fix warning in the web interface
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-06-11 15:13:02 +02:00
Simon L.
b3f931f2cf aio-interface: fix the padding-bottom
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-06-11 15:09:38 +02:00
Simon L.
9807d314f3 increase to v11.1.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-06-11 14:49:01 +02:00
Simon L.
c4d5f89e00 Merge pull request #6496 from QuentinLemCode/update-traefik-doc-http3
rp-docs: add Traefik v3
2025-06-11 09:57:32 +02:00
Quentin
29cc92d714 Add Traefik 3 documentation
Signed-off-by: Quentin <quentinlemcode@gmail.com>
2025-06-11 09:54:11 +02:00
Quentin
293fe559f4 Revert "Update reverse-proxy.md"
This reverts commit 226afe6b82b35f6b9b6ad7775857ef3761eafc57.

Signed-off-by: Quentin <quentinlemcode@gmail.com>
2025-06-11 09:54:11 +02:00
Quentin Lemeasle
f2d9fb8d9d Update reverse-proxy.md
Signed-off-by: Quentin Lemeasle <quentinlemcode@gmail.com>
Signed-off-by: Quentin <quentinlemcode@gmail.com>
2025-06-11 09:54:11 +02:00
Simon L.
061885c8e1 Merge pull request #6524 from gggeek/gg/issue-6413-improved
DockerController: avoid php warning when id not in query string in GetLogs Route
2025-06-11 09:52:30 +02:00
gggeek
1c5cc164c0 DockerController: avoid php warning when id not in query string in GetLogs Route
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-06-11 09:47:01 +02:00
Simon L.
00c0c9863b Merge pull request #6525 from nextcloud/automated/noid/psalm-baseline-update
[Automated] Update psalm-baseline.xml
2025-06-11 08:35:04 +02:00
nextcloud-command
0a075b4b22 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2025-06-11 04:15:35 +00:00
Simon L.
5bbfbed128 nextcloud: re-enable the updatenotification app
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-06-10 16:03:34 +02:00
Simon L.
2152d3544a Merge pull request #6521 from nextcloud/dependabot/github_actions/dot-github/workflows/shivammathur/setup-php-2.34.0
build(deps): bump shivammathur/setup-php from 2.33.0 to 2.34.0 in /.github/workflows
2025-06-10 14:35:23 +02:00
Simon L.
4c43931bb0 Merge pull request #6520 from nextcloud/dependabot/github_actions/dot-github/workflows/softprops/turnstyle-2.4.0
build(deps): bump softprops/turnstyle from 2.3.2 to 2.4.0 in /.github/workflows
2025-06-10 14:34:58 +02:00
Simon L.
d240b961ba Merge pull request #6519 from nextcloud/aio-helm-update
Helm Chart updates
2025-06-10 14:34:40 +02:00
dependabot[bot]
d6a27a9542 build(deps): bump shivammathur/setup-php in /.github/workflows
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.33.0 to 2.34.0.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](cf4cade272...27853eb8b4)

---
updated-dependencies:
- dependency-name: shivammathur/setup-php
  dependency-version: 2.34.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-10 12:16:36 +00:00
dependabot[bot]
533862a607 build(deps): bump softprops/turnstyle in /.github/workflows
Bumps [softprops/turnstyle](https://github.com/softprops/turnstyle) from 2.3.2 to 2.4.0.
- [Release notes](https://github.com/softprops/turnstyle/releases)
- [Changelog](https://github.com/softprops/turnstyle/blob/master/CHANGELOG.md)
- [Commits](f9f8ef3f63...807f6009e7)

---
updated-dependencies:
- dependency-name: softprops/turnstyle
  dependency-version: 2.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-10 12:16:31 +00:00
szaimen
bd43dbe63c Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-10 12:13:48 +00:00
Simon L.
46a012140c ipv6-docs: mention that "com.docker.network.enable_ipv6":"true" enabled ipv6 by default for all new docker networks
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-06-10 14:05:50 +02:00
Simon L.
5c30a6472f Merge pull request #6513 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.4.8-fpm-alpine3.21
build(deps): bump php from 8.4.7-fpm-alpine3.21 to 8.4.8-fpm-alpine3.21 in /Containers/mastercontainer
2025-06-10 09:48:45 +02:00
Simon L.
f0ee35bbda Merge pull request #6512 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.3.22-fpm-alpine3.21
build(deps): bump php from 8.3.21-fpm-alpine3.21 to 8.3.22-fpm-alpine3.21 in /Containers/nextcloud
2025-06-10 09:48:33 +02:00
Simon L.
bef58fbd45 Merge pull request #6508 from nextcloud/dependabot/docker/Containers/watchtower/golang-1.24.4-alpine3.21
build(deps): bump golang from 1.24.3-alpine3.21 to 1.24.4-alpine3.21 in /Containers/watchtower
2025-06-10 09:48:21 +02:00
Simon L.
ef19bb6187 Merge pull request #6507 from nextcloud/dependabot/docker/Containers/imaginary/golang-1.24.4-alpine3.21
build(deps): bump golang from 1.24.3-alpine3.21 to 1.24.4-alpine3.21 in /Containers/imaginary
2025-06-10 09:48:09 +02:00
Simon L.
1bc4c7c8b1 Merge pull request #6506 from nextcloud/dependabot/docker/Containers/talk-recording/python-3.13.4-alpine3.21
build(deps): bump python from 3.13.3-alpine3.21 to 3.13.4-alpine3.21 in /Containers/talk-recording
2025-06-10 09:47:56 +02:00
Simon L.
10f13860c3 Merge pull request #6500 from nextcloud/enh/noid/disable-talk-recording
aio-interface: disable talk-recording correctly
2025-06-10 09:47:44 +02:00
Simon L.
32c09041a1 Merge pull request #6499 from nextcloud/enh/noid/add-bottom-padding
aio-interface: add bottom padding to the main container
2025-06-10 09:47:28 +02:00
Simon L.
eec1f30031 Merge pull request #6490 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-28.2.2-cli
build(deps): bump docker from 28.2.1-cli to 28.2.2-cli in /Containers/mastercontainer
2025-06-10 09:47:05 +02:00
Simon L.
a8c633231b Merge pull request #6485 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-25.04.2.2.1
build(deps): bump collabora/code from 25.04.2.1.1 to 25.04.2.2.1 in /Containers/collabora
2025-06-10 09:46:52 +02:00
Simon L.
6c4c4f1f56 Merge pull request #6482 from ZhaoGY-N/bugfix/appstoreurl_check_fail
change the url used in appstore check from $APPSTORE_URL to $APPSTORE…
2025-06-10 09:46:37 +02:00
Simon L.
54c17176eb Merge pull request #6474 from nextcloud/aio-dependency-update
PHP dependency updates
2025-06-10 09:46:06 +02:00
dependabot[bot]
38b7732d5c build(deps): bump php in /Containers/mastercontainer
Bumps php from 8.4.7-fpm-alpine3.21 to 8.4.8-fpm-alpine3.21.

---
updated-dependencies:
- dependency-name: php
  dependency-version: 8.4.8-fpm-alpine3.21
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 05:20:02 +00:00
dependabot[bot]
233d31750c build(deps): bump php in /Containers/nextcloud
Bumps php from 8.3.21-fpm-alpine3.21 to 8.3.22-fpm-alpine3.21.

---
updated-dependencies:
- dependency-name: php
  dependency-version: 8.3.22-fpm-alpine3.21
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 05:15:48 +00:00
dependabot[bot]
fd0c347c16 build(deps): bump golang in /Containers/watchtower
Bumps golang from 1.24.3-alpine3.21 to 1.24.4-alpine3.21.

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.24.4-alpine3.21
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-06 04:21:45 +00:00
dependabot[bot]
fe561976e9 build(deps): bump golang in /Containers/imaginary
Bumps golang from 1.24.3-alpine3.21 to 1.24.4-alpine3.21.

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.24.4-alpine3.21
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-06 04:20:47 +00:00
dependabot[bot]
1ab64d158d build(deps): bump python in /Containers/talk-recording
Bumps python from 3.13.3-alpine3.21 to 3.13.4-alpine3.21.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.13.4-alpine3.21
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-05 05:11:31 +00:00
Simon L.
b30ef900e1 aio-interface: disable talk-recording correctly
Signed-off-by: Simon L. <szaimen@e.mail.de>

Revert "aio-interface: disable talk-recording correctly"

This reverts commit e9711aae78db91359aa6d6bfaf87f60a4453287c.

Update containers.twig
2025-06-04 11:06:26 +02:00
Simon L.
e4d11d1295 aio-interface: add bottom padding to the main container
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-06-03 16:44:18 +02:00
szaimen
c2ffe0cb4a php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-03 12:03:22 +00:00
Zhao Guangyu
f71506a1c9 Update Containers/nextcloud/entrypoint.sh
Add comment for the apps.json

Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: Zhao Guangyu <62810902+ZhaoGY-N@users.noreply.github.com>
2025-06-02 15:55:13 +08:00
dependabot[bot]
f71b4a96ce build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 28.2.1-cli to 28.2.2-cli.

---
updated-dependencies:
- dependency-name: docker
  dependency-version: 28.2.2-cli
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 05:20:10 +00:00
dependabot[bot]
ae0d0aece3 build(deps): bump collabora/code in /Containers/collabora
Bumps collabora/code from 25.04.2.1.1 to 25.04.2.2.1.

---
updated-dependencies:
- dependency-name: collabora/code
  dependency-version: 25.04.2.2.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 05:17:08 +00:00
Zhao Guangyu
8be30f3cc1 change the url used in appstore check from $APPSTORE_URL to $APPSTORE_URL/apps.json 2025-06-02 04:06:37 +08:00
Simon L.
81fec27c14 Merge pull request #6455 from thiswillbeyourgithub/doc_clarify_migration
doc: clarify migration steps
2025-05-30 14:14:48 +02:00
Simon L.
bf7963a9ac Merge pull request #6473 from nextcloud/enh/noid/show-ccs
fix showing community containers in the AIO interface and enabling or disabling them
2025-05-30 13:52:42 +02:00
Simon L.
8a6772bc05 fix showing community containers in the AIO interface and enabling or disabling them
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-30 13:51:36 +02:00
thiswillbeyourgithub
328900b8c2 doc: clarification of app migration
Signed-off-by: thiswillbeyourgithub <26625900+thiswillbeyourgithub@users.noreply.github.com>
2025-05-30 12:17:03 +02:00
Simon L.
0fe4ea3238 fix detail in optional containers
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-30 11:40:59 +02:00
Simon L.
f678b09523 fix collabora healthcheck
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-30 11:24:07 +02:00
Simon L.
c151a37f73 Merge pull request #6472 from nextcloud/revert-6441-enh/5919/add-pandoc
Revert "nextcloud: add pandoc to container"
2025-05-30 11:19:15 +02:00
Simon L.
22848e76ec Revert "nextcloud: add pandoc to container" 2025-05-30 11:18:38 +02:00
Simon L.
ff7d0e4a01 adjust cc-docs
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-30 11:13:05 +02:00
Simon L.
3f520b2f3c move note about how to handle the ccs
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-30 10:58:45 +02:00
Simon L.
635381a4c8 fix another detail in scandir
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-30 10:47:55 +02:00
Simon L.
ae5adc989f the cc-section needs to be included in another place
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-30 10:37:52 +02:00
Simon L.
30bd415aac Merge pull request #6471 from nextcloud/enh/noid/get-dir-of-dots
scandir: get rid of dots
2025-05-30 10:29:41 +02:00
Simon L.
21b9c19c5d scandir: get rid of dots
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-30 10:27:12 +02:00
Simon L.
2822cf2773 Merge pull request #6470 from nextcloud/enh/noid/collabora-fix-install
collabora: move healthcheck to use curl in order to fix the Dockerfile
2025-05-30 10:08:38 +02:00
Simon L.
1d3692a6db collabora: move healthcheck to use curl in order to fix the Dockerfile
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-30 10:02:46 +02:00
Simon L.
d6c35782f5 another collabora attempt
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-30 09:56:28 +02:00
Simon L.
37c56f1a0c Merge pull request #6469 from nextcloud/enh/noid/adjust-permissions
nextcloud: adjust permissions
2025-05-30 09:54:32 +02:00
Simon L.
7442072a5d nextcloud: adjust permissions
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-30 09:53:19 +02:00
Simon L.
cdd5a95062 another attempt
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-30 09:48:16 +02:00
Simon L.
f2f674d949 fix detail
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-30 09:45:15 +02:00
Simon L.
1cced86de6 fix collabora
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-30 09:43:20 +02:00
Simon L.
bbd6812977 increase to 11.0.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-30 09:38:18 +02:00
Simon L.
9a289b0193 Merge pull request #6467 from nextcloud/dependabot/docker/Containers/redis/redis-7.2.9-alpine
build(deps): bump redis from 7.2.8-alpine to 7.2.9-alpine in /Containers/redis
2025-05-30 09:35:52 +02:00
Simon L.
8547bb18e1 Merge pull request #6466 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-28.2.1-cli
build(deps): bump docker from 28.1.1-cli to 28.2.1-cli in /Containers/mastercontainer
2025-05-30 09:35:31 +02:00
Simon L.
a2032c063c Merge pull request #6465 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.18.2
build(deps): bump elasticsearch from 8.18.1 to 8.18.2 in /Containers/fulltextsearch
2025-05-30 09:35:17 +02:00
Simon L.
673b1db07e aio-interface: allow to manage the community containers via the AIO interface (#6443)
Signed-off-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: Jean-Yves <7360784+docjyJ@users.noreply.github.com>
2025-05-30 09:32:51 +02:00
Simon L.
17ec503bf3 Merge pull request #6458 from nextcloud/enh/6456/move-local-socket
clamav: move LocalSocket to `/tmp/clamd.sock`
2025-05-30 09:30:35 +02:00
dependabot[bot]
b6c078847d build(deps): bump redis in /Containers/redis
Bumps redis from 7.2.8-alpine to 7.2.9-alpine.

---
updated-dependencies:
- dependency-name: redis
  dependency-version: 7.2.9-alpine
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-30 04:40:25 +00:00
dependabot[bot]
945b767e2c build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 28.1.1-cli to 28.2.1-cli.

---
updated-dependencies:
- dependency-name: docker
  dependency-version: 28.2.1-cli
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-30 04:39:56 +00:00
dependabot[bot]
1edd280cc8 build(deps): bump elasticsearch in /Containers/fulltextsearch
Bumps elasticsearch from 8.18.1 to 8.18.2.

---
updated-dependencies:
- dependency-name: elasticsearch
  dependency-version: 8.18.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-30 04:39:48 +00:00
Simon L.
eeaa2d65a8 Merge pull request #6463 from nextcloud/aio-dependency-update
PHP dependency updates
2025-05-29 18:48:13 +02:00
szaimen
87b0572845 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-29 12:03:15 +00:00
Simon L.
83fa16f14f Merge pull request #6461 from nextcloud/dependabot/docker/Containers/docker-socket-proxy/haproxy-3.2.0-alpine
build(deps): bump haproxy from 3.1.7-alpine to 3.2.0-alpine in /Containers/docker-socket-proxy
2025-05-29 09:33:51 +02:00
dependabot[bot]
73ccf23e92 build(deps): bump haproxy in /Containers/docker-socket-proxy
Bumps haproxy from 3.1.7-alpine to 3.2.0-alpine.

---
updated-dependencies:
- dependency-name: haproxy
  dependency-version: 3.2.0-alpine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-29 04:33:18 +00:00
Simon L.
a72bdf097f clamav: move LocalSocket to /tmp/clamd.sock
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-28 11:08:34 +02:00
thiswillbeyourgithub
68ae9c055a doc: clarify migration steps
Signed-off-by: thiswillbeyourgithub <26625900+thiswillbeyourgithub@users.noreply.github.com>
2025-05-27 16:00:58 +02:00
Simon L.
13749475e1 Merge pull request #6451 from nextcloud/enh/noid/update-caddy-readme
readme: update docs regarding unothorized ACME challenges
2025-05-27 12:53:07 +02:00
Simon L.
de6fde26cd readme: update docs regarding unothorized ACME challenges
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-27 12:49:37 +02:00
Simon L.
7eca14acfd Merge pull request #6450 from nextcloud/automated/noid/psalm-baseline-update
[Automated] Update psalm-baseline.xml
2025-05-27 12:30:35 +02:00
nextcloud-command
8a4789a903 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2025-05-27 04:12:55 +00:00
Simon L.
ae841a66a7 upgrade helm-chart to v10.15.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-26 15:29:04 +02:00
Simon L.
e69372e8e4 downgrade helm-chart to 10.14.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-26 15:27:31 +02:00
Simon L.
b5ff2376d8 fix update-helm script
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-26 15:26:31 +02:00
Simon L.
2ddf074965 Merge pull request #6447 from nextcloud/aio-helm-update
Helm Chart updates
2025-05-26 14:47:22 +02:00
szaimen
100d370047 Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-26 12:46:45 +00:00
Simon L.
99f7909c9c Merge pull request #6446 from nextcloud/aio-dependency-update
PHP dependency updates
2025-05-26 14:45:16 +02:00
szaimen
347aaf618e php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-26 12:03:12 +00:00
Simon L.
c65a6c21ca Merge pull request #6445 from nextcloud/enh/6149/remove-upgrade-notice
aio-interface: hide instructions for upgrading to nc31
2025-05-26 13:55:56 +02:00
Simon L.
2d9152d09a aio-interface: hide instructions for upgrading to nc31
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-26 13:54:39 +02:00
Simon L.
1259d43b0a Merge pull request #6444 from nextcloud/enh/6149/upgrade-to-nc31
nextcloud: upgrade to nc31
2025-05-26 13:50:56 +02:00
Simon L.
18663f0b05 nextcloud: upgrade to nc31
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-26 13:49:41 +02:00
Simon L.
066a5102bd Merge pull request #6442 from nextcloud/enh/5364/increase-to-17
postgres: increase to 17
2025-05-26 13:39:28 +02:00
Simon L.
d0d11cc818 postgres: increase to 17
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-26 13:38:22 +02:00
Simon L.
365aeb0c94 Merge pull request #6440 from nextcloud/enh/6149/increase-app-version
app: increase version to allow nc31
2025-05-26 13:35:11 +02:00
Simon L.
872a9597ae Merge pull request #6441 from nextcloud/enh/5919/add-pandoc
nextcloud: add pandoc to container
2025-05-26 13:34:55 +02:00
Simon L.
c509ce6c8f nextcloud: add pandoc to container
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-26 13:33:31 +02:00
Simon L.
117a5dfd34 app: increase version to allow nc31
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-26 13:31:31 +02:00
Simon L.
1a4f70ecec Merge pull request #6439 from nextcloud/enh/noid/remove-entrypoint-workaround
nextcloud: remove workaround to update logic in entrypoint
2025-05-26 13:30:29 +02:00
Simon L.
43d16a3b25 nextcloud: remove workaround to update logic in entrypoint
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-26 13:29:42 +02:00
Simon L.
3367f2ddfe Merge pull request #6184 from nextcloud/enh/6175/update-import-logic
database-import: update logic to consider wrong line endings
2025-05-26 13:23:03 +02:00
Simon L.
317c9d1edc Merge pull request #6435 from nextcloud/dependabot/docker/Containers/talk/nats-2.11.4-scratch
build(deps): bump nats from 2.11.3-scratch to 2.11.4-scratch in /Containers/talk
2025-05-26 13:21:20 +02:00
Simon L.
1801d57a06 Merge pull request #6433 from nextcloud/enh/6422/increase-default-shm-size
nextcloud: increase apc.shm_size to 64M to match the docker default shm-size
2025-05-26 13:21:09 +02:00
Simon L.
d991a18fe5 Merge pull request #6428 from nextcloud/aio-dependency-update
PHP dependency updates
2025-05-26 13:20:57 +02:00
Simon L.
7c1190f70b Merge pull request #6427 from nextcloud/imaginary-container-update
Imaginary update
2025-05-26 13:20:43 +02:00
Simon L.
a0d86ce2d9 Merge pull request #6418 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-25.04.2.1.1
build(deps): bump collabora/code from 24.04.13.3.1 to 25.04.2.1.1 in /Containers/collabora
2025-05-26 13:20:33 +02:00
Simon L.
12340a7ce9 adjust instructions how to promote builds from beta to latest
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-26 11:11:44 +02:00
dependabot[bot]
a18371c074 build(deps): bump nats in /Containers/talk
Bumps nats from 2.11.3-scratch to 2.11.4-scratch.

---
updated-dependencies:
- dependency-name: nats
  dependency-version: 2.11.4-scratch
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-23 04:51:55 +00:00
szaimen
1afe2afed0 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-22 12:03:18 +00:00
szaimen
bf61090568 imaginary-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-22 12:03:18 +00:00
Simon L.
04ffcb9b21 Merge pull request #6430 from powerflo/patch-1
Fix broken link in readme.md
2025-05-21 14:45:52 +02:00
Simon L.
25da732d82 nextcloud: increase apc.shm_size to 64M to match the docker default shm-size
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-21 14:43:44 +02:00
Florian Wallner
b73419c4da Update readme.md
Fix broken link

Signed-off-by: Florian Wallner <asdf@walura.eu>
2025-05-20 20:46:25 +02:00
Simon L.
b94d807328 increase to 10.15.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-19 14:56:58 +02:00
Simon L.
62f043d1cb Merge pull request #6423 from nextcloud/enh/6410/add-labels
add `org.label-schema.vendor="Nextcloud"` label to all containers
2025-05-19 14:55:48 +02:00
Simon L.
5536121899 add org.label-schema.vendor="Nextcloud" label to all containers
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-05-19 14:31:29 +02:00
Simon L.
a53f0819c2 Merge pull request #6416 from nextcloud/nextcloud-container-update
Nextcloud dependency update
2025-05-19 14:22:32 +02:00
dependabot[bot]
6c49505b06 build(deps): bump collabora/code in /Containers/collabora
Bumps collabora/code from 24.04.13.3.1 to 25.04.2.1.1.

---
updated-dependencies:
- dependency-name: collabora/code
  dependency-version: 25.04.2.1.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-16 05:07:04 +00:00
szaimen
74e4db570b nextcloud-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-15 12:13:14 +00:00
Simon L.
28f627bdd4 Merge pull request #6409 from nextcloud/automated/noid/psalm-baseline-update
[Automated] Update psalm-baseline.xml
2025-05-13 09:01:44 +02:00
nextcloud-command
076b923f3d Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2025-05-13 04:11:07 +00:00
Simon L.
4e943a9382 Merge pull request #6407 from nextcloud/aio-yaml-update
Yaml updates
2025-05-12 14:32:14 +02:00
szaimen
e6df869990 Yaml updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-12 12:03:46 +00:00
Simon L.
28295b16c3 Merge pull request #6401 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.3.21-fpm-alpine3.21
build(deps): bump php from 8.3.20-fpm-alpine3.21 to 8.3.21-fpm-alpine3.21 in /Containers/nextcloud
2025-05-12 11:47:31 +02:00
Simon L.
8be747c9e7 Merge pull request #6400 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.18.1
build(deps): bump elasticsearch from 8.18.0 to 8.18.1 in /Containers/fulltextsearch
2025-05-12 11:47:15 +02:00
Simon L.
d5b24b63be Merge pull request #6395 from nextcloud/dependabot/docker/Containers/postgresql/postgres-16.9-alpine
build(deps): bump postgres from 16.8-alpine to 16.9-alpine in /Containers/postgresql
2025-05-12 11:47:01 +02:00
Simon L.
a5a7a97794 Merge pull request #6394 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.4.7-fpm-alpine3.21
build(deps): bump php from 8.4.6-fpm-alpine3.21 to 8.4.7-fpm-alpine3.21 in /Containers/mastercontainer
2025-05-12 11:46:48 +02:00
Simon L.
c129792662 Merge pull request #6391 from nextcloud/dependabot/docker/Containers/talk/strukturag/nextcloud-spreed-signaling-2.0.3
build(deps): bump strukturag/nextcloud-spreed-signaling from 2.0.2 to 2.0.3 in /Containers/talk
2025-05-12 11:46:34 +02:00
Simon L.
397a3c7913 Merge pull request #6389 from nextcloud/dependabot/docker/Containers/watchtower/golang-1.24.3-alpine3.21
build(deps): bump golang from 1.24.2-alpine3.21 to 1.24.3-alpine3.21 in /Containers/watchtower
2025-05-12 11:46:12 +02:00
Simon L.
5c853efc1e Merge pull request #6388 from nextcloud/dependabot/docker/Containers/imaginary/golang-1.24.3-alpine3.21
build(deps): bump golang from 1.24.2-alpine3.21 to 1.24.3-alpine3.21 in /Containers/imaginary
2025-05-12 11:45:57 +02:00
Simon L.
ec399dc5ee Merge pull request #6372 from nextcloud/aio-dependency-update
PHP dependency updates
2025-05-12 11:45:46 +02:00
dependabot[bot]
9f44eb91cd build(deps): bump php in /Containers/nextcloud
Bumps php from 8.3.20-fpm-alpine3.21 to 8.3.21-fpm-alpine3.21.

---
updated-dependencies:
- dependency-name: php
  dependency-version: 8.3.21-fpm-alpine3.21
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 04:51:07 +00:00
dependabot[bot]
c14b5f5590 build(deps): bump elasticsearch in /Containers/fulltextsearch
Bumps elasticsearch from 8.18.0 to 8.18.1.

---
updated-dependencies:
- dependency-name: elasticsearch
  dependency-version: 8.18.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 04:50:22 +00:00
dependabot[bot]
89b9400e68 build(deps): bump postgres in /Containers/postgresql
Bumps postgres from 16.8-alpine to 16.9-alpine.

---
updated-dependencies:
- dependency-name: postgres
  dependency-version: 16.9-alpine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-09 05:02:36 +00:00
dependabot[bot]
61ccc553aa build(deps): bump php in /Containers/mastercontainer
Bumps php from 8.4.6-fpm-alpine3.21 to 8.4.7-fpm-alpine3.21.

---
updated-dependencies:
- dependency-name: php
  dependency-version: 8.4.7-fpm-alpine3.21
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-09 05:02:17 +00:00
szaimen
7b92179c24 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-08 12:03:10 +00:00
dependabot[bot]
cffc7cf8a7 build(deps): bump strukturag/nextcloud-spreed-signaling
Bumps strukturag/nextcloud-spreed-signaling from 2.0.2 to 2.0.3.

---
updated-dependencies:
- dependency-name: strukturag/nextcloud-spreed-signaling
  dependency-version: 2.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-08 04:41:09 +00:00
dependabot[bot]
30e09a0d31 build(deps): bump golang in /Containers/watchtower
Bumps golang from 1.24.2-alpine3.21 to 1.24.3-alpine3.21.

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.24.3-alpine3.21
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 04:27:57 +00:00
dependabot[bot]
69bd0bde49 build(deps): bump golang in /Containers/imaginary
Bumps golang from 1.24.2-alpine3.21 to 1.24.3-alpine3.21.

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.24.3-alpine3.21
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 04:27:11 +00:00
Simon L.
630a0dc6aa database-import: update logic to consider wrong lin endings
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-03-24 18:43:25 +01:00
95 changed files with 713 additions and 568 deletions

View File

@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2
- uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2
with:
php-version: 8.4
extensions: apcu

View File

@@ -16,7 +16,7 @@ jobs:
uses: actions/checkout@v4
- name: Turnstyle
uses: softprops/turnstyle@f9f8ef3f634144b126a09ea5b3bfe51ddebc700f # v2
uses: softprops/turnstyle@807f6009e7cee5c2c9faa41ccef03a8bb24b06ab # v2
with:
continue-after-seconds: 180
env:

View File

@@ -36,7 +36,7 @@ jobs:
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2
with:
php-version: ${{ matrix.php-versions }}
coverage: none

View File

@@ -18,7 +18,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up php
uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2
with:
php-version: 8.4
extensions: apcu

View File

@@ -13,7 +13,7 @@ jobs:
- uses: actions/checkout@v4
- name: Set up php
uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2
with:
php-version: 8.4
extensions: apcu

View File

@@ -29,7 +29,7 @@ jobs:
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Set up php
uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2
with:
php-version: 8.4
extensions: apcu

View File

@@ -27,7 +27,7 @@ jobs:
uses: actions/checkout@v4
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2
with:
php-version: 8.4
extensions: apcu

View File

@@ -3,3 +3,5 @@ FROM alpine:3.21.3
RUN set -ex; \
apk upgrade --no-cache -a
LABEL org.label-schema.vendor="Nextcloud"

View File

@@ -87,4 +87,5 @@ ENTRYPOINT ["/start.sh"]
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false"
LABEL com.centurylinklabs.watchtower.enable="false" \
org.label-schema.vendor="Nextcloud"

View File

@@ -23,5 +23,6 @@ ENTRYPOINT ["/start.sh"]
# hadolint ignore=DL3002
USER root
LABEL com.centurylinklabs.watchtower.enable="false"
LABEL com.centurylinklabs.watchtower.enable="false" \
org.label-schema.vendor="Nextcloud"
ENV BORG_RETENTION_POLICY="--keep-within=7d --keep-weekly=4 --keep-monthly=6"

View File

@@ -11,6 +11,7 @@ RUN set -ex; \
sed -i "s|#\?PCREMaxFileSize.*|PCREMaxFileSize aio-placeholder|g" /etc/clamav/clamd.conf; \
sed -i "s|#\?StreamMaxLength.*|StreamMaxLength aio-placeholder|g" /etc/clamav/clamd.conf; \
sed -i "s|#\?TCPSocket|TCPSocket|g" /etc/clamav/clamd.conf; \
sed -i "s|^LocalSocket .*|LocalSocket /tmp/clamd.sock|g" /etc/clamav/clamd.conf; \
freshclam --foreground --stdout
COPY --chmod=775 start.sh /start.sh
@@ -21,5 +22,6 @@ USER 100
VOLUME /var/lib/clamav
ENTRYPOINT ["/start.sh"]
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
LABEL com.centurylinklabs.watchtower.enable="false"
LABEL com.centurylinklabs.watchtower.enable="false" \
org.label-schema.vendor="Nextcloud"
HEALTHCHECK --start-period=60s --retries=9 CMD /healthcheck.sh

View File

@@ -1,22 +1,14 @@
# syntax=docker/dockerfile:latest
# From a file located probably somewhere here: https://github.com/CollaboraOnline/online/blob/master/docker/from-packages/Dockerfile
FROM collabora/code:24.04.13.3.1
FROM collabora/code:25.04.3.1.1
USER root
ARG DEBIAN_FRONTEND=noninteractive
# hadolint ignore=DL3008
RUN set -ex; \
\
apt-get update; \
apt-get install -y --no-install-recommends \
netcat-openbsd \
; \
rm -rf /var/lib/apt/lists/*;
COPY --chmod=775 healthcheck.sh /healthcheck.sh
USER 1001
HEALTHCHECK --start-period=60s --retries=9 CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false"
LABEL com.centurylinklabs.watchtower.enable="false" \
org.label-schema.vendor="Nextcloud"

View File

@@ -1,3 +1,7 @@
#!/bin/bash
nc -z 127.0.0.1 9980 || exit 1
# Unfortunately, no curl and no nc is installed in the container
# and packages can also not be added as the package list is broken.
# So always exiting 0 for now.
# nc http://127.0.0.1:9980 || exit 1
exit 0

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM haproxy:3.1.7-alpine
FROM haproxy:3.2.1-alpine
# hadolint ignore=DL3002
USER root
@@ -18,4 +18,5 @@ COPY --chmod=664 haproxy.cfg /haproxy.cfg
ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false"
LABEL com.centurylinklabs.watchtower.enable="false" \
org.label-schema.vendor="Nextcloud"

View File

@@ -17,4 +17,5 @@ USER www-data
ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD nc -z 127.0.0.1 $APACHE_PORT || exit 1
LABEL com.centurylinklabs.watchtower.enable="false"
LABEL com.centurylinklabs.watchtower.enable="false" \
org.label-schema.vendor="Nextcloud"

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# Probably from here https://github.com/elastic/elasticsearch/blob/main/distribution/docker/src/docker/Dockerfile
FROM elasticsearch:8.18.0
FROM elasticsearch:8.18.2
USER root
@@ -21,5 +21,6 @@ COPY --chmod=775 healthcheck.sh /healthcheck.sh
USER 1000:0
HEALTHCHECK --interval=10s --timeout=5s --start-period=1m --retries=5 CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false"
LABEL com.centurylinklabs.watchtower.enable="false" \
org.label-schema.vendor="Nextcloud"
ENV ES_JAVA_OPTS="-Xms512M -Xmx512M"

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM golang:1.24.2-alpine3.21 AS go
FROM golang:1.24.4-alpine3.21 AS go
ENV IMAGINARY_HASH=1d4e251cfcd58ea66f8361f8721d7b8cc85002a3
@@ -42,4 +42,5 @@ ENV MALLOC_ARENA_MAX=2
ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false"
LABEL com.centurylinklabs.watchtower.enable="false" \
org.label-schema.vendor="Nextcloud"

View File

@@ -1,12 +1,15 @@
# syntax=docker/dockerfile:latest
# Docker CLI is a requirement
FROM docker:28.1.1-cli AS docker
FROM docker:28.3.0-cli AS docker
# Caddy is a requirement
FROM caddy:2.10.0-alpine AS caddy
# From https://github.com/docker-library/php/blob/master/8.4/alpine3.21/fpm/Dockerfile
FROM php:8.4.6-fpm-alpine3.21
FROM php:8.4.8-fpm-alpine3.21
ARG AIO_GIT_URL="https://github.com/nextcloud-releases/all-in-one.git"
ARG AIO_GIT_BRANCH="main"
EXPOSE 80
EXPOSE 8080
@@ -64,7 +67,7 @@ RUN set -ex; \
wget https://getcomposer.org/installer -O - | php -- --install-dir=/usr/local/bin --filename=composer; \
chmod +x /usr/local/bin/composer; \
cd /var/www/docker-aio; \
git clone https://github.com/nextcloud-releases/all-in-one.git --depth 1 .; \
git clone "$AIO_GIT_URL" --depth 1 --single-branch --branch "$AIO_GIT_BRANCH" .; \
find ./ -maxdepth 1 -mindepth 1 -not -path ./php -not -path ./community-containers -exec rm -r {} \; ; \
rm -r ./php/tests; \
chown www-data:www-data -R /var/www/docker-aio; \
@@ -122,6 +125,8 @@ COPY --chmod=664 Caddyfile /Caddyfile
COPY --chmod=664 supervisord.conf /supervisord.conf
COPY mastercontainer.conf /etc/apache2/sites-available/mastercontainer.conf
LABEL org.label-schema.vendor="Nextcloud"
# hadolint ignore=DL3002
USER root

View File

@@ -2,6 +2,13 @@
echo "Daily backup script has started"
# Check if initial configuration has been done, otherwise this script should do nothing.
CONFIG_FILE=/mnt/docker-aio-config/data/configuration.json
if ! [ -f "$CONFIG_FILE" ] || ! grep -q "wasStartButtonClicked.*1" "$CONFIG_FILE"; then
echo "Initial configuration via AIO interface not done yet. Exiting..."
exit 0
fi
# Daily backup and backup check cannot be run at the same time
if [ "$DAILY_BACKUP" = 1 ] && [ "$CHECK_BACKUP" = 1 ]; then
echo "Daily backup and backup check cannot be run at the same time. Exiting..."

View File

@@ -258,18 +258,8 @@ It is set to '$NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS'."
fi
fi
if [ -n "$AIO_COMMUNITY_CONTAINERS" ]; then
read -ra AIO_CCONTAINERS <<< "$AIO_COMMUNITY_CONTAINERS"
for container in "${AIO_CCONTAINERS[@]}"; do
if ! [ -d "/var/www/docker-aio/community-containers/$container" ]; then
print_red "The community container $container was not found!"
FAIL_CCONTAINERS=1
fi
done
if [ -n "$FAIL_CCONTAINERS" ]; then
print_red "You've set AIO_COMMUNITY_CONTAINERS but at least one container was not found.
It is set to '$AIO_COMMUNITY_CONTAINERS'."
exit 1
fi
print_red "You've set AIO_COMMUNITY_CONTAINERS but the option was removed.
The community containers get managed via the AIO interface now."
fi
# Check if ghcr.io is reachable
@@ -376,4 +366,4 @@ caddy fmt --overwrite /Caddyfile
chmod 777 /root
# Start supervisord
/usr/bin/supervisord -c /supervisord.conf
exec /usr/bin/supervisord -c /supervisord.conf

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM php:8.3.20-fpm-alpine3.21
FROM php:8.3.22-fpm-alpine3.21
ENV PHP_MEMORY_LIMIT=512M
ENV PHP_UPLOAD_LIMIT=16G
@@ -8,7 +8,7 @@ ENV SOURCE_LOCATION=/usr/src/nextcloud
ENV REDIS_DB_INDEX=0
# AIO settings start # Do not remove or change this line!
ENV NEXTCLOUD_VERSION=30.0.10
ENV NEXTCLOUD_VERSION=31.0.6
ENV AIO_TOKEN=123456
ENV AIO_URL=localhost
# AIO settings end # Do not remove or change this line!
@@ -118,7 +118,10 @@ RUN set -ex; \
echo 'opcache.jit_buffer_size=8M'; \
} > /usr/local/etc/php/conf.d/opcache-recommended.ini; \
\
echo 'apc.enable_cli=1' >> /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini; \
{ \
echo 'apc.enable_cli=1'; \
echo 'apc.shm_size=64M'; \
} >> /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini; \
\
{ \
echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \
@@ -209,8 +212,8 @@ RUN set -ex; \
/var/log/supervisord \
/var/run/supervisord \
; \
chown www-data:root -R /var/log/supervisord; \
chown www-data:root -R /var/run/supervisord; \
chmod 777 -R /var/log/supervisord; \
chmod 777 -R /var/run/supervisord; \
\
apk add --no-cache \
bash \
@@ -250,14 +253,12 @@ RUN set -ex; \
# AIO cloning end # Do not remove or change this line!
\
chown www-data:root -R /usr/src && \
chown www-data:root -R /usr/local/etc/php/conf.d && \
chown www-data:root -R /usr/local/etc/php-fpm.d && \
chmod 777 -R /usr/local/etc/php/conf.d && \
chmod 777 -R /usr/local/etc/php-fpm.d && \
chmod -R 777 /tmp; \
rm -rf /usr/src/nextcloud/apps/updatenotification; \
\
mkdir -p /nc-updater; \
chown -R www-data:www-data /nc-updater; \
chmod -R 770 /nc-updater
chmod -R 777 /nc-updater
# hadolint ignore=DL3002
USER root
@@ -265,4 +266,5 @@ ENTRYPOINT ["/start.sh"]
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false"
LABEL com.centurylinklabs.watchtower.enable="false" \
org.label-schema.vendor="Nextcloud"

View File

@@ -105,20 +105,6 @@ if ! [ -f "$NEXTCLOUD_DATA_DIR/skip.update" ]; then
# Write output to logfile.
exec > >(tee -i "/var/www/html/data/update.log")
exec 2>&1
# Run built-in upgrader if version is below 28.0.2 to upgrade to 28.0.x first
touch "$NEXTCLOUD_DATA_DIR/update.failed"
if ! version_greater "$installed_version" "28.0.1.20"; then
php /var/www/html/updater/updater.phar --no-interaction --no-backup
if ! php /var/www/html/occ upgrade || php /var/www/html/occ status | grep maintenance | grep -q 'true'; then
echo "Upgrade failed. Please restore from backup."
bash /notify.sh "Nextcloud update to $image_version failed!" "Please restore from backup!"
exit 1
fi
rm "$NEXTCLOUD_DATA_DIR/update.failed"
# shellcheck disable=SC2016
installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')"
INSTALLED_MAJOR="${installed_version%%.*}"
fi
fi
if [ "$installed_version" != "0.0.0.0" ] && [ "$((IMAGE_MAJOR - INSTALLED_MAJOR))" -gt 1 ]; then
@@ -158,13 +144,14 @@ if ! [ -f "$NEXTCLOUD_DATA_DIR/skip.update" ]; then
# Check connection to appstore start # Do not remove or change this line!
while true; do
echo -e "Checking connection to appstore"
APPSTORE_URL="https://apps.nextcloud.com/"
APPSTORE_URL="https://apps.nextcloud.com/api/v1"
if grep -q appstoreurl /var/www/html/config/config.php; then
set -x
APPSTORE_URL="$(grep appstoreurl /var/www/html/config/config.php | grep -oP 'https://.*v[0-9]+')"
set +x
fi
CURL_STATUS="$(curl -LI "$APPSTORE_URL" -o /dev/null -w '%{http_code}\n' -s)"
# Default appstoreurl parameter in config.php defaults to 'https://apps.nextcloud.com/api/v1' so we check for the apps.json file stored in there
CURL_STATUS="$(curl -LI "$APPSTORE_URL"/apps.json -o /dev/null -w '%{http_code}\n' -s)"
if [[ "$CURL_STATUS" = "200" ]]
then
echo "Appstore is reachable"
@@ -206,14 +193,6 @@ if ! [ -f "$NEXTCLOUD_DATA_DIR/skip.update" ]; then
php /var/www/html/occ app:update --all
run_upgrade_if_needed_due_to_app_update
# Fix removing the updatenotification for old instances
UPDATENOTIFICATION_STATUS="$(php /var/www/html/occ config:app:get updatenotification enabled)"
if [ -d "/var/www/html/apps/updatenotification" ]; then
php /var/www/html/occ app:disable updatenotification
elif [ "$UPDATENOTIFICATION_STATUS" != "no" ] && [ -n "$UPDATENOTIFICATION_STATUS" ]; then
php /var/www/html/occ config:app:set updatenotification enabled --value="no"
fi
fi
echo "Initializing nextcloud $image_version ..."
@@ -290,6 +269,10 @@ DATADIR_PERMISSION_CONF
# unset admin password
unset ADMIN_PASSWORD
# Enable the updatenotification app but disable its UI and server update notifications
php /var/www/html/occ config:system:set updatechecker --type=bool --value=false
php /var/www/html/occ config:app:set updatenotification notify_groups --value="[]"
# AIO update to latest start # Do not remove or change this line!
if [ "$INSTALL_LATEST_MAJOR" = yes ]; then
php /var/www/html/occ config:system:set updatedirectory --value="/nc-updater"
@@ -320,8 +303,7 @@ DATADIR_PERMISSION_CONF
# shellcheck disable=SC2016
installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')"
fi
php /var/www/html/occ app:disable updatenotification
rm -rf /var/www/html/apps/updatenotification
php /var/www/html/occ config:system:set updatechecker --type=bool --value=true
php /var/www/html/occ app:enable nextcloud-aio --force
php /var/www/html/occ db:add-missing-columns
php /var/www/html/occ db:add-missing-primary-keys
@@ -367,8 +349,6 @@ DATADIR_PERMISSION_CONF
php /var/www/html/occ config:system:set activity_expire_days --value="30" --type=integer
php /var/www/html/occ config:system:set simpleSignUpLink.shown --type=bool --value=false
php /var/www/html/occ config:system:set share_folder --value="/Shared"
# Not needed anymore with the removal of the updatenotification app:
# php /var/www/html/occ config:app:set updatenotification notify_groups --value="[]"
# Install some apps by default
if [ -n "$STARTUP_APPS" ]; then
@@ -447,6 +427,11 @@ DATADIR_PERMISSION_CONF
run_upgrade_if_needed_due_to_app_update
# Enable the updatenotification app but disable its UI and server update notifications
php /var/www/html/occ config:system:set updatechecker --type=bool --value=false
php /var/www/html/occ app:enable updatenotification
php /var/www/html/occ config:app:set updatenotification notify_groups --value="[]"
# Apply optimization
echo "Doing some optimizations..."
if [ "$NEXTCLOUD_SKIP_DATABASE_OPTIMIZATION" != yes ]; then
@@ -691,7 +676,12 @@ fi
# OnlyOffice
if [ "$ONLYOFFICE_ENABLED" = 'yes' ]; then
while ! nc -z "$ONLYOFFICE_HOST" 80; do
if echo "$ONLYOFFICE_HOST" | grep -q "nextcloud-.*-onlyoffice"; then
ONLYOFFICE_PORT=80
else
ONLYOFFICE_PORT=443
fi
while ! nc -z "$ONLYOFFICE_HOST" "$ONLYOFFICE_PORT"; do
echo "waiting for OnlyOffice to become available..."
sleep 5
done
@@ -705,7 +695,11 @@ if [ "$ONLYOFFICE_ENABLED" = 'yes' ]; then
php /var/www/html/occ config:system:set onlyoffice jwt_secret --value="$ONLYOFFICE_SECRET"
php /var/www/html/occ config:app:set onlyoffice jwt_secret --value="$ONLYOFFICE_SECRET"
php /var/www/html/occ config:system:set onlyoffice jwt_header --value="AuthorizationJwt"
php /var/www/html/occ config:app:set onlyoffice DocumentServerUrl --value="https://$NC_DOMAIN/onlyoffice"
if echo "$ONLYOFFICE_HOST" | grep -q "nextcloud-.*-onlyoffice"; then
ONLYOFFICE_HOST="$NC_DOMAIN/onlyoffice"
export ONLYOFFICE_HOST
fi
php /var/www/html/occ config:app:set onlyoffice DocumentServerUrl --value="https://$ONLYOFFICE_HOST"
else
if [ "$REMOVE_DISABLED_APPS" = yes ] && [ -d "/var/www/html/custom_apps/onlyoffice" ] && [ -n "$ONLYOFFICE_SECRET" ] && [ "$(php /var/www/html/occ config:system:get onlyoffice jwt_secret)" = "$ONLYOFFICE_SECRET" ]; then
php /var/www/html/occ app:remove onlyoffice

View File

@@ -26,4 +26,11 @@ else
fi
fi
sleep inf
signal_handler() {
exit 0
}
trap signal_handler SIGINT SIGTERM
sleep inf &
wait $!

View File

@@ -21,4 +21,5 @@ USER 33
ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false"
LABEL com.centurylinklabs.watchtower.enable="false" \
org.label-schema.vendor="Nextcloud"

View File

@@ -7,4 +7,5 @@ FROM onlyoffice/documentserver:8.3.3.1
COPY --chmod=775 healthcheck.sh /healthcheck.sh
HEALTHCHECK --start-period=60s --retries=9 CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false"
LABEL com.centurylinklabs.watchtower.enable="false" \
org.label-schema.vendor="Nextcloud"

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# From https://github.com/docker-library/postgres/blob/master/16/alpine3.21/Dockerfile
FROM postgres:16.8-alpine
# From https://github.com/docker-library/postgres/blob/master/17/alpine3.21/Dockerfile
FROM postgres:17.5-alpine
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh
@@ -43,4 +43,5 @@ USER 999
ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false"
LABEL com.centurylinklabs.watchtower.enable="false" \
org.label-schema.vendor="Nextcloud"

View File

@@ -99,7 +99,7 @@ if ( [ -f "$DATADIR/PG_VERSION" ] && [ "$PG_MAJOR" != "$(cat "$DATADIR/PG_VERSIO
fi
# Get the Owner
DB_OWNER="$(grep -a "$GREP_STRING" "$DUMP_FILE" | head -1 | grep -oP 'Owner:.*$' | sed 's|Owner:||;s| ||g')"
DB_OWNER="$(grep -a "$GREP_STRING" "$DUMP_FILE" | head -1 | grep -oP 'Owner:.*$' | sed 's|Owner:||;s|[[:space:]]||g')"
if [ "$DB_OWNER" = "$POSTGRES_USER" ]; then
echo "Unfortunately was the found database owner of the dump file the same as the POSTGRES_USER $POSTGRES_USER"
echo "It is not possible to import a database dump from this database owner."

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# From https://github.com/docker-library/redis/blob/master/7.2/alpine/Dockerfile
FROM redis:7.2.8-alpine
FROM redis:7.2.9-alpine
COPY --chmod=775 start.sh /start.sh
@@ -20,4 +20,5 @@ USER 999
ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false"
LABEL com.centurylinklabs.watchtower.enable="false" \
org.label-schema.vendor="Nextcloud"

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM python:3.13.3-alpine3.21
FROM python:3.13.5-alpine3.21
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh
@@ -57,4 +57,5 @@ ENTRYPOINT ["/start.sh"]
CMD ["python", "-m", "nextcloud.talk.recording", "--config", "/conf/recording.conf"]
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false"
LABEL com.centurylinklabs.watchtower.enable="false" \
org.label-schema.vendor="Nextcloud"

View File

@@ -1,7 +1,7 @@
# syntax=docker/dockerfile:latest
FROM nats:2.11.3-scratch AS nats
FROM nats:2.11.5-scratch AS nats
FROM eturnal/eturnal:1.12.1 AS eturnal
FROM strukturag/nextcloud-spreed-signaling:2.0.2 AS signaling
FROM strukturag/nextcloud-spreed-signaling:2.0.3 AS signaling
FROM alpine:3.21.3 AS janus
ARG JANUS_VERSION=v1.3.1
@@ -105,4 +105,5 @@ ENTRYPOINT ["/start.sh"]
CMD ["supervisord", "-c", "/supervisord.conf"]
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false"
LABEL com.centurylinklabs.watchtower.enable="false" \
org.label-schema.vendor="Nextcloud"

View File

@@ -1,11 +1,5 @@
# syntax=docker/dockerfile:latest
FROM golang:1.24.2-alpine3.21 AS go
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache \
build-base; \
go install github.com/containrrr/watchtower@76f9cea516593fabb8ca91ff13de55caa6aa0a8b;
FROM ghcr.io/nicholas-fedor/watchtower:1.11.3 AS watchtower
FROM alpine:3.21.3
@@ -13,7 +7,7 @@ RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache bash ca-certificates tzdata
COPY --from=go /go/bin/watchtower /watchtower
COPY --from=watchtower /watchtower /watchtower
COPY --chmod=775 start.sh /start.sh
@@ -21,4 +15,5 @@ COPY --chmod=775 start.sh /start.sh
USER root
ENTRYPOINT ["/start.sh"]
LABEL com.centurylinklabs.watchtower.enable="false"
LABEL com.centurylinklabs.watchtower.enable="false" \
org.label-schema.vendor="Nextcloud"

View File

@@ -9,6 +9,13 @@ elif ! test -r /var/run/docker.sock; then
exit 1
fi
if [ -f /run/.containerenv ]; then
# If running under podman disable memory_swappiness setting in watchtower.
# It is a necessary workaround until https://github.com/containers/podman/issues/23824 gets fixed.
echo "Running under Podman. Setting WATCHTOWER_DISABLE_MEMORY_SWAPPINESS to 1."
export WATCHTOWER_DISABLE_MEMORY_SWAPPINESS=1
fi
if [ -n "$CONTAINER_TO_UPDATE" ]; then
exec /watchtower --cleanup --debug --run-once "$CONTAINER_TO_UPDATE"
else

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# Probably from this file: https://github.com/nextcloud/whiteboard/blob/main/Dockerfile
FROM ghcr.io/nextcloud-releases/whiteboard:v1.0.5
FROM ghcr.io/nextcloud-releases/whiteboard:v1.1.2
USER root
RUN set -ex; \
@@ -18,4 +18,5 @@ WORKDIR /tmp
ENTRYPOINT ["/start.sh"]
LABEL com.centurylinklabs.watchtower.enable="false"
LABEL com.centurylinklabs.watchtower.enable="false" \
org.label-schema.vendor="Nextcloud"

View File

@@ -5,7 +5,7 @@
<name>Nextcloud All-in-One</name>
<summary>Provides a login link for admins.</summary>
<description>Add a link to the admin settings that gives access to the Nextcloud All-in-One admin interface</description>
<version>0.7.0</version>
<version>0.8.0</version>
<licence>agpl</licence>
<author>Azul</author>
<namespace>AllInOne</namespace>
@@ -13,20 +13,11 @@
<category>monitoring</category>
<bugs>https://github.com/nextcloud/all-in-one/issues</bugs>
<dependencies>
<nextcloud min-version="29" max-version="30"/>
<nextcloud min-version="30" max-version="31"/>
</dependencies>
<settings>
<admin>OCA\AllInOne\Settings\Admin</admin>
</settings>
<!-- not implemented yet - but might be useful:
<background-jobs>
<job>OCA\AllInOne\Notification\BackgroundJob</job>
</background-jobs>
<commands>
<command>OCA\UpdateNotification\Command\Check</command>
</commands>
-->
</info>

View File

@@ -10,7 +10,7 @@ declare(strict_types=1);
*/
/** @var array $_ */ ?>
<div id="allinone" class="section">
<h2><?php p($l->t('Nextcloud All-in-One'));?></h2>
<h2><?php p($l->t('Nextcloud All-in-One'));?></h2><br/>
<a href="<?php p($_['AIOLoginUrl']);?>" class="button" target="_blank">Open Nextcloud AIO Interface ↗</a><br><br>
<p><a href="https://github.com/nextcloud/all-in-one#how-to-easily-log-in-to-the-aio-interface">Click here for more infos on this feature (e.g. also on how to change the link in the button)</a></p>
</div>

View File

@@ -11,7 +11,7 @@ This container bundles caddy and auto-configures it for you. It also covers [vau
- If you want to use this with [nocodb](https://github.com/nextcloud/all-in-one/tree/main/community-containers/nocodb), make sure that you point `tables.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for nocodb.
- If you want to use this with [jellyseerr](https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyseerr), make sure that you point `requests.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for jellyseerr.
- After the container was started the first time, you should see a new `nextcloud-aio-caddy` folder and inside there an `allowed-countries.txt` file when you open the files app with the default `admin` user. In there you can adjust the allowed country codes for caddy by adding them to the first line, e.g. `IT FR` would allow access from italy and france. Private ip-ranges are always allowed. Additionally, in order to activate this config, you need to get an account at https://dev.maxmind.com/geoip/geolite2-free-geolocation-data and download the `GeoLite2-Country.mmdb` and upload it with this exact name into the `nextcloud-aio-caddy` folder. Afterwards restart all containers from the AIO interface and your new config should be active!
- You can add your own Caddy configurations in `/data/caddy-imports/` inside the Caddy container (`sudo docker exec -it nextcloud-aio-caddy bash`). These will be imported on container startup.
- You can add your own Caddy configurations in `/data/caddy-imports/` inside the Caddy container (`sudo docker exec -it nextcloud-aio-caddy bash`). These will be imported on container startup. **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository

View File

@@ -0,0 +1,41 @@
{
"aio_services_v1": [
{
"container_name": "nextcloud-aio-container-management",
"display_name": "Container Management",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management",
"image": "ghcr.io/szaimen/aio-container-management",
"image_tag": "v1",
"internal_port": "5804",
"restart": "unless-stopped",
"ports": [
{
"ip_binding": "",
"port_number": "5804",
"protocol": "tcp"
}
],
"volumes": [
{
"source": "%WATCHTOWER_DOCKER_SOCKET_PATH%",
"destination": "/var/run/docker.sock",
"writeable": false
}
],
"environment": [
"TZ=%TIMEZONE%",
"SECURE_CONNECTION=1",
"WEB_AUTHENTICATION=1",
"USER_ID=0",
"GROUP_ID=0",
"WEB_AUTHENTICATION_USERNAME=container-management",
"WEB_AUTHENTICATION_PASSWORD=%CONTAINER_MANAGEMENT_PASSWORD%",
"WEB_LISTENING_PORT=5804"
],
"secrets": [
"CONTAINER_MANAGEMENT_PASSWORD"
],
"ui_secret": "CONTAINER_MANAGEMENT_PASSWORD"
}
]
}

View File

@@ -0,0 +1,15 @@
## Container-Management
This container allows to manage insides of other containers via a GUI inside a Web session by allowing to run docker commands from inside this container.
### Notes
- After adding and starting the container, you need to visit `https://ip.address.of.this.server:5804` in order to log in with the user `container-management` and the password that you can see next to the container in the AIO interface. (The web page uses a self-signed certificate, so you need to accept the warning).
- Then, you should see a terminal. There you can use any docker command. ⚠️ Be very carefully while doing that as can break your instance!
- There are also some pre-made scripts that make configuring some of the community containers easier. For example scripts for [LLDAP](https://github.com/nextcloud/all-in-one/tree/main/community-containers/lldap) and [Facerecognition](https://github.com/nextcloud/all-in-one/tree/main/community-containers/facerecognition).
- ⚠️ After you are done doing your operations, remove the container for better security again from the stack: https://github.com/nextcloud/all-in-one/tree/main/community-containers#how-to-remove-containers-from-aios-stack
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository
https://github.com/szaimen/aio-container-management
### Maintainer
https://github.com/szaimen

View File

@@ -4,7 +4,8 @@ This container bundles the external model of facerecognition and auto-configures
### Notes
- This container needs imaginary in order to analyze modern file format images. Make sure to enable imaginary in the AIO interface before adding this container.
- The image analysis is currently set to fixed value of `1G`. See [this](https://github.com/search?q=repo%3Anextcloud%2Fall-in-one+1G+path%3A%2F%5Ecommunity-containers%5C%2Ffacerecognition%5C%2F%2F&type=code)
- Facerecognition is by default disabled for all users, if you want to enable facerecognition for all users, you can run the following before adding this container:
- Facerecognition is by default disabled for all users. If you want to enable facerecognition for all users, you can run the following commands before adding this container:<br>
**Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management. This script below can be run from inside the container-management container via `bash /facerecognition.sh`.
```bash
# Go into the container
sudo docker exec --user www-data -it nextcloud-aio-nextcloud bash
@@ -22,7 +23,8 @@ This container bundles the external model of facerecognition and auto-configures
# Exit the container shell
exit
```
- If facerecognition shall analyze shared files & folders (`sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set facerecognition handle_shared_files --value true`), groupfolders (`sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set facerecognition handle_group_files --value true`) and/or external storages (`sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set facerecognition handle_external_files --value true`) in Nextcloud, you need to enable support for it manually first by running the mentioned commands before adding this container. See https://github.com/matiasdelellis/facerecognition/wiki/Settings#hidden-settings for further notes on each of these settings.
- If facerecognition shall analyze shared files & folders (`sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set facerecognition handle_shared_files --value true`), groupfolders (`sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set facerecognition handle_group_files --value true`) and/or external storages (`sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set facerecognition handle_external_files --value true`) in Nextcloud, you need to enable support for it manually first by running the mentioned commands before adding this container. See https://github.com/matiasdelellis/facerecognition/wiki/Settings#hidden-settings for further notes on each of these settings.<br>
**Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository

View File

@@ -4,7 +4,7 @@ This container bundles fail2ban and auto-configures it for you in order to block
### Notes
- If you get an error like `"ip6tables v1.8.9 (legacy): can't initialize ip6tables table filter': Table does not exist (do you need to insmod?)"`, you need to enable ip6tables on your host via `sudo modprobe ip6table_filter`.
- If you get an error like `stderr: 'iptables: No chain/target/match by that name.'` and `stderr: 'ip6tables: No chain/target/match by that name.'`, you need to follow https://github.com/szaimen/aio-fail2ban/issues/9#issuecomment-2026898790 in order to resolve this.
- You can unban ip addresses like so for example: `docker exec -it nextcloud-aio-fail2ban fail2ban-client set nextcloud unbanip 203.113.167.162`.
- You can unban ip addresses like so for example: `docker exec -it nextcloud-aio-fail2ban fail2ban-client set nextcloud unbanip 203.113.167.162`. **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository

View File

@@ -23,7 +23,8 @@ First, you need to retrieve the LLDAP admin password, this will be used later on
sudo docker inspect nextcloud-aio-lldap | grep LLDAP_LDAP_USER_PASS
```
Now go into the Nextcloud container:
Now go into the Nextcloud container:<br>
**Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management. This script below can be run from inside the container-management container via `bash /lldap.sh`.
```bash
sudo docker exec --user www-data -it nextcloud-aio-nextcloud bash
```

View File

@@ -8,7 +8,7 @@ This container contains a fork of the Nginx Proxy Manager, which is a WebUI for
- After the container was started the first time, please check the logs for errors. Then you can open NPMplus on `https://<ip>:81` and change the password.
- The default password is `iArhP1j7p1P6TA92FA2FMbbUGYqwcYzxC4AVEe12Wbi94FY9gNN62aKyF1shrvG4NycjjX9KfmDQiwkLZH1ZDR9xMjiG2QmoHXi` and the default email is `admin@example.org`
- If you want to use NPMplus behind a domain and outside localhost just create a new proxy host inside the NPMplus which proxies to `https`, `127.0.0.1` and port `81` - all other settings should be the same as for the AIO host.
- If you want to set env options from this [compose.yaml](https://github.com/ZoeyVid/NPMplus/blob/develop/compose.yaml), please set them inside the `.env` file which you can find in the `nextcloud_aio_npmplus` volume
- If you want to set env options from this [compose.yaml](https://github.com/ZoeyVid/NPMplus/blob/develop/compose.yaml), please set them inside the `.env` file which you can find in the `nextcloud_aio_npmplus` volume **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
- The data (certs, configs, etc.) of NPMplus will be automatically included in AIOs backup solution!
- **Important:** you always need to enable https for your hosts, since `DISABLE_HTTP` is set to true by default
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack

View File

@@ -5,9 +5,8 @@ This directory features containers that are built for AIO which allows to add ad
All containers that are in this directory are community maintained so the responsibility is on the community to keep them updated and secure. There is no guarantee that this will be the case in the future.
## How to use this?
Before adding any additional container, make sure to create a backup via the AIO interface!
Afterwards, you might want to add additional community containers to the default AIO stack. You can do so by adding `--env AIO_COMMUNITY_CONTAINERS="container1 container2"` to the docker run command of the mastercontainer (but before the last line `ghcr.io/nextcloud-releases/all-in-one:latest`! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) and customize the value to your fitting. It must match the folder names in this directory! ⚠️⚠️⚠️ Please review the folder for documentation on each of the containers before adding them! Not reviewing the documentation for each of them first might break starting the AIO containers because e.g. fail2ban only works on Linux and not on Docker Desktop! **Hint:** If the containers where running already, in order to actually start the added container, you need to click on `Stop containers` and the `Update and start containers` in order to actually start it.
Starting with v11 of AIO, the management of Community Containers is done via the AIO interface (it is the last section in the AIO interface, so only visible if you scroll down).
⚠️⚠️⚠️ Please review the folder for documentation on each of the containers before adding them! Not reviewing the documentation for each of them first might break starting the AIO containers because e.g. fail2ban only works on Linux and not on Docker Desktop! **Hint:** If the containers where running already, in order to actually start the added container, you need to click on `Stop containers` and the `Update and start containers` in order to actually start it.
## How to add containers?
Simply submit a PR by creating a new folder in this directory: https://github.com/nextcloud/all-in-one/tree/main/community-containers with the name of your container. It must include a json file with the same name and with correct syntax and a readme.md with additional information. You might get inspired by caddy, fail2ban, local-ai, libretranslate, plex, pi-hole or vaultwarden (subfolders in this directory). For a full-blown example of the json file, see https://github.com/nextcloud/all-in-one/blob/main/php/containers.json. The json-schema that it validates against can be found here: https://github.com/nextcloud/all-in-one/blob/main/php/containers-schema.json.
@@ -16,8 +15,6 @@ Simply submit a PR by creating a new folder in this directory: https://github.co
Yes, see [this list](https://github.com/nextcloud/all-in-one/issues/5251) for already existing ideas for new community containers. Feel free to pick one up and add it to this folder by following the instructions above.
## How to remove containers from AIOs stack?
In some cases, you might want to remove some community containers from the AIO stack again. Here is how to do this.
You can remove containers now via the web interface.
First, do a backup from the AIO interface in order to save the current state. Do not start the containers again afterwards! Now simply recreate the mastercontainer and remove any container from the `--env AIO_COMMUNITY_CONTAINERS="container1 container2"` that you do not actually need. If you want to remove all, simply use `--env AIO_COMMUNITY_CONTAINERS=" "`.
After removing the containers, there might be some data left on your server that you might want to remove. You can get rid of the data by first running `sudo docker rm nextcloud-aio-container1`, (adjust `container1` accordingly) per community-container that you removed. Then run `sudo docker image prune -a` in order to remove all images that are not used anymore. As last step you can get rid of persistent data of these containers that is stored in volumes. You can check if there is some by running `sudo docker volume ls` and look for any volume that matches the ones that you removed. If so, you can remove them with `sudo docker volume rm nextcloud_aio_volume-id` (of course you need to adjust the `volume-id`).
After removing the containers, there might be some data left on your server that you might want to remove. You can get rid of the data by first running `sudo docker rm nextcloud-aio-container1`, (adjust `container1` accordingly) per community-container that you removed. Then run `sudo docker image prune -a` in order to remove all images that are not used anymore. As last step you can get rid of persistent data of these containers that is stored in volumes. You can check if there is some by running `sudo docker volume ls` and look for any volume that matches the ones that you removed. If so, you can remove them with `sudo docker volume rm nextcloud_aio_volume-id` (of course you need to adjust the `volume-id`). **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management

View File

@@ -14,7 +14,6 @@ services:
- 8443:8443 # Can be removed when running behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# environment: # Is needed when using any of the options below
# AIO_DISABLE_BACKUP_SECTION: false # Setting this to true allows to hide the backup section in the AIO interface. See https://github.com/nextcloud/all-in-one#how-to-disable-the-backup-section
# AIO_COMMUNITY_CONTAINERS: # With this variable, you can add community containers very easily. See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers
# APACHE_PORT: 11000 # Is needed when running behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# APACHE_IP_BINDING: 127.0.0.1 # Should be set when running behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else) that is running on the same host. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# APACHE_ADDITIONAL_NETWORK: frontend_net # (Optional) Connect the apache container to an additional docker network. Needed when behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else) running in a different docker network on same server. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md

View File

@@ -41,8 +41,19 @@ This is documented here: https://github.com/nextcloud-releases/all-in-one/tree/m
## How to promote builds from beta to latest
1. Verify that GitHub Services are running correctly: https://www.githubstatus.com/
1. Verify that no job is running here: https://github.com/nextcloud-releases/all-in-one/actions/workflows/promote-to-beta.yml
2. Go to https://github.com/nextcloud-releases/all-in-one/actions/workflows/promote-to-latest.yml, click on `Run workflow`.
1. Go to https://github.com/nextcloud-releases/all-in-one/actions/workflows/promote-to-latest.yml, click on `Run workflow`.
## How to connect to the database?
Simply run `sudo docker exec -it nextcloud-aio-database psql -U oc_nextcloud nextcloud_database` and you should be in.
## How to locally build and test changes to mastercontainer?
1. Push changes to your own git fork and branch.
1. Use below commands to build mastercontainer image for a custom git url and branch:
```
cd Containers/mastercontainer
docker buildx build -t ghcr.io/nextcloud-releases/all-in-one:latest --build-arg AIO_GIT_URL="https://github.com/my-fork-repo/all-in-one.git" --build-arg AIO_GIT_BRANCH="my-feature-branch" --load .
```
1. Start a container with above built image.
1. Since the hash of a locally built image doesn't match the latest release mastercontainer, it prompts for a mandatory update. To temporarily bypass the update suffix `?bypass_mastercontainer_update` to the URL. Eg: `https://localhost:8080/containers?bypass_mastercontainer_update`

View File

@@ -4,19 +4,23 @@
First of all upgrade your docker installation to v27.0.1 or higher.
1. Then edit `/etc/docker/daemon.json` (or `~/.config/docker/daemon.json` in case of docker-rootless), add the below json:
```json
{
"default-network-opts": {"bridge":{"com.docker.network.enable_ipv6":"true"}}
}
```
> [!WARNING]
> This will enable ipv6 for all new docker networks by default! You can alternatively create the `nextcloud-aio` network with ipv6 support by hand manually via docker network create or via compose.yaml.
Save the file.
```json
{
"default-network-opts": {"bridge":{"com.docker.network.enable_ipv6":"true"}}
}
```
And save the file.
2. Reload the Docker configuration file.
```console
sudo systemctl restart docker
```
```console
sudo systemctl restart docker
```
3. Make sure that ipv6 is enabled for the internal `nextcloud-aio` network by running `sudo docker network inspect nextcloud-aio | grep EnableIPv6`. On a new instance, this command should return that it did not find a network with this name. Then you can run `sudo docker network create nextcloud-aio` in order to create the network with ipv6-support. However if it finds the network and its value `EnableIPv6` is set to false, make sure to follow https://github.com/nextcloud/all-in-one/discussions/4989 in order to recreate the network and enable ipv6 for it.
## Docker Desktop (Windows and macOS)
@@ -25,9 +29,12 @@ Then, on Windows and macOS which use Docker Desktop, you need to go into the set
1. You need to now adjust this json file:
```
"default-network-opts": {"bridge":{"com.docker.network.enable_ipv6":"true"}}
```
> [!WARNING]
> This will enable ipv6 for all new docker networks by default! You can alternatively create the `nextcloud-aio` network with ipv6 support by hand manually via docker network create or via compose.yaml.
```json
"default-network-opts": {"bridge":{"com.docker.network.enable_ipv6":"true"}}
```
2. Add these values to the json and make sure to keep the other currently values and that you don't see `Unexpected token in JSON at position ...` before attempting to restart by clicking on `Apply & restart`.
3. Make sure that ipv6 is enabled for the internal `nextcloud-aio` network by running `sudo docker network inspect nextcloud-aio | grep EnableIPv6`. On a new instance, this command should return that it did not find a network with this name. Then you can run `sudo docker network create nextcloud-aio` in order to create the network with ipv6-support. However if it finds the network and its value `EnableIPv6` is set to false, make sure to follow https://github.com/nextcloud/all-in-one/discussions/4989 in order to recreate the network and enable ipv6 for it.

View File

@@ -264,6 +264,7 @@ services:
cap_add:
- MKNOD
- SYS_ADMIN
- CHOWN
cap_drop:
- NET_RAW

View File

@@ -57,9 +57,9 @@ The procedure for migrating the files and the database works like this:
```
**Please note:** The exact name of the database export file is important! (`database-dump.sql`)<br>
And of course you need to to use the correct name that the Postgresql database has for the export (if `$PG_DATABASE` doesn't work directly).
1. At this point, you can finally install Nextcloud AIO on a new server/linux installation, enter your domain in the AIO interface (use the same domain that you used on your former installation) and wait until all containers are running. Then you should check the included Nextcloud version by running `sudo docker inspect nextcloud-aio-nextcloud | grep NEXTCLOUD_VERSION`. Also install all apps via the apps management site that were installed on the old Nextcloud installation. Otherwise they will show as installed, but will not work.
1. Next, take a backup using Nextcloud AIO's built-in backup solution (so that you can easily restore to this state again) (Note: this will stop all containers and is expected: don't start the container again at this point!)
1. Now, we are slowly starting to import your files and database. First, you need to modify the datadirectory that is stored inside the database export:
1. At this point, you can finally install Nextcloud AIO on a new server/linux installation, enter your domain in the AIO interface (use the same domain that you used on your former installation) and wait until all containers are running. Then you should check the included Nextcloud version by running `sudo docker inspect nextcloud-aio-nextcloud | grep NEXTCLOUD_VERSION`. On the AIO interface, use the passphrase to connect to your newly created Nextcloud instance's admin account. There, install all the Nextcloud apps that were installed on the old Nextcloud installation. If you don't, the migration will show them as installed, but they won't work.
1. Next, take a backup using Nextcloud AIO's built-in backup solution (so that you can easily restore to this state again). Once finished, all containers are automatically stopped and is expected: **don't start the container again at this point!**
1. Now, with the containers still stopped, we are slowly starting to import your files and database. First, you need to modify the datadirectory that is stored inside the database export:
1. Find out what the directory of your old Nextcloud installation is by e.g. opening the config.php file and looking at the value `datadirectory`.
1. Now, create a copy of the database file so that you can simply restore it if you should make a mistake while editing: `cp database-dump.sql database-dump.sql.backup`
1. Next, open the database export with e.g. nano: `nano database-dump.sql`
@@ -81,7 +81,6 @@ The same applies for the second statement, check with `grep " OWNER TO nextcloud
1. Next, run `sudo docker run --rm --volume nextcloud_aio_nextcloud_data:/mnt/ncdata:rw alpine chown -R 33:0 /mnt/ncdata/` and `sudo docker run --rm --volume nextcloud_aio_nextcloud_data:/mnt/ncdata:rw alpine chmod -R 750 /mnt/ncdata/` to apply the correct permissions on the datadirectory. (Or if `NEXTCLOUD_DATADIR` was provided, apply `chown -R 33:0` and `chmod -R 750` to the chosen path.)
1. Edit the Nextcloud AIO config.php file using `sudo docker run -it --rm --volume nextcloud_aio_nextcloud:/var/www/html:rw alpine sh -c "apk add --no-cache nano && nano /var/www/html/config/config.php"` and modify only `passwordsalt`, `secret`, `instanceid` and set it to the old values that you used on your old installation. If you are brave, feel free to modify further values e.g. add your old LDAP config or S3 storage config. (Some things like Mail server config can be added back using Nextcloud's webinterface later on).
1. When you are done and saved your changes to the file, finally start the containers again and wait until all containers are running.
1. As last step, install all apps again that were installed before on your old instance by using the webinterface.
Now the whole Nextcloud instance should work again.<br>
If not, feel free to restore the AIO instance from backup and start at step 8 again.

View File

@@ -1,6 +1,6 @@
name: nextcloud-aio-helm-chart
description: A generated Helm Chart for Nextcloud AIO from Skippbox Kompose
version: 10.14.0
version: 11.2.1
apiVersion: v2
keywords:
- latest

View File

@@ -2,7 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-apache
name: nextcloud-aio-apache
@@ -17,7 +17,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-apache
spec:
@@ -61,7 +61,7 @@ spec:
value: "{{ .Values.TIMEZONE }}"
- name: WHITEBOARD_HOST
value: nextcloud-aio-whiteboard
image: ghcr.io/nextcloud-releases/aio-apache:20250512_082954
image: ghcr.io/nextcloud-releases/aio-apache:20250701_092737
readinessProbe:
exec:
command:

View File

@@ -2,7 +2,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-apache
name: nextcloud-aio-apache

View File

@@ -3,7 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-clamav
name: nextcloud-aio-clamav
@@ -18,7 +18,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-clamav
spec:
@@ -36,7 +36,7 @@ spec:
{{- end }}
initContainers:
- name: init-subpath
image: ghcr.io/nextcloud-releases/aio-alpine:20250512_082954
image: ghcr.io/nextcloud-releases/aio-alpine:20250701_092737
command:
- mkdir
- "-p"
@@ -59,7 +59,7 @@ spec:
value: "{{ .Values.NEXTCLOUD_UPLOAD_LIMIT }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-clamav:20250512_082954
image: ghcr.io/nextcloud-releases/aio-clamav:20250701_092737
readinessProbe:
exec:
command:

View File

@@ -3,7 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-clamav
name: nextcloud-aio-clamav

View File

@@ -3,7 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-collabora
name: nextcloud-aio-collabora
@@ -16,7 +16,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-collabora
spec:
@@ -35,7 +35,7 @@ spec:
value: --o:ssl.enable=false --o:ssl.termination=true --o:mount_jail_tree=false --o:logging.level=warning --o:home_mode.enable=true --o:remote_font_config.url=https://{{ .Values.NC_DOMAIN }}/apps/richdocuments/settings/fonts.json --o:net.post_allow.host[0]=.+
- name: server_name
value: "{{ .Values.NC_DOMAIN }}"
image: ghcr.io/nextcloud-releases/aio-collabora:20250512_082954
image: ghcr.io/nextcloud-releases/aio-collabora:20250701_092737
readinessProbe:
exec:
command:
@@ -61,4 +61,5 @@ spec:
add:
- MKNOD
- CAP_SYS_ADMIN
- CHOWN
{{- end }}

View File

@@ -3,7 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-collabora
name: nextcloud-aio-collabora

View File

@@ -2,7 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-database
name: nextcloud-aio-database
@@ -17,7 +17,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-database
spec:
@@ -35,7 +35,7 @@ spec:
{{- end }}
initContainers:
- name: init-subpath
image: ghcr.io/nextcloud-releases/aio-alpine:20250512_082954
image: ghcr.io/nextcloud-releases/aio-alpine:20250701_092737
command:
- mkdir
- "-p"
@@ -64,7 +64,7 @@ spec:
value: nextcloud
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-postgresql:20250512_082954
image: ghcr.io/nextcloud-releases/aio-postgresql:20250701_092737
readinessProbe:
exec:
command:

View File

@@ -2,7 +2,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-database
name: nextcloud-aio-database

View File

@@ -3,7 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-fulltextsearch
name: nextcloud-aio-fulltextsearch
@@ -18,13 +18,13 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-fulltextsearch
spec:
initContainers:
- name: init-volumes
image: ghcr.io/nextcloud-releases/aio-alpine:20250512_082954
image: ghcr.io/nextcloud-releases/aio-alpine:20250701_092737
command:
- chmod
- "777"
@@ -54,7 +54,7 @@ spec:
value: basic
- name: xpack.security.enabled
value: "false"
image: ghcr.io/nextcloud-releases/aio-fulltextsearch:20250512_082954
image: ghcr.io/nextcloud-releases/aio-fulltextsearch:20250701_092737
readinessProbe:
exec:
command:

View File

@@ -3,7 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-fulltextsearch
name: nextcloud-aio-fulltextsearch

View File

@@ -3,7 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-imaginary
name: nextcloud-aio-imaginary
@@ -16,7 +16,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-imaginary
spec:
@@ -38,7 +38,7 @@ spec:
value: "{{ .Values.IMAGINARY_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-imaginary:20250512_082954
image: ghcr.io/nextcloud-releases/aio-imaginary:20250701_092737
readinessProbe:
exec:
command:

View File

@@ -3,7 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-imaginary
name: nextcloud-aio-imaginary

View File

@@ -6,7 +6,9 @@ metadata:
name: nextcloud-aio-nextcloud-data
namespace: "{{ .Values.NAMESPACE }}"
spec:
{{- if .Values.STORAGE_CLASS }}
{{- if .Values.STORAGE_CLASS_DATA }}
storageClassName: {{ .Values.STORAGE_CLASS_DATA }}
{{- else if .Values.STORAGE_CLASS }}
storageClassName: {{ .Values.STORAGE_CLASS }}
{{- end }}
accessModes:

View File

@@ -2,7 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-nextcloud
name: nextcloud-aio-nextcloud
@@ -17,7 +17,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-nextcloud
spec:
@@ -38,7 +38,7 @@ spec:
# AIO settings start # Do not remove or change this line!
initContainers:
- name: init-volumes
image: ghcr.io/nextcloud-releases/aio-alpine:20250512_082954
image: ghcr.io/nextcloud-releases/aio-alpine:20250701_092737
command:
- chmod
- "777"
@@ -182,7 +182,7 @@ spec:
value: "{{ .Values.WHITEBOARD_ENABLED }}"
- name: WHITEBOARD_SECRET
value: "{{ .Values.WHITEBOARD_SECRET }}"
image: ghcr.io/nextcloud-releases/aio-nextcloud:20250512_082954
image: ghcr.io/nextcloud-releases/aio-nextcloud:20250701_092737
{{- if eq (.Values.RPSS_ENABLED | default "no") "yes" }} # AIO-config - do not change this comment!
securityContext:
# The items below only work in container context

View File

@@ -2,7 +2,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-nextcloud
name: nextcloud-aio-nextcloud

View File

@@ -2,7 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-notify-push
name: nextcloud-aio-notify-push
@@ -17,7 +17,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-notify-push
spec:
@@ -55,7 +55,7 @@ spec:
value: "{{ .Values.REDIS_PASSWORD }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-notify-push:20250512_082954
image: ghcr.io/nextcloud-releases/aio-notify-push:20250701_092737
readinessProbe:
exec:
command:

View File

@@ -2,7 +2,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-notify-push
name: nextcloud-aio-notify-push

View File

@@ -3,7 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-onlyoffice
name: nextcloud-aio-onlyoffice
@@ -18,13 +18,13 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-onlyoffice
spec:
initContainers:
- name: init-volumes
image: ghcr.io/nextcloud-releases/aio-alpine:20250512_082954
image: ghcr.io/nextcloud-releases/aio-alpine:20250701_092737
command:
- chmod
- "777"
@@ -42,7 +42,7 @@ spec:
value: "{{ .Values.ONLYOFFICE_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-onlyoffice:20250512_082954
image: ghcr.io/nextcloud-releases/aio-onlyoffice:20250701_092737
readinessProbe:
exec:
command:

View File

@@ -3,7 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-onlyoffice
name: nextcloud-aio-onlyoffice

View File

@@ -2,7 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-redis
name: nextcloud-aio-redis
@@ -17,7 +17,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-redis
spec:
@@ -39,7 +39,7 @@ spec:
value: "{{ .Values.REDIS_PASSWORD }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-redis:20250512_082954
image: ghcr.io/nextcloud-releases/aio-redis:20250701_092737
readinessProbe:
exec:
command:

View File

@@ -2,7 +2,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-redis
name: nextcloud-aio-redis

View File

@@ -3,7 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-talk
name: nextcloud-aio-talk
@@ -16,7 +16,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-talk
spec:
@@ -52,7 +52,7 @@ spec:
value: "{{ .Values.TURN_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-talk:20250512_082954
image: ghcr.io/nextcloud-releases/aio-talk:20250701_092737
readinessProbe:
exec:
command:

View File

@@ -3,7 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-talk-recording
name: nextcloud-aio-talk-recording
@@ -18,7 +18,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-talk-recording
spec:
@@ -44,7 +44,7 @@ spec:
value: "{{ .Values.RECORDING_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-talk-recording:20250512_082954
image: ghcr.io/nextcloud-releases/aio-talk-recording:20250701_092737
readinessProbe:
exec:
command:

View File

@@ -3,7 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-talk-recording
name: nextcloud-aio-talk-recording

View File

@@ -4,7 +4,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-talk
name: nextcloud-aio-talk-public
@@ -28,7 +28,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-talk
name: nextcloud-aio-talk

View File

@@ -3,7 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-whiteboard
name: nextcloud-aio-whiteboard
@@ -16,7 +16,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-whiteboard
spec:
@@ -48,7 +48,7 @@ spec:
value: redis
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-whiteboard:20250512_082954
image: ghcr.io/nextcloud-releases/aio-whiteboard:20250701_092737
readinessProbe:
exec:
command:

View File

@@ -3,7 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.35.0 (9532ceef3)
kompose.version: 1.36.0 (ae2a39403)
labels:
io.kompose.service: nextcloud-aio-whiteboard
name: nextcloud-aio-whiteboard

View File

@@ -27,7 +27,7 @@ cp latest.yml latest.yml.backup
# Additional config
# shellcheck disable=SC1083
sed -i -E '/^( *- )(NET_RAW|SYS_NICE|MKNOD|SYS_ADMIN)$/!s/( *- )([A-Z_]+)$/\1\2=${\2}/' latest.yml
sed -i -E '/^( *- )(NET_RAW|SYS_NICE|MKNOD|SYS_ADMIN|CHOWN)$/!s/( *- )([A-Z_]+)$/\1\2=${\2}/' latest.yml
cp sample.conf /tmp/
sed -i 's|^|export |' /tmp/sample.conf
# shellcheck disable=SC1091
@@ -222,6 +222,10 @@ find ./ -name '*persistentvolumeclaim.yaml' -exec sed -i "/accessModes:/i\ \ sto
# shellcheck disable=SC1083
find ./ -name '*persistentvolumeclaim.yaml' -exec sed -i "/accessModes:/i\ \ {{- end }}" \{} \;
# shellcheck disable=SC1083
find ./ -name 'nextcloud-aio-nextcloud-data-persistentvolumeclaim.yaml' -exec sed -i "/{{- if .Values.STORAGE_CLASS }}/i\ {{- if .Values.STORAGE_CLASS_DATA }}\n storageClassName: {{ .Values.STORAGE_CLASS_DATA }}" \{} \;
# shellcheck disable=SC1083
find ./ -name 'nextcloud-aio-nextcloud-data-persistentvolumeclaim.yaml' -exec sed -i "s/{{- if .Values.STORAGE_CLASS }}/{{- else if .Values.STORAGE_CLASS }}/" \{} \;
# shellcheck disable=SC1083
find ./ -name '*deployment.yaml' -exec sed -i "/restartPolicy:/d" \{} \;
# shellcheck disable=SC1083
find ./ -name '*apache*' -exec sed -i "s|$APACHE_PORT|{{ .Values.APACHE_PORT }}|" \{} \;
@@ -406,7 +410,8 @@ sed -i 's|17179869184|"17179869184"|' /tmp/sample.conf
# shellcheck disable=SC2129
echo "" >> /tmp/sample.conf
# shellcheck disable=SC2129
echo 'STORAGE_CLASS: # By setting this, you can adjust the storage class for your volumes' >> /tmp/sample.conf
echo 'STORAGE_CLASS: # By setting this, you can adjust the storage class for your volumes. This should be a fast storage like SSD backed storage!' >> /tmp/sample.conf
echo 'STORAGE_CLASS_DATA: # Allows to set a dedicated storage class for the Nextcloud data volume. This can be a bit slower storage than the one above. ⚠️ Warning: only set this for new installations, not existing ones!' >> /tmp/sample.conf
for variable in "${VOLUME_VARIABLE[@]}"; do
echo "$variable: 1Gi # You can change the size of the $(echo "$variable" | sed 's|_STORAGE_SIZE||;s|_|-|g' | tr '[:upper:]' '[:lower:]') volume that default to 1Gi with this value" >> /tmp/sample.conf
done

View File

@@ -38,7 +38,8 @@ REMOVE_DISABLED_APPS: yes # Setting this to no keep Nextcloud apps that a
TALK_PORT: 3478 # This allows to adjust the port that the talk container is using. It should be set to something higher than 1024! Otherwise it might not work!
UPDATE_NEXTCLOUD_APPS: no # When setting to yes (with quotes), it will automatically update all installed Nextcloud apps upon container startup on saturdays.
STORAGE_CLASS: # By setting this, you can adjust the storage class for your volumes
STORAGE_CLASS: # By setting this, you can adjust the storage class for your volumes. This should be a fast storage like SSD backed storage!
STORAGE_CLASS_DATA: # Allows to set a dedicated storage class for the Nextcloud data volume. This can be a bit slower storage than the one above. ⚠️ Warning: only set this for new installations, not existing ones!
APACHE_STORAGE_SIZE: 1Gi # You can change the size of the apache volume that default to 1Gi with this value
CLAMAV_STORAGE_SIZE: 1Gi # You can change the size of the clamav volume that default to 1Gi with this value
DATABASE_STORAGE_SIZE: 1Gi # You can change the size of the database volume that default to 1Gi with this value

228
php/composer.lock generated
View File

@@ -557,16 +557,16 @@
},
{
"name": "php-di/php-di",
"version": "7.0.10",
"version": "7.0.11",
"source": {
"type": "git",
"url": "https://github.com/PHP-DI/PHP-DI.git",
"reference": "0d1ed64126577e9a095b3204dcaee58cf76432c2"
"reference": "32f111a6d214564520a57831d397263e8946c1d2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/0d1ed64126577e9a095b3204dcaee58cf76432c2",
"reference": "0d1ed64126577e9a095b3204dcaee58cf76432c2",
"url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/32f111a6d214564520a57831d397263e8946c1d2",
"reference": "32f111a6d214564520a57831d397263e8946c1d2",
"shasum": ""
},
"require": {
@@ -614,7 +614,7 @@
],
"support": {
"issues": "https://github.com/PHP-DI/PHP-DI/issues",
"source": "https://github.com/PHP-DI/PHP-DI/tree/7.0.10"
"source": "https://github.com/PHP-DI/PHP-DI/tree/7.0.11"
},
"funding": [
{
@@ -626,7 +626,7 @@
"type": "tidelift"
}
],
"time": "2025-04-22T08:53:15+00:00"
"time": "2025-06-03T07:45:57+00:00"
},
{
"name": "php-di/slim-bridge",
@@ -1331,16 +1331,16 @@
},
{
"name": "symfony/deprecation-contracts",
"version": "v3.5.1",
"version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6"
"reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
"reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62",
"reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62",
"shasum": ""
},
"require": {
@@ -1353,7 +1353,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
"dev-main": "3.5-dev"
"dev-main": "3.6-dev"
}
},
"autoload": {
@@ -1378,7 +1378,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1"
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0"
},
"funding": [
{
@@ -1394,11 +1394,11 @@
"type": "tidelift"
}
],
"time": "2024-09-25T14:20:29+00:00"
"time": "2024-09-25T14:21:43+00:00"
},
{
"name": "symfony/polyfill-ctype",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
@@ -1457,7 +1457,7 @@
"portable"
],
"support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.32.0"
},
"funding": [
{
@@ -1477,19 +1477,20 @@
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493",
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493",
"shasum": ""
},
"require": {
"ext-iconv": "*",
"php": ">=7.2"
},
"provide": {
@@ -1537,7 +1538,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0"
},
"funding": [
{
@@ -1553,11 +1554,11 @@
"type": "tidelift"
}
],
"time": "2024-09-09T11:45:10+00:00"
"time": "2024-12-23T08:48:59+00:00"
},
{
"name": "symfony/polyfill-php81",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php81.git",
@@ -1613,7 +1614,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-php81/tree/v1.32.0"
},
"funding": [
{
@@ -1633,16 +1634,16 @@
},
{
"name": "twig/twig",
"version": "v3.20.0",
"version": "v3.21.1",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "3468920399451a384bef53cf7996965f7cd40183"
"reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/3468920399451a384bef53cf7996965f7cd40183",
"reference": "3468920399451a384bef53cf7996965f7cd40183",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/285123877d4dd97dd7c11842ac5fb7e86e60d81d",
"reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d",
"shasum": ""
},
"require": {
@@ -1696,7 +1697,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
"source": "https://github.com/twigphp/Twig/tree/v3.20.0"
"source": "https://github.com/twigphp/Twig/tree/v3.21.1"
},
"funding": [
{
@@ -1708,7 +1709,7 @@
"type": "tidelift"
}
],
"time": "2025-02-13T08:34:43+00:00"
"time": "2025-05-03T07:21:55+00:00"
}
],
"packages-dev": [
@@ -2520,79 +2521,6 @@
],
"time": "2024-08-03T19:31:26+00:00"
},
{
"name": "composer/package-versions-deprecated",
"version": "1.11.99.5",
"source": {
"type": "git",
"url": "https://github.com/composer/package-versions-deprecated.git",
"reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/b4f54f74ef3453349c24a845d22392cd31e65f1d",
"reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.1.0 || ^2.0",
"php": "^7 || ^8"
},
"replace": {
"ocramius/package-versions": "1.11.99"
},
"require-dev": {
"composer/composer": "^1.9.3 || ^2.0@dev",
"ext-zip": "^1.13",
"phpunit/phpunit": "^6.5 || ^7"
},
"type": "composer-plugin",
"extra": {
"class": "PackageVersions\\Installer",
"branch-alias": {
"dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"PackageVersions\\": "src/PackageVersions"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com"
},
{
"name": "Jordi Boggiano",
"email": "j.boggiano@seld.be"
}
],
"description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
"support": {
"issues": "https://github.com/composer/package-versions-deprecated/issues",
"source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.5"
},
"funding": [
{
"url": "https://packagist.com",
"type": "custom"
},
{
"url": "https://github.com/composer",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
"type": "tidelift"
}
],
"time": "2022-01-17T14:14:24+00:00"
},
{
"name": "composer/pcre",
"version": "3.3.2",
@@ -3402,16 +3330,16 @@
},
{
"name": "nikic/php-parser",
"version": "v5.4.0",
"version": "v5.5.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "447a020a1f875a434d62f2a401f53b82a396e494"
"reference": "ae59794362fe85e051a58ad36b289443f57be7a9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/447a020a1f875a434d62f2a401f53b82a396e494",
"reference": "447a020a1f875a434d62f2a401f53b82a396e494",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/ae59794362fe85e051a58ad36b289443f57be7a9",
"reference": "ae59794362fe85e051a58ad36b289443f57be7a9",
"shasum": ""
},
"require": {
@@ -3454,9 +3382,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v5.4.0"
"source": "https://github.com/nikic/PHP-Parser/tree/v5.5.0"
},
"time": "2024-12-30T11:07:19+00:00"
"time": "2025-05-31T08:24:38+00:00"
},
{
"name": "phpdocumentor/reflection-common",
@@ -3893,16 +3821,16 @@
"source": {
"type": "git",
"url": "https://github.com/sserbin/twig-linter.git",
"reference": "c4cb0d08c8290d8fed541eb027bd85dba90a5914"
"reference": "932c7f1dcc79cd54aa011804d42aa7bbb14a970f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sserbin/twig-linter/zipball/c4cb0d08c8290d8fed541eb027bd85dba90a5914",
"reference": "c4cb0d08c8290d8fed541eb027bd85dba90a5914",
"url": "https://api.github.com/repos/sserbin/twig-linter/zipball/932c7f1dcc79cd54aa011804d42aa7bbb14a970f",
"reference": "932c7f1dcc79cd54aa011804d42aa7bbb14a970f",
"shasum": ""
},
"require": {
"composer/package-versions-deprecated": "1.11.99.5",
"composer-runtime-api": "^2.0",
"php": "^7.4|^8.0",
"symfony/console": "^5.4 || ^6.1",
"symfony/finder": "^5.4 || ^6.1",
@@ -3941,22 +3869,22 @@
],
"support": {
"issues": "https://github.com/sserbin/twig-linter/issues",
"source": "https://github.com/sserbin/twig-linter/tree/3.1.1"
"source": "https://github.com/sserbin/twig-linter/tree/3.1.2"
},
"time": "2024-09-09T16:51:23+00:00"
"time": "2025-06-03T06:31:48+00:00"
},
{
"name": "symfony/console",
"version": "v6.4.20",
"version": "v6.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "2e4af9c952617cc3f9559ff706aee420a8464c36"
"reference": "9056771b8eca08d026cd3280deeec3cfd99c4d93"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/2e4af9c952617cc3f9559ff706aee420a8464c36",
"reference": "2e4af9c952617cc3f9559ff706aee420a8464c36",
"url": "https://api.github.com/repos/symfony/console/zipball/9056771b8eca08d026cd3280deeec3cfd99c4d93",
"reference": "9056771b8eca08d026cd3280deeec3cfd99c4d93",
"shasum": ""
},
"require": {
@@ -4021,7 +3949,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v6.4.20"
"source": "https://github.com/symfony/console/tree/v6.4.23"
},
"funding": [
{
@@ -4037,11 +3965,11 @@
"type": "tidelift"
}
],
"time": "2025-03-03T17:16:38+00:00"
"time": "2025-06-27T19:37:22+00:00"
},
{
"name": "symfony/filesystem",
"version": "v7.2.0",
"version": "v7.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
@@ -4087,7 +4015,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/filesystem/tree/v7.2.0"
"source": "https://github.com/symfony/filesystem/tree/v7.3.0"
},
"funding": [
{
@@ -4171,7 +4099,7 @@
},
{
"name": "symfony/polyfill-intl-grapheme",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
@@ -4229,7 +4157,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.32.0"
},
"funding": [
{
@@ -4249,7 +4177,7 @@
},
{
"name": "symfony/polyfill-intl-normalizer",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
@@ -4310,7 +4238,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.32.0"
},
"funding": [
{
@@ -4330,16 +4258,16 @@
},
{
"name": "symfony/polyfill-php84",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php84.git",
"reference": "e5493eb51311ab0b1cc2243416613f06ed8f18bd"
"reference": "000df7860439609837bbe28670b0be15783b7fbf"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/e5493eb51311ab0b1cc2243416613f06ed8f18bd",
"reference": "e5493eb51311ab0b1cc2243416613f06ed8f18bd",
"url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/000df7860439609837bbe28670b0be15783b7fbf",
"reference": "000df7860439609837bbe28670b0be15783b7fbf",
"shasum": ""
},
"require": {
@@ -4386,7 +4314,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php84/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-php84/tree/v1.32.0"
},
"funding": [
{
@@ -4402,20 +4330,20 @@
"type": "tidelift"
}
],
"time": "2024-09-09T12:04:04+00:00"
"time": "2025-02-20T12:04:08+00:00"
},
{
"name": "symfony/service-contracts",
"version": "v3.5.1",
"version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
"reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0"
"reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/e53260aabf78fb3d63f8d79d69ece59f80d5eda0",
"reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
"reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
"shasum": ""
},
"require": {
@@ -4433,7 +4361,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
"dev-main": "3.5-dev"
"dev-main": "3.6-dev"
}
},
"autoload": {
@@ -4469,7 +4397,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/service-contracts/tree/v3.5.1"
"source": "https://github.com/symfony/service-contracts/tree/v3.6.0"
},
"funding": [
{
@@ -4485,20 +4413,20 @@
"type": "tidelift"
}
],
"time": "2024-09-25T14:20:29+00:00"
"time": "2025-04-25T09:37:31+00:00"
},
{
"name": "symfony/string",
"version": "v7.2.0",
"version": "v7.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "446e0d146f991dde3e73f45f2c97a9faad773c82"
"reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/446e0d146f991dde3e73f45f2c97a9faad773c82",
"reference": "446e0d146f991dde3e73f45f2c97a9faad773c82",
"url": "https://api.github.com/repos/symfony/string/zipball/f3570b8c61ca887a9e2938e85cb6458515d2b125",
"reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125",
"shasum": ""
},
"require": {
@@ -4556,7 +4484,7 @@
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v7.2.0"
"source": "https://github.com/symfony/string/tree/v7.3.0"
},
"funding": [
{
@@ -4572,20 +4500,20 @@
"type": "tidelift"
}
],
"time": "2024-11-13T13:31:26+00:00"
"time": "2025-04-20T20:19:01+00:00"
},
{
"name": "vimeo/psalm",
"version": "6.10.1",
"version": "6.12.0",
"source": {
"type": "git",
"url": "https://github.com/vimeo/psalm.git",
"reference": "f9fd6bc117e9ce1e854c2ed6777e7135aaa4966b"
"reference": "cf420941d061a57050b6c468ef2c778faf40aee2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/f9fd6bc117e9ce1e854c2ed6777e7135aaa4966b",
"reference": "f9fd6bc117e9ce1e854c2ed6777e7135aaa4966b",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/cf420941d061a57050b6c468ef2c778faf40aee2",
"reference": "cf420941d061a57050b6c468ef2c778faf40aee2",
"shasum": ""
},
"require": {
@@ -4690,7 +4618,7 @@
"issues": "https://github.com/vimeo/psalm/issues",
"source": "https://github.com/vimeo/psalm"
},
"time": "2025-04-21T18:47:37+00:00"
"time": "2025-05-28T12:52:06+00:00"
},
{
"name": "wapmorgan/php-deprecation-detector",

View File

@@ -1,81 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="6.10.1@f9fd6bc117e9ce1e854c2ed6777e7135aaa4966b">
<file src="src/Auth/AuthManager.php">
<ClassMustBeFinal>
<code><![CDATA[AuthManager]]></code>
</ClassMustBeFinal>
</file>
<file src="src/Auth/PasswordGenerator.php">
<ClassMustBeFinal>
<code><![CDATA[PasswordGenerator]]></code>
</ClassMustBeFinal>
</file>
<file src="src/Container/AioVariables.php">
<ClassMustBeFinal>
<code><![CDATA[AioVariables]]></code>
</ClassMustBeFinal>
</file>
<file src="src/Container/Container.php">
<ClassMustBeFinal>
<code><![CDATA[Container]]></code>
</ClassMustBeFinal>
</file>
<file src="src/Container/ContainerEnvironmentVariables.php">
<ClassMustBeFinal>
<code><![CDATA[ContainerEnvironmentVariables]]></code>
</ClassMustBeFinal>
</file>
<file src="src/Container/ContainerPort.php">
<ClassMustBeFinal>
<code><![CDATA[ContainerPort]]></code>
</ClassMustBeFinal>
</file>
<file src="src/Container/ContainerPorts.php">
<ClassMustBeFinal>
<code><![CDATA[ContainerPorts]]></code>
</ClassMustBeFinal>
</file>
<file src="src/Container/ContainerVolume.php">
<ClassMustBeFinal>
<code><![CDATA[ContainerVolume]]></code>
</ClassMustBeFinal>
</file>
<file src="src/Container/ContainerVolumes.php">
<ClassMustBeFinal>
<code><![CDATA[ContainerVolumes]]></code>
</ClassMustBeFinal>
</file>
<files psalm-version="6.12.0@cf420941d061a57050b6c468ef2c778faf40aee2">
<file src="src/ContainerDefinitionFetcher.php">
<ClassMustBeFinal>
<code><![CDATA[ContainerDefinitionFetcher]]></code>
</ClassMustBeFinal>
<PossiblyFalseArgument>
<code><![CDATA[file_get_contents($path)]]></code>
<code><![CDATA[file_get_contents(__DIR__ . '/../containers.json')]]></code>
</PossiblyFalseArgument>
</file>
<file src="src/Controller/ConfigurationController.php">
<ClassMustBeFinal>
<code><![CDATA[ConfigurationController]]></code>
</ClassMustBeFinal>
</file>
<file src="src/Controller/DockerController.php">
<ClassMustBeFinal>
<code><![CDATA[DockerController]]></code>
</ClassMustBeFinal>
<InvalidOperand>
<code><![CDATA[$port]]></code>
</InvalidOperand>
</file>
<file src="src/Controller/LoginController.php">
<ClassMustBeFinal>
<code><![CDATA[LoginController]]></code>
</ClassMustBeFinal>
</file>
<file src="src/Data/ConfigurationManager.php">
<ClassMustBeFinal>
<code><![CDATA[ConfigurationManager]]></code>
</ClassMustBeFinal>
<FalsableReturnStatement>
<code><![CDATA[$additionalBackupDirectories]]></code>
</FalsableReturnStatement>
@@ -98,9 +34,6 @@
</PossiblyFalseArgument>
</file>
<file src="src/Data/DataConst.php">
<ClassMustBeFinal>
<code><![CDATA[DataConst]]></code>
</ClassMustBeFinal>
<FalsableReturnStatement>
<code><![CDATA[realpath(__DIR__ . '/../../../community-containers/')]]></code>
<code><![CDATA[realpath(__DIR__ . '/../../data/')]]></code>
@@ -112,57 +45,18 @@
<code><![CDATA[string]]></code>
</InvalidFalsableReturnType>
</file>
<file src="src/Data/InvalidSettingConfigurationException.php">
<ClassMustBeFinal>
<code><![CDATA[InvalidSettingConfigurationException]]></code>
</ClassMustBeFinal>
</file>
<file src="src/Data/Setup.php">
<ClassMustBeFinal>
<code><![CDATA[Setup]]></code>
</ClassMustBeFinal>
</file>
<file src="src/DependencyInjection.php">
<ClassMustBeFinal>
<code><![CDATA[DependencyInjection]]></code>
</ClassMustBeFinal>
</file>
<file src="src/Docker/DockerActionManager.php">
<ClassMustBeFinal>
<code><![CDATA[DockerActionManager]]></code>
</ClassMustBeFinal>
<PossiblyFalseArgument>
<code><![CDATA[$line]]></code>
<code><![CDATA[$line]]></code>
</PossiblyFalseArgument>
</file>
<file src="src/Docker/DockerHubManager.php">
<ClassMustBeFinal>
<code><![CDATA[DockerHubManager]]></code>
</ClassMustBeFinal>
</file>
<file src="src/Docker/GitHubContainerRegistryManager.php">
<ClassMustBeFinal>
<code><![CDATA[GitHubContainerRegistryManager]]></code>
</ClassMustBeFinal>
</file>
<file src="src/Middleware/AuthMiddleware.php">
<ClassMustBeFinal>
<code><![CDATA[AuthMiddleware]]></code>
</ClassMustBeFinal>
</file>
<file src="src/Twig/ClassExtension.php">
<ClassMustBeFinal>
<code><![CDATA[ClassExtension]]></code>
</ClassMustBeFinal>
<MissingOverrideAttribute>
<code><![CDATA[public function getFunctions() : array]]></code>
</MissingOverrideAttribute>
</file>
<file src="src/Twig/CsrfExtension.php">
<ClassMustBeFinal>
<code><![CDATA[CsrfExtension]]></code>
</ClassMustBeFinal>
<MissingOverrideAttribute>
<code><![CDATA[public function getGlobals() : array]]></code>
</MissingOverrideAttribute>

View File

@@ -19,5 +19,6 @@
<directory name="vendor" />
</extraFiles>
<issueHandlers>
<ClassMustBeFinal errorLevel="suppress" />
</issueHandlers>
</psalm>

View File

@@ -0,0 +1,88 @@
document.addEventListener("DOMContentLoaded", function () {
// Hide submit button initially
const optionsFormSubmit = document.getElementById("options-form-submit");
optionsFormSubmit.style.display = 'none';
const communityFormSubmit = document.getElementById("community-form-submit");
communityFormSubmit.style.display = 'none';
// Store initial states for all checkboxes
const initialStateOptionsContainers = {};
const initialStateCommunityContainers = {};
const optionsContainersCheckboxes = document.querySelectorAll("#options-form input[type='checkbox']");
const communityContainersCheckboxes = document.querySelectorAll("#community-form input[type='checkbox']");
optionsContainersCheckboxes.forEach(checkbox => {
initialStateOptionsContainers[checkbox.id] = checkbox.checked; // Use checked property to capture actual initial state
});
communityContainersCheckboxes.forEach(checkbox => {
initialStateCommunityContainers[checkbox.id] = checkbox.checked; // Use checked property to capture actual initial state
});
// Function to compare current states to initial states
function checkForOptionContainerChanges() {
let hasChanges = false;
optionsContainersCheckboxes.forEach(checkbox => {
if (checkbox.checked !== initialStateOptionsContainers[checkbox.id]) {
hasChanges = true;
}
});
// Show or hide submit button based on changes
optionsFormSubmit.style.display = hasChanges ? 'block' : 'none';
}
// Function to compare current states to initial states
function checkForCommunityContainerChanges() {
let hasChanges = false;
communityContainersCheckboxes.forEach(checkbox => {
if (checkbox.checked !== initialStateCommunityContainers[checkbox.id]) {
hasChanges = true;
}
});
// Show or hide submit button based on changes
communityFormSubmit.style.display = hasChanges ? 'block' : 'none';
}
// Event listener to trigger visibility check on each change
optionsContainersCheckboxes.forEach(checkbox => {
checkbox.addEventListener("change", checkForOptionContainerChanges);
});
communityContainersCheckboxes.forEach(checkbox => {
checkbox.addEventListener("change", checkForCommunityContainerChanges);
});
// Custom behaviors for specific options
function handleTalkVisibility() {
const talkRecording = document.getElementById("talk-recording");
if (document.getElementById("talk").checked) {
talkRecording.disabled = false;
} else {
talkRecording.checked = false;
talkRecording.disabled = true;
}
checkForOptionContainerChanges(); // Check changes after toggling Talk Recording
}
function handleDockerSocketProxyWarning() {
if (document.getElementById("docker-socket-proxy").checked) {
alert('⚠️ Warning! Enabling this container comes with possible Security problems since you are exposing the docker socket and all its privileges to the Nextcloud container. Enable this only if you are sure what you are doing!');
}
}
// Initialize event listeners for specific behaviors
document.getElementById("talk").addEventListener('change', handleTalkVisibility);
document.getElementById("docker-socket-proxy").addEventListener('change', handleDockerSocketProxyWarning);
// Initialize talk-recording visibility on page load
handleTalkVisibility(); // Ensure talk-recording is correctly initialized
// Initial call to check for changes
checkForOptionContainerChanges();
checkForCommunityContainerChanges();
});

View File

@@ -82,6 +82,11 @@ $app->get('/containers', function (Request $request, Response $response, array $
$dockerController = $container->get(\AIO\Controller\DockerController::class);
$dockerActionManger->ConnectMasterContainerToNetwork();
$dockerController->StartDomaincheckContainer();
// Check if bypass_mastercontainer_update is provided on the URL, a special developer mode to bypass a mastercontainer update and use local image.
$params = $request->getQueryParams();
$bypass_mastercontainer_update = isset($params['bypass_mastercontainer_update']);
return $view->render($response, 'containers.twig', [
'domain' => $configurationManager->GetDomain(),
'apache_port' => $configurationManager->GetApachePort(),
@@ -91,7 +96,7 @@ $app->get('/containers', function (Request $request, Response $response, array $
'nextcloud_password' => $configurationManager->GetAndGenerateSecret('NEXTCLOUD_PASSWORD'),
'containers' => (new \AIO\ContainerDefinitionFetcher($container->get(\AIO\Data\ConfigurationManager::class), $container))->FetchDefinition(),
'borgbackup_password' => $configurationManager->GetAndGenerateSecret('BORGBACKUP_PASSWORD'),
'is_mastercontainer_update_available' => $dockerActionManger->IsMastercontainerUpdateAvailable(),
'is_mastercontainer_update_available' => ( $bypass_mastercontainer_update ? false : $dockerActionManger->IsMastercontainerUpdateAvailable() ),
'has_backup_run_once' => $configurationManager->hasBackupRunOnce(),
'is_backup_container_running' => $dockerActionManger->isBackupContainerRunning(),
'backup_exit_code' => $dockerActionManger->GetBackupcontainerExitCode(),
@@ -128,7 +133,9 @@ $app->get('/containers', function (Request $request, Response $response, array $
'is_nvidia_gpu_enabled' => $configurationManager->isNvidiaGpuEnabled(),
'is_talk_recording_enabled' => $configurationManager->isTalkRecordingEnabled(),
'is_docker_socket_proxy_enabled' => $configurationManager->isDockerSocketProxyEnabled(),
'is_whiteboard_enabled' => $configurationManager->isWhiteboardEnabled(),
'is_whiteboard_enabled' => $configurationManager->isWhiteboardEnabled(),
'community_containers' => $configurationManager->listAvailableCommunityContainers(),
'community_containers_enabled' => $configurationManager->GetEnabledCommunityContainers(),
]);
})->setName('profile');
$app->get('/login', function (Request $request, Response $response, array $args) use ($container) {

View File

@@ -1,60 +0,0 @@
document.addEventListener("DOMContentLoaded", function () {
// Hide submit button initially
const optionsFormSubmit = document.getElementById("options-form-submit");
optionsFormSubmit.style.display = 'none';
// Store initial states for all checkboxes
const initialState = {};
const checkboxes = document.querySelectorAll("#options-form input[type='checkbox']");
checkboxes.forEach(checkbox => {
initialState[checkbox.id] = checkbox.checked; // Use checked property to capture actual initial state
});
// Function to compare current states to initial states
function checkForChanges() {
let hasChanges = false;
checkboxes.forEach(checkbox => {
if (checkbox.checked !== initialState[checkbox.id]) {
hasChanges = true;
}
});
// Show or hide submit button based on changes
optionsFormSubmit.style.display = hasChanges ? 'block' : 'none';
}
// Event listener to trigger visibility check on each change
checkboxes.forEach(checkbox => {
checkbox.addEventListener("change", checkForChanges);
});
// Custom behaviors for specific options
function handleTalkVisibility() {
const talkRecording = document.getElementById("talk-recording");
if (document.getElementById("talk").checked) {
talkRecording.disabled = false;
} else {
talkRecording.checked = false;
talkRecording.disabled = true;
}
checkForChanges(); // Check changes after toggling Talk Recording
}
function handleDockerSocketProxyWarning() {
if (document.getElementById("docker-socket-proxy").checked) {
alert('⚠️ Warning! Enabling this container comes with possible Security problems since you are exposing the docker socket and all its privileges to the Nextcloud container. Enable this only if you are sure what you are doing!');
}
}
// Initialize event listeners for specific behaviors
document.getElementById("talk").addEventListener('change', handleTalkVisibility);
document.getElementById("docker-socket-proxy").addEventListener('change', handleDockerSocketProxyWarning);
// Initialize talk-recording visibility on page load
handleTalkVisibility(); // Ensure talk-recording is correctly initialized
// Initial call to check for changes
checkForChanges();
});

View File

@@ -349,6 +349,7 @@ main {
word-break: break-word;
max-width: calc(var(--max-width) + calc(var(--main-padding) * 2));
margin: 0 auto;
padding-bottom: var(--main-padding);
}
.logo {

View File

@@ -15,7 +15,7 @@ readonly class ConfigurationController {
) {
}
public function SetConfig(Request $request, Response $response, array $args) : Response {
public function SetConfig(Request $request, Response $response, array $args): Response {
try {
if (isset($request->getParsedBody()['domain'])) {
$domain = $request->getParsedBody()['domain'] ?? '';
@@ -125,6 +125,20 @@ readonly class ConfigurationController {
}
}
if (isset($request->getParsedBody()['community-form'])) {
$cc = $this->configurationManager->listAvailableCommunityContainers();
$enabledCC = [];
/**
* @psalm-suppress PossiblyNullIterator
*/
foreach ($request->getParsedBody() as $item) {
if (array_key_exists($item , $cc)) {
$enabledCC[] = $item;
}
}
$this->configurationManager->SetEnabledCommunityContainers($enabledCC);
}
if (isset($request->getParsedBody()['delete_collabora_dictionaries'])) {
$this->configurationManager->DeleteCollaboraDictionaries();
}

View File

@@ -62,7 +62,11 @@ readonly class DockerController {
public function GetLogs(Request $request, Response $response, array $args) : Response
{
$id = $request->getQueryParams()['id'];
$requestParams = $request->getQueryParams();
$id = '';
if (isset($requestParams['id']) && is_string($requestParams['id'])) {
$id = $requestParams['id'];
}
if (str_starts_with($id, 'nextcloud-aio-')) {
$logs = $this->dockerActionManager->GetLogs($id);
} else {

View File

@@ -75,7 +75,7 @@ class ConfigurationManager
if (!file_exists(DataConst::GetBackupArchivesList())) {
return '';
}
$content = file_get_contents(DataConst::GetBackupArchivesList());
if ($content === '') {
return '';
@@ -95,7 +95,7 @@ class ConfigurationManager
if ($lastBackupTime === "") {
return '';
}
return $lastBackupTime;
}
@@ -103,7 +103,7 @@ class ConfigurationManager
if (!file_exists(DataConst::GetBackupArchivesList())) {
return [];
}
$content = file_get_contents(DataConst::GetBackupArchivesList());
if ($content === '') {
return [];
@@ -114,7 +114,7 @@ class ConfigurationManager
foreach($backupLines as $lines) {
if ($lines !== "") {
$backupTimesTemp = explode(',', $lines);
$backupTimes[] = $backupTimesTemp[1];
$backupTimes[] = $backupTimesTemp[1];
}
}
@@ -140,7 +140,7 @@ class ConfigurationManager
}
}
public function isClamavEnabled() : bool {
public function isClamavEnabled() : bool {
$config = $this->GetConfig();
if (isset($config['isClamavEnabled']) && $config['isClamavEnabled'] === 1) {
return true;
@@ -375,7 +375,7 @@ class ConfigurationManager
$testUrl = $protocol . $domain . ':443';
curl_setopt($ch, CURLOPT_URL, $testUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$response = (string)curl_exec($ch);
# Get rid of trailing \n
@@ -474,7 +474,7 @@ class ConfigurationManager
} elseif ($location !== '' && $repo !== '') {
throw new InvalidSettingConfigurationException("Location and remote repo url are mutually exclusive!");
}
if ($location !== '') {
$isValidPath = false;
if (str_starts_with($location, '/') && !str_ends_with($location, '/')) {
@@ -629,7 +629,7 @@ class ConfigurationManager
if (!file_exists(DataConst::GetBackupPublicKey())) {
return "";
}
return trim(file_get_contents(DataConst::GetBackupPublicKey()));
}
@@ -771,7 +771,7 @@ class ConfigurationManager
if (!preg_match("#^[0-1][0-9]:[0-5][0-9]$#", $time) && !preg_match("#^2[0-3]:[0-5][0-9]$#", $time)) {
throw new InvalidSettingConfigurationException("You did not enter a correct time! One correct example is '04:00'!");
}
if ($enableAutomaticUpdates === false) {
$time .= PHP_EOL . 'automaticUpdatesAreNotEnabled';
} else {
@@ -1008,16 +1008,61 @@ class ConfigurationManager
}
private function GetCommunityContainers() : string {
$envVariableName = 'AIO_COMMUNITY_CONTAINERS';
$configName = 'aio_community_containers';
$defaultValue = '';
return $this->GetEnvironmentalVariableOrConfig($envVariableName, $configName, $defaultValue);
$config = $this->GetConfig();
if(!isset($config['aio_community_containers'])) {
$config['aio_community_containers'] = '';
}
return $config['aio_community_containers'];
}
public function GetEnabledCommunityContainers() : array {
public function listAvailableCommunityContainers() : array {
$cc = [];
$dir = scandir(DataConst::GetCommunityContainersDirectory());
if ($dir === false) {
return $cc;
}
// Get rid of dots from the scandir command
$dir = array_diff($dir, array('..', '.', 'readme.md'));
foreach ($dir as $id) {
$filePath = DataConst::GetCommunityContainersDirectory() . '/' . $id . '/' . $id . '.json';
$fileContents = apcu_fetch($filePath);
if (!is_string($fileContents)) {
$fileContents = file_get_contents($filePath);
if (is_string($fileContents)) {
apcu_add($filePath, $fileContents);
}
}
$json = is_string($fileContents) ? json_decode($fileContents, true) : false;
if(is_array($json) && is_array($json['aio_services_v1'])) {
foreach ($json['aio_services_v1'] as $service) {
$documentation = is_string($service['documentation']) ? $service['documentation'] : '';
if (is_string($service['display_name'])) {
$cc[$id] = [
'id' => $id,
'name' => $service['display_name'],
'documentation' => $documentation
];
}
break;
}
}
}
return $cc;
}
/** @return list<string> */
public function GetEnabledCommunityContainers(): array {
return explode(' ', $this->GetCommunityContainers());
}
public function SetEnabledCommunityContainers(array $enabledCommunityContainers) : void {
$config = $this->GetConfig();
$config['aio_community_containers'] = implode(' ', $enabledCommunityContainers);
$this->WriteConfig($config);
}
private function GetEnabledDriDevice() : string {
$envVariableName = 'NEXTCLOUD_ENABLE_DRI_DEVICE';
$configName = 'nextcloud_enable_dri_device';

View File

@@ -17,7 +17,7 @@
<div class="container">
<main>
<h1>Nextcloud AIO v10.14.0</h1>
<h1>Nextcloud AIO v11.2.1</h1>
{# Add 2nd tab warning #}
<script type="text/javascript" src="second-tab-warning.js"></script>
@@ -25,6 +25,9 @@
{# timezone-prefill #}
<script type="text/javascript" src="timezone.js"></script>
{# js for optional containers and additional containers forms #}
<script type="text/javascript" src="containers-form-submit.js?v4"></script>
{% set hasBackupLocation = borg_backup_host_location or borg_remote_repo %}
{% set isAnyRunning = false %}
{% set isAnyRestarting = false %}
@@ -33,7 +36,7 @@
{% set isBackupOrRestoreRunning = false %}
{% set isApacheStarting = false %}
{# Setting newMajorVersion to '' will hide corresponding options/elements, can be set to an integer like 26 in order to show corresponding elements. If set, also increase installLatestMajor in https://github.com/nextcloud/all-in-one/blob/main/php/src/Controller/DockerController.php #}
{% set newMajorVersion = 31 %}
{% set newMajorVersion = '' %}
{% if is_backup_container_running == true %}
{% if borg_backup_mode == 'backup' or borg_backup_mode == 'restore' %}
@@ -602,6 +605,7 @@
</form>
{% endif %}
{% endif %}
{{ include('includes/community-containers.twig') }}
{% endif %}
{% endif %}
{% endif %}

View File

@@ -0,0 +1,42 @@
<h2>Community Containers</h2>
<p>In this section you can enable or disable optional Community Containers that are not included by default in the main installation. These containers are provided by the community and can be useful for various purposes and are automatically integrated in AIOs backup solution and update mechanisms.</p>
<p><strong>⚠️ Caution: </strong>Community Containers are maintained by the community and not officially by Nextcloud. Some containers may not be compatible with your system, may not work as expected or may discontinue. Use them at your own risk. Please read the documentation for each container first before adding any as some are also incompatible between each other! Never add all of them at the same time!</p>
{% if isAnyRunning == true %}
<p><strong>Please note:</strong> You can enable or disable the options below only when your containers are stopped.</p>
{% else %}
<p><strong>Please note:</strong> Make sure to save your changes by clicking <strong>Save changes</strong> below the list of Community Containers. The changes will not be auto-saved.</p>
{% endif %}
<details>
<summary>Show/Hide available Community Containers</summary>
<form id="community-form" method="POST" action="/api/configuration" class="xhr">
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
<input type="hidden" name="community-form" value="community-form">
{% for cc in community_containers %}
<p>
<input
type="checkbox"
id="{{ cc.id }}"
value="{{ cc.id }}"
name="{{ cc.id }}"
{% if cc.id in community_containers_enabled %}
checked="checked"
data-initial-state="true"
{% else %}
data-initial-state="false"
{% endif %}
{% if isAnyRunning == true %}
disabled="disabled"
{% endif %}
>
<label for="{{ cc.id }}">{{ cc.name }}
{% if cc.documentation != '' %}
<a href="{{ cc.documentation }}" target="_blank">(Documentation)</a>
{% endif %}
</label>
</p>
{% endfor %}
<input id="community-form-submit" type="submit" value="Save changes" onclick="return confirm('Are you sure that you read the documentation of all community containers that you enabled? If no, please do not continue as this might break your instance!')" />
</form>
</details>

View File

@@ -1,5 +1,5 @@
<h2>Optional containers</h2>
<p>In this section you can enable or disable optional containers. There are further community containers available that are not listed below. See <strong><a target="_blank" href="https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers">this documentation</a></strong> how to add them.</p>
<p>In this section you can enable or disable optional containers.</p>
{% if isAnyRunning == true %}
<p><strong>Please note:</strong> You can enable or disable the options below only when your containers are stopped.</p>
{% else %}
@@ -143,7 +143,6 @@
<label for="whiteboard">Whiteboard</label>
</p>
<input id="options-form-submit" type="submit" value="Save changes" />
<script type="text/javascript" src="options-form-submit.js?v3"></script>
</form>
<p><strong>Minimal system requirements:</strong> When any optional container is enabled, at least 2GB RAM, a dual-core CPU and 40GB system storage are required. When enabling ClamAV, Nextcloud Talk Recording-server or Fulltextsearch, at least 3GB RAM are required. For Talk Recording-server additional 2 vCPUs are required. When enabling everything, at least 5GB RAM and a quad-core CPU are required. Recommended are at least 1GB more RAM than the minimal requirement. For further advice and recommendations see <strong><a target="_blank" href="https://github.com/nextcloud/all-in-one/discussions/1335">this documentation</a></strong></p>
{% if isAnyRunning == true %}

View File

@@ -1,7 +1,7 @@
<html>
<head>
<title>AIO</title>
<link rel="stylesheet" href="/style.css?v4" media="all" />
<link rel="stylesheet" href="/style.css?v5" media="all" />
<link rel="icon" href="/img/favicon.png">
<script type="text/javascript" src="forms.js"></script>
<script type="text/javascript" src="toggle-dark-mode.js"></script>

View File

@@ -81,6 +81,9 @@ Included are:
| ![image](https://github.com/user-attachments/assets/6ef5d7b5-86f2-402c-bc6c-b633af2ca7dd) | ![image](https://github.com/user-attachments/assets/939d0fdf-436f-433d-82d3-27548263a040) |
## How to use this?
>[!WARNING]
> You should first make sure that you are not using docker installed via snap. You can check this by running `sudo docker info | grep "Docker Root Dir" | grep "/var/snap/docker/"`. If the output should contain the mentioned string `/var/snap/docker/`, you should first uninstall docker snap via `sudo snap remove docker` and then follow the instructions below. ⚠️ Attention: only run the command if this is a clean new docker installation and you are not running any service already using this.
> [!NOTE]
> The following instructions are meant for installations without a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else) already being in place. If you want to run AIO behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else), see the [reverse proxy documentation](https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md). Also, the instructions below are especially meant for Linux. For macOS see [this](#how-to-run-aio-on-macos), for Windows see [this](#how-to-run-aio-on-windows) and for Synology see [this](#how-to-run-aio-on-synology-dsm).
@@ -567,16 +570,16 @@ On older TrueNAS SCALE releases with Kubernetes environment, there are two ways
Another but untested way is to install Portainer on your TrueNAS SCALE from here https://truecharts.org/charts/stable/portainer/installation-notes and add the Helm-chart repository https://nextcloud.github.io/all-in-one/ into Portainer by following https://docs.portainer.io/user/kubernetes/helm. More docs on AIOs Helm Chart are available here: https://github.com/nextcloud/all-in-one/tree/main/nextcloud-aio-helm-chart#nextcloud-aio-helm-chart.
### How to run `occ` commands?
Simply run the following: `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ your-command`. Of course `your-command` needs to be exchanged with the command that you want to run.
Simply run the following: `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ your-command`. Of course `your-command` needs to be exchanged with the command that you want to run. **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
### How to resolve `Security & setup warnings displays the "missing default phone region" after initial install`?
Simply run the following command: `sudo docker exec --user www-data nextcloud-aio-nextcloud php occ config:system:set default_phone_region --value="yourvalue"`. Of course you need to modify `yourvalue` based on your location. Examples are `DE`, `US` and `GB`. See this list for more codes: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements
Simply run the following command: `sudo docker exec --user www-data nextcloud-aio-nextcloud php occ config:system:set default_phone_region --value="yourvalue"`. Of course you need to modify `yourvalue` based on your location. Examples are `DE`, `US` and `GB`. See this list for more codes: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
### How to run multiple AIO instances on one server?
See [multiple-instances.md](./multiple-instances.md) for some documentation on this.
### Bruteforce protection FAQ
Nextcloud features a built-in bruteforce protection which may get triggered and will block an ip-address or disable a user. You can unblock an ip-address by running `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ security:bruteforce:reset <ip-address>` and enable a disabled user by running `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ user:enable <name of user>`. See https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html#security for further information.
Nextcloud features a built-in bruteforce protection which may get triggered and will block an ip-address or disable a user. You can unblock an ip-address by running `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ security:bruteforce:reset <ip-address>` and enable a disabled user by running `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ user:enable <name of user>`. See https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html#security for further information. **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
### How to switch the channel?
You can switch to a different channel like e.g. the beta channel or from the beta channel back to the latest channel by stopping the mastercontainer, removing it (no data will be lost) and recreating the container using the same command that you used initially to create the mastercontainer. You simply need to change the last line `ghcr.io/nextcloud-releases/all-in-one:latest` to `ghcr.io/nextcloud-releases/all-in-one:beta` and vice versa.
@@ -658,10 +661,10 @@ Since Podman is not 100% compatible with the Docker API, Podman is not supported
### Access/Edit Nextcloud files/folders manually
The files and folders that you add to Nextcloud are by default stored in the following docker directory: `nextcloud_aio_nextcloud:/mnt/ncdata/` (usually `/var/lib/docker/volumes/nextcloud_aio_nextcloud_data/_data/` on linux host systems). If needed, you can modify/add/delete files/folders there but **ATTENTION**: be very careful when doing so because you might corrupt your AIO installation! Best is to create a backup using the built-in backup solution before editing/changing files/folders in there because you will then be able to restore your instance to the backed up state.
After you are done modifying/adding/deleting files/folders, don't forget to apply the correct permissions by running: `sudo docker exec nextcloud-aio-nextcloud chown -R 33:0 /mnt/ncdata/` and `sudo docker exec nextcloud-aio-nextcloud chmod -R 750 /mnt/ncdata/` and rescan the files with `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ files:scan --all`.
After you are done modifying/adding/deleting files/folders, don't forget to apply the correct permissions by running: `sudo docker exec nextcloud-aio-nextcloud chown -R 33:0 /mnt/ncdata/` and `sudo docker exec nextcloud-aio-nextcloud chmod -R 750 /mnt/ncdata/` and rescan the files with `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ files:scan --all`. **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
### How to edit Nextclouds config.php file with a texteditor?
You can edit Nextclouds config.php file directly from the host with your favorite text editor. E.g. like this: `sudo docker run -it --rm --volume nextcloud_aio_nextcloud:/var/www/html:rw alpine sh -c "apk add --no-cache nano && nano /var/www/html/config/config.php"`. Make sure to not break the file though which might corrupt your Nextcloud instance otherwise. In best case, create a backup using the built-in backup solution before editing the file.
You can edit Nextclouds config.php file directly from the host with your favorite text editor. E.g. like this: `sudo docker run -it --rm --volume nextcloud_aio_nextcloud:/var/www/html:rw alpine sh -c "apk add --no-cache nano && nano /var/www/html/config/config.php"`. Make sure to not break the file though which might corrupt your Nextcloud instance otherwise. In best case, create a backup using the built-in backup solution before editing the file. **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
### How to change default files by creating a custom skeleton directory?
All users see a set of [default files and folders](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/default_files_configuration.html) as dictated by Nextcloud's configuration. To change these default files and folders a custom skeleton directory must first be created; this can be accomplished by copying your skeleton files `sudo docker cp --follow-link /path/to/nextcloud/skeleton/ nextcloud-aio-nextcloud:/mnt/ncdata/skeleton/`, applying the correct permissions with `sudo docker exec nextcloud-aio-nextcloud chown -R 33:0 /mnt/ncdata/skeleton/` and `sudo docker exec nextcloud-aio-nextcloud chmod -R 750 /mnt/ncdata/skeleton/` and setting the skeleton directory option with `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:system:set skeletondirectory --value="/mnt/ncdata/skeleton"`. Further information is available in the Nextcloud documentation on [configuration parameters for the skeleton directory](https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/config_sample_php_parameters.html#skeletondirectory).
@@ -736,7 +739,7 @@ Afterwards apply the correct permissions with `sudo chown root:root /root/automa
1. save and close the crontab (when using nano the shortcuts for this are `Ctrl + o` then `Enter` to save, and close the editor with `Ctrl + x`).
### Securing the AIO interface from unauthorized ACME challenges
[By design](https://github.com/nextcloud/all-in-one/discussions/4882#discussioncomment-9858384), Caddy that runs inside the mastercontainer, which handles automatic TLS certificate generation for the AIO interface, is vulnerable to receiving DNS challenges for arbitrary hostnames from anyone on the internet. While this does not compromise your server's security, it can result in cluttered logs and rejected certificate renewal attempts due to rate limit abuse. To mitigate this issue, it is recommended to place the AIO interface behind a VPN and/or limit its public exposure.
[By design](https://github.com/nextcloud/all-in-one/discussions/4882#discussioncomment-9858384), Caddy that runs inside the mastercontainer, which handles automatic TLS certificate generation for the AIO interface on port 8443, is configured to accept traffic on any valid domain in order to make the AIO interface as convenient to use as possible. However due to this, it is vulnerable to receiving DNS challenges for arbitrary hostnames from anyone on the internet. While this does not compromise your server's security, it can result in cluttered logs and rejected certificate renewal attempts due to rate limit abuse. To mitigate this issue, it is recommended to place the AIO interface behind a VPN and/or limit its public exposure.
### How to migrate from an already existing Nextcloud installation to Nextcloud AIO?
Please see the following documentation on this: [migration.md](https://github.com/nextcloud/all-in-one/blob/main/migration.md)
@@ -801,7 +804,7 @@ If you have the borg backup feature enabled, you can copy it over to the new hos
1. Note the path where the backups are stored and the encryption password
1. Navigate to the backup folder
1. Create archive of the backup so it's easier to copy: `tar -czvf borg.tar.gz borg`
1. Copy the archive over to the new host: `cp borg.tar.gz user@new.host:/mnt`. Make sure to replace `user` with your actual user and `new.host` with the IP or domain of the actual host. You can also use another way to copy the archive.
1. Copy the archive over to the new host: `scp borg.tar.gz user@new.host:/mnt`. Make sure to replace `user` with your actual user and `new.host` with the IP or domain of the actual host. You can also use another way to copy the archive.
1. Switch to the new host
1. Go to the folder you put the backup archive and extract it with `tar -xf borg.tar.gz`
1. Follow the installation guide to create a new aio instance, but do not start the containers yet (the `docker run` or `docker compose up -d` command)
@@ -820,7 +823,7 @@ Backing up directly to a remote borg repository is supported. This avoids having
Some alternatives, which do not have all the above benefits:
- Mount a network FS like SSHFS, SMB or NFS in the directory that you enter in AIO as backup directory
- Use rsync or rclone for syncing the borg backup archive that AIO creates locally to a remote target (make sure to lock the backup archive correctly before starting the sync; search for "aio-lockfile"; you can find a local example script here: https://github.com/nextcloud/all-in-one#sync-the-backup-regularly-to-another-drive)
- Use rsync or rclone for syncing the borg backup archive that AIO creates locally to a remote target (make sure to lock the backup archive correctly before starting the sync; search for "aio-lockfile"; you can find a local example script here: https://github.com/nextcloud/all-in-one#sync-local-backups-regularly-to-another-drive)
- You can find a well written guide that uses rclone and e.g. BorgBase for remote backups here: https://github.com/nextcloud/all-in-one/discussions/2247
- Here is another one that utilizes borgmatic and BorgBase for remote backups: https://github.com/nextcloud/all-in-one/discussions/4391
- create your own backup solution using a script and borg, borgmatic or any other to backup tool for backing up to a remote target (make sure to stop and start the AIO containers correctly following https://github.com/nextcloud/all-in-one#how-to-enable-automatic-updates-without-creating-a-backup-beforehand)
@@ -1057,7 +1060,7 @@ Netdata allows you to monitor your server using a GUI. You can install it by fol
If you want to use the user_sql app, the easiest way is to create an additional database container and add it to the docker network `nextcloud-aio`. Then the Nextcloud container should be able to talk to the database container using its name.
### phpMyAdmin, Adminer or pgAdmin
It is possible to install any of these to get a GUI for your AIO database. The pgAdmin container is recommended. You can get some docs on it here: https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html. For the container to connect to the aio-database, you need to connect the container to the docker network `nextcloud-aio` and use `nextcloud-aio-database` as database host, `oc_nextcloud` as database username and the password that you get when running `sudo docker exec nextcloud-aio-nextcloud grep dbpassword config/config.php` as the password. Apart from that there is now a way for the community to add containers: https://github.com/nextcloud/all-in-one/discussions/3061#discussioncomment-7307045
It is possible to install any of these to get a GUI for your AIO database. The pgAdmin container is recommended. You can get some docs on it here: https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html. For the container to connect to the aio-database, you need to connect the container to the docker network `nextcloud-aio` and use `nextcloud-aio-database` as database host, `oc_nextcloud` as database username and the password that you get when running `sudo docker exec nextcloud-aio-nextcloud grep dbpassword config/config.php` as the password. Apart from that there is now a way for the community to add containers: https://github.com/nextcloud/all-in-one/discussions/3061#discussioncomment-7307045 **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
### Mail server
You can configure one yourself by using either of these four recommended projects: [Docker Mailserver](https://github.com/docker-mailserver/docker-mailserver/#docker-mailserver), [Mailu](https://github.com/Mailu/Mailu), [Maddy Mail Server](https://github.com/foxcpp/maddy#maddy-mail-server), [Mailcow](https://github.com/mailcow/mailcow-dockerized#mailcow-dockerized-------) or [Stalwart](https://stalw.art/). There is now a community container which allows to easily add Stalwart Mail server to AIO: https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart

View File

@@ -273,7 +273,7 @@ Although it does not seem like it is the case but from AIO perspective a Cloudfl
⚠️ **Please note:** look into [this](#adapting-the-sample-web-server-configurations-below) to adapt the above example configuration.
1. Now continue with [point 2](#2-use-this-startup-command) but add `--env SKIP_DOMAIN_VALIDATION=true` to the docker run command - which will disable the domain validation (because it is known that the domain validation will not work behind a Cloudflare Tunnel).
**Advice:** Make sure to [disable Cloudflares Rocket Loader feature](https://help.nextcloud.com/t/login-page-not-working-solved/149417/8) as otherwise Nextcloud's login prompt will not be shown.
**Advice:** Make sure to [disable Cloudflare's Rocket Loader feature](https://help.nextcloud.com/t/login-page-not-working-solved/149417/8) as otherwise Nextcloud's login prompt will not be shown.
</details>
@@ -745,6 +745,89 @@ The examples below define the dynamic configuration in YAML files. If you rather
</details>
### Traefik 3
<details>
<summary>click here to expand</summary>
**Disclaimer:** it might be possible that the config below is not working 100% correctly, yet. Improvements to it are very welcome!
Traefik's building blocks (router, service, middlewares) need to be defined using dynamic configuration similar to [this](https://doc.traefik.io/traefik/providers/file/#configuration-examples) official Traefik configuration example. Using **docker labels _won't work_** because of the nature of the project.
The examples below define the dynamic configuration in YAML files. If you rather prefer TOML, use a YAML to TOML converter.
1. In Traefik's static configuration define a [file provider](https://doc.traefik.io/traefik/providers/file/) for dynamic providers:
```yml
# STATIC CONFIGURATION
entryPoints:
https:
address: ":443" # Create an entrypoint called "https" that uses port 443
# If you want to enable HTTP/3 support, uncomment the line below
# http3: {}
certificatesResolvers:
# Define "letsencrypt" certificate resolver
letsencrypt:
acme:
storage: /letsencrypt/acme.json # Defines the path where certificates should be stored
email: <your-email-address> # Where LE sends notification about certificates expiring
tlschallenge: true
providers:
file:
directory: "/path/to/dynamic/conf" # Adjust the path according your needs.
watch: true
```
2. Declare the router, service and middlewares for Nextcloud in `/path/to/dynamic/conf/nextcloud.yml`:
```yml
http:
routers:
nextcloud:
rule: "Host(`<your-nc-domain>`)"
entrypoints:
- "https"
service: nextcloud
middlewares:
- nextcloud-chain
tls:
certresolver: "letsencrypt"
services:
nextcloud:
loadBalancer:
servers:
- url: "http://localhost:11000" # Adjust to match APACHE_PORT and APACHE_IP_BINDING. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#adapting-the-sample-web-server-configurations-below
middlewares:
nextcloud-secure-headers:
headers:
hostsProxyHeaders:
- "X-Forwarded-Host"
referrerPolicy: "same-origin"
https-redirect:
redirectscheme:
scheme: https
nextcloud-chain:
chain:
middlewares:
# - ... (e.g. rate limiting middleware)
- https-redirect
- nextcloud-secure-headers
```
---
⚠️ **Please note:** look into [this](#adapting-the-sample-web-server-configurations-below) to adapt the above example configuration.
</details>
### IIS with ARR and URL Rewrite
<details>

View File

@@ -24,6 +24,5 @@ See https://github.com/nextcloud/all-in-one#how-to-trust-user-defined-certificat
- [ ] When starting the mastercontainer with `--env NEXTCLOUD_ENABLE_DRI_DEVICE=true`, the resulting Nextcloud container should have the /dev/dri device mounted into the container. (Only works if a `/dev/dri` device is present on the host)
- [ ] When starting the mastercontainer with `--env NEXTCLOUD_ENABLE_NVIDIA_GPU=true`, the resulting Nextcloud container should have the nvidia gpu device mounted into the container. (Only works if a Nvidia GPU and runtime is installed on the host)
- [ ] When starting the mastercontainer with `--env NEXTCLOUD_KEEP_DISABLED_APPS=true` it should keep apps in Nextcloud that are disabled in the AIO interface. For example if Collabora is disabled in the AIO interface and you install the richdocuments app in Nextcloud, a restart should not uninstall the richdocuments app in Nextcloud anymore.
- [ ] When starting the mastercontainer with `--env AIO_COMMUNITY_CONTAINERS="fail2ban"`, it should add the fail2ban container to the container stack and show it in the AIO interface as well as start it, etc.
You can now continue with [070-timezone-change.md](./070-timezone-change.md)