Compare commits

...

193 Commits

Author SHA1 Message Date
Simon L.
0f84872fbf fix start and update of containers after #6702
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-08-29 11:21:42 +02:00
Simon L.
5f067cc03e clamav: fix initial freshclam update
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-08-29 11:00:37 +02:00
Simon L.
76be50d42d increase to 11.7.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-08-29 10:52:06 +02:00
Lorenzo Moscati
2e54b15544 Add docs how to adjust MTU size of the docker network (#6779)
Signed-off-by: Lorenzo Moscati <lorenzo@moscati.page>
2025-08-29 10:16:13 +02:00
Simon L.
dd71fd3be3 Merge pull request #6806 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.3.25-fpm-alpine3.22
build(deps): bump php from 8.3.24-fpm-alpine3.22 to 8.3.25-fpm-alpine3.22 in /Containers/nextcloud
2025-08-29 08:41:18 +02:00
Simon L.
80fabe720a Merge pull request #6805 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.4.12-fpm-alpine3.22
build(deps): bump php from 8.4.11-fpm-alpine3.22 to 8.4.12-fpm-alpine3.22 in /Containers/mastercontainer
2025-08-29 08:40:56 +02:00
dependabot[bot]
b9a8409047 build(deps): bump php in /Containers/nextcloud
Bumps php from 8.3.24-fpm-alpine3.22 to 8.3.25-fpm-alpine3.22.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-29 04:20:39 +00:00
dependabot[bot]
e2518d93a8 build(deps): bump php in /Containers/mastercontainer
Bumps php from 8.4.11-fpm-alpine3.22 to 8.4.12-fpm-alpine3.22.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-29 04:20:22 +00:00
Simon L.
3badbf2d05 compose.yaml: move the security_opt setting up for easier discovery
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-08-28 15:59:37 +02:00
Simon L.
074418dc73 Merge pull request #6798 from nextcloud/enh/6797/adjust-permissions
clamav: set permissions for `/var/lib/clamav` correctly
2025-08-28 11:09:11 +02:00
Simon L.
a2394e4621 clamav: set permissions for /var/lib/clamav correctly
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-08-28 10:28:14 +02:00
Simon L.
d05dca85ea Merge pull request #6800 from nextcloud/dependabot/docker/Containers/apache/caddy-2.10.2-alpine
build(deps): bump caddy from 2.10.0-alpine to 2.10.2-alpine in /Containers/apache
2025-08-28 09:10:09 +02:00
Simon L.
2a49bfff20 Merge pull request #6799 from nextcloud/dependabot/docker/Containers/mastercontainer/caddy-2.10.2-alpine
build(deps): bump caddy from 2.10.0-alpine to 2.10.2-alpine in /Containers/mastercontainer
2025-08-28 09:09:48 +02:00
dependabot[bot]
1e579b049e build(deps): bump caddy in /Containers/apache
Bumps caddy from 2.10.0-alpine to 2.10.2-alpine.

---
updated-dependencies:
- dependency-name: caddy
  dependency-version: 2.10.2-alpine
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-28 05:55:45 +00:00
dependabot[bot]
bc04ee6aea build(deps): bump caddy in /Containers/mastercontainer
Bumps caddy from 2.10.0-alpine to 2.10.2-alpine.

---
updated-dependencies:
- dependency-name: caddy
  dependency-version: 2.10.2-alpine
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-28 05:49:58 +00:00
Simon L.
0d5da95a66 Merge pull request #6796 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-25.04.5.1.1
build(deps): bump collabora/code from 25.04.4.3.1 to 25.04.5.1.1 in /Containers/collabora
2025-08-27 18:08:10 +02:00
dependabot[bot]
681cd2cb17 build(deps): bump collabora/code in /Containers/collabora
Bumps collabora/code from 25.04.4.3.1 to 25.04.5.1.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-27 13:55:56 +00:00
Simon L.
4cdf43f551 Merge pull request #6789 from nextcloud/dependabot/github_actions/dot-github/workflows/shivammathur/setup-php-2.35.4
build(deps): bump shivammathur/setup-php from 2.35.3 to 2.35.4 in /.github/workflows
2025-08-26 11:57:53 +02:00
dependabot[bot]
6d44c1d477 build(deps): bump shivammathur/setup-php in /.github/workflows
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.35.3 to 2.35.4.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](20529878ed...ec406be512)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-26 01:05:44 +00:00
Simon L.
a5010cca87 Merge pull request #6787 from nextcloud/aio-dependency-update
PHP dependency updates
2025-08-25 14:28:23 +02:00
szaimen
913179c7a6 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-25 12:13:50 +00:00
Simon L.
c5d236eed8 Merge pull request #6786 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-25.04.4.3.1
build(deps): bump collabora/code from 25.04.4.2.1 to 25.04.4.3.1 in /Containers/collabora
2025-08-25 09:20:19 +02:00
dependabot[bot]
0ddc2d4ea9 build(deps): bump collabora/code in /Containers/collabora
Bumps collabora/code from 25.04.4.2.1 to 25.04.4.3.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-25 06:43:28 +00:00
Simon L.
3cd087a3e3 Merge pull request #6784 from nextcloud/aio-dependency-update
PHP dependency updates
2025-08-24 15:35:16 +02:00
szaimen
676398f3af php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-24 12:02:49 +00:00
Simon L.
f9f3a037d5 Merge pull request #6783 from nextcloud/aio-dependency-update
PHP dependency updates
2025-08-23 14:33:36 +02:00
szaimen
52975f35ee php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-23 12:02:56 +00:00
Simon L.
2efc19a389 Merge pull request #6781 from nextcloud/aio-yaml-update
Yaml updates
2025-08-22 14:07:53 +02:00
szaimen
13b09e2497 Yaml updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-22 12:03:41 +00:00
Simon L.
40391452ab Merge pull request #6765 from nextcloud/dependabot/docker/Containers/whiteboard/nextcloud-releases/whiteboard-v1.1.3
build(deps): bump nextcloud-releases/whiteboard from v1.1.2 to v1.1.3 in /Containers/whiteboard
2025-08-22 13:54:19 +02:00
Simon L.
dd97930c11 Merge pull request #6758 from nextcloud/dependabot/docker/Containers/talk-recording/python-3.13.7-alpine3.22
build(deps): bump python from 3.13.6-alpine3.22 to 3.13.7-alpine3.22 in /Containers/talk-recording
2025-08-22 13:54:08 +02:00
Simon L.
3ebe97d020 Merge pull request #6753 from nextcloud/dependabot/docker/Containers/talk/nats-2.11.8-scratch
build(deps): bump nats from 2.11.7-scratch to 2.11.8-scratch in /Containers/talk
2025-08-22 13:53:55 +02:00
Simon L.
73324bc062 Merge pull request #6752 from nextcloud/dependabot/docker/Containers/postgresql/postgres-17.6-alpine
build(deps): bump postgres from 17.5-alpine to 17.6-alpine in /Containers/postgresql
2025-08-22 13:53:41 +02:00
Simon L.
e6a1c45450 Merge pull request #6747 from nextcloud/aio-dependency-update
PHP dependency updates
2025-08-22 13:53:31 +02:00
Simon L.
51b32578a2 Merge pull request #6760 from nextcloud/talk-container-update
talk container update
2025-08-22 13:51:58 +02:00
Simon L.
423ba1cc3c talk: update script to use the new urls syntax
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-08-22 13:51:35 +02:00
Simon L.
ad9d877289 Merge pull request #6766 from nextcloud/dependabot/docker/Containers/talk/strukturag/nextcloud-spreed-signaling-2.0.4
build(deps): bump strukturag/nextcloud-spreed-signaling from 2.0.3 to 2.0.4 in /Containers/talk
2025-08-22 13:49:14 +02:00
Alan Savage
dd495d76a1 Add support for bypass_container_update param for easier local build and testing (#6702)
Signed-off-by: Alan Savage <3028205+asavageiv@users.noreply.github.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: Alan Savage <asavageiv@users.noreply.github.com>
Co-authored-by: Alan Savage <asavage@ifrit.internal>
Co-authored-by: Alan Savage <3028205+asavageiv@users.noreply.github.com>
Co-authored-by: Simon L. <szaimen@e.mail.de>
2025-08-22 13:47:29 +02:00
Alan Savage
49aa732ec5 add CGNAT range to Caddy and document support for additional trusted proxies to rp docs (#6703)
Signed-off-by: Alan Savage <3028205+asavageiv@users.noreply.github.com>
Signed-off-by: Alan Savage <asavageiv@users.noreply.github.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
Co-authored-by: Alan Savage <3028205+asavageiv@users.noreply.github.com>
Co-authored-by: Simon L. <szaimen@e.mail.de>
2025-08-22 13:43:55 +02:00
Simon L.
4b4184f248 Merge pull request #6777 from nextcloud/enh/6776/add-further-caps
collabora: add further caps
2025-08-22 13:38:32 +02:00
Simon L.
8764307d68 Merge pull request #6770 from nextcloud/ench/noid/stalwart-clamav
stalwart: add support for ClamAV
2025-08-22 13:38:17 +02:00
Simon L.
51a9d47c74 Merge pull request #6780 from nextcloud/aio-helm-update
Helm Chart updates
2025-08-22 13:37:59 +02:00
szaimen
c3d1d96d19 Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-22 11:32:53 +00:00
Simon L.
f0f023346a Merge pull request #6778 from lavocatt/docs
readme: docs for moving install to different drive: use force to prune docker resources
2025-08-21 16:28:51 +02:00
Thomas Lavocat
afde995ac6 documentation: use force to prune docker resources
In the documentation there is reference of a manipulation to perform in
case the collabora container is missing some permissions to access the
filesystem, however `docker system prune` might not clean what's needed.
Adding `-a` is very broad however but will most definitely clean the
image.

Fixes #6776

Signed-off-by: Thomas Lavocat <tlavocat@redhat.com>
2025-08-21 16:23:55 +02:00
Simon L.
1e750fdcf6 collabora: add further caps
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-08-21 15:05:59 +02:00
szaimen
3e71a789e1 talk-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-21 12:04:43 +00:00
szaimen
0eb6bceb6f php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-21 12:03:50 +00:00
Jean-Yves
9ffb91bd04 Update stalwart.json
Signed-off-by: Jean-Yves <7360784+docjyJ@users.noreply.github.com>
2025-08-20 22:23:09 +02:00
Simon L.
6d147a99cf Merge pull request #6769 from nextcloud/dependabot/github_actions/dot-github/workflows/azure/setup-helm-4.3.1
build(deps): bump azure/setup-helm from 4.3.0 to 4.3.1 in /.github/workflows
2025-08-20 15:44:33 +02:00
dependabot[bot]
74b8363f9d build(deps): bump azure/setup-helm in /.github/workflows
Bumps [azure/setup-helm](https://github.com/azure/setup-helm) from 4.3.0 to 4.3.1.
- [Release notes](https://github.com/azure/setup-helm/releases)
- [Changelog](https://github.com/Azure/setup-helm/blob/main/CHANGELOG.md)
- [Commits](b9e51907a0...1a275c3b69)

---
updated-dependencies:
- dependency-name: azure/setup-helm
  dependency-version: 4.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-20 13:17:33 +00:00
dependabot[bot]
01dc07e8f1 build(deps): bump strukturag/nextcloud-spreed-signaling
Bumps strukturag/nextcloud-spreed-signaling from 2.0.3 to 2.0.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-19 16:10:27 +00:00
dependabot[bot]
25f0021a81 build(deps): bump nextcloud-releases/whiteboard
Bumps nextcloud-releases/whiteboard from v1.1.2 to v1.1.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-19 14:25:49 +00:00
dependabot[bot]
149febb8d3 build(deps): bump python in /Containers/talk-recording
Bumps python from 3.13.6-alpine3.22 to 3.13.7-alpine3.22.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-18 07:51:58 +00:00
dependabot[bot]
de2dfcc7ed build(deps): bump nats in /Containers/talk
Bumps nats from 2.11.7-scratch to 2.11.8-scratch.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-15 04:44:08 +00:00
dependabot[bot]
b9e52fef5c build(deps): bump postgres in /Containers/postgresql
Bumps postgres from 17.5-alpine to 17.6-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-15 04:44:01 +00:00
Simon L.
1ba5cca0c5 increase to 11.6.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-08-14 11:16:31 +02:00
Simon L.
d0ba9278f9 Merge pull request #6743 from nextcloud/enh/noid/add-safeguard-to-fts
nextcloud-entrypoint: do not wait indefinitely if FTS is not reachable
2025-08-14 10:40:45 +02:00
Simon L.
845774553e Merge pull request #6746 from nextcloud/nextcloud-container-update
Nextcloud dependency update
2025-08-14 10:36:44 +02:00
szaimen
c665bdf636 nextcloud-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-14 08:36:10 +00:00
Simon L.
9ebd91c3b3 Merge pull request #6745 from nextcloud/dependabot/docker/Containers/imaginary/golang-1.25.0-alpine3.22
build(deps): bump golang from 1.24.6-alpine3.22 to 1.25.0-alpine3.22 in /Containers/imaginary
2025-08-14 07:43:15 +02:00
Simon L.
49c994145c Merge pull request #6744 from nextcloud/dependabot/docker/Containers/docker-socket-proxy/haproxy-3.2.4-alpine
build(deps): bump haproxy from 3.2.3-alpine to 3.2.4-alpine in /Containers/docker-socket-proxy
2025-08-14 07:42:47 +02:00
dependabot[bot]
d6c20a3ea3 build(deps): bump golang in /Containers/imaginary
Bumps golang from 1.24.6-alpine3.22 to 1.25.0-alpine3.22.

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.25.0-alpine3.22
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-14 05:13:40 +00:00
dependabot[bot]
a429bf7b0f build(deps): bump haproxy in /Containers/docker-socket-proxy
Bumps haproxy from 3.2.3-alpine to 3.2.4-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-14 05:12:21 +00:00
Simon L.
4f07118a37 nextcloud-entrypoint: do not wait indefinitely if FTS is not reachable
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-08-13 14:05:31 +02:00
Simon L.
6e983c6a17 Merge pull request #6741 from nextcloud/dependabot/docker/Containers/watchtower/nicholas-fedor/watchtower-v1.11.7
build(deps): bump nicholas-fedor/watchtower from 1.11.6 to v1.11.7 in /Containers/watchtower
2025-08-13 08:23:36 +02:00
Simon L.
9dd23aa405 Merge pull request #6740 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.19.2
build(deps): bump elasticsearch from 8.19.1 to 8.19.2 in /Containers/fulltextsearch
2025-08-13 08:22:08 +02:00
dependabot[bot]
78c4d56fcf build(deps): bump nicholas-fedor/watchtower in /Containers/watchtower
Bumps [nicholas-fedor/watchtower](https://github.com/nicholas-fedor/watchtower) from 1.11.6 to v1.11.7.
- [Release notes](https://github.com/nicholas-fedor/watchtower/releases)
- [Commits](https://github.com/nicholas-fedor/watchtower/compare/v1.11.6...v1.11.7)

---
updated-dependencies:
- dependency-name: nicholas-fedor/watchtower
  dependency-version: v1.11.7
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-13 05:35:22 +00:00
dependabot[bot]
005544b308 build(deps): bump elasticsearch in /Containers/fulltextsearch
Bumps elasticsearch from 8.19.1 to 8.19.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-13 05:34:30 +00:00
Simon L.
685f3269a9 Merge pull request #6738 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.19.1
build(deps): bump elasticsearch from 8.19.0 to 8.19.1 in /Containers/fulltextsearch
2025-08-12 13:36:47 +02:00
dependabot[bot]
981bff08e6 build(deps): bump elasticsearch in /Containers/fulltextsearch
Bumps elasticsearch from 8.19.0 to 8.19.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 11:29:26 +00:00
Simon L.
45a4e9b1e2 nextcloud: update link to opcache settings docs
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-08-12 10:40:04 +02:00
Simon L.
b17648e357 Merge pull request #6736 from nextcloud/automated/noid/psalm-baseline-update
[Automated] Update psalm-baseline.xml
2025-08-12 08:46:51 +02:00
nextcloud-command
14a169068c Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2025-08-12 04:14:35 +00:00
Simon L.
59333a88b5 Merge pull request #6733 from nextcloud/dependabot/github_actions/dot-github/workflows/shivammathur/setup-php-2.35.3
build(deps): bump shivammathur/setup-php from 2.35.2 to 2.35.3 in /.github/workflows
2025-08-11 23:33:38 +02:00
dependabot[bot]
b3d550b09f build(deps): bump shivammathur/setup-php in /.github/workflows
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.35.2 to 2.35.3.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](ccf2c627fe...20529878ed)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-11 17:14:37 +00:00
Simon L.
fb8a6bdebf Merge pull request #6701 from nextcloud/enh/noid/allow-add-trusted-certs
nextcloud: allow to add  custom certs to Nextcloud's trusted cert store
2025-08-11 16:00:33 +02:00
Simon L.
7a12d5343e nextcloud: allow to add custom certs to Nextcloud's trusted cert store
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-08-11 15:26:43 +02:00
Simon L.
6abb615499 Merge pull request #6732 from nextcloud/enh/noid/fix-shellcheck
fix shellcheck
2025-08-11 14:29:38 +02:00
Simon L.
5ce5d8cf9c fix shellcheck
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-08-11 14:28:12 +02:00
Simon L.
24a39e15ab Merge pull request #6725 from nextcloud/enh/noid/print-out-clamav-version
clamav: print out version during startup of container
2025-08-11 14:22:05 +02:00
Simon L.
fecde0c092 Merge pull request #6722 from nextcloud/dependabot/docker/Containers/talk-recording/python-3.13.6-alpine3.22
build(deps): bump python from 3.13.5-alpine3.22 to 3.13.6-alpine3.22 in /Containers/talk-recording
2025-08-11 14:19:02 +02:00
Simon L.
3bde3a097d Merge pull request #6719 from nextcloud/dependabot/docker/Containers/imaginary/golang-1.24.6-alpine3.22
build(deps): bump golang from 1.24.5-alpine3.22 to 1.24.6-alpine3.22 in /Containers/imaginary
2025-08-11 14:18:43 +02:00
Simon L.
29a189ac29 update OO
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-08-11 14:18:11 +02:00
Simon L.
927733513c Merge pull request #6714 from nextcloud/dependabot/docker/Containers/talk/nats-2.11.7-scratch
build(deps): bump nats from 2.11.6-scratch to 2.11.7-scratch in /Containers/talk
2025-08-11 14:17:33 +02:00
Simon L.
98d138be33 Merge pull request #6713 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.3.24-fpm-alpine3.22
build(deps): bump php from 8.3.23-fpm-alpine3.22 to 8.3.24-fpm-alpine3.22 in /Containers/nextcloud
2025-08-11 14:17:18 +02:00
Simon L.
3b7276a8ff Merge pull request #6712 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.4.11-fpm-alpine3.22
build(deps): bump php from 8.4.10-fpm-alpine3.22 to 8.4.11-fpm-alpine3.22 in /Containers/mastercontainer
2025-08-11 14:16:58 +02:00
Simon L.
5b2101dd29 Merge pull request #6707 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.19.0
build(deps): bump elasticsearch from 8.18.4 to 8.19.0 in /Containers/fulltextsearch
2025-08-11 14:16:39 +02:00
Simon L.
1d3ac8c5b5 Merge pull request #6706 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-25.04.4.2.1
build(deps): bump collabora/code from 25.04.4.1.1 to 25.04.4.2.1 in /Containers/collabora
2025-08-11 14:16:20 +02:00
Simon L.
2bbd75cc0b Merge pull request #6704 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-28.3.3-cli
build(deps): bump docker from 28.3.2-cli to 28.3.3-cli in /Containers/mastercontainer
2025-08-11 14:16:06 +02:00
Simon L.
bf50ee2180 Merge pull request #6699 from nextcloud/nextcloud-container-update
Nextcloud dependency update
2025-08-11 14:15:26 +02:00
Simon L.
d3ec62b0eb Merge pull request #6698 from nextcloud/aio-dependency-update
PHP dependency updates
2025-08-11 14:15:11 +02:00
szaimen
3b05cfd609 nextcloud-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-11 12:14:36 +00:00
szaimen
5775a3a916 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-11 12:03:39 +00:00
Simon L.
db3fc7dc26 Merge pull request #6731 from nextcloud/aio-helm-update
Helm Chart updates
2025-08-11 14:03:11 +02:00
szaimen
1c08ae5c31 Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-11 12:01:50 +00:00
Simon L.
10b1ec5c66 clamav: print out version during startup of container
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-08-11 10:36:52 +02:00
dependabot[bot]
6b13db8be6 build(deps): bump python in /Containers/talk-recording
Bumps python from 3.13.5-alpine3.22 to 3.13.6-alpine3.22.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-08 05:15:36 +00:00
dependabot[bot]
041508ca57 build(deps): bump golang in /Containers/imaginary
Bumps golang from 1.24.5-alpine3.22 to 1.24.6-alpine3.22.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-07 04:28:30 +00:00
dependabot[bot]
2e44343e44 build(deps): bump nats in /Containers/talk
Bumps nats from 2.11.6-scratch to 2.11.7-scratch.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-05 12:50:28 +00:00
dependabot[bot]
667e191371 build(deps): bump php in /Containers/nextcloud
Bumps php from 8.3.23-fpm-alpine3.22 to 8.3.24-fpm-alpine3.22.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-05 11:27:21 +00:00
dependabot[bot]
be73586fa1 build(deps): bump php in /Containers/mastercontainer
Bumps php from 8.4.10-fpm-alpine3.22 to 8.4.11-fpm-alpine3.22.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-05 10:17:31 +00:00
dependabot[bot]
c07d66f0ee build(deps): bump elasticsearch in /Containers/fulltextsearch
Bumps elasticsearch from 8.18.4 to 8.19.0.

---
updated-dependencies:
- dependency-name: elasticsearch
  dependency-version: 8.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-01 05:07:35 +00:00
dependabot[bot]
1e8efbcaca build(deps): bump collabora/code in /Containers/collabora
Bumps collabora/code from 25.04.4.1.1 to 25.04.4.2.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-01 05:07:30 +00:00
Simon L.
d32dafffba Merge pull request #6705 from nextcloud/dependabot/github_actions/dot-github/workflows/shivammathur/setup-php-2.35.2
build(deps): bump shivammathur/setup-php from 2.35.1 to 2.35.2 in /.github/workflows
2025-07-30 15:53:43 +02:00
dependabot[bot]
5604c2bbe2 build(deps): bump shivammathur/setup-php in /.github/workflows
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.35.1 to 2.35.2.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](2282b6a082...ccf2c627fe)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-30 13:02:19 +00:00
dependabot[bot]
aa6c888234 build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 28.3.2-cli to 28.3.3-cli.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-30 04:27:25 +00:00
Simon L.
250eda8d9b Merge pull request #6700 from nextcloud/dependabot/github_actions/dot-github/workflows/shivammathur/setup-php-2.35.1
build(deps): bump shivammathur/setup-php from 2.34.1 to 2.35.1 in /.github/workflows
2025-07-29 16:52:15 +02:00
dependabot[bot]
7c65bf1942 build(deps): bump shivammathur/setup-php in /.github/workflows
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.34.1 to 2.35.1.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](0f7f1d08e3...2282b6a082)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-29 13:09:50 +00:00
Simon L.
27eac87064 restore-instance: fix domain check?
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-28 18:47:06 +02:00
Simon L.
4758f2d341 PerformRecursiveContainerStop: fix error if collabora is not enabled
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-28 18:22:09 +02:00
Simon L.
def08b898c Merge pull request #6694 from nextcloud/enh/noid/improve-playwright-tests
improve debugging of playwright.yml
2025-07-28 18:10:21 +02:00
Simon L.
8f99db7bea try to improve debugging of playwright.yml
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-28 17:58:39 +02:00
Simon L.
f2ff7451b4 initial-setup-test: adjust timeouts
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-28 16:31:19 +02:00
Simon L.
13a5116ed6 Merge pull request #6692 from nextcloud/aio-dependency-update
PHP dependency updates
2025-07-28 15:55:44 +02:00
Simon L.
5a31396e18 fix PerformRecursiveContainerStop detail
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-28 15:54:56 +02:00
Simon L.
a9303b7918 Merge pull request #6693 from nextcloud/enh/noid/allow-force-stop-nextcloud
aio-interface: allow to force-stop Nextcloud container via API
2025-07-28 14:41:11 +02:00
Simon L.
2a95bc25f9 aio-interface: allow to force-stop Nextcloud container via API
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-28 14:34:30 +02:00
szaimen
e568ee91df php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-28 12:03:49 +00:00
Simon L.
6c7c68418c Merge pull request #6685 from nextcloud/enh/4501/reduce-downtime
daily-backup: implement a dedicated imagepull before stopping containers which should reduce the downtime
2025-07-28 12:08:21 +02:00
Simon L.
b4e4e73616 daily-backup: implement a dedicated imagepull before stopping containers which should reduce the downtime
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-28 12:07:01 +02:00
Simon L.
750cd365cc Merge pull request #6686 from nextcloud/aio-yaml-update
Yaml updates
2025-07-25 14:17:44 +02:00
szaimen
001d0678dd Yaml updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-25 12:03:57 +00:00
Simon L.
c0a3e206c9 Merge pull request #6682 from nextcloud/enh/noid/inverse-stop-containers
PerformRecursiveContainerStop: Fix the stop order
2025-07-25 09:27:18 +02:00
Simon L.
adeee71982 PerformRecursiveContainerStop: Fix the stop order
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-25 09:26:09 +02:00
Simon L.
ce6b85b8f0 Merge pull request #6684 from nextcloud/enh/noid/allow-configure-custom-appstoreurl
nextcloud apps.config: allow to configure custom appstoreurl
2025-07-24 13:49:11 +02:00
Simon L.
99117072ce nextcloud: allow to configure custom appstoreurl
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-24 13:40:49 +02:00
Simon L.
762d911a94 Merge pull request #6681 from nextcloud/dependabot/docker/Containers/apache/httpd-2.4.65-alpine3.22
build(deps): bump httpd from 2.4.64-alpine3.22 to 2.4.65-alpine3.22 in /Containers/apache
2025-07-24 08:52:49 +02:00
dependabot[bot]
7fffb1840f build(deps): bump httpd in /Containers/apache
Bumps httpd from 2.4.64-alpine3.22 to 2.4.65-alpine3.22.

---
updated-dependencies:
- dependency-name: httpd
  dependency-version: 2.4.65-alpine3.22
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-24 05:11:15 +00:00
Simon L.
436296d1c5 Merge pull request #6656 from Zocker1999NET/remote-backup-public-key
aio-interface: add hint to UI about SSH pubkey for remote backups
2025-07-23 11:45:24 +02:00
Simon L.
593af4ecd1 Merge pull request #6671 from nextcloud/automated/noid/psalm-baseline-update
[Automated] Update psalm-baseline.xml
2025-07-23 09:35:11 +02:00
Simon L.
30f9ce647a Merge pull request #6680 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.18.4
build(deps): bump elasticsearch from 8.18.3 to 8.18.4 in /Containers/fulltextsearch
2025-07-23 09:34:46 +02:00
Simon L.
8bd8d2da7a Merge pull request #6674 from nextcloud/dependabot/docker/Containers/watchtower/nicholas-fedor/watchtower-1.11.6
build(deps): bump nicholas-fedor/watchtower from 1.11.5 to 1.11.6 in /Containers/watchtower
2025-07-23 09:34:32 +02:00
Simon L.
0094e11807 Merge pull request #6673 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-25.04.4.1.1
build(deps): bump collabora/code from 25.04.3.2.1 to 25.04.4.1.1 in /Containers/collabora
2025-07-23 09:34:16 +02:00
Simon L.
bd1c57c0dd Merge pull request #6672 from nextcloud/dependabot/docker/Containers/apache/httpd-2.4.64-alpine3.22
build(deps): bump httpd from 2.4.63-alpine3.22 to 2.4.64-alpine3.22 in /Containers/apache
2025-07-23 09:33:58 +02:00
dependabot[bot]
834d3b36cd build(deps): bump elasticsearch in /Containers/fulltextsearch
Bumps elasticsearch from 8.18.3 to 8.18.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-23 05:02:17 +00:00
nextcloud-command
78e9466877 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2025-07-19 04:16:11 +00:00
Simon L.
9bb1ec26c9 Merge pull request #6675 from nextcloud/aio-yaml-update
Yaml updates
2025-07-18 14:54:48 +02:00
szaimen
1adfac39fc Yaml updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-18 12:04:09 +00:00
Felix Stupp
2757630c41 add hint to UI about SSH pubkey for remote backups
Signed-off-by: Felix Stupp <felix.stupp@banananet.work>
2025-07-18 10:09:16 +00:00
dependabot[bot]
5f0e63a752 build(deps): bump nicholas-fedor/watchtower in /Containers/watchtower
---
updated-dependencies:
- dependency-name: nicholas-fedor/watchtower
  dependency-version: 1.11.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-18 04:50:35 +00:00
dependabot[bot]
ed460405f2 build(deps): bump collabora/code in /Containers/collabora
Bumps collabora/code from 25.04.3.2.1 to 25.04.4.1.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-18 04:49:45 +00:00
dependabot[bot]
d6e5bcc0ac build(deps): bump httpd in /Containers/apache
Bumps httpd from 2.4.63-alpine3.22 to 2.4.64-alpine3.22.

---
updated-dependencies:
- dependency-name: httpd
  dependency-version: 2.4.64-alpine3.22
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-18 04:49:37 +00:00
Simon L.
4d61ca66b4 Merge pull request #6643 from nextcloud/talk-container-update
talk container update
2025-07-17 20:37:46 +02:00
Simon L.
f9a6058580 Merge pull request #6568 from asavageiv/alan/clean-up-env-placeholders
Support multiple substitutions per line for envs in containers.json
2025-07-17 16:19:59 +02:00
Simon L.
6eb7a7bb38 Merge pull request #6668 from nextcloud/imaginary-container-update
Imaginary update
2025-07-17 15:38:46 +02:00
Simon L.
ba0ba6b099 Merge pull request #6669 from nextcloud/enh/noid/adjust-fts-log-level
fulltextsearch: adjust default log level to Warn
2025-07-17 15:06:54 +02:00
Simon L.
c8f76e067a fulltextsearch: adjust default log level to Warn
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-17 15:04:57 +02:00
Simon L.
1ce5430f77 increase to 11.5.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-17 14:16:43 +02:00
Alan Savage
f7d158c632 Use modern callable syntax for $placeholderValues array_map
Signed-off-by: Alan Savage <3028205+asavageiv@users.noreply.github.com>
2025-07-17 14:14:14 +02:00
Alan Savage
f81d22cf93 Inline placeholderToPattern and use preg_quote
Signed-off-by: Alan Savage <3028205+asavageiv@users.noreply.github.com>
2025-07-17 14:14:14 +02:00
Alan Savage
0b929d74de Use guard clause in replaceEnvPlaceholders to reduce indentation
Signed-off-by: Alan Savage <3028205+asavageiv@users.noreply.github.com>
2025-07-17 14:14:13 +02:00
Alan Savage
0f858dc3fe Fix psalm errors in DockerActionManager env handling code
Signed-off-by: Alan Savage <3028205+asavageiv@users.noreply.github.com>
2025-07-17 14:14:13 +02:00
Alan Savage
d374fd2c1c Refactor getPlaceholderValue to use match
Signed-off-by: Alan Savage <3028205+asavageiv@users.noreply.github.com>
2025-07-17 14:14:13 +02:00
Alan Savage
026707240f Support multiple placeholders in ENV values in containers.json
Signed-off-by: Alan Savage <3028205+asavageiv@users.noreply.github.com>
2025-07-17 14:14:13 +02:00
Alan Savage
f5023ed88d Factor out getPlaceholderValue from CreateContainer
Signed-off-by: Alan Savage <3028205+asavageiv@users.noreply.github.com>
2025-07-17 14:14:13 +02:00
Simon L.
d2c0176e11 Merge pull request #6606 from thegcat/configurable_fulltextsearch_connection
Make elasticsearch connection configurable
2025-07-17 14:11:00 +02:00
szaimen
2792994cc4 talk-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-17 12:04:56 +00:00
szaimen
64539d5b5c imaginary-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-17 12:03:42 +00:00
Simon L.
e1408dc76e adjust the naming of variables
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-17 13:57:18 +02:00
Simon L.
3497f626f1 Merge pull request #6667 from nextcloud/enh/6464/update-to-alpine-3.22
update remaining images and docs to alpine v3.22
2025-07-17 11:59:49 +02:00
Simon L.
b2a839a209 update remaining images and docs to alpine v3.22
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-17 11:57:35 +02:00
Simon L.
7b786f3704 Merge pull request #6648 from nextcloud/enh/noid/add-http-proxy-check
mastercontainer: add check for http proxy variables
2025-07-17 11:43:46 +02:00
Simon L.
2b3eec3c10 Merge pull request #6644 from nextcloud/enh/noid/add-further-hint
mastercontainer: add advice to `/var/www/docker-aio/php/containers.json` mountpoint warning
2025-07-17 11:42:34 +02:00
Simon L.
bdc7eb312a Merge pull request #6666 from nextcloud/aio-helm-update
Helm Chart updates
2025-07-17 11:30:46 +02:00
szaimen
6463a2b04f Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-17 09:23:52 +00:00
Simon L.
2c6b2cd4d5 Merge pull request #6646 from nextcloud/automated/noid/psalm-baseline-update
[Automated] Update psalm-baseline.xml
2025-07-17 11:22:43 +02:00
Simon L.
86172c3865 Merge pull request #6647 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.18.3
build(deps): bump elasticsearch from 8.18.2 to 8.18.3 in /Containers/fulltextsearch
2025-07-17 11:22:32 +02:00
Simon L.
0eed4eb2cd Merge pull request #6650 from nextcloud/aio-dependency-update
PHP dependency updates
2025-07-17 11:22:21 +02:00
Simon L.
3b793ac53f Merge pull request #6653 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-28.3.2-cli
build(deps): bump docker from 28.3.1-cli to 28.3.2-cli in /Containers/mastercontainer
2025-07-17 11:21:41 +02:00
Simon L.
b365489fe6 Merge pull request #6658 from nextcloud/dependabot/docker/Containers/alpine/alpine-3.22.1
build(deps): bump alpine from 3.21.3 to 3.22.1 in /Containers/alpine
2025-07-17 11:21:14 +02:00
Simon L.
83a34adc7f Merge pull request #6659 from nextcloud/dependabot/docker/Containers/borgbackup/alpine-3.22.1
build(deps): bump alpine from 3.21.3 to 3.22.1 in /Containers/borgbackup
2025-07-17 11:21:03 +02:00
Simon L.
087382d44d Merge pull request #6660 from nextcloud/dependabot/docker/Containers/clamav/alpine-3.22.1
build(deps): bump alpine from 3.21.3 to 3.22.1 in /Containers/clamav
2025-07-17 11:20:53 +02:00
Simon L.
522597ed58 Merge pull request #6661 from nextcloud/dependabot/docker/Containers/domaincheck/alpine-3.22.1
build(deps): bump alpine from 3.21.3 to 3.22.1 in /Containers/domaincheck
2025-07-17 11:20:42 +02:00
Simon L.
8776a3299a Merge pull request #6662 from nextcloud/dependabot/docker/Containers/imaginary/alpine-3.22.1
build(deps): bump alpine from 3.21.3 to 3.22.1 in /Containers/imaginary
2025-07-17 11:20:31 +02:00
Simon L.
009847fd2a Merge pull request #6663 from nextcloud/dependabot/docker/Containers/notify-push/alpine-3.22.1
build(deps): bump alpine from 3.21.3 to 3.22.1 in /Containers/notify-push
2025-07-17 11:20:20 +02:00
Simon L.
afe60e83f7 Merge pull request #6664 from nextcloud/dependabot/docker/Containers/talk/alpine-3.22.1
build(deps): bump alpine from 3.21.3 to 3.22.1 in /Containers/talk
2025-07-17 11:20:08 +02:00
Simon L.
3547b387ca Merge pull request #6665 from nextcloud/dependabot/docker/Containers/watchtower/alpine-3.22.1
build(deps): bump alpine from 3.21.3 to 3.22.1 in /Containers/watchtower
2025-07-17 11:19:56 +02:00
dependabot[bot]
2973eb7fc8 build(deps): bump alpine from 3.21.3 to 3.22.1 in /Containers/watchtower
Bumps alpine from 3.21.3 to 3.22.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-16 04:53:03 +00:00
dependabot[bot]
7da05ca65b build(deps): bump alpine from 3.21.3 to 3.22.1 in /Containers/talk
Bumps alpine from 3.21.3 to 3.22.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-16 04:52:47 +00:00
dependabot[bot]
235f190020 build(deps): bump alpine in /Containers/notify-push
Bumps alpine from 3.21.3 to 3.22.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-16 04:52:39 +00:00
dependabot[bot]
93d3e9e601 build(deps): bump alpine from 3.21.3 to 3.22.1 in /Containers/imaginary
Bumps alpine from 3.21.3 to 3.22.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-16 04:52:07 +00:00
dependabot[bot]
cc8414250f build(deps): bump alpine in /Containers/domaincheck
Bumps alpine from 3.21.3 to 3.22.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-16 04:52:03 +00:00
dependabot[bot]
3b3dc1dcce build(deps): bump alpine from 3.21.3 to 3.22.1 in /Containers/clamav
Bumps alpine from 3.21.3 to 3.22.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-16 04:51:57 +00:00
dependabot[bot]
74ce18856f build(deps): bump alpine from 3.21.3 to 3.22.1 in /Containers/borgbackup
Bumps alpine from 3.21.3 to 3.22.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-16 04:51:54 +00:00
dependabot[bot]
e6ac9ad4f8 build(deps): bump alpine from 3.21.3 to 3.22.1 in /Containers/alpine
Bumps alpine from 3.21.3 to 3.22.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-16 04:51:48 +00:00
szaimen
ccb06b3525 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-14 12:03:40 +00:00
dependabot[bot]
e6e93701c3 build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 28.3.1-cli to 28.3.2-cli.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 06:14:44 +00:00
Simon L.
a28f1b9c13 mastercontainer: add check for http proxy variables
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-11 16:17:39 +02:00
dependabot[bot]
0350b9528f build(deps): bump elasticsearch in /Containers/fulltextsearch
Bumps elasticsearch from 8.18.2 to 8.18.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-11 05:16:11 +00:00
nextcloud-command
34e82410cf Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2025-07-11 04:20:57 +00:00
Simon L.
754ab219a8 add advice to /var/www/docker-aio/php/containers.json mountpoint warning
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-10 15:56:42 +02:00
Felix Schäfer
90b1a64572 Make elasticsearch connection configurable
Signed-off-by: Felix Schäfer <felix@thegcat.net>
2025-07-03 12:20:43 +02:00
80 changed files with 706 additions and 543 deletions

View File

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

View File

@@ -32,7 +32,7 @@ jobs:
# See https://github.com/helm/chart-releaser-action/issues/6
- name: Set up Helm
uses: azure/setup-helm@b9e51907a09c216f16ebe8536097933489208112 # v4
uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4
with:
version: v3.6.3

View File

@@ -16,7 +16,7 @@ jobs:
fetch-depth: 0
- name: Install Helm
uses: azure/setup-helm@b9e51907a09c216f16ebe8536097933489208112 # v4
uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4
with:
version: v3.11.1

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@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # 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@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2
with:
php-version: 8.4
extensions: apcu

View File

@@ -45,7 +45,14 @@ jobs:
sleep 10
- name: Run Playwright tests for initial setup
run: cd php/tests && DEBUG=pw:api npx playwright test tests/initial-setup.spec.js
run: |
cd php/tests
export DEBUG=pw:api
if ! npx playwright test tests/initial-setup.spec.js; then
docker logs nextcloud-aio-mastercontainer
docker logs nextcloud-aio-borgbackup
exit 1
fi
- name: Start fresh development server
run: |
@@ -66,7 +73,14 @@ jobs:
sleep 10
- name: Run Playwright tests for backup restore
run: cd php/tests && DEBUG=pw:api npx playwright test tests/restore-instance.spec.js
run: |
cd php/tests
export DEBUG=pw:api
if ! npx playwright test tests/restore-instance.spec.js; then
docker logs nextcloud-aio-mastercontainer
docker logs nextcloud-aio-borgbackup
exit 1
fi
- uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}

View File

@@ -13,7 +13,7 @@ jobs:
- uses: actions/checkout@v4
- name: Set up php
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # 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@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # 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@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2
with:
php-version: 8.4
extensions: apcu

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM alpine:3.21.3
FROM alpine:3.22.1
RUN set -ex; \
apk upgrade --no-cache -a

View File

@@ -1,8 +1,8 @@
# syntax=docker/dockerfile:latest
FROM caddy:2.10.0-alpine AS caddy
FROM caddy:2.10.2-alpine AS caddy
# From https://github.com/docker-library/httpd/blob/master/2.4/alpine/Dockerfile
FROM httpd:2.4.63-alpine3.21
FROM httpd:2.4.65-alpine3.22
COPY --from=caddy /usr/bin/caddy /usr/bin/caddy

View File

@@ -46,7 +46,9 @@ echo "$CADDYFILE" > /tmp/Caddyfile
# Change the trusted_proxies in case of reverse proxies
if [ "$APACHE_PORT" != '443' ]; then
CADDYFILE="$(sed 's|# trusted_proxies placeholder|trusted_proxies static private_ranges|' /tmp/Caddyfile)"
# Here the 100.64.0.0/10 range gets added which is the CGNAT range used by Tailscale nodes
# See https://github.com/nextcloud/all-in-one/pull/6703 for reference
CADDYFILE="$(sed 's|# trusted_proxies placeholder|trusted_proxies static private_ranges 100.64.0.0/10|' /tmp/Caddyfile)"
else
CADDYFILE="$(sed "s|# trusted_proxies placeholder|trusted_proxies static $IPv4_ADDRESS|" /tmp/Caddyfile)"
fi

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM alpine:3.21.3
FROM alpine:3.22.1
RUN set -ex; \
\

View File

@@ -1,24 +1,26 @@
# syntax=docker/dockerfile:latest
FROM alpine:3.21.3
FROM alpine:3.22.1
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache tzdata clamav supervisor bash; \
mkdir -p /run/clamav /var/log/supervisord /var/run/supervisord; \
mkdir -p /var/lib/clamav /run/clamav /var/log/supervisord /var/run/supervisord; \
chmod 777 -R /run/clamav /var/log/clamav /var/log/supervisord /var/run/supervisord; \
chown -R 100:100 /var/lib/clamav; \
sed -i "s|#\?MaxDirectoryRecursion.*|MaxDirectoryRecursion 30|g" /etc/clamav/clamd.conf; \
sed -i "s|#\?MaxFileSize.*|MaxFileSize 2G|g" /etc/clamav/clamd.conf; \
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
sed -i "s|^LocalSocket .*|LocalSocket /tmp/clamd.sock|g" /etc/clamav/clamd.conf
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh
COPY --chmod=664 supervisord.conf /supervisord.conf
USER 100
RUN set -ex; \
freshclam --foreground --stdout
VOLUME /var/lib/clamav
ENTRYPOINT ["/start.sh"]
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]

View File

@@ -2,6 +2,9 @@
sed "s|aio-placeholder|$MAX_SIZE|" /etc/clamav/clamd.conf > /tmp/clamd.conf
# Print out clamav version for compliance reasons
clamscan --version
echo "Clamav started"
exec "$@"

View File

@@ -1,6 +1,6 @@
# 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:25.04.3.2.1
FROM collabora/code:25.04.5.1.1
USER root
ARG DEBIAN_FRONTEND=noninteractive

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM haproxy:3.2.3-alpine
FROM haproxy:3.2.4-alpine
# hadolint ignore=DL3002
USER root

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM alpine:3.21.3
FROM alpine:3.22.1
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache bash lighttpd netcat-openbsd; \

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.2
FROM elasticsearch:8.19.2
USER root

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM golang:1.24.5-alpine3.21 AS go
FROM golang:1.25.0-alpine3.22 AS go
ENV IMAGINARY_HASH=1d4e251cfcd58ea66f8361f8721d7b8cc85002a3
@@ -14,7 +14,7 @@ RUN set -ex; \
build-base; \
go install github.com/h2non/imaginary@"$IMAGINARY_HASH";
FROM alpine:3.21.3
FROM alpine:3.22.1
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache \

View File

@@ -1,15 +1,12 @@
# syntax=docker/dockerfile:latest
# Docker CLI is a requirement
FROM docker:28.3.1-cli AS docker
FROM docker:28.3.3-cli AS docker
# Caddy is a requirement
FROM caddy:2.10.0-alpine AS caddy
FROM caddy:2.10.2-alpine AS caddy
# From https://github.com/docker-library/php/blob/master/8.4/alpine3.21/fpm/Dockerfile
FROM php:8.4.10-fpm-alpine3.21
ARG AIO_GIT_URL="https://github.com/nextcloud-releases/all-in-one.git"
ARG AIO_GIT_BRANCH="main"
# From https://github.com/docker-library/php/blob/master/8.4/alpine3.22/fpm/Dockerfile
FROM php:8.4.12-fpm-alpine3.22
EXPOSE 80
EXPOSE 8080
@@ -18,6 +15,13 @@ EXPOSE 8443
COPY --from=caddy /usr/bin/caddy /usr/bin/caddy
COPY --from=docker /usr/local/bin/docker /usr/local/bin/docker
COPY community-containers /var/www/docker-aio/community-containers
COPY php /var/www/docker-aio/php
COPY --chmod=775 Containers/mastercontainer/*.sh /
COPY --chmod=664 Containers/mastercontainer/Caddyfile /Caddyfile
COPY --chmod=664 Containers/mastercontainer/supervisord.conf /supervisord.conf
COPY Containers/mastercontainer/mastercontainer.conf /etc/apache2/sites-available/mastercontainer.conf
WORKDIR /var/www/docker-aio
# hadolint ignore=SC2086,DL3047,DL3003,DL3004
@@ -45,7 +49,7 @@ RUN set -ex; \
apk add --no-cache --virtual .build-deps \
autoconf \
build-base; \
pecl install APCu-5.1.24; \
pecl install APCu-5.1.26; \
docker-php-ext-enable apcu; \
rm -r /tmp/pear; \
runDeps="$( \
@@ -67,8 +71,6 @@ 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 "$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; \
cd php; \
@@ -120,11 +122,6 @@ RUN set -ex; \
mkdir /var/log/supervisord; \
mkdir /var/run/supervisord;
COPY --chmod=775 *.sh /
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

View File

@@ -64,6 +64,12 @@ if [ "$AUTOMATIC_UPDATES" = 1 ]; then
done
fi
# Update container images to reduce downtime later on
if [ "$AUTOMATIC_UPDATES" = 1 ]; then
echo "Updating container images..."
sudo -u www-data php /var/www/docker-aio/php/src/Cron/PullContainerImages.php
fi
# Stop containers if required
# shellcheck disable=SC2235
if [ "$CHECK_BACKUP" != 1 ] && ([ "$DAILY_BACKUP" != 1 ] || [ "$STOP_CONTAINERS" = 1 ]); then

View File

@@ -33,10 +33,11 @@ if [ "$*" != "" ]; then
fi
# Check if socket is available and readable
if ! [ -a "/var/run/docker.sock" ]; then
if ! [ -e "/var/run/docker.sock" ]; then
print_red "Docker socket is not available. Cannot continue."
echo "Please make sure to mount the docker socket into /var/run/docker.sock inside the container!"
echo "If you did this by purpose because you don't want the container to have access to the docker socket, see https://github.com/nextcloud/all-in-one/tree/main/manual-install."
echo "And https://github.com/nextcloud/all-in-one/blob/main/manual-install/latest.yml"
exit 1
elif ! mountpoint -q "/mnt/docker-aio-config"; then
print_red "/mnt/docker-aio-config is not a mountpoint. Cannot proceed!"
@@ -47,6 +48,8 @@ elif mountpoint -q /var/www/docker-aio/php/containers.json; then
print_red "/var/www/docker-aio/php/containers.json is a mountpoint. Cannot proceed!"
echo "This is a not-supported customization of the mastercontainer!"
echo "Please remove this bind-mount from the mastercontainer."
echo "If you need to customize things, feel free to use https://github.com/nextcloud/all-in-one/tree/main/manual-install"
echo "See https://github.com/nextcloud/all-in-one/blob/main/manual-install/latest.yml"
exit 1
elif ! sudo -u www-data test -r /var/run/docker.sock; then
echo "Trying to fix docker.sock permissions internally..."
@@ -274,6 +277,7 @@ if ! curl --no-progress-meter https://ghcr.io/v2/ >/dev/null; then
echo "Most likely is something blocking access to it."
echo "You should be able to fix this by following https://dockerlabs.collabnix.com/intermediate/networking/Configuring_DNS.html"
echo "Another solution is using https://github.com/nextcloud/all-in-one/tree/main/manual-install"
echo "See https://github.com/nextcloud/all-in-one/blob/main/manual-install/latest.yml"
exit 1
fi
@@ -284,6 +288,13 @@ if [ -n "$TZ" ]; then
# Disable exit since it seems to be by default set on unraid and we dont want to break these instances
# exit 1
fi
# Check that http proxy or no_proxy variable is not set which AIO does not support
if [ -n "$HTTP_PROXY" ] || [ -n "$http_proxy" ] || [ -n "$HTTPS_PROXY" ] || [ -n "$https_proxy" ] || [ -n "$NO_PROXY" ] || [ -n "$no_proxy" ]; then
print_red "The environmental variable HTTP_PROXY, http_proxy, HTTPS_PROXY, https_proxy, NO_PROXY or no_proxy has been set which is not supported by AIO."
echo "If you need this, then you should use https://github.com/nextcloud/all-in-one/tree/main/manual-install"
echo "See https://github.com/nextcloud/all-in-one/blob/main/manual-install/latest.yml"
exit 1
fi
if mountpoint -q /etc/localtime; then
print_red "/etc/localtime has been mounted into the container which is not allowed because AIO only supports running in the default Etc/UTC timezone!"
echo "The correct timezone can be set in the AIO interface later on!"

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM php:8.3.23-fpm-alpine3.21
FROM php:8.3.25-fpm-alpine3.22
ENV PHP_MEMORY_LIMIT=512M
ENV PHP_UPLOAD_LIMIT=16G
@@ -8,16 +8,20 @@ ENV SOURCE_LOCATION=/usr/src/nextcloud
ENV REDIS_DB_INDEX=0
# AIO settings start # Do not remove or change this line!
ENV NEXTCLOUD_VERSION=31.0.7
ENV NEXTCLOUD_VERSION=31.0.8
ENV AIO_TOKEN=123456
ENV AIO_URL=localhost
# AIO settings end # Do not remove or change this line!
COPY --chmod=775 *.sh /
COPY --chmod=774 upgrade.exclude /upgrade.exclude
COPY config/*.php /
COPY supervisord.conf /supervisord.conf
COPY root.motd /root.motd
COPY --chmod=775 Containers/nextcloud/*.sh /
COPY --chmod=774 Containers/nextcloud/upgrade.exclude /upgrade.exclude
COPY Containers/nextcloud/config/*.php /
COPY Containers/nextcloud/supervisord.conf /supervisord.conf
# AIO cloning start # Do not remove or change this line!
COPY app /usr/src/nextcloud/apps/nextcloud-aio
COPY Containers/nextcloud/root.motd /root.motd
# AIO cloning end # Do not remove or change this line!
VOLUME /mnt/ncdata
VOLUME /var/www/html
@@ -79,7 +83,7 @@ RUN set -ex; \
\
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install -o igbinary-3.2.16; \
pecl install APCu-5.1.24; \
pecl install APCu-5.1.26; \
pecl install -D 'enable-memcached-igbinary="yes"' memcached-3.3.0; \
pecl install -oD 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' redis-6.2.0; \
pecl install -o imagick-3.8.0; \
@@ -107,7 +111,7 @@ RUN set -ex; \
} >> /usr/local/etc/php/conf.d/docker-php-ext-igbinary.ini; \
\
# set recommended PHP.ini settings
# see https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/server_tuning.html#enable-php-opcache
# see https://docs.nextcloud.com/server/stable/admin_manual/installation/server_tuning.html#enable-php-opcache and below
{ \
echo 'opcache.max_accelerated_files=10000'; \
echo 'opcache.memory_consumption=256'; \
@@ -242,15 +246,7 @@ RUN set -ex; \
sed -i 's/^pm.max_children =.*/pm.max_children = 5000/' /usr/local/etc/php-fpm.d/www.conf; \
sed -i 's|access.log = /proc/self/fd/2|access.log = /proc/self/fd/1|' /usr/local/etc/php-fpm.d/docker.conf; \
\
# AIO cloning start # Do not remove or change this line!
rm -rf /tmp/nextcloud-aio && \
mkdir -p /tmp/nextcloud-aio && \
cd /tmp/nextcloud-aio && \
git clone https://github.com/nextcloud-releases/all-in-one.git --depth 1 .; \
mkdir -p /usr/src/nextcloud/apps/nextcloud-aio; \
cp -r ./app/* /usr/src/nextcloud/apps/nextcloud-aio/; \
echo "[ -n \"\$TERM\" ] && cat /root.motd" >> /root/.bashrc; \
# AIO cloning end # Do not remove or change this line!
echo "[ -n \"\$TERM\" ] && [ -f /root.motd ] && cat /root.motd" >> /root/.bashrc; \
\
chown www-data:root -R /usr/src && \
chmod 777 -R /usr/local/etc/php/conf.d && \

View File

@@ -16,3 +16,6 @@ $CONFIG = array (
if (getenv('APPS_ALLOWLIST')) {
$CONFIG['appsallowlist'] = explode(" ", getenv('APPS_ALLOWLIST'));
}
if (getenv('NEXTCLOUD_APP_STORE_URL')) {
$CONFIG['appstoreurl'] = getenv('NEXTCLOUD_APP_STORE_URL');
}

View File

@@ -234,6 +234,7 @@ DATADIR_PERMISSION_CONF
if [ -z "$POSTGRES_PORT" ]; then
POSTGRES_PORT=5432
fi
# shellcheck disable=SC2153
INSTALL_OPTIONS+=(--database "$DATABASE_TYPE" --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST" --database-port "$POSTGRES_PORT")
echo "Starting Nextcloud installation..."
@@ -577,6 +578,24 @@ else
fi
# AIO app end # Do not remove or change this line!
# Allow to add custom certs to Nextcloud's trusted cert store
if env | grep -q NEXTCLOUD_TRUSTED_CERTIFICATES_; then
set -x
TRUSTED_CERTIFICATES="$(env | grep NEXTCLOUD_TRUSTED_CERTIFICATES_ | grep -oP '^[A-Z_a-z0-9]+')"
mapfile -t TRUSTED_CERTIFICATES <<< "$TRUSTED_CERTIFICATES"
CERTIFICATES_ROOT_DIR="/var/www/html/data/certificates"
mkdir -p "$CERTIFICATES_ROOT_DIR"
for certificate in "${TRUSTED_CERTIFICATES[@]}"; do
# shellcheck disable=SC2001
CERTIFICATE_NAME="$(echo "$certificate" | sed 's|^NEXTCLOUD_TRUSTED_CERTIFICATES_||')"
if ! [ -f "$CERTIFICATES_ROOT_DIR/$CERTIFICATE_NAME" ]; then
echo "${!certificate}" > "$CERTIFICATES_ROOT_DIR/$CERTIFICATE_NAME"
php /var/www/html/occ security:certificates:import "$CERTIFICATES_ROOT_DIR/$CERTIFICATE_NAME"
fi
done
set +x
fi
# Notify push
if ! [ -d "/var/www/html/custom_apps/notify_push" ]; then
php /var/www/html/occ app:install notify_push
@@ -809,45 +828,54 @@ fi
# Fulltextsearch
if [ "$FULLTEXTSEARCH_ENABLED" = 'yes' ]; then
while ! nc -z "$FULLTEXTSEARCH_HOST" 9200; do
count=0
while ! nc -z "$FULLTEXTSEARCH_HOST" "$FULLTEXTSEARCH_PORT" && [ "$count" -lt 90 ]; do
echo "waiting for Fulltextsearch to become available..."
count=$((count+5))
sleep 5
done
if ! [ -d "/var/www/html/custom_apps/fulltextsearch" ]; then
php /var/www/html/occ app:install fulltextsearch
elif [ "$(php /var/www/html/occ config:app:get fulltextsearch enabled)" != "yes" ]; then
php /var/www/html/occ app:enable fulltextsearch
elif [ "$SKIP_UPDATE" != 1 ]; then
php /var/www/html/occ app:update fulltextsearch
fi
if ! [ -d "/var/www/html/custom_apps/fulltextsearch_elasticsearch" ]; then
php /var/www/html/occ app:install fulltextsearch_elasticsearch
elif [ "$(php /var/www/html/occ config:app:get fulltextsearch_elasticsearch enabled)" != "yes" ]; then
php /var/www/html/occ app:enable fulltextsearch_elasticsearch
elif [ "$SKIP_UPDATE" != 1 ]; then
php /var/www/html/occ app:update fulltextsearch_elasticsearch
fi
if ! [ -d "/var/www/html/custom_apps/files_fulltextsearch" ]; then
php /var/www/html/occ app:install files_fulltextsearch
elif [ "$(php /var/www/html/occ config:app:get files_fulltextsearch enabled)" != "yes" ]; then
php /var/www/html/occ app:enable files_fulltextsearch
elif [ "$SKIP_UPDATE" != 1 ]; then
php /var/www/html/occ app:update files_fulltextsearch
fi
php /var/www/html/occ fulltextsearch:configure '{"search_platform":"OCA\\FullTextSearch_Elasticsearch\\Platform\\ElasticSearchPlatform"}'
php /var/www/html/occ fulltextsearch_elasticsearch:configure "{\"elastic_host\":\"http://elastic:$FULLTEXTSEARCH_PASSWORD@$FULLTEXTSEARCH_HOST:9200\",\"elastic_index\":\"nextcloud-aio\"}"
php /var/www/html/occ files_fulltextsearch:configure "{\"files_pdf\":\"1\",\"files_office\":\"1\"}"
if [ "$count" -ge 90 ]; then
echo "Fulltextsearch did not start in time. Skipping initialization and disabling fulltextsearch apps."
php /var/www/html/occ app:disable fulltextsearch
php /var/www/html/occ app:disable fulltextsearch_elasticsearch
php /var/www/html/occ app:disable files_fulltextsearch
else
if ! [ -d "/var/www/html/custom_apps/fulltextsearch" ]; then
php /var/www/html/occ app:install fulltextsearch
elif [ "$(php /var/www/html/occ config:app:get fulltextsearch enabled)" != "yes" ]; then
php /var/www/html/occ app:enable fulltextsearch
elif [ "$SKIP_UPDATE" != 1 ]; then
php /var/www/html/occ app:update fulltextsearch
fi
if ! [ -d "/var/www/html/custom_apps/fulltextsearch_elasticsearch" ]; then
php /var/www/html/occ app:install fulltextsearch_elasticsearch
elif [ "$(php /var/www/html/occ config:app:get fulltextsearch_elasticsearch enabled)" != "yes" ]; then
php /var/www/html/occ app:enable fulltextsearch_elasticsearch
elif [ "$SKIP_UPDATE" != 1 ]; then
php /var/www/html/occ app:update fulltextsearch_elasticsearch
fi
if ! [ -d "/var/www/html/custom_apps/files_fulltextsearch" ]; then
php /var/www/html/occ app:install files_fulltextsearch
elif [ "$(php /var/www/html/occ config:app:get files_fulltextsearch enabled)" != "yes" ]; then
php /var/www/html/occ app:enable files_fulltextsearch
elif [ "$SKIP_UPDATE" != 1 ]; then
php /var/www/html/occ app:update files_fulltextsearch
fi
php /var/www/html/occ fulltextsearch:configure '{"search_platform":"OCA\\FullTextSearch_Elasticsearch\\Platform\\ElasticSearchPlatform"}'
php /var/www/html/occ fulltextsearch_elasticsearch:configure "{\"elastic_host\":\"http://$FULLTEXTSEARCH_USER:$FULLTEXTSEARCH_PASSWORD@$FULLTEXTSEARCH_HOST:$FULLTEXTSEARCH_PORT\",\"elastic_index\":\"$FULLTEXTSEARCH_INDEX\"}"
php /var/www/html/occ files_fulltextsearch:configure "{\"files_pdf\":\"1\",\"files_office\":\"1\"}"
# Do the index
if ! [ -f "$NEXTCLOUD_DATA_DIR/fts-index.done" ]; then
echo "Waiting 10s before activating FTS..."
sleep 10
echo "Activating fulltextsearch..."
if php /var/www/html/occ fulltextsearch:test && php /var/www/html/occ fulltextsearch:index "{\"errors\": \"reset\"}" --no-readline; then
touch "$NEXTCLOUD_DATA_DIR/fts-index.done"
else
echo "Fulltextsearch failed. Could not index."
echo "Feel free to follow https://github.com/nextcloud/all-in-one/discussions/1709 if you want to skip the indexing in the future."
# Do the index
if ! [ -f "$NEXTCLOUD_DATA_DIR/fts-index.done" ]; then
echo "Waiting 10s before activating FTS..."
sleep 10
echo "Activating fulltextsearch..."
if php /var/www/html/occ fulltextsearch:test && php /var/www/html/occ fulltextsearch:index "{\"errors\": \"reset\"}" --no-readline; then
touch "$NEXTCLOUD_DATA_DIR/fts-index.done"
else
echo "Fulltextsearch failed. Could not index."
echo "Feel free to follow https://github.com/nextcloud/all-in-one/discussions/1709 if you want to skip the indexing in the future."
fi
fi
fi
else

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM alpine:3.21.3
FROM alpine:3.22.1
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# From https://github.com/ONLYOFFICE/Docker-DocumentServer/blob/master/Dockerfile
FROM onlyoffice/documentserver:9.0.3.1
FROM onlyoffice/documentserver:9.0.4.1
# USER root is probably used

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# From https://github.com/docker-library/postgres/blob/master/17/alpine3.21/Dockerfile
FROM postgres:17.5-alpine
# From https://github.com/docker-library/postgres/blob/master/17/alpine3.22/Dockerfile
FROM postgres:17.6-alpine
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM python:3.13.5-alpine3.21
FROM python:3.13.7-alpine3.22
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh

View File

@@ -1,10 +1,10 @@
# syntax=docker/dockerfile:latest
FROM nats:2.11.6-scratch AS nats
FROM nats:2.11.8-scratch AS nats
FROM eturnal/eturnal:1.12.1 AS eturnal
FROM strukturag/nextcloud-spreed-signaling:2.0.3 AS signaling
FROM alpine:3.21.3 AS janus
FROM strukturag/nextcloud-spreed-signaling:2.0.4 AS signaling
FROM alpine:3.22.1 AS janus
ARG JANUS_VERSION=v1.3.1
ARG JANUS_VERSION=v1.3.2
WORKDIR /src
RUN set -ex; \
apk upgrade --no-cache -a; \
@@ -35,7 +35,7 @@ RUN set -ex; \
make configs; \
rename -v ".jcfg.sample" ".jcfg" /usr/local/etc/janus/*.jcfg.sample
FROM alpine:3.21.3
FROM alpine:3.22.1
ENV ETURNAL_ETC_DIR="/conf"
ENV SKIP_CERT_VERIFY=false
COPY --from=janus --chmod=777 --chown=1000:1000 /usr/local /usr/local

View File

@@ -84,7 +84,8 @@ internalsecret = the-shared-secret-for-internal-clients
# For backend type "etcd":
# Key prefix of backend entries. All keys below will be watched and assumed to
# contain a JSON document with the following entries:
# - "url": Url of the Nextcloud instance.
# - "urls": List of urls of the Nextcloud instance.
# - "url": Url of the Nextcloud instance (deprecated).
# - "secret": Shared secret for requests from and to the backend servers.
#
# Additional optional entries:
@@ -93,8 +94,8 @@ internalsecret = the-shared-secret-for-internal-clients
# - "sessionlimit": Number of sessions that are allowed to connect.
#
# Example:
# "/signaling/backend/one" -> {"url": "https://nextcloud.domain1.invalid", ...}
# "/signaling/backend/two" -> {"url": "https://domain2.invalid/nextcloud", ...}
# "/signaling/backend/one" -> {"urls": ["https://nextcloud.domain1.invalid"], ...}
# "/signaling/backend/two" -> {"urls": ["https://domain2.invalid/nextcloud"], ...}
#backendprefix = /signaling/backend
# Allow any hostname as backend endpoint. This is extremely insecure and should
@@ -122,8 +123,8 @@ connectionsperhost = 8
# Backend configurations as defined in the "[backend]" section above. The
# section names must match the ids used in "backends" above.
#[backend-id]
# URL of the Nextcloud instance
#url = https://cloud.domain.invalid
# Comma-separated list of urls of the Nextcloud instance
#urls = https://cloud.domain.invalid
# Shared secret for requests from and to the backend servers. Leave empty to use
# the common shared secret from above.
@@ -143,8 +144,8 @@ connectionsperhost = 8
#maxscreenbitrate = 2097152
#[another-backend]
# URL of the Nextcloud instance
#url = https://cloud.otherdomain.invalid
# Comma-separated list of urls of the Nextcloud instance
#urls = https://cloud.otherdomain.invalid
# Shared secret for requests from and to the backend servers. Leave empty to use
# the common shared secret from above.
@@ -179,6 +180,13 @@ connectionsperhost = 8
# proxy server that is used.
#maxscreenbitrate = 2097152
# List of IP addresses / subnets that are allowed to be used by clients in
# candidates. The allowed list has preference over the blocked list below.
#allowedcandidates = 10.0.0.0/8
# List of IP addresses / subnets to filter from candidates received by clients.
#blockedcandidates = 1.2.3.0/24
# For type "proxy": timeout in seconds for requests to the proxy server.
#proxytimeout = 2

View File

@@ -98,7 +98,7 @@ connectionsperhost = 8
skipverify = ${SKIP_CERT_VERIFY}
[backend-1]
url = https://${NC_DOMAIN}
urls = https://${NC_DOMAIN}
secret = ${SIGNALING_SECRET}
maxstreambitrate = ${TALK_MAX_STREAM_BITRATE}
maxscreenbitrate = ${TALK_MAX_SCREEN_BITRATE}

View File

@@ -1,7 +1,7 @@
# syntax=docker/dockerfile:latest
FROM ghcr.io/nicholas-fedor/watchtower:1.11.5 AS watchtower
FROM ghcr.io/nicholas-fedor/watchtower:v1.11.7 AS watchtower
FROM alpine:3.21.3
FROM alpine:3.22.1
RUN set -ex; \
apk upgrade --no-cache -a; \

View File

@@ -1,7 +1,7 @@
#!/bin/bash
# Check if socket is available and readable
if ! [ -a "/var/run/docker.sock" ]; then
if ! [ -e "/var/run/docker.sock" ]; then
echo "Docker socket is not available. Cannot continue."
exit 1
elif ! test -r /var/run/docker.sock; then

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.1.2
FROM ghcr.io/nextcloud-releases/whiteboard:v1.1.3
USER root
RUN set -ex; \

View File

@@ -48,7 +48,8 @@
"environment": [
"TZ=%TIMEZONE%",
"NC_DOMAIN=%NC_DOMAIN%",
"STALWART_USER_PASS=%STALWART_USER_PASS%"
"STALWART_USER_PASS=%STALWART_USER_PASS%",
"CLAMAV_ENABLED=%CLAMAV_ENABLED%"
],
"secrets": [
"STALWART_USER_PASS"

View File

@@ -7,11 +7,13 @@ services:
volumes:
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config # This line is not allowed to be changed as otherwise the built-in backup solution will not work
- /var/run/docker.sock:/var/run/docker.sock:ro # May be changed on macOS, Windows or docker rootless. See the applicable documentation. If adjusting, don't forget to also set 'WATCHTOWER_DOCKER_SOCKET_PATH'!
network_mode: bridge # add to the same network as docker run would do
network_mode: bridge # This adds the container to the same network as docker run would do. Comment this line and uncomment the line below and the networks section at the end of the file if you want to define a custom MTU size for the docker network
# networks: ["nextcloud-aio"]
ports:
- 80:80 # 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
- 8080:8080
- 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
# security_opt: ["label:disable"] # Is needed when using SELinux
# 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
# 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
@@ -35,7 +37,6 @@ services:
# SKIP_DOMAIN_VALIDATION: false # This should only be set to true if things are correctly configured. See https://github.com/nextcloud/all-in-one?tab=readme-ov-file#how-to-skip-the-domain-validation
# TALK_PORT: 3478 # This allows to adjust the port that the talk container is using which is exposed on the host. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-talk-port
# WATCHTOWER_DOCKER_SOCKET_PATH: /var/run/docker.sock # Needs to be specified if the docker socket on the host is not located in the default '/var/run/docker.sock'. Otherwise mastercontainer updates will fail. For macos it needs to be '/var/run/docker.sock'
# security_opt: ["label:disable"] # Is needed when using SELinux
# # Optional: Caddy reverse proxy. See https://github.com/nextcloud/all-in-one/discussions/575
# # Alternatively, use Tailscale if you don't have a domain yet. See https://github.com/nextcloud/all-in-one/discussions/5439
@@ -69,3 +70,10 @@ volumes: # If you want to store the data on a different drive, see https://githu
# caddy_config:
# caddy_data:
# caddy_sites:
# # Adjust the MTU size of the docker network. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-mtu-size-of-the-docker-network
# networks:
# nextcloud-aio:
# name: nextcloud-aio
# driver_opts:
# com.docker.network.driver.mtu: 1440

View File

@@ -26,7 +26,7 @@ Simply use https://github.com/nextcloud/all-in-one/issues/6198 as template.
Go to https://github.com/nextcloud-releases/all-in-one/actions/workflows/repo-sync.yml and run the workflow that will first sync the repo and then build new container that automatically get published to `develop` and `develop-arm64`.
## How to test things correctly?
Before testing, make sure that at least the amd64 containers are built successfully by checking the last workflow here: https://github.com/nextcloud-releases/all-in-one/actions/workflows/build_images.yml.
Before testing, make sure that at least the amd64 containers are built successfully by checking the last workflow here: https://github.com/nextcloud-releases/all-in-one/actions/workflows/build_images.yml.
There is a testing-VM available for the maintainer of AIO that allows for some final testing before releasing new version. See [this](https://cloud.nextcloud.com/apps/collectives/Nextcloud%20Handbook/Technical/AIO%20testing%20VM?fileId=6350152) for details.
@@ -48,12 +48,25 @@ This is documented here: https://github.com/nextcloud-releases/all-in-one/tree/m
## 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:
## How to locally build and test changes to mastercontainer
1. Ensure you are on the developer channel per the instructions above.
1. Use the commands below from the project root to build the mastercontainer image:
```
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 .
docker buildx build --file Containers/mastercontainer/Dockerfile --tag ghcr.io/nextcloud-releases/all-in-one:develop --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`
## How to locally build and test changes to other containers using the bypass_container_update param
1. Ensure you are on the developer channel per the instructions above.
1. Use the commands below from the project root to build the container image:
```
# For the "nextcloud" container
docker buildx build --file Containers/nextcloud/Dockerfile --tag ghcr.io/nextcloud-releases/aio-nextcloud:develop --load .
# For all other containers
docker buildx build --file Containers/{container}/Dockerfile --tag ghcr.io/nextcloud-releases/aio-{container}:develop --load Containers/{container}
```
1. Stop the containers using the AIO admin interface.
1. Reload the AIO admin interface with the param `bypass_container_update` to avoid overwriting your local changes, e.g. `https://localhost:8080/containers?bypass_container_update`.
1. Click "Start and update containers" and test your changes. Containers will not be updated, despite the button text.

View File

@@ -10,15 +10,15 @@ services:
nextcloud-aio-talk:
condition: service_started
required: false
nextcloud-aio-nextcloud:
condition: service_started
required: false
nextcloud-aio-notify-push:
condition: service_started
required: false
nextcloud-aio-whiteboard:
condition: service_started
required: false
nextcloud-aio-nextcloud:
condition: service_started
required: false
image: ghcr.io/nextcloud-releases/aio-apache:latest
user: "33"
init: true
@@ -165,6 +165,9 @@ services:
- PHP_MEMORY_LIMIT=${NEXTCLOUD_MEMORY_LIMIT}
- FULLTEXTSEARCH_ENABLED
- FULLTEXTSEARCH_HOST=nextcloud-aio-fulltextsearch
- FULLTEXTSEARCH_PORT=9200
- FULLTEXTSEARCH_USER=elastic
- FULLTEXTSEARCH_INDEX=nextcloud-aio
- PHP_MAX_TIME=${NEXTCLOUD_MAX_TIME}
- TRUSTED_CACERTS_DIR=${NEXTCLOUD_TRUSTED_CACERTS_DIR}
- STARTUP_APPS=${NEXTCLOUD_STARTUP_APPS}
@@ -264,6 +267,8 @@ services:
cap_add:
- MKNOD
- SYS_ADMIN
- SYS_CHROOT
- FOWNER
- CHOWN
cap_drop:
- NET_RAW
@@ -437,7 +442,7 @@ services:
- bootstrap.memory_lock=true
- cluster.name=nextcloud-aio
- discovery.type=single-node
- logger.org.elasticsearch.discovery=WARN
- logger.level=WARN
- http.port=9200
- xpack.license.self_generated.type=basic
- xpack.security.enabled=false

View File

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

View File

@@ -2,7 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
labels:
io.kompose.service: nextcloud-aio-apache
name: nextcloud-aio-apache
@@ -17,7 +17,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
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:20250710_082355
image: ghcr.io/nextcloud-releases/aio-apache:20250822_112758
readinessProbe:
exec:
command:

View File

@@ -2,7 +2,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
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.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
labels:
io.kompose.service: nextcloud-aio-clamav
name: nextcloud-aio-clamav
@@ -18,7 +18,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
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:20250710_082355
image: ghcr.io/nextcloud-releases/aio-alpine:20250822_112758
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:20250710_082355
image: ghcr.io/nextcloud-releases/aio-clamav:20250822_112758
readinessProbe:
exec:
command:

View File

@@ -3,7 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
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.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
labels:
io.kompose.service: nextcloud-aio-collabora
name: nextcloud-aio-collabora
@@ -16,7 +16,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
labels:
io.kompose.service: nextcloud-aio-collabora
spec:
@@ -32,10 +32,10 @@ spec:
- name: dictionaries
value: "{{ .Values.COLLABORA_DICTIONARIES }}"
- name: extra_params
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]=.+
value: --o:ssl.enable=false --o:ssl.termination=true --o:mount_jail_tree=false --o:logging.level=warning --o:logging.level_startup=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:20250710_082355
image: ghcr.io/nextcloud-releases/aio-collabora:20250822_112758
readinessProbe:
exec:
command:

View File

@@ -3,7 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
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.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
labels:
io.kompose.service: nextcloud-aio-database
name: nextcloud-aio-database
@@ -17,7 +17,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
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:20250710_082355
image: ghcr.io/nextcloud-releases/aio-alpine:20250822_112758
command:
- mkdir
- "-p"
@@ -64,7 +64,7 @@ spec:
value: nextcloud
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-postgresql:20250710_082355
image: ghcr.io/nextcloud-releases/aio-postgresql:20250822_112758
readinessProbe:
exec:
command:

View File

@@ -2,7 +2,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
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.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
labels:
io.kompose.service: nextcloud-aio-fulltextsearch
name: nextcloud-aio-fulltextsearch
@@ -18,13 +18,13 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
labels:
io.kompose.service: nextcloud-aio-fulltextsearch
spec:
initContainers:
- name: init-volumes
image: ghcr.io/nextcloud-releases/aio-alpine:20250710_082355
image: ghcr.io/nextcloud-releases/aio-alpine:20250822_112758
command:
- chmod
- "777"
@@ -48,13 +48,13 @@ spec:
value: single-node
- name: http.port
value: "9200"
- name: logger.org.elasticsearch.discovery
- name: logger.level
value: WARN
- name: xpack.license.self_generated.type
value: basic
- name: xpack.security.enabled
value: "false"
image: ghcr.io/nextcloud-releases/aio-fulltextsearch:20250710_082355
image: ghcr.io/nextcloud-releases/aio-fulltextsearch:20250822_112758
readinessProbe:
exec:
command:

View File

@@ -3,7 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
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.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
labels:
io.kompose.service: nextcloud-aio-imaginary
name: nextcloud-aio-imaginary
@@ -16,7 +16,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
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:20250710_082355
image: ghcr.io/nextcloud-releases/aio-imaginary:20250822_112758
readinessProbe:
exec:
command:

View File

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

View File

@@ -2,7 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
labels:
io.kompose.service: nextcloud-aio-nextcloud
name: nextcloud-aio-nextcloud
@@ -17,7 +17,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
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:20250710_082355
image: ghcr.io/nextcloud-releases/aio-alpine:20250822_112758
command:
- chmod
- "777"
@@ -110,8 +110,14 @@ spec:
value: "{{ .Values.FULLTEXTSEARCH_ENABLED }}"
- name: FULLTEXTSEARCH_HOST
value: nextcloud-aio-fulltextsearch
- name: FULLTEXTSEARCH_INDEX
value: nextcloud-aio
- name: FULLTEXTSEARCH_PASSWORD
value: "{{ .Values.FULLTEXTSEARCH_PASSWORD }}"
- name: FULLTEXTSEARCH_PORT
value: "9200"
- name: FULLTEXTSEARCH_USER
value: elastic
- name: IMAGINARY_ENABLED
value: "{{ .Values.IMAGINARY_ENABLED }}"
- name: IMAGINARY_HOST
@@ -182,7 +188,7 @@ spec:
value: "{{ .Values.WHITEBOARD_ENABLED }}"
- name: WHITEBOARD_SECRET
value: "{{ .Values.WHITEBOARD_SECRET }}"
image: ghcr.io/nextcloud-releases/aio-nextcloud:20250710_082355
image: ghcr.io/nextcloud-releases/aio-nextcloud:20250822_112758
{{- 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.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
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.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
labels:
io.kompose.service: nextcloud-aio-notify-push
name: nextcloud-aio-notify-push
@@ -17,7 +17,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
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:20250710_082355
image: ghcr.io/nextcloud-releases/aio-notify-push:20250822_112758
readinessProbe:
exec:
command:

View File

@@ -2,7 +2,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
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.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
labels:
io.kompose.service: nextcloud-aio-onlyoffice
name: nextcloud-aio-onlyoffice
@@ -18,13 +18,13 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
labels:
io.kompose.service: nextcloud-aio-onlyoffice
spec:
initContainers:
- name: init-volumes
image: ghcr.io/nextcloud-releases/aio-alpine:20250710_082355
image: ghcr.io/nextcloud-releases/aio-alpine:20250822_112758
command:
- chmod
- "777"
@@ -42,7 +42,7 @@ spec:
value: "{{ .Values.ONLYOFFICE_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-onlyoffice:20250710_082355
image: ghcr.io/nextcloud-releases/aio-onlyoffice:20250822_112758
readinessProbe:
exec:
command:

View File

@@ -3,7 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
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.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
labels:
io.kompose.service: nextcloud-aio-redis
name: nextcloud-aio-redis
@@ -17,7 +17,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
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:20250710_082355
image: ghcr.io/nextcloud-releases/aio-redis:20250822_112758
readinessProbe:
exec:
command:

View File

@@ -2,7 +2,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
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.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
labels:
io.kompose.service: nextcloud-aio-talk
name: nextcloud-aio-talk
@@ -16,7 +16,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
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:20250710_082355
image: ghcr.io/nextcloud-releases/aio-talk:20250822_112758
readinessProbe:
exec:
command:

View File

@@ -3,7 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
labels:
io.kompose.service: nextcloud-aio-talk-recording
name: nextcloud-aio-talk-recording
@@ -18,7 +18,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
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:20250710_082355
image: ghcr.io/nextcloud-releases/aio-talk-recording:20250822_112758
readinessProbe:
exec:
command:

View File

@@ -3,7 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
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.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
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.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
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.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
labels:
io.kompose.service: nextcloud-aio-whiteboard
name: nextcloud-aio-whiteboard
@@ -16,7 +16,7 @@ spec:
template:
metadata:
annotations:
kompose.version: 1.36.0 (ae2a39403)
kompose.version: 1.37.0 (fb0539e64)
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:20250710_082355
image: ghcr.io/nextcloud-releases/aio-whiteboard:20250822_112758
readinessProbe:
exec:
command:

View File

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

292
php/composer.lock generated
View File

@@ -8,22 +8,22 @@
"packages": [
{
"name": "guzzlehttp/guzzle",
"version": "7.9.3",
"version": "7.10.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
"reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77"
"reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/7b2f29fe81dc4da0ca0ea7d42107a0845946ea77",
"reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4",
"reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4",
"shasum": ""
},
"require": {
"ext-json": "*",
"guzzlehttp/promises": "^1.5.3 || ^2.0.3",
"guzzlehttp/psr7": "^2.7.0",
"guzzlehttp/promises": "^2.3",
"guzzlehttp/psr7": "^2.8",
"php": "^7.2.5 || ^8.0",
"psr/http-client": "^1.0",
"symfony/deprecation-contracts": "^2.2 || ^3.0"
@@ -114,7 +114,7 @@
],
"support": {
"issues": "https://github.com/guzzle/guzzle/issues",
"source": "https://github.com/guzzle/guzzle/tree/7.9.3"
"source": "https://github.com/guzzle/guzzle/tree/7.10.0"
},
"funding": [
{
@@ -130,20 +130,20 @@
"type": "tidelift"
}
],
"time": "2025-03-27T13:37:11+00:00"
"time": "2025-08-23T22:36:01+00:00"
},
{
"name": "guzzlehttp/promises",
"version": "2.2.0",
"version": "2.3.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/promises.git",
"reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c"
"reference": "481557b130ef3790cf82b713667b43030dc9c957"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/promises/zipball/7c69f28996b0a6920945dd20b3857e499d9ca96c",
"reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c",
"url": "https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957",
"reference": "481557b130ef3790cf82b713667b43030dc9c957",
"shasum": ""
},
"require": {
@@ -151,7 +151,7 @@
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
"phpunit/phpunit": "^8.5.39 || ^9.6.20"
"phpunit/phpunit": "^8.5.44 || ^9.6.25"
},
"type": "library",
"extra": {
@@ -197,7 +197,7 @@
],
"support": {
"issues": "https://github.com/guzzle/promises/issues",
"source": "https://github.com/guzzle/promises/tree/2.2.0"
"source": "https://github.com/guzzle/promises/tree/2.3.0"
},
"funding": [
{
@@ -213,20 +213,20 @@
"type": "tidelift"
}
],
"time": "2025-03-27T13:27:01+00:00"
"time": "2025-08-22T14:34:08+00:00"
},
{
"name": "guzzlehttp/psr7",
"version": "2.7.1",
"version": "2.8.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
"reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16"
"reference": "21dc724a0583619cd1652f673303492272778051"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/c2270caaabe631b3b44c85f99e5a04bbb8060d16",
"reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/21dc724a0583619cd1652f673303492272778051",
"reference": "21dc724a0583619cd1652f673303492272778051",
"shasum": ""
},
"require": {
@@ -242,7 +242,7 @@
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
"http-interop/http-factory-tests": "0.9.0",
"phpunit/phpunit": "^8.5.39 || ^9.6.20"
"phpunit/phpunit": "^8.5.44 || ^9.6.25"
},
"suggest": {
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
@@ -313,7 +313,7 @@
],
"support": {
"issues": "https://github.com/guzzle/psr7/issues",
"source": "https://github.com/guzzle/psr7/tree/2.7.1"
"source": "https://github.com/guzzle/psr7/tree/2.8.0"
},
"funding": [
{
@@ -329,7 +329,7 @@
"type": "tidelift"
}
],
"time": "2025-03-27T12:30:47+00:00"
"time": "2025-08-23T21:21:41+00:00"
},
{
"name": "http-interop/http-factory-guzzle",
@@ -557,16 +557,16 @@
},
{
"name": "php-di/php-di",
"version": "7.0.11",
"version": "7.1.1",
"source": {
"type": "git",
"url": "https://github.com/PHP-DI/PHP-DI.git",
"reference": "32f111a6d214564520a57831d397263e8946c1d2"
"reference": "f88054cc052e40dbe7b383c8817c19442d480352"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/32f111a6d214564520a57831d397263e8946c1d2",
"reference": "32f111a6d214564520a57831d397263e8946c1d2",
"url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/f88054cc052e40dbe7b383c8817c19442d480352",
"reference": "f88054cc052e40dbe7b383c8817c19442d480352",
"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.11"
"source": "https://github.com/PHP-DI/PHP-DI/tree/7.1.1"
},
"funding": [
{
@@ -626,7 +626,7 @@
"type": "tidelift"
}
],
"time": "2025-06-03T07:45:57+00:00"
"time": "2025-08-16T11:10:48+00:00"
},
{
"name": "php-di/slim-bridge",
@@ -1150,22 +1150,22 @@
},
{
"name": "slim/slim",
"version": "4.14.0",
"version": "4.15.0",
"source": {
"type": "git",
"url": "https://github.com/slimphp/Slim.git",
"reference": "5943393b88716eb9e82c4161caa956af63423913"
"reference": "17eba5182975878a0ab9b27982cd2e2cfcb67ea2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/slimphp/Slim/zipball/5943393b88716eb9e82c4161caa956af63423913",
"reference": "5943393b88716eb9e82c4161caa956af63423913",
"url": "https://api.github.com/repos/slimphp/Slim/zipball/17eba5182975878a0ab9b27982cd2e2cfcb67ea2",
"reference": "17eba5182975878a0ab9b27982cd2e2cfcb67ea2",
"shasum": ""
},
"require": {
"ext-json": "*",
"nikic/fast-route": "^1.3",
"php": "^7.4 || ^8.0",
"php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0",
"psr/container": "^1.0 || ^2.0",
"psr/http-factory": "^1.1",
"psr/http-message": "^1.1 || ^2.0",
@@ -1174,7 +1174,7 @@
"psr/log": "^1.1 || ^2.0 || ^3.0"
},
"require-dev": {
"adriansuter/php-autoload-override": "^1.4",
"adriansuter/php-autoload-override": "^1.4 || ^2",
"ext-simplexml": "*",
"guzzlehttp/psr7": "^2.6",
"httpsoft/http-message": "^1.1",
@@ -1184,12 +1184,12 @@
"nyholm/psr7-server": "^1.1",
"phpspec/prophecy": "^1.19",
"phpspec/prophecy-phpunit": "^2.1",
"phpstan/phpstan": "^1.11",
"phpstan/phpstan": "^1 || ^2",
"phpunit/phpunit": "^9.6",
"slim/http": "^1.3",
"slim/psr7": "^1.6",
"squizlabs/php_codesniffer": "^3.10",
"vimeo/psalm": "^5.24"
"vimeo/psalm": "^5 || ^6"
},
"suggest": {
"ext-simplexml": "Needed to support XML format in BodyParsingMiddleware",
@@ -1216,17 +1216,17 @@
{
"name": "Andrew Smith",
"email": "a.smith@silentworks.co.uk",
"homepage": "http://silentworks.co.uk"
"homepage": "https://silentworks.co.uk"
},
{
"name": "Rob Allen",
"email": "rob@akrabat.com",
"homepage": "http://akrabat.com"
"homepage": "https://akrabat.com"
},
{
"name": "Pierre Berube",
"email": "pierre@lgse.com",
"homepage": "http://www.lgse.com"
"homepage": "https://www.lgse.com"
},
{
"name": "Gabriel Manricks",
@@ -1262,7 +1262,7 @@
"type": "tidelift"
}
],
"time": "2024-06-13T08:54:48+00:00"
"time": "2025-08-20T18:16:16+00:00"
},
{
"name": "slim/twig-view",
@@ -1398,7 +1398,7 @@
},
{
"name": "symfony/polyfill-ctype",
"version": "v1.32.0",
"version": "v1.33.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.32.0"
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0"
},
"funding": [
{
@@ -1468,6 +1468,10 @@
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
@@ -1477,7 +1481,7 @@
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.32.0",
"version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
@@ -1538,7 +1542,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0"
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0"
},
"funding": [
{
@@ -1549,6 +1553,10 @@
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
@@ -1558,7 +1566,7 @@
},
{
"name": "symfony/polyfill-php81",
"version": "v1.32.0",
"version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php81.git",
@@ -1614,7 +1622,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php81/tree/v1.32.0"
"source": "https://github.com/symfony/polyfill-php81/tree/v1.33.0"
},
"funding": [
{
@@ -1625,6 +1633,10 @@
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
@@ -2602,16 +2614,16 @@
},
{
"name": "composer/semver",
"version": "3.4.3",
"version": "3.4.4",
"source": {
"type": "git",
"url": "https://github.com/composer/semver.git",
"reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12"
"reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/semver/zipball/4313d26ada5e0c4edfbd1dc481a92ff7bff91f12",
"reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12",
"url": "https://api.github.com/repos/composer/semver/zipball/198166618906cb2de69b95d7d47e5fa8aa1b2b95",
"reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95",
"shasum": ""
},
"require": {
@@ -2663,7 +2675,7 @@
"support": {
"irc": "ircs://irc.libera.chat:6697/composer",
"issues": "https://github.com/composer/semver/issues",
"source": "https://github.com/composer/semver/tree/3.4.3"
"source": "https://github.com/composer/semver/tree/3.4.4"
},
"funding": [
{
@@ -2673,13 +2685,9 @@
{
"url": "https://github.com/composer",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
"type": "tidelift"
}
],
"time": "2024-09-19T14:15:21+00:00"
"time": "2025-08-20T19:15:30+00:00"
},
{
"name": "composer/xdebug-handler",
@@ -2986,16 +2994,16 @@
},
{
"name": "fidry/cpu-core-counter",
"version": "1.2.0",
"version": "1.3.0",
"source": {
"type": "git",
"url": "https://github.com/theofidry/cpu-core-counter.git",
"reference": "8520451a140d3f46ac33042715115e290cf5785f"
"reference": "db9508f7b1474469d9d3c53b86f817e344732678"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/8520451a140d3f46ac33042715115e290cf5785f",
"reference": "8520451a140d3f46ac33042715115e290cf5785f",
"url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/db9508f7b1474469d9d3c53b86f817e344732678",
"reference": "db9508f7b1474469d9d3c53b86f817e344732678",
"shasum": ""
},
"require": {
@@ -3005,10 +3013,10 @@
"fidry/makefile": "^0.2.0",
"fidry/php-cs-fixer-config": "^1.1.2",
"phpstan/extension-installer": "^1.2.0",
"phpstan/phpstan": "^1.9.2",
"phpstan/phpstan-deprecation-rules": "^1.0.0",
"phpstan/phpstan-phpunit": "^1.2.2",
"phpstan/phpstan-strict-rules": "^1.4.4",
"phpstan/phpstan": "^2.0",
"phpstan/phpstan-deprecation-rules": "^2.0.0",
"phpstan/phpstan-phpunit": "^2.0",
"phpstan/phpstan-strict-rules": "^2.0",
"phpunit/phpunit": "^8.5.31 || ^9.5.26",
"webmozarts/strict-phpunit": "^7.5"
},
@@ -3035,7 +3043,7 @@
],
"support": {
"issues": "https://github.com/theofidry/cpu-core-counter/issues",
"source": "https://github.com/theofidry/cpu-core-counter/tree/1.2.0"
"source": "https://github.com/theofidry/cpu-core-counter/tree/1.3.0"
},
"funding": [
{
@@ -3043,7 +3051,7 @@
"type": "github"
}
],
"time": "2024-08-06T10:04:20+00:00"
"time": "2025-08-14T07:29:31+00:00"
},
{
"name": "kelunik/certificate",
@@ -3330,16 +3338,16 @@
},
{
"name": "nikic/php-parser",
"version": "v5.5.0",
"version": "v5.6.1",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "ae59794362fe85e051a58ad36b289443f57be7a9"
"reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/ae59794362fe85e051a58ad36b289443f57be7a9",
"reference": "ae59794362fe85e051a58ad36b289443f57be7a9",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2",
"reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2",
"shasum": ""
},
"require": {
@@ -3358,7 +3366,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "5.0-dev"
"dev-master": "5.x-dev"
}
},
"autoload": {
@@ -3382,9 +3390,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v5.5.0"
"source": "https://github.com/nikic/PHP-Parser/tree/v5.6.1"
},
"time": "2025-05-31T08:24:38+00:00"
"time": "2025-08-13T20:13:15+00:00"
},
{
"name": "phpdocumentor/reflection-common",
@@ -3441,16 +3449,16 @@
},
{
"name": "phpdocumentor/reflection-docblock",
"version": "5.6.2",
"version": "5.6.3",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
"reference": "92dde6a5919e34835c506ac8c523ef095a95ed62"
"reference": "94f8051919d1b0369a6bcc7931d679a511c03fe9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/92dde6a5919e34835c506ac8c523ef095a95ed62",
"reference": "92dde6a5919e34835c506ac8c523ef095a95ed62",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94f8051919d1b0369a6bcc7931d679a511c03fe9",
"reference": "94f8051919d1b0369a6bcc7931d679a511c03fe9",
"shasum": ""
},
"require": {
@@ -3499,9 +3507,9 @@
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"support": {
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.2"
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.3"
},
"time": "2025-04-13T19:20:35+00:00"
"time": "2025-08-01T19:43:32+00:00"
},
{
"name": "phpdocumentor/type-resolver",
@@ -3563,16 +3571,16 @@
},
{
"name": "phpstan/phpdoc-parser",
"version": "2.1.0",
"version": "2.2.0",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
"reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68"
"reference": "b9e61a61e39e02dd90944e9115241c7f7e76bfd8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/9b30d6fd026b2c132b3985ce6b23bec09ab3aa68",
"reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/b9e61a61e39e02dd90944e9115241c7f7e76bfd8",
"reference": "b9e61a61e39e02dd90944e9115241c7f7e76bfd8",
"shasum": ""
},
"require": {
@@ -3604,9 +3612,9 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
"source": "https://github.com/phpstan/phpdoc-parser/tree/2.1.0"
"source": "https://github.com/phpstan/phpdoc-parser/tree/2.2.0"
},
"time": "2025-02-19T13:28:12+00:00"
"time": "2025-07-13T07:04:09+00:00"
},
{
"name": "revolt/event-loop",
@@ -3875,16 +3883,16 @@
},
{
"name": "symfony/console",
"version": "v6.4.23",
"version": "v6.4.24",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "9056771b8eca08d026cd3280deeec3cfd99c4d93"
"reference": "59266a5bf6a596e3e0844fd95e6ad7ea3c1d3350"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/9056771b8eca08d026cd3280deeec3cfd99c4d93",
"reference": "9056771b8eca08d026cd3280deeec3cfd99c4d93",
"url": "https://api.github.com/repos/symfony/console/zipball/59266a5bf6a596e3e0844fd95e6ad7ea3c1d3350",
"reference": "59266a5bf6a596e3e0844fd95e6ad7ea3c1d3350",
"shasum": ""
},
"require": {
@@ -3949,7 +3957,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v6.4.23"
"source": "https://github.com/symfony/console/tree/v6.4.24"
},
"funding": [
{
@@ -3960,25 +3968,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2025-06-27T19:37:22+00:00"
"time": "2025-07-30T10:38:54+00:00"
},
{
"name": "symfony/filesystem",
"version": "v7.3.0",
"version": "v7.3.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
"reference": "b8dce482de9d7c9fe2891155035a7248ab5c7fdb"
"reference": "edcbb768a186b5c3f25d0643159a787d3e63b7fd"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/b8dce482de9d7c9fe2891155035a7248ab5c7fdb",
"reference": "b8dce482de9d7c9fe2891155035a7248ab5c7fdb",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/edcbb768a186b5c3f25d0643159a787d3e63b7fd",
"reference": "edcbb768a186b5c3f25d0643159a787d3e63b7fd",
"shasum": ""
},
"require": {
@@ -4015,7 +4027,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/filesystem/tree/v7.3.0"
"source": "https://github.com/symfony/filesystem/tree/v7.3.2"
},
"funding": [
{
@@ -4026,25 +4038,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2024-10-25T15:15:23+00:00"
"time": "2025-07-07T08:17:47+00:00"
},
{
"name": "symfony/finder",
"version": "v6.4.17",
"version": "v6.4.24",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
"reference": "1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7"
"reference": "73089124388c8510efb8d2d1689285d285937b08"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7",
"reference": "1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7",
"url": "https://api.github.com/repos/symfony/finder/zipball/73089124388c8510efb8d2d1689285d285937b08",
"reference": "73089124388c8510efb8d2d1689285d285937b08",
"shasum": ""
},
"require": {
@@ -4079,7 +4095,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/finder/tree/v6.4.17"
"source": "https://github.com/symfony/finder/tree/v6.4.24"
},
"funding": [
{
@@ -4090,25 +4106,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2024-12-29T13:51:37+00:00"
"time": "2025-07-15T12:02:45+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
"version": "v1.32.0",
"version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
"reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe"
"reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
"reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70",
"reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70",
"shasum": ""
},
"require": {
@@ -4157,7 +4177,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.32.0"
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.33.0"
},
"funding": [
{
@@ -4168,16 +4188,20 @@
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2024-09-09T11:45:10+00:00"
"time": "2025-06-27T09:58:17+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
"version": "v1.32.0",
"version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
@@ -4238,7 +4262,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.32.0"
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0"
},
"funding": [
{
@@ -4249,6 +4273,10 @@
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
@@ -4258,16 +4286,16 @@
},
{
"name": "symfony/polyfill-php84",
"version": "v1.32.0",
"version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php84.git",
"reference": "000df7860439609837bbe28670b0be15783b7fbf"
"reference": "d8ced4d875142b6a7426000426b8abc631d6b191"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/000df7860439609837bbe28670b0be15783b7fbf",
"reference": "000df7860439609837bbe28670b0be15783b7fbf",
"url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/d8ced4d875142b6a7426000426b8abc631d6b191",
"reference": "d8ced4d875142b6a7426000426b8abc631d6b191",
"shasum": ""
},
"require": {
@@ -4314,7 +4342,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php84/tree/v1.32.0"
"source": "https://github.com/symfony/polyfill-php84/tree/v1.33.0"
},
"funding": [
{
@@ -4325,12 +4353,16 @@
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2025-02-20T12:04:08+00:00"
"time": "2025-06-24T13:30:11+00:00"
},
{
"name": "symfony/service-contracts",
@@ -4417,16 +4449,16 @@
},
{
"name": "symfony/string",
"version": "v7.3.0",
"version": "v7.3.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125"
"reference": "42f505aff654e62ac7ac2ce21033818297ca89ca"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/f3570b8c61ca887a9e2938e85cb6458515d2b125",
"reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125",
"url": "https://api.github.com/repos/symfony/string/zipball/42f505aff654e62ac7ac2ce21033818297ca89ca",
"reference": "42f505aff654e62ac7ac2ce21033818297ca89ca",
"shasum": ""
},
"require": {
@@ -4484,7 +4516,7 @@
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v7.3.0"
"source": "https://github.com/symfony/string/tree/v7.3.2"
},
"funding": [
{
@@ -4495,25 +4527,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2025-04-20T20:19:01+00:00"
"time": "2025-07-10T08:47:49+00:00"
},
{
"name": "vimeo/psalm",
"version": "6.12.1",
"version": "6.13.1",
"source": {
"type": "git",
"url": "https://github.com/vimeo/psalm.git",
"reference": "e71404b0465be25cf7f8a631b298c01c5ddd864f"
"reference": "1e3b7f0a8ab32b23197b91107adc0a7ed8a05b51"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/e71404b0465be25cf7f8a631b298c01c5ddd864f",
"reference": "e71404b0465be25cf7f8a631b298c01c5ddd864f",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/1e3b7f0a8ab32b23197b91107adc0a7ed8a05b51",
"reference": "1e3b7f0a8ab32b23197b91107adc0a7ed8a05b51",
"shasum": ""
},
"require": {
@@ -4618,7 +4654,7 @@
"issues": "https://github.com/vimeo/psalm/issues",
"source": "https://github.com/vimeo/psalm"
},
"time": "2025-07-04T09:56:28+00:00"
"time": "2025-08-06T10:10:28+00:00"
},
{
"name": "wapmorgan/php-deprecation-detector",

View File

@@ -8,9 +8,9 @@
"nextcloud-aio-onlyoffice",
"nextcloud-aio-collabora",
"nextcloud-aio-talk",
"nextcloud-aio-nextcloud",
"nextcloud-aio-notify-push",
"nextcloud-aio-whiteboard"
"nextcloud-aio-whiteboard",
"nextcloud-aio-nextcloud"
],
"display_name": "Apache",
"image": "ghcr.io/nextcloud-releases/aio-apache",
@@ -236,6 +236,9 @@
"PHP_MEMORY_LIMIT=%NEXTCLOUD_MEMORY_LIMIT%",
"FULLTEXTSEARCH_ENABLED=%FULLTEXTSEARCH_ENABLED%",
"FULLTEXTSEARCH_HOST=nextcloud-aio-fulltextsearch",
"FULLTEXTSEARCH_PORT=9200",
"FULLTEXTSEARCH_USER=elastic",
"FULLTEXTSEARCH_INDEX=nextcloud-aio",
"PHP_MAX_TIME=%NEXTCLOUD_MAX_TIME%",
"TRUSTED_CACERTS_DIR=%NEXTCLOUD_TRUSTED_CACERTS_DIR%",
"STARTUP_APPS=%NEXTCLOUD_STARTUP_APPS%",
@@ -394,6 +397,8 @@
"cap_add": [
"MKNOD",
"SYS_ADMIN",
"SYS_CHROOT",
"FOWNER",
"CHOWN"
],
"cap_drop": [
@@ -792,7 +797,7 @@
"bootstrap.memory_lock=true",
"cluster.name=nextcloud-aio",
"discovery.type=single-node",
"logger.org.elasticsearch.discovery=WARN",
"logger.level=WARN",
"http.port=9200",
"xpack.license.self_generated.type=basic",
"xpack.security.enabled=false",

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="6.12.0@cf420941d061a57050b6c468ef2c778faf40aee2">
<files psalm-version="6.13.1@1e3b7f0a8ab32b23197b91107adc0a7ed8a05b51">
<file src="src/ContainerDefinitionFetcher.php">
<PossiblyFalseArgument>
<code><![CDATA[file_get_contents($path)]]></code>

View File

@@ -86,6 +86,7 @@ $app->get('/containers', function (Request $request, Response $response, array $
// 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']);
$bypass_container_update = isset($params['bypass_container_update']);
return $view->render($response, 'containers.twig', [
'domain' => $configurationManager->GetDomain(),
@@ -136,6 +137,7 @@ $app->get('/containers', function (Request $request, Response $response, array $
'is_whiteboard_enabled' => $configurationManager->isWhiteboardEnabled(),
'community_containers' => $configurationManager->listAvailableCommunityContainers(),
'community_containers_enabled' => $configurationManager->GetEnabledCommunityContainers(),
'bypass_container_update' => $bypass_container_update,
]);
})->setName('profile');
$app->get('/login', function (Request $request, Response $response, array $args) use ($container) {

View File

@@ -22,6 +22,7 @@ readonly class DockerController {
private function PerformRecursiveContainerStart(string $id, bool $pullImage = true) : void {
$container = $this->containerDefinitionFetcher->GetContainerById($id);
// Start all dependencies first and then itself
foreach($container->GetDependsOn() as $dependency) {
$this->PerformRecursiveContainerStart($dependency, $pullImage);
}
@@ -33,33 +34,32 @@ readonly class DockerController {
return;
}
// Skip database image pull if the last shutdown was not clean
if ($id === 'nextcloud-aio-database') {
if ($this->dockerActionManager->GetDatabasecontainerExitCode() > 0) {
$pullImage = false;
error_log('Not pulling the latest database image because the container was not correctly shut down.');
}
}
// Check if registry is reachable in order to make sure that we do not try to pull an image if it is down
// and try to mitigate issues that are arising due to that
if ($pullImage) {
if (!$this->dockerActionManager->isRegistryReachable($container)) {
$pullImage = false;
error_log('Not pulling the ' . $container->GetContainerName() . ' image for the ' . $container->GetIdentifier() . ' container because the registry does not seem to be reachable.');
}
}
$this->dockerActionManager->DeleteContainer($container);
$this->dockerActionManager->CreateVolumes($container);
if ($pullImage) {
$this->dockerActionManager->PullImage($container);
}
$this->dockerActionManager->PullImage($container, $pullImage);
$this->dockerActionManager->CreateContainer($container);
$this->dockerActionManager->StartContainer($container);
$this->dockerActionManager->ConnectContainerToNetwork($container);
}
private function PerformRecursiveImagePull(string $id) : void {
$container = $this->containerDefinitionFetcher->GetContainerById($id);
// Pull all dependencies first and then itself
foreach($container->GetDependsOn() as $dependency) {
$this->PerformRecursiveImagePull($dependency);
}
$this->dockerActionManager->PullImage($container, true);
}
public function PullAllContainerImages(): void {
$id = self::TOP_CONTAINER;
$this->PerformRecursiveImagePull($id);
}
public function GetLogs(Request $request, Response $response, array $args) : Response
{
$requestParams = $request->getQueryParams();
@@ -83,17 +83,18 @@ readonly class DockerController {
}
public function StartBackupContainerBackup(Request $request, Response $response, array $args) : Response {
$this->startBackup();
$forceStopNextcloud = true;
$this->startBackup($forceStopNextcloud);
return $response->withStatus(201)->withHeader('Location', '/');
}
public function startBackup() : void {
public function startBackup(bool $forceStopNextcloud = false) : void {
$config = $this->configurationManager->GetConfig();
$config['backup-mode'] = 'backup';
$this->configurationManager->WriteConfig($config);
$id = self::TOP_CONTAINER;
$this->PerformRecursiveContainerStop($id);
$this->PerformRecursiveContainerStop($id, $forceStopNextcloud);
$id = 'nextcloud-aio-borgbackup';
$this->PerformRecursiveContainerStart($id);
@@ -125,7 +126,8 @@ readonly class DockerController {
$this->configurationManager->WriteConfig($config);
$id = self::TOP_CONTAINER;
$this->PerformRecursiveContainerStop($id);
$forceStopNextcloud = true;
$this->PerformRecursiveContainerStop($id, $forceStopNextcloud);
$id = 'nextcloud-aio-borgbackup';
$this->PerformRecursiveContainerStart($id);
@@ -189,8 +191,14 @@ readonly class DockerController {
$config['install_latest_major'] = $installLatestMajor;
$this->configurationManager->WriteConfig($config);
// Do not pull container images in case 'bypass_container_update' is set via url params
// Needed for local testing
$pullImage = !isset($request->getParsedBody()['bypass_container_update']);
if ($pullImage === false) {
error_log('WARNING: Not pulling container images. Instead, using local ones.');
}
// Start container
$this->startTopContainer(true);
$this->startTopContainer($pullImage);
// Clear apcu cache in order to check if container updates are available
// Temporarily disabled as it leads much faster to docker rate limits
@@ -224,22 +232,34 @@ readonly class DockerController {
$this->PerformRecursiveContainerStart($id);
}
private function PerformRecursiveContainerStop(string $id) : void
private function PerformRecursiveContainerStop(string $id, bool $forceStopNextcloud = false) : void
{
$container = $this->containerDefinitionFetcher->GetContainerById($id);
foreach($container->GetDependsOn() as $dependency) {
$this->PerformRecursiveContainerStop($dependency);
// This is a hack but no better solution was found for the meantime
// Stop Collabora first to make sure it force-saves
// See https://github.com/nextcloud/richdocuments/issues/3799
if ($id === self::TOP_CONTAINER && $this->configurationManager->isCollaboraEnabled()) {
$this->PerformRecursiveContainerStop('nextcloud-aio-collabora');
}
// Disconnecting is not needed. This also allows to start the containers manually via docker-cli
//$this->dockerActionManager->DisconnectContainerFromNetwork($container);
$this->dockerActionManager->StopContainer($container);
// Stop itself first and then all the dependencies
if ($id !== 'nextcloud-aio-nextcloud') {
$this->dockerActionManager->StopContainer($container);
} else {
// We want to stop the Nextcloud container after 10s and not wait for the configured stop_grace_period
$this->dockerActionManager->StopContainer($container, $forceStopNextcloud);
}
foreach($container->GetDependsOn() as $dependency) {
$this->PerformRecursiveContainerStop($dependency, $forceStopNextcloud);
}
}
public function StopContainer(Request $request, Response $response, array $args) : Response
{
$id = self::TOP_CONTAINER;
$this->PerformRecursiveContainerStop($id);
$forceStopNextcloud = true;
$this->PerformRecursiveContainerStop($id, $forceStopNextcloud);
return $response->withStatus(201)->withHeader('Location', '/');
}

View File

@@ -0,0 +1,20 @@
<?php
declare(strict_types=1);
// increase memory limit to 2GB
ini_set('memory_limit', '2048M');
// Log whole log messages
ini_set('log_errors_max_len', '0');
use DI\Container;
require __DIR__ . '/../../vendor/autoload.php';
$container = \AIO\DependencyInjection::GetContainer();
/** @var \AIO\Controller\DockerController $dockerController */
$dockerController = $container->get(\AIO\Controller\DockerController::class);
// Pull all containers
$dockerController->PullAllContainerImages();

View File

@@ -389,7 +389,7 @@ class ConfigurationManager
if ($port === '443') {
$notice .= " If you should be using Cloudflare, make sure to disable the Cloudflare Proxy feature as it might block the domain validation. Same for any other firewall or service that blocks unencrypted access on port 443.";
} else {
error_log('Please follow https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#6-how-to-debug-things in order to debug things!');
error_log('Please follow https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#how-to-debug in order to debug things!');
}
throw new InvalidSettingConfigurationException($notice);
}

View File

@@ -240,178 +240,7 @@ readonly class DockerActionManager {
$envs[] = $this->GetAllNextcloudExecCommands();
}
foreach ($envs as $key => $env) {
// TODO: This whole block below is a hack and needs to get reworked in order to support multiple substitutions per line by default for all envs
if (str_starts_with($env, 'extra_params=')) {
$env = str_replace('%COLLABORA_SECCOMP_POLICY%', $this->configurationManager->GetCollaboraSeccompPolicy(), $env);
$env = str_replace('%NC_DOMAIN%', $this->configurationManager->GetDomain(), $env);
$envs[$key] = $env;
continue;
}
// Original implementation
$patterns = ['/%(.*)%/'];
if (preg_match($patterns[0], $env, $out) === 1) {
$replacements = array();
if ($out[1] === 'NC_DOMAIN') {
$replacements[1] = $this->configurationManager->GetDomain();
} elseif ($out[1] === 'NC_BASE_DN') {
$replacements[1] = $this->configurationManager->GetBaseDN();
} elseif ($out[1] === 'AIO_TOKEN') {
$replacements[1] = $this->configurationManager->GetToken();
} elseif ($out[1] === 'BORGBACKUP_REMOTE_REPO') {
$replacements[1] = $this->configurationManager->GetBorgRemoteRepo();
} elseif ($out[1] === 'BORGBACKUP_MODE') {
$replacements[1] = $this->configurationManager->GetBackupMode();
} elseif ($out[1] === 'AIO_URL') {
$replacements[1] = $this->configurationManager->GetAIOURL();
} elseif ($out[1] === 'SELECTED_RESTORE_TIME') {
$replacements[1] = $this->configurationManager->GetSelectedRestoreTime();
} elseif ($out[1] === 'RESTORE_EXCLUDE_PREVIEWS') {
$replacements[1] = $this->configurationManager->GetRestoreExcludePreviews();
} elseif ($out[1] === 'APACHE_PORT') {
$replacements[1] = $this->configurationManager->GetApachePort();
} elseif ($out[1] === 'TALK_PORT') {
$replacements[1] = $this->configurationManager->GetTalkPort();
} elseif ($out[1] === 'NEXTCLOUD_MOUNT') {
$replacements[1] = $this->configurationManager->GetNextcloudMount();
} elseif ($out[1] === 'BACKUP_RESTORE_PASSWORD') {
$replacements[1] = $this->configurationManager->GetBorgRestorePassword();
} elseif ($out[1] === 'CLAMAV_ENABLED') {
if ($this->configurationManager->isClamavEnabled()) {
$replacements[1] = 'yes';
} else {
$replacements[1] = '';
}
} elseif ($out[1] === 'TALK_RECORDING_ENABLED') {
if ($this->configurationManager->isTalkRecordingEnabled()) {
$replacements[1] = 'yes';
} else {
$replacements[1] = '';
}
} elseif ($out[1] === 'ONLYOFFICE_ENABLED') {
if ($this->configurationManager->isOnlyofficeEnabled()) {
$replacements[1] = 'yes';
} else {
$replacements[1] = '';
}
} elseif ($out[1] === 'COLLABORA_ENABLED') {
if ($this->configurationManager->isCollaboraEnabled()) {
$replacements[1] = 'yes';
} else {
$replacements[1] = '';
}
} elseif ($out[1] === 'TALK_ENABLED') {
if ($this->configurationManager->isTalkEnabled()) {
$replacements[1] = 'yes';
} else {
$replacements[1] = '';
}
} elseif ($out[1] === 'UPDATE_NEXTCLOUD_APPS') {
if ($this->configurationManager->isDailyBackupRunning() && $this->configurationManager->areAutomaticUpdatesEnabled()) {
$replacements[1] = 'yes';
} else {
$replacements[1] = '';
}
} elseif ($out[1] === 'TIMEZONE') {
if ($this->configurationManager->GetTimezone() === '') {
$replacements[1] = 'Etc/UTC';
} else {
$replacements[1] = $this->configurationManager->GetTimezone();
}
} elseif ($out[1] === 'COLLABORA_DICTIONARIES') {
if ($this->configurationManager->GetCollaboraDictionaries() === '') {
$replacements[1] = 'de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru';
} else {
$replacements[1] = $this->configurationManager->GetCollaboraDictionaries();
}
} elseif ($out[1] === 'IMAGINARY_ENABLED') {
if ($this->configurationManager->isImaginaryEnabled()) {
$replacements[1] = 'yes';
} else {
$replacements[1] = '';
}
} elseif ($out[1] === 'FULLTEXTSEARCH_ENABLED') {
if ($this->configurationManager->isFulltextsearchEnabled()) {
$replacements[1] = 'yes';
} else {
$replacements[1] = '';
}
} elseif ($out[1] === 'DOCKER_SOCKET_PROXY_ENABLED') {
if ($this->configurationManager->isDockerSocketProxyEnabled()) {
$replacements[1] = 'yes';
} else {
$replacements[1] = '';
}
} elseif ($out[1] === 'NEXTCLOUD_UPLOAD_LIMIT') {
$replacements[1] = $this->configurationManager->GetNextcloudUploadLimit();
} elseif ($out[1] === 'NEXTCLOUD_MEMORY_LIMIT') {
$replacements[1] = $this->configurationManager->GetNextcloudMemoryLimit();
} elseif ($out[1] === 'NEXTCLOUD_MAX_TIME') {
$replacements[1] = $this->configurationManager->GetNextcloudMaxTime();
} elseif ($out[1] === 'BORG_RETENTION_POLICY') {
$replacements[1] = $this->configurationManager->GetBorgRetentionPolicy();
} elseif ($out[1] === 'FULLTEXTSEARCH_JAVA_OPTIONS') {
$replacements[1] = $this->configurationManager->GetFulltextsearchJavaOptions();
} elseif ($out[1] === 'NEXTCLOUD_TRUSTED_CACERTS_DIR') {
$replacements[1] = $this->configurationManager->GetTrustedCacertsDir();
} elseif ($out[1] === 'ADDITIONAL_DIRECTORIES_BACKUP') {
if ($this->configurationManager->GetAdditionalBackupDirectoriesString() !== '') {
$replacements[1] = 'yes';
} else {
$replacements[1] = '';
}
} elseif ($out[1] === 'BORGBACKUP_HOST_LOCATION') {
$replacements[1] = $this->configurationManager->GetBorgBackupHostLocation();
} elseif ($out[1] === 'APACHE_MAX_SIZE') {
$replacements[1] = $this->configurationManager->GetApacheMaxSize();
} elseif ($out[1] === 'COLLABORA_SECCOMP_POLICY') {
$replacements[1] = $this->configurationManager->GetCollaboraSeccompPolicy();
} elseif ($out[1] === 'NEXTCLOUD_STARTUP_APPS') {
$replacements[1] = $this->configurationManager->GetNextcloudStartupApps();
} elseif ($out[1] === 'NEXTCLOUD_ADDITIONAL_APKS') {
$replacements[1] = $this->configurationManager->GetNextcloudAdditionalApks();
} elseif ($out[1] === 'NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS') {
$replacements[1] = $this->configurationManager->GetNextcloudAdditionalPhpExtensions();
} elseif ($out[1] === 'INSTALL_LATEST_MAJOR') {
if ($this->configurationManager->shouldLatestMajorGetInstalled()) {
$replacements[1] = 'yes';
} else {
$replacements[1] = '';
}
} elseif ($out[1] === 'REMOVE_DISABLED_APPS') {
if ($this->configurationManager->shouldDisabledAppsGetRemoved()) {
$replacements[1] = 'yes';
} else {
$replacements[1] = '';
}
// Allow to get local ip-address of database container which allows to talk to it even in host mode (the container that requires this needs to be started first then)
} elseif ($out[1] === 'AIO_DATABASE_HOST') {
$replacements[1] = gethostbyname('nextcloud-aio-database');
// Allow to get local ip-address of caddy container and add it to trusted proxies automatically
} elseif ($out[1] === 'CADDY_IP_ADDRESS') {
$replacements[1] = '';
$communityContainers = $this->configurationManager->GetEnabledCommunityContainers();
if (in_array('caddy', $communityContainers, true)) {
$replacements[1] = gethostbyname('nextcloud-aio-caddy');
}
} elseif ($out[1] === 'WHITEBOARD_ENABLED') {
if ($this->configurationManager->isWhiteboardEnabled()) {
$replacements[1] = 'yes';
} else {
$replacements[1] = '';
}
} else {
$secret = $this->configurationManager->GetSecret($out[1]);
if ($secret === "") {
throw new \Exception("The secret " . $out[1] . " is empty. Cannot substitute its value. Please check if it is defined in secrets of containers.json.");
}
$replacements[1] = $secret;
}
$envs[$key] = preg_replace($patterns, $replacements, $env);
}
$envs[$key] = $this->replaceEnvPlaceholders($env);
}
if (count($envs) > 0) {
@@ -621,7 +450,30 @@ readonly class DockerActionManager {
}
}
public function PullImage(Container $container): void {
public function PullImage(Container $container, bool $pullImage = true): void {
// Skip database image pull if the last shutdown was not clean
if ($container->GetIdentifier() === 'nextcloud-aio-database') {
if ($this->GetDatabasecontainerExitCode() > 0) {
$pullImage = false;
error_log('Not pulling the latest database image because the container was not correctly shut down.');
}
}
// Check if registry is reachable in order to make sure that we do not try to pull an image if it is down
// and try to mitigate issues that are arising due to that
if ($pullImage) {
if (!$this->isRegistryReachable($container)) {
$pullImage = false;
error_log('Not pulling the ' . $container->GetContainerName() . ' image for the ' . $container->GetIdentifier() . ' container because the registry does not seem to be reachable.');
}
}
// Do not continue if $pullImage is false
if (!$pullImage) {
return;
}
$imageName = $this->BuildImageName($container);
$encodedImageName = urlencode($imageName);
$url = $this->BuildApiUrl(sprintf('images/create?fromImage=%s', $encodedImageName));
@@ -644,6 +496,88 @@ readonly class DockerActionManager {
}
}
// Replaces placeholders in $envValue with their values.
// E.g. "%NC_DOMAIN%:%APACHE_PORT" becomes "my.nextcloud.com:11000"
private function replaceEnvPlaceholders(string $envValue): string {
// $pattern breaks down as:
// % - matches a literal percent sign
// ([^%]+) - capture group that matches one or more characters that are NOT percent signs
// % - matches the closing percent sign
//
// Assumes literal percent signs are always matched and there is no
// escaping.
$pattern = '/%([^%]+)%/';
$matchCount = preg_match_all($pattern, $envValue, $matches);
if ($matchCount === 0) {
return $envValue;
}
$placeholders = $matches[0]; // ["%PLACEHOLDER1%", "%PLACEHOLDER2%", ...]
$placeholderNames = $matches[1]; // ["PLACEHOLDER1", "PLACEHOLDER2", ...]
$placeholderPatterns = array_map(static fn(string $p) => '/' . preg_quote($p) . '/', $placeholders); // ["/%PLACEHOLDER1%/", ...]
$placeholderValues = array_map($this->getPlaceholderValue(...), $placeholderNames); // ["val1", "val2"]
// Guaranteed to be non-null because we found the placeholders in the preg_match_all.
return (string) preg_replace($placeholderPatterns, $placeholderValues, $envValue);
}
private function getPlaceholderValue(string $placeholder) : string {
return match ($placeholder) {
'NC_DOMAIN' => $this->configurationManager->GetDomain(),
'NC_BASE_DN' => $this->configurationManager->GetBaseDN(),
'AIO_TOKEN' => $this->configurationManager->GetToken(),
'BORGBACKUP_REMOTE_REPO' => $this->configurationManager->GetBorgRemoteRepo(),
'BORGBACKUP_MODE' => $this->configurationManager->GetBackupMode(),
'AIO_URL' => $this->configurationManager->GetAIOURL(),
'SELECTED_RESTORE_TIME' => $this->configurationManager->GetSelectedRestoreTime(),
'RESTORE_EXCLUDE_PREVIEWS' => $this->configurationManager->GetRestoreExcludePreviews(),
'APACHE_PORT' => $this->configurationManager->GetApachePort(),
'TALK_PORT' => $this->configurationManager->GetTalkPort(),
'NEXTCLOUD_MOUNT' => $this->configurationManager->GetNextcloudMount(),
'BACKUP_RESTORE_PASSWORD' => $this->configurationManager->GetBorgRestorePassword(),
'CLAMAV_ENABLED' => $this->configurationManager->isClamavEnabled() ? 'yes' : '',
'TALK_RECORDING_ENABLED' => $this->configurationManager->isTalkRecordingEnabled() ? 'yes' : '',
'ONLYOFFICE_ENABLED' => $this->configurationManager->isOnlyofficeEnabled() ? 'yes' : '',
'COLLABORA_ENABLED' => $this->configurationManager->isCollaboraEnabled() ? 'yes' : '',
'TALK_ENABLED' => $this->configurationManager->isTalkEnabled() ? 'yes' : '',
'UPDATE_NEXTCLOUD_APPS' => ($this->configurationManager->isDailyBackupRunning() && $this->configurationManager->areAutomaticUpdatesEnabled()) ? 'yes' : '',
'TIMEZONE' => $this->configurationManager->GetTimezone() === '' ? 'Etc/UTC' : $this->configurationManager->GetTimezone(),
'COLLABORA_DICTIONARIES' => $this->configurationManager->GetCollaboraDictionaries() === '' ? 'de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru' : $this->configurationManager->GetCollaboraDictionaries(),
'IMAGINARY_ENABLED' => $this->configurationManager->isImaginaryEnabled() ? 'yes' : '',
'FULLTEXTSEARCH_ENABLED' => $this->configurationManager->isFulltextsearchEnabled() ? 'yes' : '',
'DOCKER_SOCKET_PROXY_ENABLED' => $this->configurationManager->isDockerSocketProxyEnabled() ? 'yes' : '',
'NEXTCLOUD_UPLOAD_LIMIT' => $this->configurationManager->GetNextcloudUploadLimit(),
'NEXTCLOUD_MEMORY_LIMIT' => $this->configurationManager->GetNextcloudMemoryLimit(),
'NEXTCLOUD_MAX_TIME' => $this->configurationManager->GetNextcloudMaxTime(),
'BORG_RETENTION_POLICY' => $this->configurationManager->GetBorgRetentionPolicy(),
'FULLTEXTSEARCH_JAVA_OPTIONS' => $this->configurationManager->GetFulltextsearchJavaOptions(),
'NEXTCLOUD_TRUSTED_CACERTS_DIR' => $this->configurationManager->GetTrustedCacertsDir(),
'ADDITIONAL_DIRECTORIES_BACKUP' => $this->configurationManager->GetAdditionalBackupDirectoriesString() !== '' ? 'yes' : '',
'BORGBACKUP_HOST_LOCATION' => $this->configurationManager->GetBorgBackupHostLocation(),
'APACHE_MAX_SIZE' => (string)($this->configurationManager->GetApacheMaxSize()),
'COLLABORA_SECCOMP_POLICY' => $this->configurationManager->GetCollaboraSeccompPolicy(),
'NEXTCLOUD_STARTUP_APPS' => $this->configurationManager->GetNextcloudStartupApps(),
'NEXTCLOUD_ADDITIONAL_APKS' => $this->configurationManager->GetNextcloudAdditionalApks(),
'NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS' => $this->configurationManager->GetNextcloudAdditionalPhpExtensions(),
'INSTALL_LATEST_MAJOR' => $this->configurationManager->shouldLatestMajorGetInstalled() ? 'yes' : '',
'REMOVE_DISABLED_APPS' => $this->configurationManager->shouldDisabledAppsGetRemoved() ? 'yes' : '',
// Allow to get local ip-address of database container which allows to talk to it even in host mode (the container that requires this needs to be started first then)
'AIO_DATABASE_HOST' => gethostbyname('nextcloud-aio-database'),
// Allow to get local ip-address of caddy container and add it to trusted proxies automatically
'CADDY_IP_ADDRESS' => in_array('caddy', $this->configurationManager->GetEnabledCommunityContainers(), true) ? gethostbyname('nextcloud-aio-caddy') : '',
'WHITEBOARD_ENABLED' => $this->configurationManager->isWhiteboardEnabled() ? 'yes' : '',
default => $this->getSecretOrThrow($placeholder),
};
}
private function getSecretOrThrow(string $secretName): string {
$secret = $this->configurationManager->GetSecret($secretName);
if ($secret === "") {
throw new \Exception("The secret " . $secretName . " is empty. Cannot substitute its value. Please check if it is defined in secrets of containers.json.");
}
return $secret;
}
private function isContainerUpdateAvailable(string $id): string {
$container = $this->containerDefinitionFetcher->GetContainerById($id);
@@ -964,8 +898,13 @@ readonly class DockerActionManager {
}
}
public function StopContainer(Container $container): void {
$url = $this->BuildApiUrl(sprintf('containers/%s/stop?t=%s', urlencode($container->GetIdentifier()), $container->GetMaxShutdownTime()));
public function StopContainer(Container $container, bool $forceStopContainer = false): void {
if ($forceStopContainer) {
$maxShutDownTime = 10;
} else {
$maxShutDownTime = $container->GetMaxShutdownTime();
}
$url = $this->BuildApiUrl(sprintf('containers/%s/stop?t=%s', urlencode($container->GetIdentifier()), $maxShutDownTime));
try {
$this->guzzleClient->post($url);
} catch (RequestException $e) {

View File

@@ -17,7 +17,7 @@
<div class="container">
<main>
<h1>Nextcloud AIO v11.4.0</h1>
<h1>Nextcloud AIO v11.7.0</h1>
{# Add 2nd tab warning #}
<script type="text/javascript" src="second-tab-warning.js"></script>
@@ -123,7 +123,7 @@
<p>If you only want to install AIO locally without exposing it to the public internet or if you cannot do so, feel free to follow <a target="_blank" href="https://github.com/nextcloud/all-in-one/blob/main/local-instance.md">this documentation</a>.</p>
<p>If you should be using Cloudflare Proxy for your domain, make sure to disable the Proxy feature temporarily as it might block the domain validation attempts.</p>
{% if apache_port != '443' %}
<p>If you run into issues with your domain being accepted, see <a target="_blank" href="https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#6-how-to-debug-things">these steps</a> for how to debug things.</p>
<p>If you run into issues with your domain being accepted, see <a target="_blank" href="https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#how-to-debug">these steps</a> for how to debug things.</p>
{% endif %}
<p><strong>Hint:</strong> If the domain validation fails but you are completely sure that you've configured everything correctly, you may skip the domain validation by following <a target="_blank" href="https://github.com/nextcloud/all-in-one#how-to-skip-the-domain-validation">this documentation</a>.</p>
</details>
@@ -352,6 +352,9 @@
<form method="POST" action="/api/docker/start" class="xhr">
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
{% if bypass_container_update == true %}
<input type="hidden" name="bypass_container_update" value="{{bypass_container_update}}">
{% endif %}
<input class="button " type="submit" value="Start and update containers" onclick="return confirm('Start and update containers? You should consider creating a backup first.')" />
</form>
{% endif %}
@@ -371,6 +374,7 @@
<p>
To store backups remotely instead, fill in the
<a target="_blank" href="https://borgbackup.readthedocs.io/en/stable/usage/general.html#repository-urls">remote borg repo url and submit it</a>.
You will be provided with an SSH public key for authorization at the remote afterwards.
</p>
<form method="POST" action="/api/configuration" class="xhr">
<label>Local backup location</label> <input type="text" id="borg_backup_host_location" name="borg_backup_host_location" placeholder="/mnt/backup"/><br>

View File

@@ -60,8 +60,8 @@ test('Initial setup', async ({ page: setupPage }) => {
// Start containers and wait for starting message
await containersPage.getByRole('button', { name: 'Download and start containers' }).click();
await expect(containersPage.getByRole('main')).toContainText('Containers are currently starting.', { timeout: 3 * 60 * 1000 });
await expect(containersPage.getByRole('link', { name: 'Open your Nextcloud ↗' })).toBeVisible({ timeout: 2 * 60 * 1000 });
await expect(containersPage.getByRole('main')).toContainText('Containers are currently starting.', { timeout: 5 * 60 * 1000 });
await expect(containersPage.getByRole('link', { name: 'Open your Nextcloud ↗' })).toBeVisible({ timeout: 3 * 60 * 1000 });
await expect(containersPage.getByRole('link', { name: 'Open your Nextcloud ↗' })).toHaveAttribute('href', 'https://example.com');
// Extract initial nextcloud password

View File

@@ -28,7 +28,7 @@ test('Restore instance', async ({ page: setupPage }) => {
await containersPage.locator('#domain').click();
await containersPage.locator('#domain').fill('example.com');
await containersPage.getByRole('button', { name: 'Submit domain' }).click();
await expect(containersPage.locator('body')).toContainText('Domain does not point to this server or the reverse proxy is not configured correctly.');
await expect(containersPage.locator('body')).toContainText('Domain does not point to this server or the reverse proxy is not configured correctly.', { timeout: 15 * 1000 });
// Reject invalid backup location
await containersPage.locator('#borg_restore_host_location').click();

View File

@@ -171,6 +171,7 @@ If your firewall/router has port 80 and 8443 open/forwarded and you point a doma
- [How to skip the domain validation?](#how-to-skip-the-domain-validation)
- [How to resolve firewall problems with Fedora Linux, RHEL OS, CentOS, SUSE Linux and others?](#how-to-resolve-firewall-problems-with-fedora-linux-rhel-os-centos-suse-linux-and-others)
- [What can I do to fix the internal or reserved ip-address error?](#what-can-i-do-to-fix-the-internal-or-reserved-ip-address-error)
- [How to adjust the MTU size of the docker network](#how-to-adjust-the-mtu-size-of-the-docker-network)
- [Infrastructure](#infrastructure)
- [Which CPU architectures are supported?](#which-cpu-architectures-are-supported)
- [Disrecommended VPS providers](#disrecommended-vps-providers)
@@ -353,6 +354,15 @@ See https://dev.to/ozorest/fedora-32-how-to-solve-docker-internal-network-issue-
### What can I do to fix the internal or reserved ip-address error?
If you get an error during the domain validation which states that your ip-address is an internal or reserved ip-address, you can fix this by first making sure that your domain indeed has the correct public ip-address that points to the server and then adding `--add-host yourdomain.com:<public-ip-address>` 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) which will allow the domain validation to work correctly. And so that you know: even if the `A` record of your domain should change over time, this is no problem since the mastercontainer will not make any attempt to access the chosen domain after the initial domain validation.
### How to adjust the MTU size of the docker network
You can adjust the MTU size of the docker network by creating it beforehand with the custom MTU:
```
docker network create --driver bridge --opt com.docker.network.driver.mtu=1440 nextcloud-aio
```
When you open the AIO interface for the first time after you execute the `docker run` command, it will automatically connect to the `aio-nextcloud` network with the custom MTU. Keep in mind that if you previously started the mastercontainer without creating the network with the extra options, you will need to remove the old `aio-nextcloud` network and recreate it with the new configuration.
If you want to use docker compose, you can check out the comments in the `compose.yaml` file for more details.
## Infrastructure
### Which CPU architectures are supported?
@@ -409,7 +419,7 @@ You can move the whole docker library and all its files including all Nextcloud
1. Stop all the containers from the AIO Interface.
2. Go to your terminal and delete the Collabora container (`docker rm nextcloud-aio-collabora`) AND the Collabora image (`docker image rm nextcloud/aio-collabora`).
3. You might also want to prune your Docker (`docker system prune`) (no data will be lost).
3. You might also want to prune your Docker (`docker system prune -a`) (no data will be lost).
4. Restart your containers from the AIO Interface.
This should solve the problem.
@@ -449,7 +459,7 @@ You might want to adjust the Nextcloud apps that are installed upon the first st
### How to add OS packages permanently to the Nextcloud container?
Some Nextcloud apps require additional external dependencies that must be bundled within Nextcloud container in order to work correctly. As we cannot put each and every dependency for all apps into the container - as this would make the project quickly unmaintainable - there is an official way in which you can add additional dependencies into the Nextcloud container. However note that doing this is disrecommended since we do not test Nextcloud apps that require external dependencies.
You can do so by adding `--env NEXTCLOUD_ADDITIONAL_APKS="imagemagick dependency2 dependency3"` 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 be a string with small letters a-z, digits 0-9, spaces, dots and hyphens or '_'. You can find available packages here: https://pkgs.alpinelinux.org/packages?branch=v3.21. By default `imagemagick` is added. If you want to keep it, you need to specify it as well.
You can do so by adding `--env NEXTCLOUD_ADDITIONAL_APKS="imagemagick dependency2 dependency3"` 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 be a string with small letters a-z, digits 0-9, spaces, dots and hyphens or '_'. You can find available packages here: https://pkgs.alpinelinux.org/packages?branch=v3.22. By default `imagemagick` is added. If you want to keep it, you need to specify it as well.
### How to add PHP extensions permanently to the Nextcloud container?
Some Nextcloud apps require additional php extensions that must be bundled within Nextcloud container in order to work correctly. As we cannot put each and every dependency for all apps into the container - as this would make the project quickly unmaintainable - there is an official way in which you can add additional php extensions into the Nextcloud container. However note that doing this is disrecommended since we do not test Nextcloud apps that require additional php extensions.

View File

@@ -42,7 +42,7 @@ ghcr.io/nextcloud-releases/all-in-one:latest
- `--env APACHE_PORT=11000` This is the port that is published on the host that runs Docker and Nextcloud AIO at which the reverse proxy should point at.
- `--env APACHE_IP_BINDING=0.0.0.0` This can be modified to allow access to the published port on the host only from certain ip-addresses. [See this documentation](#3-limit-the-access-to-the-apache-container)
- `--env APACHE_ADDITIONAL_NETWORK=""` This can be used to put the sibling apache container that is created by AIO into a specified network - useful if your reverse proxy runs as a container on the same host. [See this documentation](#adapting-the-sample-web-server-configurations-below)
- `--env SKIP_DOMAIN_VALIDATION=false` This can be set to `true` if the domain validation does not work and you are sure that you configured everything correctly after you followed [the debug documentation](#6-how-to-debug-things).
- `--env SKIP_DOMAIN_VALIDATION=false` This can be set to `true` if the domain validation does not work and you are sure that you configured everything correctly after you followed [the debug documentation](#7-how-to-debug-things).
- `--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config` This means that the files that are created by the mastercontainer will be stored in a docker volume that is called `nextcloud_aio_mastercontainer`. This line is not allowed to be changed, since built-in backups would fail later on.
- `--volume /var/run/docker.sock:/var/run/docker.sock:ro` The docker socket is mounted into the container which is used for spinning up all the other containers and for further features. It needs to be adjusted on Windows/macOS and on docker rootless. See the applicable documentation on this. If adjusting, don't forget to also set `WATCHTOWER_DOCKER_SOCKET_PATH`! If you dislike this, see https://github.com/nextcloud/all-in-one/tree/main/manual-install.
- `ghcr.io/nextcloud-releases/all-in-one:latest` This is the docker container image that is used.
@@ -51,7 +51,7 @@ ghcr.io/nextcloud-releases/all-in-one:latest
</details>
> [!Note]
> If you run into troubles, see [the debug section](#6-how-to-debug-things).
> If you run into troubles, see [the debug section](#7-how-to-debug-things).
---
@@ -68,8 +68,9 @@ The process to run Nextcloud behind a reverse proxy consists of at least steps 1
1. **Use this startup command! See [point 2](#2-use-this-startup-command)**
1. Optional: if the reverse proxy is installed on the same host and in the host network, you should limit the apache container to only listen on localhost. See [point 3](#3-limit-the-access-to-the-apache-container)
1. **Open the AIO interface. See [point 4](#4-open-the-aio-interface)**
1. Optional: get a valid certificate for the AIO interface! See [point 5](#5-optional-get-a-valid-certificate-for-the-aio-interface)
1. Optional: how to debug things? See [point 6](#6-how-to-debug-things)
1. Optional: if the reverse proxy is outside the host network, configure AIO to trust it. See [point 5](#5-optional-configure-aio-for-reverse-proxies-that-connect-to-nextcloud-using-an-ip-address-and-not-localhost-nor-127001)
1. Optional: get a valid certificate for the AIO interface! See [point 6](#6-optional-get-a-valid-certificate-for-the-aio-interface)
1. Optional: how to debug things? See [point 7](#7-how-to-debug-things)
## 1. Configure the reverse proxy
@@ -990,7 +991,28 @@ After starting AIO, you should be able to access the AIO Interface via `https://
⚠️ **Important:** do always use an ip-address if you access this port and not a domain as HSTS might block access to it later! (It is also expected that this port uses a self-signed certificate due to security concerns which you need to accept in your browser)<br>
Enter your domain in the AIO interface that you've used in the reverse proxy config and you should be done. Please do not forget to open/forward port `3478/TCP` and `3478/UDP` in your firewall/router for the Talk container!
## 5. Optional: get a valid certificate for the AIO interface
## 5. Optional: Configure AIO for reverse proxies that connect to nextcloud using an ip-address and not localhost nor 127.0.0.1
If your reverse proxy connects to nextcloud using an ip-address and not localhost or 127.0.0.1<sup>*</sup> you must make the following configuration changes
<small>*: The IP address it uses to connect to AIO is not in a private IP range such as these: `127.0.0.1/8,192.168.0.0/16,172.16.0.0/12,10.0.0.0/8,fd00::/8,::1`</small>
### Nextcloud trusted proxies
Add the IP it uses connect to AIO to the Nextcloud trusted_proxies like this:
```
sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:system:set trusted_proxies 2 --value=ip.address.of.proxy
```
### Collabora WOPI allow list
If your reverse proxy connects to Nextcloud with an IP address that is different from the one for your domain<sup>*</sup> and you are using the Collabora server then you must also add the IP to the WOPI request allow list via `Administration Settings > Administration > Office > Allow list for WOPI requests`.
<small>*: For example, the reverse proxy has a public globally routable IP and connects to your AIO instance via Tailscale with an IP in the `100.64.0.0/10` range, or you are using a Cloudflare tunnel ([cloudflare notes](https://github.com/nextcloud/all-in-one?tab=readme-ov-file#notes-on-cloudflare-proxytunnel): You must add all [Cloudflare IP-Ranges](https://www.cloudflare.com/ips/) to the WOPI allowlist.)</small>
### External reverse proxies connecting via VPN (e.g. Tailscale)
If your reverse proxy is outside your LAN and connecting via VPN such as Tailscale, you may want to set `APACHE_IP_BINDING=AIO.VPN.host.IP` to ensure only traffic coming from the VPN can connect.
## 6. Optional: get a valid certificate for the AIO interface
If you want to also access your AIO interface publicly with a valid certificate, you can add e.g. the following config to your Caddyfile:
@@ -1007,7 +1029,9 @@ https://<your-nc-domain>:8443 {
Afterwards should the AIO interface be accessible via `https://ip.address.of.the.host:8443`. You can alternatively change the domain to a different subdomain by using `https://<your-alternative-domain>:443` instead of `https://<your-nc-domain>:8443` in the Caddyfile and use that to access the AIO interface.
## 6. How to debug things?
## 7. How to debug things?
<a id="how-to-debug"></a> <!-- for external linking -->
<a id="6-how-to-debug-things"></a> <!-- For backwards compatibility-->
If something does not work, follow the steps below:
1. Make sure to exactly follow the whole reverse proxy documentation step-for-step from top to bottom!