Compare commits

...

283 Commits

Author SHA1 Message Date
Simon L.
2ce06a49c7 fix bug with imagick
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-07 18:01:30 +01:00
Simon L.
4253308781 increase to v12.4.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-07 17:27:28 +01:00
Simon L.
63a0ec1c60 Merge pull request #7390 from nextcloud/dependabot/github_actions/dot-github/workflows/astral-sh/setup-uv-7.2.0
build(deps): bump astral-sh/setup-uv from 7.1.6 to 7.2.0 in /.github/workflows
2026-01-07 14:00:36 +01:00
Simon L.
13b885928b fix zizmor config
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-07 13:52:42 +01:00
Simon L.
378f3ef804 Merge pull request #7389 from nextcloud/fix-typo-docker-action-manager
Fix typo in variable throughout the code base
2026-01-07 13:40:39 +01:00
dependabot[bot]
05d0ea9282 build(deps): bump astral-sh/setup-uv in /.github/workflows
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 7.1.6 to 7.2.0.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](681c641aba...61cb8a9741)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 7.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-07 12:26:14 +00:00
Pablo Zmdl
1f6871ff5c Fix typo in variable throughout the code base
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-01-07 12:03:32 +01:00
Simon L.
e8d1bce4f6 Merge pull request #7387 from nextcloud/automated/noid/psalm-baseline-update
[Automated] Update psalm-baseline.xml
2026-01-06 09:55:56 +01:00
Simon L.
cb2252c91f Merge pull request #7386 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.3.29-fpm-alpine3.23
build(deps): bump php from 8.3.28-fpm-alpine3.23 to 8.3.29-fpm-alpine3.23 in /Containers/nextcloud
2026-01-06 09:55:43 +01:00
Simon L.
c83aa9b94b Merge pull request #7385 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.4.16-fpm-alpine3.23
build(deps): bump php from 8.4.15-fpm-alpine3.23 to 8.4.16-fpm-alpine3.23 in /Containers/mastercontainer
2026-01-06 09:55:27 +01:00
Simon L.
79c47cf855 Merge pull request #7384 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.19.9
build(deps): bump elasticsearch from 8.19.8 to 8.19.9 in /Containers/fulltextsearch
2026-01-06 09:55:12 +01:00
Simon L.
5e2c62207f Merge pull request #7383 from nextcloud/dependabot/docker/Containers/docker-socket-proxy/haproxy-3.3.1-alpine
build(deps): bump haproxy from 3.3.0-alpine to 3.3.1-alpine in /Containers/docker-socket-proxy
2026-01-06 09:54:59 +01:00
nextcloud-command
e2b425bcda Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2026-01-06 04:23:38 +00:00
dependabot[bot]
7a623fb120 build(deps): bump php in /Containers/nextcloud
Bumps php from 8.3.28-fpm-alpine3.23 to 8.3.29-fpm-alpine3.23.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-06 04:19:00 +00:00
dependabot[bot]
5718c1e7ed build(deps): bump php in /Containers/mastercontainer
Bumps php from 8.4.15-fpm-alpine3.23 to 8.4.16-fpm-alpine3.23.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-06 04:18:39 +00:00
dependabot[bot]
d178e12ae4 build(deps): bump elasticsearch in /Containers/fulltextsearch
Bumps elasticsearch from 8.19.8 to 8.19.9.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-06 04:18:11 +00:00
dependabot[bot]
9da86241d4 build(deps): bump haproxy in /Containers/docker-socket-proxy
Bumps haproxy from 3.3.0-alpine to 3.3.1-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-06 04:18:07 +00:00
Simon L.
d0bac46b94 Merge pull request #7382 from nextcloud/enh/noid/url-encode-passwords
notify-push & whiteboard: URL-encode passwords
2026-01-05 15:46:00 +01:00
Simon L.
84c581b8bf notify-push & whiteboard: URL-encode passwords
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-05 15:43:17 +01:00
Simon L.
7f8be1bc3d Merge pull request #7380 from nextcloud/imaginary-container-update
Imaginary update
2026-01-05 13:50:14 +01:00
szaimen
8a184fdce0 imaginary-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-05 12:03:44 +00:00
Simon L.
983e2b0f15 Merge pull request #7335 from nextcloud/enh/noid/allow-disable-imagick
nextcloud: Allow to disable imagick without having to enable it each time
2026-01-05 10:09:34 +01:00
Simon L.
e92c567db4 Merge pull request #7334 from nextcloud/enh/7315/improve-oo-check
onlyoffice: disable background check for editors
2026-01-05 10:05:24 +01:00
Simon L.
4c2bad3c73 Merge pull request #7333 from nextcloud/watchtower-container-update
watchtower container update
2026-01-05 10:00:39 +01:00
Simon L.
06cf63bb0c Merge pull request #7378 from nextcloud/enh/7258/update-to-alpine-3.23
update remaining dependencies to alpine 3.23
2026-01-05 09:59:52 +01:00
Simon L.
06cdd8eca1 update remaining dependencies to alpine 3.23
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-05 09:57:39 +01:00
Simon L.
ce13926bd1 Merge pull request #7349 from nextcloud/dependabot/docker/Containers/watchtower/alpine-3.23.2
build(deps): bump alpine from 3.22.2 to 3.23.2 in /Containers/watchtower
2026-01-05 09:56:09 +01:00
Simon L.
88b55f4353 Merge pull request #7348 from nextcloud/dependabot/docker/Containers/talk/alpine-3.23.2
build(deps): bump alpine from 3.22.2 to 3.23.2 in /Containers/talk
2026-01-05 09:55:58 +01:00
Simon L.
7356febf27 Merge pull request #7347 from nextcloud/dependabot/docker/Containers/notify-push/alpine-3.23.2
build(deps): bump alpine from 3.22.2 to 3.23.2 in /Containers/notify-push
2026-01-05 09:55:47 +01:00
Simon L.
76110adfc3 Merge pull request #7346 from nextcloud/dependabot/docker/Containers/imaginary/alpine-3.23.2
build(deps): bump alpine from 3.22.2 to 3.23.2 in /Containers/imaginary
2026-01-05 09:55:37 +01:00
Simon L.
02e30ace17 Merge pull request #7345 from nextcloud/dependabot/docker/Containers/domaincheck/alpine-3.23.2
build(deps): bump alpine from 3.22.2 to 3.23.2 in /Containers/domaincheck
2026-01-05 09:55:24 +01:00
Simon L.
93cefeab3a Merge pull request #7344 from nextcloud/dependabot/docker/Containers/clamav/alpine-3.23.2
build(deps): bump alpine from 3.22.2 to 3.23.2 in /Containers/clamav
2026-01-05 09:55:11 +01:00
Simon L.
46647d5b1d Merge pull request #7343 from nextcloud/dependabot/docker/Containers/borgbackup/alpine-3.23.2
build(deps): bump alpine from 3.22.2 to 3.23.2 in /Containers/borgbackup
2026-01-05 09:55:00 +01:00
Simon L.
5451c9ff27 Merge pull request #7342 from nextcloud/dependabot/docker/Containers/alpine/alpine-3.23.2
build(deps): bump alpine from 3.22.2 to 3.23.2 in /Containers/alpine
2026-01-05 09:54:43 +01:00
Simon L.
688dbaa549 Merge pull request #7339 from nextcloud/dependabot/docker/Containers/talk/nats-2.12.3-scratch
build(deps): bump nats from 2.12.2-scratch to 2.12.3-scratch in /Containers/talk
2026-01-05 09:54:15 +01:00
Simon L.
cea609d746 update OO
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-05 09:53:30 +01:00
Simon L.
d2e76c69b9 Merge pull request #7331 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-25.04.8.1.1
build(deps): bump collabora/code from 25.04.7.3.1 to 25.04.8.1.1 in /Containers/collabora
2026-01-05 09:52:48 +01:00
Simon L.
367de041a2 Merge pull request #7323 from nextcloud/dependabot/docker/Containers/talk-recording/python-3.14.2-alpine3.22
build(deps): bump python from 3.14.1-alpine3.22 to 3.14.2-alpine3.22 in /Containers/talk-recording
2026-01-05 09:52:35 +01:00
Simon L.
33d05548db Merge pull request #7316 from nextcloud/aio-dependency-update
PHP dependency updates
2026-01-05 09:52:18 +01:00
Simon L.
7b3d9eb957 Merge pull request #7313 from nextcloud/dependabot/docker/Containers/whiteboard/nextcloud-releases/whiteboard-v1.5.0
build(deps): bump nextcloud-releases/whiteboard from v1.4.2 to v1.5.0 in /Containers/whiteboard
2026-01-05 09:51:50 +01:00
Simon L.
ed075a9828 Merge pull request #7312 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-29.1.3-cli
build(deps): bump docker from 29.1.2-cli to 29.1.3-cli in /Containers/mastercontainer
2026-01-05 09:51:32 +01:00
Simon L.
a81cf184e4 Merge pull request #7303 from nextcloud/automated/noid/psalm-baseline-update
[Automated] Update psalm-baseline.xml
2026-01-05 09:51:22 +01:00
Simon L.
23f83bc280 Merge pull request #7376 from nextcloud/enh/7364/allow-percent-encoding
rp-docs: traefik: encode `%`
2026-01-05 09:47:23 +01:00
Simon L.
6a356b5390 rp-docs: traefik: encode %
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-05 09:46:10 +01:00
dependabot[bot]
5b360e96ac build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 29.1.2-cli to 29.1.3-cli.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-01 04:13:30 +00:00
szaimen
68400eafde watchtower-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-31 12:11:32 +00:00
szaimen
093b553354 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-31 12:03:35 +00:00
nextcloud-command
e8176e15f5 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2025-12-31 04:22:04 +00:00
Simon L.
15fa3be655 Update collabora.yml
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-30 13:46:07 +01:00
dependabot[bot]
667a6ebfad build(deps): bump alpine from 3.22.2 to 3.23.2 in /Containers/watchtower
Bumps alpine from 3.22.2 to 3.23.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-19 04:13:29 +00:00
dependabot[bot]
e136b51fc1 build(deps): bump alpine from 3.22.2 to 3.23.2 in /Containers/talk
Bumps alpine from 3.22.2 to 3.23.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-19 04:13:19 +00:00
dependabot[bot]
86328d6509 build(deps): bump alpine in /Containers/notify-push
Bumps alpine from 3.22.2 to 3.23.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-19 04:12:58 +00:00
dependabot[bot]
224e4ed917 build(deps): bump alpine from 3.22.2 to 3.23.2 in /Containers/imaginary
Bumps alpine from 3.22.2 to 3.23.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-19 04:12:02 +00:00
dependabot[bot]
93aefb05a9 build(deps): bump alpine in /Containers/domaincheck
Bumps alpine from 3.22.2 to 3.23.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-19 04:11:54 +00:00
dependabot[bot]
ad92033faf build(deps): bump alpine from 3.22.2 to 3.23.2 in /Containers/clamav
Bumps alpine from 3.22.2 to 3.23.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-19 04:11:46 +00:00
dependabot[bot]
32c6325ab8 build(deps): bump alpine from 3.22.2 to 3.23.2 in /Containers/borgbackup
Bumps alpine from 3.22.2 to 3.23.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-19 04:11:43 +00:00
dependabot[bot]
638c8e262d build(deps): bump alpine from 3.22.2 to 3.23.2 in /Containers/alpine
Bumps alpine from 3.22.2 to 3.23.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-19 04:11:37 +00:00
Simon L.
4acd1537bf Merge pull request #7340 from nextcloud/aio-helm-update
Helm Chart updates
2025-12-18 10:59:15 +01:00
szaimen
576c6a18bd Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-18 09:58:11 +00:00
dependabot[bot]
3ca5f5b300 build(deps): bump nats in /Containers/talk
Bumps nats from 2.12.2-scratch to 2.12.3-scratch.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-18 04:16:17 +00:00
Simon L.
7b91fcbbd3 nextcloud: Allow to disable imagick without having to enable it each time
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-17 15:24:28 +01:00
Simon L.
748857a495 onlyoffice: disable background check for editors
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-17 15:11:24 +01:00
Simon L.
adedd78c34 fix typo
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-17 13:43:32 +01:00
Simon L.
9b6f108b7f Merge pull request #7332 from nextcloud/enh/noid/adjust-storage-class-docs
helm: make documentation more clear about storage classes
2025-12-17 12:28:56 +01:00
Simon L.
06f492397b helm: make documentation more clear about storage classes
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-17 12:27:56 +01:00
dependabot[bot]
082bbab855 build(deps): bump collabora/code in /Containers/collabora
Bumps collabora/code from 25.04.7.3.1 to 25.04.8.1.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-17 04:13:11 +00:00
Simon L.
1dadf3ff10 Merge pull request #7328 from nextcloud/enh/noid/update-helm 2025-12-16 13:01:52 +01:00
Simon L.
7aa145be35 Merge pull request #7327 from nextcloud/aio-yaml-update
Yaml updates
2025-12-16 12:09:53 +01:00
szaimen
0f0265abd4 Yaml updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-16 11:09:08 +00:00
Simon L.
da9276a964 Merge pull request #7326 from nextcloud/enh/noid/allow-configure-fts-protocol
nextcloud: allow to configure `FULLTEXTSEARCH_PROTOCOL`
2025-12-16 11:41:21 +01:00
Simon L.
de62f78920 Merge pull request #7325 from nextcloud/enh/noid/adjust-multibucket-setting
s3-config: adjust the multibucket setting
2025-12-16 11:40:23 +01:00
Simon L.
f415bf201d s3-config: adjust the multibucket setting
Signed-off-by: Simon L. <szaimen@e.mail.de>
Co-Authored-By: Kate <26026535+provokateurin@users.noreply.github.com>
2025-12-16 10:43:31 +01:00
Simon L.
a66445d443 nextcloud: allow to configure FULLTEXTSEARCH_PROTOCOL
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-16 10:40:45 +01:00
dependabot[bot]
92d036d04a build(deps): bump python in /Containers/talk-recording
Bumps python from 3.14.1-alpine3.22 to 3.14.2-alpine3.22.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-16 04:15:35 +00:00
Simon L.
0e4b3b7a46 Merge pull request #7319 from nextcloud/dependabot/github_actions/dot-github/workflows/actions/upload-artifact-6
build(deps): bump actions/upload-artifact from 5 to 6 in /.github/workflows
2025-12-15 13:32:42 +01:00
Simon L.
230e4b2192 Merge pull request #7318 from nextcloud/dependabot/github_actions/dot-github/workflows/astral-sh/setup-uv-7.1.6
build(deps): bump astral-sh/setup-uv from 7.1.5 to 7.1.6 in /.github/workflows
2025-12-15 13:32:18 +01:00
Simon L.
ce304ded2a Merge pull request #7317 from nextcloud/dependabot/github_actions/dot-github/workflows/dessant/lock-threads-6.0.0
build(deps): bump dessant/lock-threads from 5.0.1 to 6.0.0 in /.github/workflows
2025-12-15 13:31:59 +01:00
dependabot[bot]
5fef93eabf build(deps): bump actions/upload-artifact in /.github/workflows
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 5 to 6.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-15 12:21:53 +00:00
dependabot[bot]
d0b5e64272 build(deps): bump astral-sh/setup-uv in /.github/workflows
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 7.1.5 to 7.1.6.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](ed21f2f24f...681c641aba)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 7.1.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-15 12:21:43 +00:00
dependabot[bot]
4c1947afdc build(deps): bump dessant/lock-threads in /.github/workflows
Bumps [dessant/lock-threads](https://github.com/dessant/lock-threads) from 5.0.1 to 6.0.0.
- [Release notes](https://github.com/dessant/lock-threads/releases)
- [Changelog](https://github.com/dessant/lock-threads/blob/main/CHANGELOG.md)
- [Commits](1bf7ec2505...7266a7ce5c)

---
updated-dependencies:
- dependency-name: dessant/lock-threads
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-15 12:21:36 +00:00
dependabot[bot]
2998dfdf43 build(deps): bump nextcloud-releases/whiteboard
Bumps nextcloud-releases/whiteboard from v1.4.2 to v1.5.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-15 04:15:48 +00:00
Simon L.
7c57a3f702 Merge pull request #7304 from nextcloud/enh/noid/fix-config-of-bundle-path
nextcloud: fix configuration of `default_certificates_bundle_path` and allow to use bundle for mailer
2025-12-12 16:10:45 +01:00
Simon L.
17bf4f91d7 nextcloud: fix configuration of default_certificates_bundle_path and allow to use bundle for mailer
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-12 16:08:31 +01:00
Simon L.
427f7ec858 Merge pull request #7299 from nextcloud/enh/noid/update-helm-chart
update helm chart
2025-12-11 16:02:03 +01:00
Simon L.
76cae30d5c update helm chart
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-11 16:01:25 +01:00
Simon L.
0be8409c36 increase to 12.3.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-11 15:21:13 +01:00
Simon L.
3791251f3a Merge pull request #7217 from nextcloud/enh/noid/standardize-ca-config
standardize ca-config
2025-12-11 15:14:43 +01:00
Simon L.
6550107901 standardize ca-config
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-11 15:05:33 +01:00
Simon L.
f9de0ab8c0 Merge pull request #7298 from nextcloud/aio-yaml-update
Yaml updates
2025-12-11 14:31:03 +01:00
Simon L.
a452128c12 Merge pull request #7297 from nextcloud/aio-dependency-update
PHP dependency updates
2025-12-11 14:30:31 +01:00
szaimen
7f71a94c8c Yaml updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-11 12:20:33 +00:00
szaimen
eada5b90fe php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-11 12:19:48 +00:00
Simon L.
5622198888 Merge pull request #7285 from nextcloud/enh/noid/make-redis-port-configurable
make redis port configurable
2025-12-11 12:33:40 +01:00
Simon L.
88321add1d Merge pull request #7287 from nextcloud/enh/noid/add-further-docker-daemon-explanation
add further explanation to failed docker check
2025-12-11 12:30:10 +01:00
stefano99
29dbf6e565 Docs update: Add encoded characters config for Traefik v3.6.4+ (#7286)
Signed-off-by: stefano99 <falchi.stefi@gmail.com>
2025-12-11 12:16:35 +01:00
Simon L.
a938162e81 Merge pull request #7290 from nextcloud/watchtower-container-update
watchtower container update
2025-12-11 12:06:51 +01:00
Simon L.
b5f5874f05 Merge pull request #7296 from nextcloud/nextcloud-container-update
Nextcloud dependency update
2025-12-11 12:04:42 +01:00
szaimen
8a3628d1d8 nextcloud-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-11 11:03:36 +00:00
Simon L.
1b39f5cf04 Merge pull request #7294 from nextcloud/automated/noid/psalm-baseline-update
[Automated] Update psalm-baseline.xml
2025-12-11 09:30:08 +01:00
nextcloud-command
1492e7ad46 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2025-12-11 04:19:27 +00:00
szaimen
e5f1cb5955 watchtower-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-10 14:59:46 +00:00
Simon L.
b097be27ad Merge pull request #7288 from nextcloud/enh/noid/apache-port-available
daily-bakup.sh: fix issue with apache-port
2025-12-10 15:28:40 +01:00
Simon L.
f4ee1933ff Merge pull request #7278 from nextcloud/nextcloud-container-update
Nextcloud dependency update
2025-12-10 15:28:04 +01:00
Simon L.
82c7276d53 Merge pull request #7270 from nextcloud/enh/noid/switch-strval-to-cast
exchange strval with string cast
2025-12-10 15:27:50 +01:00
Simon L.
377dbe5621 Merge pull request #7267 from nextcloud/dependabot/docker/Containers/talk-recording/python-3.14.1-alpine3.22
build(deps): bump python from 3.14.0-alpine3.22 to 3.14.1-alpine3.22 in /Containers/talk-recording
2025-12-10 15:27:36 +01:00
Simon L.
81289c5d4d Merge pull request #7264 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-29.1.2-cli
build(deps): bump docker from 29.1.1-cli to 29.1.2-cli in /Containers/mastercontainer
2025-12-10 15:27:22 +01:00
Simon L.
2a81d12e8a Merge pull request #7253 from nextcloud/aio-dependency-update
PHP dependency updates
2025-12-10 15:27:07 +01:00
Simon L.
93e34770ad Merge pull request #7292 from nextcloud/aio-helm-update
Helm Chart updates
2025-12-10 14:40:44 +01:00
szaimen
a3a8cbff34 Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-10 13:39:37 +00:00
Simon L.
38be52cc5f Merge pull request #7224 from nextcloud/aio-yaml-update
Yaml updates
2025-12-10 14:34:11 +01:00
szaimen
0f3f88da08 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-10 12:29:46 +00:00
szaimen
52f67f2de9 nextcloud-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-09 12:14:58 +00:00
szaimen
b6f85b04b5 Yaml updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-09 12:03:48 +00:00
Simon L.
7fa5af0e8c daily-bakup.sh: fix issue with apache-port
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-09 09:14:59 +01:00
dependabot[bot]
2498911854 build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 29.1.1-cli to 29.1.2-cli.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-09 04:13:08 +00:00
Simon L.
3ab5740f0c add further explanation to failed docker check
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-08 19:30:10 +01:00
Simon L.
1691a19036 make redis port configurable
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-08 15:47:28 +01:00
Simon L.
cd8158c9f6 fix excluding zizmor workflow in downstream repo
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-08 14:42:30 +01:00
Simon L.
c1293e6b17 Merge pull request #7284 from nextcloud/dependabot/github_actions/dot-github/workflows/softprops/turnstyle-3.2.2
build(deps): bump softprops/turnstyle from 3.2.1 to 3.2.2 in /.github/workflows
2025-12-08 13:23:17 +01:00
Simon L.
07459368ab Merge pull request #7283 from nextcloud/dependabot/github_actions/dot-github/workflows/astral-sh/setup-uv-7.1.5
build(deps): bump astral-sh/setup-uv from 7.1.4 to 7.1.5 in /.github/workflows
2025-12-08 13:22:54 +01:00
Simon L.
50cff5fd0d Merge pull request #7282 from nextcloud/dependabot/github_actions/dot-github/workflows/peter-evans/create-pull-request-7.0.11
build(deps): bump peter-evans/create-pull-request from 7.0.9 to 7.0.11 in /.github/workflows
2025-12-08 13:22:37 +01:00
dependabot[bot]
02b095040b build(deps): bump softprops/turnstyle in /.github/workflows
Bumps [softprops/turnstyle](https://github.com/softprops/turnstyle) from 3.2.1 to 3.2.2.
- [Release notes](https://github.com/softprops/turnstyle/releases)
- [Changelog](https://github.com/softprops/turnstyle/blob/master/CHANGELOG.md)
- [Commits](2e4451ef94...15f9da4059)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-08 12:17:02 +00:00
dependabot[bot]
f5fbc59156 build(deps): bump astral-sh/setup-uv in /.github/workflows
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 7.1.4 to 7.1.5.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](1e862dfacb...ed21f2f24f)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 7.1.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-08 12:16:59 +00:00
dependabot[bot]
19ad65966b build(deps): bump peter-evans/create-pull-request in /.github/workflows
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 7.0.9 to 7.0.11.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](84ae59a2cd...22a9089034)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-version: 7.0.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-08 12:16:55 +00:00
Simon L.
a9d462489c increase to 12.2.1
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-08 10:03:53 +01:00
Simon L.
1617254c2f Merge pull request #7280 from nextcloud/enh/7223/skip-version-check
mastercontainer: fix docker api version check if DOCKER_API_VERSION was set globally
2025-12-08 09:55:09 +01:00
Simon L.
f1a6526a4b Merge pull request #7275 from nextcloud/dependabot/docker/Containers/apache/httpd-2.4.66-alpine3.22
build(deps): bump httpd from 2.4.65-alpine3.22 to 2.4.66-alpine3.22 in /Containers/apache
2025-12-08 09:54:38 +01:00
Simon L.
238117ac47 mastercontainer: fix docker api version check if DOCKER_API_VERSION was set globally
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-08 09:51:33 +01:00
dependabot[bot]
57efcd852d build(deps): bump httpd in /Containers/apache
Bumps httpd from 2.4.65-alpine3.22 to 2.4.66-alpine3.22.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-05 04:12:33 +00:00
Simon L.
b80bc2640d fix mentioning of docker.io
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-04 16:19:30 +01:00
Simon L.
bd45cb4544 add additional hint
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-04 16:18:28 +01:00
Simon L.
8727586013 Merge pull request #7274 from nextcloud/enh/noid/add-limit-resource-usage-chapter
readme: add section on how to limit the resource usage of AIO
2025-12-04 16:16:10 +01:00
Simon L.
9d08ce1ce5 readme: add section on how to limit the resource usage of AIO
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-04 16:14:31 +01:00
Simon L.
ae8a36742a Merge pull request #7272 from nextcloud/dependabot/github_actions/dot-github/workflows/actions/checkout-6.0.1
build(deps): bump actions/checkout from 4.2.2 to 6.0.1 in /.github/workflows
2025-12-04 13:20:55 +01:00
Simon L.
d802496580 Merge pull request #7271 from nextcloud/dependabot/github_actions/dot-github/workflows/astral-sh/setup-uv-7.1.4
build(deps): bump astral-sh/setup-uv from 5.3.1 to 7.1.4 in /.github/workflows
2025-12-04 13:20:39 +01:00
dependabot[bot]
0a23880281 build(deps): bump actions/checkout in /.github/workflows
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.2 to 6.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v4.2.2...v6.0.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-04 12:19:16 +00:00
dependabot[bot]
911cdef763 build(deps): bump astral-sh/setup-uv in /.github/workflows
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 5.3.1 to 7.1.4.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](f94ec6bedd...1e862dfacb)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 7.1.4
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-04 12:18:56 +00:00
Simon L.
7d46e12df7 exchange strval with string cast
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-04 13:08:03 +01:00
dependabot[bot]
86f8f71548 build(deps): bump python in /Containers/talk-recording
Bumps python from 3.14.0-alpine3.22 to 3.14.1-alpine3.22.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-04 04:13:06 +00:00
Simon L.
d6e0d8b87d run yaml lint only if yml files were changes
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-03 18:29:22 +01:00
Simon L.
31a97682ff Merge pull request #6182 from nextcloud/enh/noid/lint-ga
add workflow to lint github actions
2025-12-03 16:05:17 +01:00
Simon L.
22a784a3de add workflow to lint github actions
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-03 15:56:50 +01:00
Simon L.
0db006605a fix spacing
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-03 14:29:55 +01:00
Simon L.
2f697b8e53 Merge pull request #7254 from nextcloud/dependabot/github_actions/dot-github/workflows/actions/checkout-6.0.1
build(deps): bump actions/checkout from 6.0.0 to 6.0.1 in /.github/workflows
2025-12-03 13:24:44 +01:00
dependabot[bot]
832d9b5ae6 build(deps): bump actions/checkout in /.github/workflows
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v6...v6.0.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 12:21:58 +00:00
Simon L.
2bde893647 Merge pull request #7216 from nextcloud/enh/noid/allow-configure-mysql-root-cert
nextcloud: allow to configure mysql root cert
2025-12-03 12:42:59 +01:00
Simon L.
1a91d6187c Merge pull request #7234 from nextcloud/enh/7223/refactor-api-version-check
mastercontainer: refactor docker api version check
2025-12-03 11:39:45 +01:00
Simon L.
be1199ace1 Merge pull request #7244 from nextcloud/enh/6690/follow-up
adjust `DeleteBorgBackupLocationVars` to also delete the `borg.config` file
2025-12-03 11:36:33 +01:00
Simon L.
d425bb226c Merge pull request #7238 from nextcloud/enh/noid/refactor-backup-mode
refactor `backup-mode` handling
2025-12-03 11:35:02 +01:00
Simon L.
edba082dce improve detail
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-03 09:26:18 +01:00
Simon L.
0d0d43d0cf Merge pull request #7252 from nextcloud/dependabot/docker/Containers/watchtower/golang-1.25.5-alpine3.22
build(deps): bump golang from 1.25.4-alpine3.22 to 1.25.5-alpine3.22 in /Containers/watchtower
2025-12-03 08:56:42 +01:00
Simon L.
4a7353d9e7 Merge pull request #7251 from nextcloud/dependabot/docker/Containers/imaginary/golang-1.25.5-alpine3.22
build(deps): bump golang from 1.25.4-alpine3.22 to 1.25.5-alpine3.22 in /Containers/imaginary
2025-12-03 08:56:18 +01:00
Simon L.
386a94494f Merge pull request #7250 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.19.8
build(deps): bump elasticsearch from 8.19.7 to 8.19.8 in /Containers/fulltextsearch
2025-12-03 08:55:53 +01:00
dependabot[bot]
d72181f754 build(deps): bump golang in /Containers/watchtower
Bumps golang from 1.25.4-alpine3.22 to 1.25.5-alpine3.22.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 04:13:40 +00:00
dependabot[bot]
0c0f956ea2 build(deps): bump golang in /Containers/imaginary
Bumps golang from 1.25.4-alpine3.22 to 1.25.5-alpine3.22.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 04:12:43 +00:00
dependabot[bot]
7634a3887f build(deps): bump elasticsearch in /Containers/fulltextsearch
Bumps elasticsearch from 8.19.7 to 8.19.8.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 04:12:39 +00:00
Simon L.
427f860ea8 Merge pull request #7246 from nextcloud/enh/noid/smbserver-arm64
aio-smbserver: now compatible with arm64 as well
2025-12-02 16:01:00 +01:00
Simon L.
095d3d9cc0 aio-smbserver: now compatible with arm64 as well
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-02 15:51:53 +01:00
Simon L.
83de526051 adjust DeleteBorgBackupLocationVars to also delete the borg.config file
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-02 12:42:13 +01:00
Simon L.
a842cbb82a increase to 12.2.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-02 12:12:40 +01:00
Simon L.
d44d077a63 update oo
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-02 12:11:02 +01:00
Simon L.
d43d7e75e9 Merge pull request #7241 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-29.1.1-cli
build(deps): bump docker from 29.0.4-cli to 29.1.1-cli in /Containers/mastercontainer
2025-12-02 09:20:51 +01:00
Simon L.
4462ce994e Merge pull request #7240 from nextcloud/dependabot/docker/Containers/docker-socket-proxy/haproxy-3.3.0-alpine
build(deps): bump haproxy from 3.2.9-alpine to 3.3.0-alpine in /Containers/docker-socket-proxy
2025-12-02 09:20:25 +01:00
dependabot[bot]
ae132c8d39 build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 29.0.4-cli to 29.1.1-cli.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-02 04:34:06 +00:00
dependabot[bot]
1cdc4e3bef build(deps): bump haproxy in /Containers/docker-socket-proxy
Bumps haproxy from 3.2.9-alpine to 3.3.0-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-02 04:33:44 +00:00
Simon L.
81775579b9 Merge pull request #7186 from nextcloud/enh/6933/update-backuplist
aio-interface: add button to update the backup list
2025-12-01 17:14:56 +01:00
Simon L.
57306c8cae refactor backup-mode handling
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-01 17:08:22 +01:00
Simon L.
dd64458f9a Merge pull request #7194 from nextcloud/enh/6836/add-notifications-cc
add notifications community container
2025-12-01 16:48:40 +01:00
Simon L.
67456294cf Merge pull request #7230 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-25.04.7.3.1
build(deps): bump collabora/code from 25.04.7.1.1 to 25.04.7.3.1 in /Containers/collabora
2025-12-01 13:24:04 +01:00
Simon L.
d76bea0251 Merge pull request #7235 from nextcloud/aio-dependency-update
PHP dependency updates
2025-12-01 13:23:41 +01:00
szaimen
2663ffeee5 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-01 12:03:40 +00:00
Simon L.
cc41c3465e mastercontainer: refactor docker api version check
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-12-01 12:53:00 +01:00
dependabot[bot]
b4ec51f99e build(deps): bump collabora/code in /Containers/collabora
Bumps collabora/code from 25.04.7.1.1 to 25.04.7.3.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-01 04:36:14 +00:00
Simon L.
c6e7d61a9e Add cute animal to bug report template
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-29 16:40:43 +01:00
Simon L.
4a2a8dd002 Merge pull request #7211 from nextcloud/nextcloud-container-update
Nextcloud dependency update
2025-11-28 17:51:13 +01:00
Simon L.
a7c466f59a Merge pull request #7193 from nextcloud/aio-dependency-update
PHP dependency updates
2025-11-28 17:51:01 +01:00
Simon L.
b92554c5d5 Merge pull request #7192 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-29.0.4-cli
build(deps): bump docker from 29.0.2-cli to 29.0.4-cli in /Containers/mastercontainer
2025-11-28 17:50:43 +01:00
Simon L.
37f614700f Merge pull request #7200 from nextcloud/dependabot/docker/Containers/whiteboard/nextcloud-releases/whiteboard-v1.4.2
build(deps): bump nextcloud-releases/whiteboard from v1.4.1 to v1.4.2 in /Containers/whiteboard
2025-11-28 17:49:18 +01:00
Simon L.
609f8736c5 Merge pull request #7202 from nextcloud/dependabot/github_actions/dot-github/workflows/shivammathur/setup-php-2.36.0
build(deps): bump shivammathur/setup-php from 2.35.5 to 2.36.0 in /.github/workflows
2025-11-28 17:49:04 +01:00
Simon L.
91f672a7dd Merge pull request #7191 from nextcloud/enh/noid/proxy-protocol
update aio-caddy to v4 and add option for proxy protocol
2025-11-28 17:40:21 +01:00
Simon L.
411fe4cb53 address review
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-28 17:18:08 +01:00
Simon L.
75775c4c87 Merge pull request #7185 from nextcloud/enh/noid/reset-backup-button
aio-interface: always offer a reset backup location button
2025-11-28 17:16:12 +01:00
Simon L.
634e819ab1 address review
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-28 17:14:16 +01:00
Simon L.
a8211f3d91 Merge pull request #7190 from nextcloud/enh/3950/add-compose-project
add `com.docker.compose.project: nextcloud-aio` label to all containers
2025-11-28 17:12:15 +01:00
Simon L.
bb662752b2 Merge pull request #7201 from nextcloud/enh/noid/add-private-ranges
update private ip-ranges
2025-11-28 17:11:24 +01:00
Simon L.
ee3b90f74c Merge pull request #7206 from nextcloud/enh/7204/disable-memory-locking
fulltextsearch: disable memory locking
2025-11-28 17:11:00 +01:00
Simon L.
85071df7e0 Merge pull request #7182 from nextcloud/enh/noid/fix-psalm-issues
fix remaining psalm issues
2025-11-28 17:09:36 +01:00
Simon L.
190a9824e0 address review
Co-authored-by: Jean-Yves <7360784+docjyJ@users.noreply.github.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-28 17:05:56 +01:00
szaimen
8185c53732 nextcloud-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-28 12:14:01 +00:00
szaimen
38838be0b1 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-28 12:03:24 +00:00
Simon L.
6b3af009e2 nextcloud: allow to configure mysql root cert
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-28 12:44:23 +01:00
Simon L.
6506b5e5cc Merge pull request #7215 from nextcloud/aio-helm-update
Helm Chart updates
2025-11-28 10:00:00 +01:00
szaimen
f080ed771d Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-28 08:52:51 +00:00
Simon L.
eb7f7b9e9c Merge pull request #7074 from nextcloud/aio-yaml-update
Yaml updates
2025-11-28 09:45:15 +01:00
Simon L.
4a8288a527 fulltextsearch: disable memory locking
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-26 20:44:09 +01:00
dependabot[bot]
b2c24c92e3 build(deps): bump shivammathur/setup-php in /.github/workflows
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.35.5 to 2.36.0.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](bf6b4fbd49...7bf05c6b70)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-26 12:18:44 +00:00
Simon L.
256a259ae6 update private ip-ranges
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-26 13:09:41 +01:00
szaimen
4b782649fd Yaml updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-26 12:03:58 +00:00
Simon L.
a48a1d66be update aio-caddy to v4 and add option for proxy protocol
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-26 13:03:42 +01:00
Simon L.
10b61a5ede add "com.docker.compose.project" => "nextcloud-aio" to all containers
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-26 12:43:12 +01:00
Simon L.
50312bd2d9 fix typo
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-26 10:53:29 +01:00
Simon L.
6a8d8d4479 add some notice regarding how to switch the channel
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-26 10:30:41 +01:00
dependabot[bot]
f3fbfae535 build(deps): bump nextcloud-releases/whiteboard
Bumps nextcloud-releases/whiteboard from v1.4.1 to v1.4.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-26 04:15:59 +00:00
Simon L.
1d6a1ffb17 add notifications community container
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-25 14:02:37 +01:00
dependabot[bot]
1fff416829 build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 29.0.2-cli to 29.0.4-cli.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 04:15:21 +00:00
Simon L.
6ec8a6a578 Merge pull request #7189 from nextcloud/enh/noid/standardize-docs
docs: standardize links by removing `?tab=readme-ov-file`
2025-11-24 22:23:17 +01:00
Simon L.
271c4b21cc docs: standardize links by removing ?tab=readme-ov-file
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-24 19:16:58 +01:00
Simon L.
01ad594ec5 aio-interface: add button to update the backup list
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-24 18:35:37 +01:00
Simon L.
9ec7c08754 aio-interface: always offer a reset backup button
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-24 18:04:18 +01:00
Simon L.
5dd2048500 fix remaining psalm issues
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-24 17:46:44 +01:00
Simon L.
473ddbfcee Merge pull request #7180 from nextcloud/enh/noid/re-anble-whiteboard
re-enable whiteboard by default
2025-11-24 15:01:50 +01:00
Simon L.
eda5151bb2 re-enable whiteboard by default
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-24 15:00:28 +01:00
Simon L.
7661f45cce increase to v12.1.4
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-24 14:39:09 +01:00
Simon L.
32ecd3d3cd Merge pull request #7178 from nextcloud/enh/noid/adjust-some-collabora-things
collabora: adjust some additional things
2025-11-24 14:38:20 +01:00
Simon L.
795296dbc8 Merge pull request #7177 from nextcloud/dependabot/github_actions/dot-github/workflows/actions/checkout-6.0.0
build(deps): bump actions/checkout from 5.0.1 to 6.0.0 in /.github/workflows
2025-11-24 14:36:29 +01:00
Simon L.
b0412ff8d9 Merge pull request #7176 from nextcloud/dependabot/github_actions/dot-github/workflows/peter-evans/create-pull-request-7.0.9
build(deps): bump peter-evans/create-pull-request from 7.0.8 to 7.0.9 in /.github/workflows
2025-11-24 14:36:12 +01:00
Simon L.
32ab3aa296 collabora: adjust some additional things
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-24 14:34:37 +01:00
Simon L.
627f51a7f3 Merge pull request #7175 from nextcloud/revert-7142-dependabot/docker/Containers/collabora/collabora/code-25.04.7.2.1
Revert "build(deps): bump collabora/code from 25.04.7.1.1 to 25.04.7.2.1 in /Containers/collabora"
2025-11-24 14:31:55 +01:00
dependabot[bot]
aec3d09048 build(deps): bump actions/checkout in /.github/workflows
Bumps [actions/checkout](https://github.com/actions/checkout) from 5.0.1 to 6.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v5.0.1...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 13:31:46 +00:00
Simon L.
0feeb445a3 Merge pull request #7128 from nextcloud/fix/whiteboard-recording-chrome-3
fix whiteboard recording chrome #3
2025-11-24 14:31:23 +01:00
dependabot[bot]
d3fb61bef0 build(deps): bump peter-evans/create-pull-request in /.github/workflows
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 7.0.8 to 7.0.9.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](271a8d0340...84ae59a2cd)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-version: 7.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 13:31:22 +00:00
Simon L.
dfd2cd7d3e Revert "build(deps): bump collabora/code from 25.04.7.1.1 to 25.04.7.2.1 in /Containers/collabora" 2025-11-24 14:29:14 +01:00
Simon L.
37c16e1b75 fix typo
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-24 11:01:11 +01:00
Simon L.
5be3569df6 Merge pull request #7172 from nextcloud/enh/noid/fix-talk-udp-port
caddy-cc: only open port 443/tcp and forward port 443/udp to talk directly
2025-11-24 10:37:57 +01:00
Simon L.
9f0b2625ea caddy-cc: only open port 443/tcp and forward port 443/udp to talk directly
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-24 10:22:59 +01:00
Simon L.
cc3ceb1766 increase to v12.1.3
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-24 10:14:42 +01:00
Simon L.
699e779e43 Merge pull request #7171 from nextcloud/enh/7096/fix-collabora-bug
DockerActionManager: fix bug with collabora using seccomp if it is globally disabled
2025-11-24 10:13:19 +01:00
Simon L.
e848ee396f Merge pull request #7151 from nextcloud/aio-dependency-update
PHP dependency updates
2025-11-24 10:13:10 +01:00
Simon L.
14e0dba06f Merge pull request #7167 from nextcloud/dependabot/github_actions/dot-github/workflows/actions/checkout-6
build(deps): bump actions/checkout from 5 to 6 in /.github/workflows
2025-11-24 10:12:47 +01:00
Simon L.
cef6bde32d Merge pull request #7170 from nextcloud/dependabot/docker/Containers/docker-socket-proxy/haproxy-3.2.9-alpine
build(deps): bump haproxy from 3.2.8-alpine to 3.2.9-alpine in /Containers/docker-socket-proxy
2025-11-24 10:11:43 +01:00
Simon L.
0fe8008777 DockerActionManager: fix bug with collabora using seccomp if it is globally disabled
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-24 10:08:12 +01:00
dependabot[bot]
ecb58c81f7 build(deps): bump haproxy in /Containers/docker-socket-proxy
Bumps haproxy from 3.2.8-alpine to 3.2.9-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 04:16:30 +00:00
szaimen
849d95ff75 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-22 12:03:13 +00:00
dependabot[bot]
eefaf19c21 build(deps): bump actions/checkout from 5 to 6 in /.github/workflows
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 12:17:44 +00:00
Simon L.
595b5db9fb Merge pull request #7161 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.3.28-fpm-alpine3.22
build(deps): bump php from 8.3.27-fpm-alpine3.22 to 8.3.28-fpm-alpine3.22 in /Containers/nextcloud
2025-11-21 10:03:40 +01:00
Simon L.
4ce772a3ea Merge pull request #7160 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.4.15-fpm-alpine3.22
build(deps): bump php from 8.4.14-fpm-alpine3.22 to 8.4.15-fpm-alpine3.22 in /Containers/mastercontainer
2025-11-21 10:03:25 +01:00
Simon L.
2d0f12a8b6 increase to v12.1.2
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-21 09:58:52 +01:00
Simon L.
d752be6fab Merge pull request #7165 from nextcloud/enh/7157/fix-the-docs
fix the docs regarding START_CONTAINERS
2025-11-21 09:58:09 +01:00
Simon L.
3f65edbfbd Merge pull request #7159 from nextcloud/enh/noid/use-nextcloud-bundle
s3-config: always use the nextcloud bundle for verification
2025-11-21 09:57:16 +01:00
Simon L.
d6cbe210e4 fix the docs regarding START_CONTAINERS
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-21 09:55:48 +01:00
Simon L.
91c40f1908 Merge pull request #7164 from nextcloud/revert-7100-enh/noid/remove-checkduplicate
Revert "ConnectContainerIdToNetwork: remove `CheckDuplicate` as it is deprecated"
2025-11-21 09:33:34 +01:00
Simon L.
65b7afb5cf Merge pull request #7163 from nextcloud/enh/noid/adjust-caddy-docs
adjust aio-caddy docs and config
2025-11-21 09:31:55 +01:00
Simon L.
ff8aed8b38 Revert "ConnectContainerIdToNetwork: remove CheckDuplicate as it is deprecated"
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-21 09:31:39 +01:00
Simon L.
71bb2a7370 adjust aio-caddy docs and config
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-21 09:29:48 +01:00
dependabot[bot]
4e4306945d build(deps): bump php in /Containers/nextcloud
Bumps php from 8.3.27-fpm-alpine3.22 to 8.3.28-fpm-alpine3.22.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 04:17:12 +00:00
dependabot[bot]
3d62da3cea build(deps): bump php in /Containers/mastercontainer
Bumps php from 8.4.14-fpm-alpine3.22 to 8.4.15-fpm-alpine3.22.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 04:16:50 +00:00
Simon L.
ce3c59618b s3-config: always use the nextcloud bundle for verification
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-20 21:44:46 +01:00
Simon L.
5dfb62216b fix docker permiss issue notice
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-20 16:31:19 +01:00
Simon L.
9b09a39f36 Merge pull request #7155 from nextcloud/enh/noid/keep-sudo-envs
keep envs for sudo command
2025-11-20 16:08:48 +01:00
Simon L.
3100cffe2b keep envs for sudo command
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-20 16:07:07 +01:00
Simon L.
403a90842a Merge pull request #7154 from nextcloud/revert-7153-enh/noid/fix-incompatibility-with-dsm
Revert "downgrade internal docker to fix incompatibility with synology DSM"
2025-11-20 16:03:14 +01:00
Simon L.
52244a247e Revert "downgrade internal docker to fix incompatibility with synology DSM" 2025-11-20 16:02:34 +01:00
Simon L.
5c2321a676 increase to v12.1.1
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-20 15:58:34 +01:00
Simon L.
2ee6b45e52 Merge pull request #7153 from nextcloud/enh/noid/fix-incompatibility-with-dsm
downgrade internal docker to fix incompatibility with synology DSM
2025-11-20 15:56:06 +01:00
Simon L.
3b60861189 downgrade docker to fix incompatibility with synology DSM
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-20 15:51:35 +01:00
Simon L.
299c9eeb1c adjust bug-report template
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-20 15:14:19 +01:00
Simon L.
bdd29a8465 Merge pull request #7149 from nextcloud/enh/noid/make-error-more-verbose
domain-validation: make not-reachable error even more verbose
2025-11-20 11:42:50 +01:00
Simon L.
da49175f95 Merge pull request #7150 from nextcloud/nextcloud-container-update
Nextcloud dependency update
2025-11-20 11:41:59 +01:00
szaimen
2fec40568b nextcloud-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-20 10:36:01 +00:00
Simon L.
84f5e6a4b2 domain-validation: make not-reachable error even more verbose
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-20 11:08:54 +01:00
Simon L.
cf6166d618 increase to 12.1.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-20 10:55:33 +01:00
Simon L.
6b15b51829 Merge pull request #7146 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-29.0.2-cli
build(deps): bump docker from 28.5.2-cli to 29.0.2-cli in /Containers/mastercontainer
2025-11-20 10:53:52 +01:00
Simon L.
f75562992a Merge pull request #7144 from nextcloud/enh/noid/onlyoffice-timeout
nextcloud-entrypoint: don't wait forever for onlyoffice to become available
2025-11-20 10:43:52 +01:00
Simon L.
a1d150d405 Merge pull request #7142 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-25.04.7.2.1
build(deps): bump collabora/code from 25.04.7.1.1 to 25.04.7.2.1 in /Containers/collabora
2025-11-20 10:43:15 +01:00
Simon L.
8d9bf2be71 Merge pull request #7133 from nextcloud/talk-container-update
talk container update
2025-11-20 10:43:00 +01:00
Simon L.
d26924b1e7 Apply suggestion from @szaimen
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-20 10:42:06 +01:00
Simon L.
790b3d668d Merge pull request #7127 from nextcloud/enh/7096/specify-api-version
allow to specify the `DOCKER_API_VERSION`
2025-11-20 10:39:37 +01:00
Simon L.
143cf5157c allow to specify the DOCKER_API_VERSION
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-20 10:38:34 +01:00
Simon L.
01dc753143 Merge pull request #7125 from nextcloud/dependabot/docker/Containers/talk/nats-2.12.2-scratch
build(deps): bump nats from 2.12.1-scratch to 2.12.2-scratch in /Containers/talk
2025-11-20 10:37:31 +01:00
Simon L.
34ea6daa16 Merge pull request #7124 from nextcloud/dependabot/docker/Containers/postgresql/postgres-17.7-alpine
build(deps): bump postgres from 17.6-alpine to 17.7-alpine in /Containers/postgresql
2025-11-20 10:37:14 +01:00
Simon L.
84dd2b3c4b Merge pull request #7123 from nextcloud/enh/noid/fix-caddy-talk-traffic
fix a bug with aio-caddy now proxying all traffic to aio-talk
2025-11-20 10:37:02 +01:00
Simon L.
84f282002e Merge pull request #7122 from nextcloud/watchtower-container-update
watchtower container update
2025-11-20 10:36:46 +01:00
Simon L.
2ea53029cc Merge pull request #7121 from nextcloud/aio-dependency-update
PHP dependency updates
2025-11-20 10:36:28 +01:00
szaimen
d889e96603 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-19 12:03:32 +00:00
dependabot[bot]
19ab7f3931 build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 28.5.2-cli to 29.0.2-cli.

---
updated-dependencies:
- dependency-name: docker
  dependency-version: 29.0.2-cli
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-19 04:14:28 +00:00
Simon L.
c0dfba5272 nextcloud-entrypoint: don't wait forever for onlyoffice to become available
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-18 12:13:50 +01:00
dependabot[bot]
2777c3fed5 build(deps): bump collabora/code in /Containers/collabora
Bumps collabora/code from 25.04.7.1.1 to 25.04.7.2.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-18 04:14:50 +00:00
szaimen
7e03d8412c talk-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-15 12:04:23 +00:00
Hoang Pham
8e1d15a983 fix whiteboard recording chrome #3
Signed-off-by: Hoang Pham <hoangmaths96@gmail.com>
2025-11-14 18:00:43 +07:00
dependabot[bot]
058b30acea build(deps): bump nats in /Containers/talk
Bumps nats from 2.12.1-scratch to 2.12.2-scratch.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-14 04:13:45 +00:00
dependabot[bot]
74cdd0e69b build(deps): bump postgres in /Containers/postgresql
Bumps postgres from 17.6-alpine to 17.7-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-14 04:13:42 +00:00
Simon L.
9a684e8b3b fix a bug with aio-caddy now proxying all traffic to aio-talk
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-13 15:17:03 +01:00
szaimen
6222706872 watchtower-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-13 12:11:46 +00:00
106 changed files with 822 additions and 543 deletions

View File

@@ -30,4 +30,8 @@ labels: 0. Needs triage
#### Docker run command or docker-compose file that you used
#### Other valuable info <!--- (like logs, screenshots & Co.) -->
#### Output of `sudo docker logs nextcloud-aio-mastercontainer`
#### Other valuable info <!--- (like additional logs, screenshots & Co.) -->
#### A picture of a cute animal <!--- (not mandatory but encouraged) -->

View File

@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v5
uses: actions/checkout@v6.0.1
- name: Check spelling
uses: codespell-project/actions-codespell@8f01853be192eb0f849a5c7d721450e7a467c579 # v2
with:

View File

@@ -10,15 +10,15 @@ jobs:
name: update collabora
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6.0.1
- name: Run collabora-profile-update
run: |
rm -f php/cool-seccomp-profile.json
wget https://raw.githubusercontent.com/CollaboraOnline/online/refs/heads/master/docker/cool-seccomp-profile.json
wget https://raw.githubusercontent.com/CollaboraOnline/online/refs/heads/main/docker/cool-seccomp-profile.json
mv cool-seccomp-profile.json php/
- name: Create Pull Request
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7
with:
commit-message: collabora-seccomp-update automated change
signoff: true

View File

@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5
uses: actions/checkout@v6.0.1
- name: Validate structure
run: |
CONTAINERS="$(find ./community-containers -mindepth 1 -maxdepth 1 -type d)"

View File

@@ -10,8 +10,8 @@ jobs:
name: Run dependency update script
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2
- uses: actions/checkout@v6.0.1
- uses: shivammathur/setup-php@7bf05c6b704e0b9bfee22300130a31b5ea68d593 # v2
with:
php-version: 8.4
extensions: apcu
@@ -44,7 +44,7 @@ jobs:
)"
sed -i "s|pecl install APCu.*\;|pecl install APCu-$apcu_version\;|" ./Containers/mastercontainer/Dockerfile
- name: Create Pull Request
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7
with:
commit-message: php dependency updates
signoff: true

View File

@@ -25,7 +25,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6.0.1
- name: Install hadolint
run: |

View File

@@ -13,10 +13,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6.0.1
- name: Turnstyle
uses: softprops/turnstyle@2e4451ef94c5969eee533c487092052d4d1a53af # v2
uses: softprops/turnstyle@15f9da4059166900981058ba251e0b652511c68f # v2
with:
continue-after-seconds: 180
env:

View File

@@ -10,7 +10,7 @@ jobs:
name: update to latest imaginary commit on master branch
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6.0.1
- name: Run imaginary-update
run: |
# Imaginary
@@ -22,7 +22,7 @@ jobs:
sed -i "s|^ENV IMAGINARY_HASH.*$|ENV IMAGINARY_HASH=$imaginary_version|" ./Containers/imaginary/Dockerfile
- name: Create Pull Request
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7
with:
commit-message: imaginary-update automated change
signoff: true

View File

@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5
uses: actions/checkout@v6.0.1
- name: Validate Json
run: |
sudo apt-get update

View File

@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6.0.1
with:
fetch-depth: 0

View File

@@ -36,12 +36,12 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v5.0.1
with:
persist-credentials: false
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@7bf05c6b704e0b9bfee22300130a31b5ea68d593 # v2.36.0
with:
php-version: ${{ matrix.php-versions }}
coverage: none

42
.github/workflows/lint-yaml.yml vendored Normal file
View File

@@ -0,0 +1,42 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Lint YAML
on:
pull_request:
paths:
- '**.yml'
permissions:
contents: read
jobs:
yaml-lint:
runs-on: ubuntu-latest
name: yaml
steps:
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
persist-credentials: false
- name: GitHub action templates lint
uses: ibiqlik/action-yamllint@2576378a8e339169678f9939646ee3ee325e845c # v3.1.1
with:
file_or_dir: .github/workflows
config_data: |
line-length: warning
- name: Install the latest version of uv
uses: astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7.2.0
- name: Check GitHub actions
run: uvx zizmor --min-severity medium .github/workflows/*.yml

View File

@@ -14,7 +14,7 @@ jobs:
action:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@1bf7ec25051fe7c00bdd17e6a7cf3d7bfb7dc771 # v5
- uses: dessant/lock-threads@7266a7ce5c1df01b1c6db85bf8cd86c737dadbe7 # v5
with:
issue-inactive-days: '14'
process-only: 'issues'

View File

@@ -11,7 +11,7 @@ jobs:
name: Run nextcloud-update script
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6.0.1
- name: Run nextcloud-update script
run: |
# Inspired by https://github.com/nextcloud/docker/blob/master/update.sh
@@ -79,7 +79,7 @@ jobs:
fi
- name: Create Pull Request
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7
with:
commit-message: nextcloud-update automated change
signoff: true

View File

@@ -16,9 +16,9 @@ jobs:
name: PHP Deprecation Detector
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6.0.1
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2
uses: shivammathur/setup-php@7bf05c6b704e0b9bfee22300130a31b5ea68d593 # v2
with:
php-version: 8.4
extensions: apcu

View File

@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6.0.1
- uses: actions/setup-node@v6
with:
@@ -82,7 +82,7 @@ jobs:
exit 1
fi
- uses: actions/upload-artifact@v5
- uses: actions/upload-artifact@v6
if: ${{ !cancelled() }}
with:
name: playwright-report

View File

@@ -10,10 +10,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6.0.1
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2
uses: shivammathur/setup-php@7bf05c6b704e0b9bfee22300130a31b5ea68d593 # v2
with:
php-version: 8.4
extensions: apcu
@@ -30,7 +30,7 @@ jobs:
continue-on-error: true
- name: Create Pull Request
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: Update psalm baseline

View File

@@ -32,12 +32,12 @@ jobs:
name: static-psalm-analysis
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v5.0.1
with:
persist-credentials: false
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@7bf05c6b704e0b9bfee22300130a31b5ea68d593 # v2.36.0
with:
php-version: 8.4
extensions: apcu

View File

@@ -15,7 +15,7 @@ jobs:
name: Check Shell
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6.0.1
- name: Run Shellcheck
uses: ludeeus/action-shellcheck@00cae500b08a931fb5698e11e79bfbd38e612a38 # v2.0.0
with:

View File

@@ -10,7 +10,7 @@ jobs:
name: update talk
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6.0.1
- name: Run talk-container-update
run: |
# Recording
@@ -45,7 +45,7 @@ jobs:
sed -i "s|^ARG JANUS_VERSION=.*$|ARG JANUS_VERSION=$janus_version|" ./Containers/talk/Dockerfile
- name: Create Pull Request
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7
with:
commit-message: talk-update automated change
signoff: true

View File

@@ -24,10 +24,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6.0.1
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2
uses: shivammathur/setup-php@7bf05c6b704e0b9bfee22300130a31b5ea68d593 # v2
with:
php-version: 8.4
extensions: apcu

View File

@@ -8,4 +8,4 @@ jobs:
name: update copyright
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6.0.1

View File

@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5
uses: actions/checkout@v6.0.1
- name: update helm chart
run: |
set -x
@@ -23,7 +23,7 @@ jobs:
sudo bash nextcloud-aio-helm-chart/update-helm.sh "$DOCKER_TAG"
fi
- name: Create Pull Request
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7
with:
commit-message: Helm Chart updates
signoff: true

View File

@@ -11,12 +11,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5
uses: actions/checkout@v6.0.1
- name: update yaml files
run: |
sudo bash manual-install/update-yaml.sh
- name: Create Pull Request
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7
with:
commit-message: Yaml updates
signoff: true

View File

@@ -10,7 +10,7 @@ jobs:
name: update watchtower
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6.0.1
- name: Run watchtower-container-update
run: |
# Watchtower
@@ -26,7 +26,7 @@ jobs:
sed -i "s|\$WATCHTOWER_COMMIT_HASH.*$|\$WATCHTOWER_COMMIT_HASH # $watchtower_version|" ./Containers/watchtower/Dockerfile
- name: Create Pull Request
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7
with:
commit-message: watchtower-update automated change
signoff: true

View File

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

View File

@@ -2,7 +2,7 @@
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.65-alpine3.22
FROM httpd:2.4.66-alpine3.23
COPY --from=caddy /usr/bin/caddy /usr/bin/caddy

View File

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

View File

@@ -612,3 +612,12 @@ if [ "$BORG_MODE" = test ]; then
fi
fi
fi
if [ "$BORG_MODE" = list ]; then
echo "Updating backup list..."
if ! borg info > /dev/null; then
echo "Could not update the backup list."
exit 1
fi
# The update gets done automatically in the wrapper start.sh script.
fi

View File

@@ -32,8 +32,8 @@ else
fi
# Validate BORG_MODE
if [ "$BORG_MODE" != backup ] && [ "$BORG_MODE" != restore ] && [ "$BORG_MODE" != check ] && [ "$BORG_MODE" != "check-repair" ] && [ "$BORG_MODE" != test ]; then
echo "No correct BORG_MODE mode applied. Valid are 'backup', 'check', 'restore' and 'test'."
if [ "$BORG_MODE" != backup ] && [ "$BORG_MODE" != restore ] && [ "$BORG_MODE" != check ] && [ "$BORG_MODE" != "check-repair" ] && [ "$BORG_MODE" != "test" ] && [ "$BORG_MODE" != "list" ]; then
echo "No correct BORG_MODE mode applied. Valid are 'backup', 'check', 'restore', 'test' and 'list'."
exit 1
fi

View File

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

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.7.1.1
FROM collabora/code:25.04.8.1.1
USER root
ARG DEBIAN_FRONTEND=noninteractive

View File

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

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM alpine:3.22.2
FROM alpine:3.23.2
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.19.7
FROM elasticsearch:8.19.9
USER root

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM golang:1.25.4-alpine3.22 AS go
FROM golang:1.25.5-alpine3.23 AS go
ENV IMAGINARY_HASH=6a274b488759a896aff02f52afee6e50b5e3a3ee
@@ -14,7 +14,7 @@ RUN set -ex; \
build-base; \
go install github.com/h2non/imaginary@"$IMAGINARY_HASH";
FROM alpine:3.22.2
FROM alpine:3.23.2
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache \

View File

@@ -1,17 +1,20 @@
# syntax=docker/dockerfile:latest
# Docker CLI is a requirement
FROM docker:28.5.2-cli AS docker
FROM docker:29.1.3-cli AS docker
# Caddy is a requirement
FROM caddy:2.10.2-alpine AS caddy
# From https://github.com/docker-library/php/blob/master/8.4/alpine3.22/fpm/Dockerfile
FROM php:8.4.14-fpm-alpine3.22
# From https://github.com/docker-library/php/blob/master/8.4/alpine3.23/fpm/Dockerfile
FROM php:8.4.16-fpm-alpine3.23
EXPOSE 80
EXPOSE 8080
EXPOSE 8443
# Overwrite home variable for subservices
ENV HOME=/var/www
COPY --from=caddy /usr/bin/caddy /usr/bin/caddy
COPY --from=docker /usr/local/bin/docker /usr/local/bin/docker
@@ -49,7 +52,7 @@ RUN set -ex; \
apk add --no-cache --virtual .build-deps \
autoconf \
build-base; \
pecl install APCu-5.1.27; \
pecl install APCu-5.1.28; \
docker-php-ext-enable apcu; \
rm -r /tmp/pear; \
runDeps="$( \
@@ -74,8 +77,8 @@ RUN set -ex; \
rm -r ./php/tests; \
chown www-data:www-data -R /var/www/docker-aio; \
cd php; \
sudo -u www-data composer install --no-dev; \
sudo -u www-data composer clear-cache; \
sudo -E -u www-data composer install --no-dev; \
sudo -E -u www-data composer clear-cache; \
cd ..; \
rm -f /usr/local/bin/composer; \
chmod -R 770 /var/www/docker-aio; \
@@ -122,7 +125,9 @@ RUN set -ex; \
mkdir /var/log/supervisord; \
mkdir /var/run/supervisord;
LABEL org.label-schema.vendor="Nextcloud"
# hadolint ignore=DL3048
LABEL org.label-schema.vendor="Nextcloud" \
com.docker.compose.project="nextcloud-aio"
# hadolint ignore=DL3002
USER root

View File

@@ -45,29 +45,29 @@ while true; do
# Check for updates and send notification if yes on saturdays
if [ "$(date +%u)" = 6 ]; then
sudo -u www-data php /var/www/docker-aio/php/src/Cron/UpdateNotification.php
sudo -E -u www-data php /var/www/docker-aio/php/src/Cron/UpdateNotification.php
fi
# Check if AIO is outdated
sudo -u www-data php /var/www/docker-aio/php/src/Cron/OutdatedNotification.php
sudo -E -u www-data php /var/www/docker-aio/php/src/Cron/OutdatedNotification.php
# Remove sessions older than 24h
find "/mnt/docker-aio-config/session/" -mindepth 1 -mmin +1440 -delete
# Remove nextcloud-aio-domaincheck container
if sudo -u www-data docker ps --format "{{.Names}}" --filter "status=exited" | grep -q "^nextcloud-aio-domaincheck$"; then
sudo -u www-data docker container remove nextcloud-aio-domaincheck
if sudo -E -u www-data docker ps --format "{{.Names}}" --filter "status=exited" | grep -q "^nextcloud-aio-domaincheck$"; then
sudo -E -u www-data docker container remove nextcloud-aio-domaincheck
fi
# Remove dangling images
sudo -u www-data docker image prune --filter "label=org.label-schema.vendor=Nextcloud" --force
sudo -E -u www-data docker image prune --filter "label=org.label-schema.vendor=Nextcloud" --force
# Check for available free space
sudo -u www-data php /var/www/docker-aio/php/src/Cron/CheckFreeDiskSpace.php
sudo -E -u www-data php /var/www/docker-aio/php/src/Cron/CheckFreeDiskSpace.php
# Remove mastercontainer from default bridge network
if sudo -u www-data docker inspect nextcloud-aio-mastercontainer --format "{{.NetworkSettings.Networks}}" | grep -q "bridge"; then
sudo -u www-data docker network disconnect bridge nextcloud-aio-mastercontainer
if sudo -E -u www-data docker inspect nextcloud-aio-mastercontainer --format "{{.NetworkSettings.Networks}}" | grep -q "bridge"; then
sudo -E -u www-data docker network disconnect bridge nextcloud-aio-mastercontainer
fi
# Wait 60s so that the whole loop will not be executed again

View File

@@ -20,11 +20,11 @@ fi
if [ "$LOCK_FILE_PRESENT" = 0 ] || ! [ -f "/mnt/docker-aio-config/data/daily_backup_running" ]; then
find "/mnt/docker-aio-config/session/" -mindepth 1 -delete
fi
sudo -u www-data touch "/mnt/docker-aio-config/data/daily_backup_running"
sudo -E -u www-data touch "/mnt/docker-aio-config/data/daily_backup_running"
# Check if apache is running/stopped, watchtower is stopped and backupcontainer is stopped
APACHE_PORT="$(docker inspect nextcloud-aio-apache --format "{{.Config.Env}}" | grep -o 'APACHE_PORT=[0-9]\+' | grep -o '[0-9]\+' | head -1)"
if [ -z "$APACHE_PORT" ]; then
LOCAL_APACHE_PORT="$(docker inspect nextcloud-aio-apache --format "{{.Config.Env}}" | grep -o 'APACHE_PORT=[0-9]\+' | grep -o '[0-9]\+' | head -1)"
if [ -z "$LOCAL_APACHE_PORT" ]; then
echo "APACHE_PORT is not set which is not expected..."
else
# Connect mastercontainer to nextcloud-aio network to make sure that nextcloud-aio-apache is reachable
@@ -32,7 +32,7 @@ else
docker network connect nextcloud-aio nextcloud-aio-mastercontainer &>/dev/null
# Wait for apache to start
while docker ps --format "{{.Names}}" | grep -q "^nextcloud-aio-apache$" && ! nc -z nextcloud-aio-apache "$APACHE_PORT"; do
while docker ps --format "{{.Names}}" | grep -q "^nextcloud-aio-apache$" && ! nc -z nextcloud-aio-apache "$LOCAL_APACHE_PORT"; do
echo "Waiting for apache to become available"
sleep 30
done
@@ -50,7 +50,7 @@ done
if [ "$AUTOMATIC_UPDATES" = 1 ]; then
echo "Starting mastercontainer update..."
echo "(The script might get exited due to that. In order to update all the other containers correctly, you need to run this script with the same settings a second time.)"
sudo -u www-data php /var/www/docker-aio/php/src/Cron/UpdateMastercontainer.php
sudo -E -u www-data php /var/www/docker-aio/php/src/Cron/UpdateMastercontainer.php
fi
# Wait for watchtower to stop
@@ -67,20 +67,20 @@ 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
sudo -E -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
echo "Stopping containers..."
sudo -u www-data php /var/www/docker-aio/php/src/Cron/StopContainers.php
sudo -E -u www-data php /var/www/docker-aio/php/src/Cron/StopContainers.php
fi
# Execute the backup itself and some related tasks (also stops the containers)
if [ "$DAILY_BACKUP" = 1 ]; then
echo "Creating daily backup..."
sudo -u www-data php /var/www/docker-aio/php/src/Cron/CreateBackup.php
sudo -E -u www-data php /var/www/docker-aio/php/src/Cron/CreateBackup.php
if ! docker ps --format "{{.Names}}" | grep -q "^nextcloud-aio-borgbackup$"; then
echo "Something seems to be wrong: the borg container should be started at this step."
fi
@@ -93,17 +93,17 @@ fi
# Execute backup check
if [ "$CHECK_BACKUP" = 1 ]; then
echo "Starting backup check..."
sudo -u www-data php /var/www/docker-aio/php/src/Cron/CheckBackup.php
sudo -E -u www-data php /var/www/docker-aio/php/src/Cron/CheckBackup.php
fi
# Start and/or update containers
if [ "$AUTOMATIC_UPDATES" = 1 ]; then
echo "Starting and updating containers..."
sudo -u www-data php /var/www/docker-aio/php/src/Cron/StartAndUpdateContainers.php
sudo -E -u www-data php /var/www/docker-aio/php/src/Cron/StartAndUpdateContainers.php
else
if [ "$START_CONTAINERS" = 1 ]; then
echo "Starting containers without updating them..."
sudo -u www-data php /var/www/docker-aio/php/src/Cron/StartContainers.php
sudo -E -u www-data php /var/www/docker-aio/php/src/Cron/StartContainers.php
fi
fi

View File

@@ -51,7 +51,7 @@ elif mountpoint -q /var/www/docker-aio/php/containers.json; then
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
elif ! sudo -E -u www-data test -r /var/run/docker.sock; then
echo "Trying to fix docker.sock permissions internally..."
DOCKER_GROUP=$(stat -c '%G' /var/run/docker.sock)
DOCKER_GROUP_ID=$(stat -c '%g' /var/run/docker.sock)
@@ -69,28 +69,68 @@ elif ! sudo -u www-data test -r /var/run/docker.sock; then
groupadd -g "$DOCKER_GROUP_ID" docker
usermod -aG docker www-data
fi
if ! sudo -u www-data test -r /var/run/docker.sock; then
if ! sudo -E -u www-data test -r /var/run/docker.sock; then
print_red "Docker socket is not readable by the www-data user. Cannot continue."
exit 1
fi
fi
# Check if api version is supported
if ! sudo -u www-data docker info &>/dev/null; then
print_red "Cannot connect to the docker socket. Cannot proceed."
echo "Did you maybe remove group read permissions for the docker socket? AIO needs them in order to access the docker socket."
echo "If SELinux is enabled on your host, see https://github.com/nextcloud/all-in-one#are-there-known-problems-when-selinux-is-enabled"
echo "If you are on TrueNas SCALE, see https://github.com/nextcloud/all-in-one#can-i-run-aio-on-truenas-scale"
exit 1
fi
# Get default docker api version
API_VERSION_FILE="$(find ./ -name DockerActionManager.php | head -1)"
API_VERSION="$(grep -oP 'const string API_VERSION.*\;' "$API_VERSION_FILE" | grep -oP '[0-9]+.[0-9]+' | head -1)"
if [ -z "$API_VERSION" ]; then
print_red "Could not get API_VERSION. Something is wrong!"
exit 1
fi
# Check if DOCKER_API_VERSION is set globally
if [ -n "$DOCKER_API_VERSION" ]; then
if ! echo "$DOCKER_API_VERSION" | grep -q '^[0-9].[0-9]\+$'; then
print_red "You've set DOCKER_API_VERSION but not to an allowed value.
The string must be a version number like e.g. '1.44'.
It is set to '$DOCKER_API_VERSION'."
exit 1
fi
print_red "DOCKER_API_VERSION was found to be set to '$DOCKER_API_VERSION'."
print_red "Please note that only v$API_VERSION is officially supported and tested by the maintainers of Nextcloud AIO."
print_red "So you run on your own risk and things might break without warning."
else
# Export docker api version to use it everywhere
export DOCKER_API_VERSION="$API_VERSION"
fi
# Set a fallback docker api version. Needed for api version check.
# The check will not work otherwise on old docker versions
FALLBACK_DOCKER_API_VERSION="1.41"
# Check if docker info can be used
if ! sudo -E -u www-data docker info &>/dev/null; then
if ! sudo -E -u www-data DOCKER_API_VERSION="$FALLBACK_DOCKER_API_VERSION" docker info &>/dev/null; then
print_red "Cannot connect to the docker socket. Cannot proceed."
echo "Did you maybe remove group read permissions for the docker socket? AIO needs them in order to access the docker socket."
echo "If SELinux is enabled on your host, see https://github.com/nextcloud/all-in-one#are-there-known-problems-when-selinux-is-enabled"
echo "If you are on TrueNas SCALE, see https://github.com/nextcloud/all-in-one#can-i-run-aio-on-truenas-scale"
echo "On macOS, see https://github.com/nextcloud/all-in-one#how-to-run-aio-on-macos"
echo "Another possibility might be that Docker api v$API_VERSION is not supported by your docker daemon."
echo "In that case, you should report this to https://github.com/nextcloud/all-in-one/issues"
echo ""
exit 1
fi
fi
# Docker api version check
# shellcheck disable=SC2001
API_VERSION_NUMB="$(echo "$API_VERSION" | sed 's/\.//')"
LOCAL_API_VERSION_NUMB="$(sudo -u www-data docker version | grep -i "api version" | grep -oP '[0-9]+.[0-9]+' | head -1 | sed 's/\.//')"
API_VERSION_NUMB="$(echo "$DOCKER_API_VERSION" | sed 's/\.//')"
LOCAL_API_VERSION_NUMB="$(sudo -E -u www-data docker version | grep -i "api version" | grep -oP '[0-9]+.[0-9]+' | head -1 | sed 's/\.//')"
if [ -z "$LOCAL_API_VERSION_NUMB" ]; then
LOCAL_API_VERSION_NUMB="$(sudo -E -u www-data DOCKER_API_VERSION="$FALLBACK_DOCKER_API_VERSION" docker version | grep -i "api version" | grep -oP '[0-9]+.[0-9]+' | head -1 | sed 's/\.//')"
fi
if [ -n "$LOCAL_API_VERSION_NUMB" ] && [ -n "$API_VERSION_NUMB" ]; then
if ! [ "$LOCAL_API_VERSION_NUMB" -ge "$API_VERSION_NUMB" ]; then
print_red "Docker API v$API_VERSION is not supported by your docker engine. Cannot proceed. Please upgrade your docker engine if you want to run Nextcloud AIO!"
print_red "Docker API v$DOCKER_API_VERSION is not supported by your docker engine. Cannot proceed. Please upgrade your docker engine if you want to run Nextcloud AIO!"
echo "Alternatively, set the DOCKER_API_VERSION environmental variable to a compatible version."
echo "However please note that only v$API_VERSION is officially supported and tested by the maintainers of Nextcloud AIO."
echo "See https://github.com/nextcloud/all-in-one#how-to-adjust-the-internally-used-docker-api-version"
exit 1
fi
else
@@ -99,7 +139,7 @@ else
fi
# Check Storage drivers
STORAGE_DRIVER="$(sudo -u www-data docker info | grep "Storage Driver")"
STORAGE_DRIVER="$(sudo -E -u www-data docker info | grep "Storage Driver")"
# Check if vfs is used: https://github.com/nextcloud/all-in-one/discussions/1467
if echo "$STORAGE_DRIVER" | grep -q vfs; then
echo "$STORAGE_DRIVER"
@@ -110,23 +150,23 @@ elif echo "$STORAGE_DRIVER" | grep -q fuse-overlayfs; then
fi
# Check if snap install
if sudo -u www-data docker info | grep "Docker Root Dir" | grep "/var/snap/docker/"; then
if sudo -E -u www-data docker info | grep "Docker Root Dir" | grep "/var/snap/docker/"; then
print_red "Warning: It looks like your installation uses docker installed via snap."
print_red "This comes with some limitations and is disrecommended by the docker maintainers."
print_red "See for example https://github.com/nextcloud/all-in-one/discussions/4890#discussioncomment-10386752"
fi
# Check if startup command was executed correctly
if ! sudo -u www-data docker ps --format "{{.Names}}" | grep -q "^nextcloud-aio-mastercontainer$"; then
if ! sudo -E -u www-data docker ps --format "{{.Names}}" | grep -q "^nextcloud-aio-mastercontainer$"; then
print_red "It seems like you did not give the mastercontainer the correct name? (The 'nextcloud-aio-mastercontainer' container was not found.)
Using a different name is not supported since mastercontainer updates will not work in that case!
If you are on docker swarm and try to run AIO, see https://github.com/nextcloud/all-in-one#can-i-run-this-with-docker-swarm"
exit 1
elif ! sudo -u www-data docker volume ls --format "{{.Name}}" | grep -q "^nextcloud_aio_mastercontainer$"; then
elif ! sudo -E -u www-data docker volume ls --format "{{.Name}}" | grep -q "^nextcloud_aio_mastercontainer$"; then
print_red "It seems like you did not give the mastercontainer volume the correct name? (The 'nextcloud_aio_mastercontainer' volume was not found.)
Using a different name is not supported since the built-in backup solution will not work in that case!"
exit 1
elif ! sudo -u www-data docker inspect nextcloud-aio-mastercontainer | grep -q "nextcloud_aio_mastercontainer"; then
elif ! sudo -E -u www-data docker inspect nextcloud-aio-mastercontainer | grep -q "nextcloud_aio_mastercontainer"; then
print_red "It seems like you did not attach the 'nextcloud_aio_mastercontainer' volume to the mastercontainer?
This is not supported since the built-in backup solution will not work in that case!"
exit 1

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM php:8.3.27-fpm-alpine3.22
FROM php:8.3.29-fpm-alpine3.23
ENV PHP_MEMORY_LIMIT=512M
ENV PHP_UPLOAD_LIMIT=16G
@@ -8,7 +8,7 @@ ENV SOURCE_LOCATION=/usr/src/nextcloud
ENV REDIS_DB_INDEX=0
# AIO settings start # Do not remove or change this line!
ENV NEXTCLOUD_VERSION=32.0.1
ENV NEXTCLOUD_VERSION=32.0.3
ENV AIO_TOKEN=123456
ENV AIO_URL=localhost
# AIO settings end # Do not remove or change this line!
@@ -83,16 +83,17 @@ 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.27; \
pecl install APCu-5.1.28; \
pecl install -D 'enable-memcached-igbinary="yes"' memcached-3.4.0; \
pecl install -oD 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' redis-6.3.0; \
pecl install -o imagick-3.8.0; \
pecl install -o imagick-3.8.1; \
\
docker-php-ext-enable \
igbinary \
apcu \
memcached \
redis \
imagick \
; \
rm -r /tmp/pear; \
\
@@ -138,7 +139,7 @@ RUN set -ex; \
\
{ \
echo 'session.save_handler = redis'; \
echo 'session.save_path = "tcp://${REDIS_HOST}:6379?database=${REDIS_DB_INDEX}${REDIS_USER_AUTH}&auth[]=${REDIS_HOST_PASSWORD}"'; \
echo 'session.save_path = "tcp://${REDIS_HOST}:${REDIS_PORT}?database=${REDIS_DB_INDEX}${REDIS_USER_AUTH}&auth[]=${REDIS_HOST_PASSWORD}"'; \
echo 'redis.session.locking_enabled = 1'; \
echo 'redis.session.lock_retries = -1'; \
echo 'redis.session.lock_wait_time = 10000'; \
@@ -251,6 +252,7 @@ RUN set -ex; \
chmod 777 -R /usr/local/etc/php/conf.d && \
chmod 777 -R /usr/local/etc/php-fpm.d && \
chmod -R 777 /tmp; \
chmod -R 777 /etc/openldap; \
\
mkdir -p /nc-updater; \
chmod -R 777 /nc-updater

View File

@@ -0,0 +1,5 @@
<?php
// Check if NEXTCLOUD_TRUSTED_CERTIFICATES_ are configured
if (str_contains(implode(' ', array_keys(getenv())), 'NEXTCLOUD_TRUSTED_CERTIFICATES_')) {
$CONFIG['default_certificates_bundle_path'] = '/var/www/html/data/certificates/ca-bundle.crt';
}

View File

@@ -3,7 +3,15 @@ if (getenv('NEXTCLOUD_TRUSTED_CERTIFICATES_POSTGRES')) {
$CONFIG = array(
'pgsql_ssl' => array(
'mode' => 'verify-ca',
'rootcert' => '/var/www/html/data/certificates/POSTGRES',
'rootcert' => '/var/www/html/data/certificates/ca-bundle.crt',
),
);
}
if (getenv('NEXTCLOUD_TRUSTED_CERTIFICATES_MYSQL')) {
$CONFIG = array(
'dbdriveroptions' => array(
'PDO::MYSQL_ATTR_SSL_CA' => '/var/www/html/data/certificates/ca-bundle.crt',
),
);
}

View File

@@ -9,10 +9,8 @@ if (getenv('REDIS_HOST')) {
),
);
if (getenv('REDIS_HOST_PORT')) {
$CONFIG['redis']['port'] = (int) getenv('REDIS_HOST_PORT');
} elseif (getenv('REDIS_HOST')[0] != '/') {
$CONFIG['redis']['port'] = 6379;
if (getenv('REDIS_PORT')) {
$CONFIG['redis']['port'] = (int) getenv('REDIS_PORT');
}
if (getenv('REDIS_DB_INDEX')) {

View File

@@ -6,9 +6,10 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
$autocreate = getenv('OBJECTSTORE_S3_AUTOCREATE');
$multibucket = getenv('OBJECTSTORE_S3_MULTIBUCKET');
$CONFIG = array(
$multibucket === 'true' ? 'objectstore_multibucket' : 'objectstore' => array(
'objectstore' => array(
'class' => '\OC\Files\ObjectStore\S3',
'arguments' => array(
'multibucket' => $multibucket === 'true',
'bucket' => getenv('OBJECTSTORE_S3_BUCKET'),
'key' => getenv('OBJECTSTORE_S3_KEY') ?: '',
'secret' => getenv('OBJECTSTORE_S3_SECRET') ?: '',
@@ -22,7 +23,8 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
// required for some non Amazon S3 implementations
'use_path_style' => strtolower($use_path) === 'true',
// required for older protocol versions
'legacy_auth' => strtolower($use_legacyauth) === 'true'
'legacy_auth' => strtolower($use_legacyauth) === 'true',
'use_nextcloud_bundle' => 1,
)
)
);

View File

@@ -18,3 +18,14 @@ if (getenv('SMTP_HOST') && getenv('MAIL_FROM_ADDRESS') && getenv('MAIL_DOMAIN'))
$CONFIG['mail_smtppassword'] = '';
}
}
if (getenv('NEXTCLOUD_TRUSTED_CERTIFICATES_MAILER')) {
$CONFIG = array(
'mail_smtpstreamoptions' => array(
'ssl' => array(
'verify_peer_name' => false,
'cafile' => '/var/www/html/data/certificates/ca-bundle.crt',
)
)
);
}

View File

@@ -20,6 +20,72 @@ run_upgrade_if_needed_due_to_app_update() {
fi
}
# Create cert bundle
if env | grep -q NEXTCLOUD_TRUSTED_CERTIFICATES_; then
# Enable debug mode
set -x
# Default vars
CERTIFICATES_ROOT_DIR="/var/www/html/data/certificates"
CERTIFICATE_BUNDLE="/var/www/html/data/certificates/ca-bundle.crt"
# Remove old root certs and recreate them with current ones
rm -rf "$CERTIFICATES_ROOT_DIR"
mkdir -p "$CERTIFICATES_ROOT_DIR"
# Retrieve default root cert bundle
if ! [ -f "$SOURCE_LOCATION/resources/config/ca-bundle.crt" ]; then
echo "Root ca-bundle not found. Only concattening configured NEXTCLOUD_TRUSTED_CERTIFICATES files!"
# Recreate cert file
touch "$CERTIFICATE_BUNDLE"
else
# Write default bundle to the target ca file
cat "$SOURCE_LOCATION/resources/config/ca-bundle.crt" > "$CERTIFICATE_BUNDLE"
fi
# Iterate through certs
TRUSTED_CERTIFICATES="$(env | grep NEXTCLOUD_TRUSTED_CERTIFICATES_ | grep -oP '^[A-Z_a-z0-9]+')"
mapfile -t TRUSTED_CERTIFICATES <<< "$TRUSTED_CERTIFICATES"
for certificate in "${TRUSTED_CERTIFICATES[@]}"; do
# Create new line
echo "" >> "$CERTIFICATE_BUNDLE"
# Check if variable is an actual cert
if echo "${!certificate}" | grep -q "BEGIN CERTIFICATE" && echo "${!certificate}" | grep -q "END CERTIFICATE"; then
# Write out cert to bundle
echo "${!certificate}" >> "$CERTIFICATE_BUNDLE"
fi
# Create file in cert dir for extra logic in other places
if ! [ -f "$CERTIFICATES_ROOT_DIR/$CERTIFICATE_NAME" ]; then
touch "$CERTIFICATES_ROOT_DIR/$CERTIFICATE_NAME"
fi
done
# Custom logic for ldap conf
if ! grep -q "TLS_" /etc/openldap/ldap.conf; then
cat << EOL >> /etc/openldap/ldap.conf
TLS_CACERT $CERTIFICATE_BUNDLE
TLS_REQCERT try
EOL
fi
# Backwards compatibility with older instances
if [ -f "/var/www/html/config/postgres.config.php" ]; then
sed -i "s|/var/www/html/data/certificates/POSTGRES|/var/www/html/data/certificates/ca-bundle.crt|" /var/www/html/config/postgres.config.php
sed -i "s|/var/www/html/data/certificates/MYSQL|/var/www/html/data/certificates/ca-bundle.crt|" /var/www/html/config/postgres.config.php
fi
# Print out bundle one last time
cat "$CERTIFICATE_BUNDLE"
# Disable debug mode
set +x
fi
# Adjust DATABASE_TYPE to by Nextcloud supported value
if [ "$DATABASE_TYPE" = postgres ]; then
export DATABASE_TYPE=pgsql
@@ -27,7 +93,7 @@ fi
# Only start container if Redis is accessible
# shellcheck disable=SC2153
while ! nc -z "$REDIS_HOST" "6379"; do
while ! nc -z "$REDIS_HOST" "$REDIS_PORT"; do
echo "Waiting for Redis to start..."
sleep 5
done
@@ -279,12 +345,6 @@ if ! [ -f "$NEXTCLOUD_DATA_DIR/skip.update" ]; then
);
EOF
# Write out postgres root cert
if [ -n "$NEXTCLOUD_TRUSTED_CERTIFICATES_POSTGRES" ]; then
mkdir /var/www/html/data/certificates
echo "$NEXTCLOUD_TRUSTED_CERTIFICATES_POSTGRES" > "/var/www/html/data/certificates/POSTGRES"
fi
echo "Installing with $DATABASE_TYPE database"
# Set a default value for POSTGRES_PORT
if [ -z "$POSTGRES_PORT" ]; then
@@ -645,24 +705,6 @@ 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
@@ -741,7 +783,7 @@ if [ "$COLLABORA_ENABLED" = 'yes' ]; then
echo "No IPv6 address found for $COLLABORA_HOST."
fi
if [ -n "$COLLABORA_ALLOW_LIST" ]; then
PRIVATE_IP_RANGES='127.0.0.1/8,192.168.0.0/16,172.16.0.0/12,10.0.0.0/8,fd00::/8,::1'
PRIVATE_IP_RANGES='127.0.0.0/8,192.168.0.0/16,172.16.0.0/12,10.0.0.0/8,100.64.0.0/10,fd00::/8,::1/128'
if ! echo "$COLLABORA_ALLOW_LIST" | grep -q "$PRIVATE_IP_RANGES"; then
COLLABORA_ALLOW_LIST+=",$PRIVATE_IP_RANGES"
fi
@@ -769,33 +811,39 @@ if [ "$ONLYOFFICE_ENABLED" = 'yes' ]; then
ONLYOFFICE_PORT=443
fi
# Wait for OnlyOffice to become available
while ! nc -z "$ONLYOFFICE_HOST" "$ONLYOFFICE_PORT"; do
count=0
while ! nc -z "$ONLYOFFICE_HOST" "$ONLYOFFICE_PORT" && [ "$count" -lt 90 ]; do
echo "Waiting for OnlyOffice to become available..."
count=$((count+5))
sleep 5
done
if [ "$count" -ge 90 ]; then
bash /notify.sh "Onlyoffice did not start in time!" "Skipping initialization and disabling onlyoffice app."
php /var/www/html/occ app:disable onlyoffice
else
# Install or enable OnlyOffice app as needed
if ! [ -d "/var/www/html/custom_apps/onlyoffice" ]; then
php /var/www/html/occ app:install onlyoffice
elif [ "$(php /var/www/html/occ config:app:get onlyoffice enabled)" != "yes" ]; then
php /var/www/html/occ app:enable onlyoffice
elif [ "$SKIP_UPDATE" != 1 ]; then
php /var/www/html/occ app:update onlyoffice
fi
# Install or enable OnlyOffice app as needed
if ! [ -d "/var/www/html/custom_apps/onlyoffice" ]; then
php /var/www/html/occ app:install onlyoffice
elif [ "$(php /var/www/html/occ config:app:get onlyoffice enabled)" != "yes" ]; then
php /var/www/html/occ app:enable onlyoffice
elif [ "$SKIP_UPDATE" != 1 ]; then
php /var/www/html/occ app:update onlyoffice
# Set OnlyOffice configuration
php /var/www/html/occ config:system:set onlyoffice editors_check_interval --value="0" --type=integer
php /var/www/html/occ config:system:set onlyoffice jwt_secret --value="$ONLYOFFICE_SECRET"
php /var/www/html/occ config:app:set onlyoffice jwt_secret --value="$ONLYOFFICE_SECRET"
php /var/www/html/occ config:system:set onlyoffice jwt_header --value="AuthorizationJwt"
# Adjust the OnlyOffice host if using internal pattern
if echo "$ONLYOFFICE_HOST" | grep -q "nextcloud-.*-onlyoffice"; then
ONLYOFFICE_HOST="$NC_DOMAIN/onlyoffice"
export ONLYOFFICE_HOST
fi
php /var/www/html/occ config:app:set onlyoffice DocumentServerUrl --value="https://$ONLYOFFICE_HOST"
fi
# Set OnlyOffice configuration
php /var/www/html/occ config:system:set onlyoffice jwt_secret --value="$ONLYOFFICE_SECRET"
php /var/www/html/occ config:app:set onlyoffice jwt_secret --value="$ONLYOFFICE_SECRET"
php /var/www/html/occ config:system:set onlyoffice jwt_header --value="AuthorizationJwt"
# Adjust the OnlyOffice host if using internal pattern
if echo "$ONLYOFFICE_HOST" | grep -q "nextcloud-.*-onlyoffice"; then
ONLYOFFICE_HOST="$NC_DOMAIN/onlyoffice"
export ONLYOFFICE_HOST
fi
php /var/www/html/occ config:app:set onlyoffice DocumentServerUrl --value="https://$ONLYOFFICE_HOST"
else
# Remove OnlyOffice app if disabled and removal is requested
if [ "$REMOVE_DISABLED_APPS" = yes ] && \
@@ -867,7 +915,7 @@ if [ "$CLAMAV_ENABLED" = 'yes' ]; then
sleep 5
done
if [ "$count" -ge 90 ]; then
echo "ClamAV did not start in time. Skipping initialization and disabling files_antivirus app."
bash /notify.sh "ClamAV did not start in time!" "Skipping initialization and disabling files_antivirus app."
php /var/www/html/occ app:disable files_antivirus
else
if ! [ -d "/var/www/html/custom_apps/files_antivirus" ]; then
@@ -925,6 +973,9 @@ if [ "$FULLTEXTSEARCH_ENABLED" = 'yes' ]; then
php /var/www/html/occ app:disable fulltextsearch_elasticsearch
php /var/www/html/occ app:disable files_fulltextsearch
else
if [ -z "$FULLTEXTSEARCH_PROTOCOL" ]; then
FULLTEXTSEARCH_PROTOCOL="http"
fi
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
@@ -947,7 +998,7 @@ if [ "$FULLTEXTSEARCH_ENABLED" = 'yes' ]; 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 fulltextsearch_elasticsearch:configure "{\"elastic_host\":\"$FULLTEXTSEARCH_PROTOCOL://$FULLTEXTSEARCH_USER:$FULLTEXTSEARCH_PASSWORD@$FULLTEXTSEARCH_HOST:$FULLTEXTSEARCH_PORT\",\"elastic_index\":\"$FULLTEXTSEARCH_INDEX\"}"
php /var/www/html/occ files_fulltextsearch:configure "{\"files_pdf\":true,\"files_office\":true}"
# Do the index

View File

@@ -19,11 +19,6 @@ else
echo "Activating Collabora config..."
php /var/www/html/occ richdocuments:activate-config
fi
# OnlyOffice must work also if using manual-install
if [ "$ONLYOFFICE_ENABLED" = yes ]; then
echo "Activating OnlyOffice config..."
php /var/www/html/occ onlyoffice:documentserver --check
fi
fi
signal_handler() {

View File

@@ -8,7 +8,7 @@ fi
# Only start container if database is accessible
# POSTGRES_HOST must be set in the containers env vars and POSTGRES_PORT has a default above
# shellcheck disable=SC2153
while ! sudo -u www-data nc -z "$POSTGRES_HOST" "$POSTGRES_PORT"; do
while ! sudo -E -u www-data nc -z "$POSTGRES_HOST" "$POSTGRES_PORT"; do
echo "Waiting for database to start..."
sleep 5
done
@@ -25,7 +25,7 @@ fi
# Fix false database connection on old instances
if [ -f "/var/www/html/config/config.php" ]; then
sleep 2
while ! sudo -u www-data psql -d "postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DB" -c "select now()"; do
while ! sudo -E -u www-data psql -d "postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DB" -c "select now()"; do
echo "Waiting for the database to start..."
sleep 5
done
@@ -56,12 +56,12 @@ fi
set +x
# Check datadir permissions
sudo -u www-data touch "$NEXTCLOUD_DATA_DIR/this-is-a-test-file" &>/dev/null
sudo -E -u www-data touch "$NEXTCLOUD_DATA_DIR/this-is-a-test-file" &>/dev/null
if ! [ -f "$NEXTCLOUD_DATA_DIR/this-is-a-test-file" ]; then
chown -R www-data:root "$NEXTCLOUD_DATA_DIR"
chmod 750 -R "$NEXTCLOUD_DATA_DIR"
fi
sudo -u www-data rm -f "$NEXTCLOUD_DATA_DIR/this-is-a-test-file"
sudo -E -u www-data rm -f "$NEXTCLOUD_DATA_DIR/this-is-a-test-file"
# Install additional dependencies
if [ -n "$ADDITIONAL_APKS" ]; then
@@ -86,13 +86,15 @@ fi
# Install additional php extensions
if [ -n "$ADDITIONAL_PHP_EXTENSIONS" ]; then
if ! [ -f "/additional-php-extensions-are-installed" ]; then
# Allow to disable imagick without having to enable it each time
if ! echo "$ADDITIONAL_PHP_EXTENSIONS" | grep -q imagick; then
# Remove the ini file as there is no docker-php-ext-disable script available
rm /usr/local/etc/php/conf.d/docker-php-ext-imagick.ini
fi
read -ra ADDITIONAL_PHP_EXTENSIONS_ARRAY <<< "$ADDITIONAL_PHP_EXTENSIONS"
for app in "${ADDITIONAL_PHP_EXTENSIONS_ARRAY[@]}"; do
if [ "$app" = imagick ]; then
echo "Enabling Imagick..."
if ! docker-php-ext-enable imagick >/dev/null; then
echo "Could not install PHP extension imagick!"
fi
# imagick is already enabled by default, so does not need to be enabled anymore.
continue
fi
# shellcheck disable=SC2086

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM alpine:3.22.2
FROM alpine:3.23.2
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh
@@ -11,6 +11,7 @@ RUN set -ex; \
netcat-openbsd \
tzdata \
bash \
jq \
openssl; \
# Give root a random password
echo "root:$(openssl rand -base64 12)" | chpasswd; \

View File

@@ -52,6 +52,10 @@ fi
if [ -z "$REDIS_DB_INDEX" ]; then
REDIS_DB_INDEX=0
fi
# Set a default value for REDIS_PORT
if [ -z "$REDIS_PORT" ]; then
REDIS_PORT=6379
fi
# Set a default for db type
if [ -z "$DATABASE_TYPE" ]; then
DATABASE_TYPE=postgres
@@ -66,14 +70,21 @@ if [ "$POSTGRES_USER" = nextcloud ]; then
export POSTGRES_USER
fi
# URL-encode passwords
POSTGRES_PASSWORD="$(jq -rn --arg v "$POSTGRES_PASSWORD" '$v|@uri')"
REDIS_HOST_PASSWORD="$(jq -rn --arg v "$REDIS_HOST_PASSWORD" '$v|@uri')"
# Postgres root cert
if [ -f "/nextcloud/data/certificates/POSTGRES" ]; then
POSTGRES_CERT="?sslmode=verify-ca&sslrootcert=/nextcloud/data/certificates/POSTGRES"
CERT_OPTIONS="?sslmode=verify-ca&sslrootcert=/nextcloud/data/certificates/ca-bundle.crt"
# Mysql root cert
elif [ -f "/nextcloud/data/certificates/MYSQL" ]; then
CERT_OPTIONS="?sslmode=verify-ca&ssl-ca=/nextcloud/data/certificates/ca-bundle.crt"
fi
# Set sensitive values as env
export DATABASE_URL="$DATABASE_TYPE://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DB$POSTGRES_CERT"
export REDIS_URL="redis://$REDIS_USER:$REDIS_HOST_PASSWORD@$REDIS_HOST/$REDIS_DB_INDEX"
export DATABASE_URL="$DATABASE_TYPE://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DB$CERT_OPTIONS"
export REDIS_URL="redis://$REDIS_USER:$REDIS_HOST_PASSWORD@$REDIS_HOST:$REDIS_PORT/$REDIS_DB_INDEX"
# Run it
/nextcloud/custom_apps/notify_push/bin/"$CPU_ARCH"/notify_push \

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# From https://github.com/ONLYOFFICE/Docker-DocumentServer/blob/master/Dockerfile
FROM onlyoffice/documentserver:9.1.0.1
FROM onlyoffice/documentserver:9.2.1.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.22/Dockerfile
FROM postgres:17.6-alpine
# From https://github.com/docker-library/postgres/blob/master/17/alpine3.23/Dockerfile
FROM postgres:17.7-alpine
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 python:3.14.0-alpine3.22
FROM python:3.14.2-alpine3.23
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh
ENV RECORDING_VERSION=v0.2.0
ENV RECORDING_VERSION=v0.2.1
ENV ALLOW_ALL=false
ENV HPB_PROTOCOL=https
ENV NC_PROTOCOL=https

View File

@@ -1,8 +1,8 @@
# syntax=docker/dockerfile:latest
FROM nats:2.12.1-scratch AS nats
FROM nats:2.12.3-scratch AS nats
FROM eturnal/eturnal:1.12.2-alpine AS eturnal
FROM strukturag/nextcloud-spreed-signaling:2.0.4 AS signaling
FROM alpine:3.22.2 AS janus
FROM alpine:3.23.2 AS janus
ARG JANUS_VERSION=v1.3.3
WORKDIR /src
@@ -35,7 +35,7 @@ RUN set -ex; \
make configs; \
rename -v ".jcfg.sample" ".jcfg" /usr/local/etc/janus/*.jcfg.sample
FROM alpine:3.22.2
FROM alpine:3.23.2
ENV ETURNAL_ETC_DIR="/conf"
ENV SKIP_CERT_VERIFY=false
COPY --from=janus --chmod=777 --chown=1000:1000 /usr/local /usr/local

View File

@@ -1,15 +1,15 @@
# syntax=docker/dockerfile:latest
FROM golang:1.25.4-alpine3.22 AS go
FROM golang:1.25.5-alpine3.23 AS go
ENV WATCHTOWER_COMMIT_HASH=87b5518858f6a96e8edf784bdc855d29951643e6
ENV WATCHTOWER_COMMIT_HASH=f6a7b29c312bec5f389a4fb52259919f0678800b
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache \
build-base; \
go install github.com/nicholas-fedor/watchtower@$WATCHTOWER_COMMIT_HASH # v1.12.2
go install github.com/nicholas-fedor/watchtower@$WATCHTOWER_COMMIT_HASH # v1.13.1
FROM alpine:3.22.2
FROM alpine:3.23.2
RUN set -ex; \
apk upgrade --no-cache -a; \

View File

@@ -1,14 +1,12 @@
# syntax=docker/dockerfile:latest
# Probably from this file: https://github.com/nextcloud/whiteboard/blob/main/Dockerfile
FROM ghcr.io/nextcloud-releases/whiteboard:v1.4.1
FROM ghcr.io/nextcloud-releases/whiteboard:v1.5.0
USER root
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache bash; \
apk add --no-cache bash jq; \
chmod 777 -R /tmp; \
if [ -f /usr/lib/chromium/chrome_crashpad_handler ]; then \
rm -f /usr/lib/chromium/chrome_crashpad_handler.real; \
if [ -f /usr/lib/chromium/chrome_crashpad_handler ] && [ ! -f /usr/lib/chromium/chrome_crashpad_handler.real ]; then \
mv /usr/lib/chromium/chrome_crashpad_handler /usr/lib/chromium/chrome_crashpad_handler.real; \
printf '%s\n' '#!/bin/sh' "exec /usr/lib/chromium/chrome_crashpad_handler.real --no-periodic-tasks --database=\"\${CRASHPAD_DATABASE:-/tmp/chrome-crashpad}\" \"\$@\"" >/usr/lib/chromium/chrome_crashpad_handler; \
chmod +x /usr/lib/chromium/chrome_crashpad_handler; \

View File

@@ -1,4 +1,4 @@
#!/bin/bash
nc -z "$REDIS_HOST" 6379 || exit 0
nc -z "$REDIS_HOST" "$REDIS_PORT" || exit 0
nc -z 127.0.0.1 3002 || exit 1

View File

@@ -1,7 +1,7 @@
#!/bin/bash
# Only start container if nextcloud is accessible
while ! nc -z "$REDIS_HOST" 6379; do
while ! nc -z "$REDIS_HOST" "$REDIS_PORT"; do
echo "Waiting for redis to start..."
sleep 5
done
@@ -11,7 +11,10 @@ if [ -z "$REDIS_DB_INDEX" ]; then
REDIS_DB_INDEX=0
fi
export REDIS_URL="redis://$REDIS_USER:$REDIS_HOST_PASSWORD@$REDIS_HOST/$REDIS_DB_INDEX"
# URL-encode password
REDIS_HOST_PASSWORD="$(jq -rn --arg v "$REDIS_HOST_PASSWORD" '$v|@uri')"
export REDIS_URL="redis://$REDIS_USER:$REDIS_HOST_PASSWORD@$REDIS_HOST:$REDIS_PORT/$REDIS_DB_INDEX"
# Run it
exec npm --prefix /app run server:start

View File

@@ -5,7 +5,7 @@ This container allows to view the local borg repository in a web session. It als
- After adding and starting the container, you need to visit `https://ip.address.of.this.server:5801` in order to log in with the user `nextcloud` and the password that you can see next to the container in the AIO interface. (The web page uses a self-signed certificate, so you need to accept the warning).
- Then, you should see a terminal. There type in `borg mount /mnt/borgbackup/borg /tmp/borg` to mount the backup archive at `/tmp/borg` inside the container. Afterwards type in `nautilus /tmp/borg` which will show a file explorer and allows you to see all the files. You can then copy files and folders back to their initial mountpoints inside `/nextcloud_aio_volumes/`, `/host_mounts/` and `/docker_volumes/`. ⚠️ Be very carefully while doing that as can break your instance!
- After you are done with the operation, click on the terminal in the background and press `[CTRL]+[c]` multiple times to close any open application. Then run `umount /tmp/borg` to unmount the mountpoint correctly.
- You can also delete specific archives by running `borg list`, delete a specific archive e.g. via `borg delete --stats --progress "::20220223_174237-nextcloud-aio"` and compact the archives via `borg compact`. After doing so, make sure to update the backup archives list in the AIO interface! You can do so by clicking on the `Check backup integrity` button or `Create backup` button.
- You can also delete specific archives by running `borg list`, delete a specific archive e.g. via `borg delete --stats --progress "::20220223_174237-nextcloud-aio"` and compact the archives via `borg compact`. After doing so, make sure to update the backup archives list in the AIO interface! You can do so by clicking on the `Update backup list` button in the `Update backup list` section inside the `Backup and restore` section.
- ⚠️ After you are done doing your operations, remove the container for better security again from the stack: https://github.com/nextcloud/all-in-one/tree/main/community-containers#how-to-remove-containers-from-aios-stack
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack

View File

@@ -5,7 +5,7 @@
"display_name": "Caddy with geoblocking",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/caddy",
"image": "ghcr.io/szaimen/aio-caddy",
"image_tag": "v3",
"image_tag": "v4",
"internal_port": "443",
"restart": "unless-stopped",
"ports": [
@@ -13,20 +13,14 @@
"ip_binding": "",
"port_number": "443",
"protocol": "tcp"
},
{
"ip_binding": "",
"port_number": "443",
"protocol": "udp"
}
],
"environment": [
"TZ=%TIMEZONE%",
"NC_DOMAIN=%NC_DOMAIN%",
"APACHE_PORT=%APACHE_PORT%",
"NEXTCLOUD_EXPORTER_CADDY_PASSWORD=%NEXTCLOUD_EXPORTER_CADDY_PASSWORD%",
"turn_domain=turn.%NC_DOMAIN%",
"talk_port=443"
"APACHE_IP_BINDING=%APACHE_IP_BINDING%",
"NEXTCLOUD_EXPORTER_CADDY_PASSWORD=%NEXTCLOUD_EXPORTER_CADDY_PASSWORD%"
],
"volumes": [
{
@@ -45,7 +39,9 @@
],
"aio_variables": [
"apache_ip_binding=@INTERNAL",
"apache_port=11000"
"apache_port=11000",
"turn_domain=%NC_DOMAIN%",
"talk_port=443"
],
"nextcloud_exec_commands": [
"mkdir '/mnt/ncdata/admin/files/nextcloud-aio-caddy'",

View File

@@ -3,9 +3,10 @@ This container bundles caddy and auto-configures it for you. It also covers [vau
### Notes
- This container is incompatible with the [npmplus](https://github.com/nextcloud/all-in-one/tree/main/community-containers/npmplus) community container. So make sure that you do not enable both at the same time!
- Make sure that no other service is using port 443 on your host as otherwise the containers will fail to start. You can check this with `sudo netstat -tulpn | grep 443` before installing AIO.
- Starting with AIO v12, the Talk port that was usually exposed on port 3478 is now set to port 443 udp and tcp and reachable via `turn.your-nc-domain.com`. So instead of opening port 3478, you need to configure the mentioned subdomain by using a cname record.
- Make sure that no other service is using port 443/tcp on your host as otherwise the containers will fail to start. You can check this with `sudo netstat -tulpn | grep 443` before installing AIO.
- Starting with AIO v12, the Talk port that was usually exposed on port 3478 is now set to port 443 udp and tcp and reachable via `your-nc-domain.com`. For the changes to become activated, you need to go to `https://your-nc-domain.com/settings/admin/talk` and delete all turn and stun servers. Then restart the containers and the new config should become active.
- Starting with AIO v12, you can also limit vaultwarden, stalwart and lldap to certain ip-addresses. You can do so by creating a `allowed-IPs-vaultwarden.txt`, `allowed-IPs-stalwart.txt`, or `allowed-IPs-lldap.txt` file in the `nextcloud-aio-caddy` directory of your admin user and adding the ip-addresses in these files.
- The container also supports the proxy protocol inside caddy. That means that you can run a supported web server in front of port 443/tcp and use the proxy protocol. You can enable this by configuring the `APACHE_IP_BINDING` environmental variable for the mastercontainer and set it to an ip-address from which the protocol shall be accepted. ⚠️ Note that the initial domain validation will not work correctly if you want to use the proxy protocol. So make sure to skip the domain validation in that case. See the [documentation](https://github.com/nextcloud/all-in-one#how-to-skip-the-domain-validation).
- If you want to use this with [vaultwarden](https://github.com/nextcloud/all-in-one/tree/main/community-containers/vaultwarden), make sure that you point `bw.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for vaultwarden.
- If you want to use this with [stalwart](https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart), make sure that you point `mail.your-nc-domain.com` to your server using an A, AAAA or CNAME record so that caddy can get a certificate automatically for stalwart.
- If you want to use this with [jellyfin](https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin), make sure that you point `media.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for jellyfin.

View File

@@ -5,7 +5,7 @@ This container bundles MakeMKV and auto-configures it for you.
- This container should only be run in home networks
- ⚠️ This container mounts all devices from the host inside the container in order to be able to access the external DVD/Blu-ray drives which is a security issue. However no better solution was found for the time being.
- This container only works on Linux and not on Docker-Desktop.
- This container requires the [`NEXTCLOUD_MOUNT` variable in AIO to be set](https://github.com/nextcloud/all-in-one?tab=readme-ov-file#how-to-allow-the-nextcloud-container-to-access-directories-on-the-host). Otherwise the output will not be saved correctly..
- This container requires the [`NEXTCLOUD_MOUNT` variable in AIO to be set](https://github.com/nextcloud/all-in-one#how-to-allow-the-nextcloud-container-to-access-directories-on-the-host). Otherwise the output will not be saved correctly..
- After adding and starting the container, you need to visit `https://internal.ip.of.server:5802` in order to log in with the `makemkv` user and the password that you can see next to the container in the AIO interface. (The web page uses a self-signed certificate, so you need to accept the warning).
- After the first login, you can adjust the `/output` directory in the MakeMKV settings to a subdirectory of the root of your chosen `NEXTCLOUD_MOUNT`. (by default `NEXTCLOUD_MOUNT` is mounted to `/output` inside the container. Thus all data is written to the root of it)
- The configured `NEXTCLOUD_DATADIR` is getting mounted to `/storage` inside the container.

View File

@@ -0,0 +1,23 @@
{
"aio_services_v1": [
{
"container_name": "nextcloud-aio-notifications",
"display_name": "Notifications",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/notifications",
"image": "ghcr.io/szaimen/aio-notifications",
"image_tag": "v1",
"internal_port": "10000",
"restart": "unless-stopped",
"volumes": [
{
"source": "%WATCHTOWER_DOCKER_SOCKET_PATH%",
"destination": "/var/run/docker.sock",
"writeable": false
}
],
"environment": [
"TZ=%TIMEZONE%"
]
}
]
}

View File

@@ -0,0 +1,12 @@
## Notifications
This container allows other AIO community containers to send admin notifications to Nextcloud users.
### Notes
- It needs to be enabled for the [scrutiny container](https://github.com/nextcloud/all-in-one/tree/main/community-containers/scrutiny) for example to make use of admin notifications that are sent if a smartctl failure was found.
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository
https://github.com/szaimen/aio-notifications
### Maintainer
https://github.com/szaimen

View File

@@ -6,7 +6,7 @@ This container bundles Scrutiny which is a frontend for SMART stats and auto-con
- ⚠️ This container mounts all devices from the host inside the container in order to be able to access the drives and smartctl stats which is a security issue. However no better solution was found for the time being.
- This container only works on Linux and not on Docker-Desktop.
- After adding and starting the container, you need to visit `http://internal.ip.of.server:8000` which will show the dashboard for your drives.
- It currently does not support sending notifications as no good solution was found yet that makes this possible. See https://github.com/szaimen/aio-scrutiny/issues/3
- It supports sending notifications in case of a smartctl failure if you enable the notifications community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/notifications
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository

View File

@@ -5,7 +5,7 @@
"display_name": "Scrutiny",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/scrutiny",
"image": "ghcr.io/szaimen/aio-scrutiny",
"image_tag": "v1",
"image_tag": "v2",
"internal_port": "8000",
"init": false,
"restart": "unless-stopped",

View File

@@ -3,7 +3,6 @@ This container bundles an SMB-server and allows to configure it via a graphical
### Notes
- This container should only be run in home networks
- This container currently only works on amd64. See https://github.com/szaimen/aio-smbserver/issues/3
- After adding and starting the container, you need to visit `https://internal.ip.of.server:5803` in order to log in with the `smbserver` user and the password that you can see next to the container in the AIO interface. (The web page uses a self-signed certificate, so you need to accept the warning). Then type in `bash /smbserver.sh` and you will see a graphical UI for configuring the smb-server interactively.
- The config data of SMB-server will be automatically included in AIOs backup solution!
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack

View File

@@ -1,3 +1,4 @@
name: nextcloud-aio # Add the container to the same compose project like all the sibling containers are added to automatically.
services:
nextcloud-aio-mastercontainer:
image: ghcr.io/nextcloud-releases/all-in-one:latest # This is the container image used. You can switch to ghcr.io/nextcloud-releases/all-in-one:beta if you want to help testing new releases. See https://github.com/nextcloud/all-in-one#how-to-switch-the-channel
@@ -21,6 +22,7 @@ services:
# APACHE_ADDITIONAL_NETWORK: frontend_net # (Optional) Connect the apache container to an additional docker network. Needed when behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else) running in a different docker network on same server. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# BORG_RETENTION_POLICY: --keep-within=7d --keep-weekly=4 --keep-monthly=6 # Allows to adjust borgs retention policy. See https://github.com/nextcloud/all-in-one#how-to-adjust-borgs-retention-policy
# COLLABORA_SECCOMP_DISABLED: false # Setting this to true allows to disable Collabora's Seccomp feature. See https://github.com/nextcloud/all-in-one#how-to-disable-collaboras-seccomp-feature
# DOCKER_API_VERSION: 1.44 # You can adjust the internally used docker api version with this variable. ⚠️⚠️⚠️ Warning: please note that only the default api version (unset this variable) is supported and tested by the maintainers of Nextcloud AIO. So use this on your own risk and things might break without warning. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-internally-used-docker-api-version
# FULLTEXTSEARCH_JAVA_OPTIONS: "-Xms1024M -Xmx1024M" # Allows to adjust the fulltextsearch java options. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-fulltextsearch-java-options
# NEXTCLOUD_DATADIR: /mnt/ncdata # Allows to set the host directory for Nextcloud's datadir. ⚠️⚠️⚠️ Warning: do not set or adjust this value after the initial Nextcloud installation is done! See https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir
# NEXTCLOUD_MOUNT: /mnt/ # Allows the Nextcloud container to access the chosen directory on the host. See https://github.com/nextcloud/all-in-one#how-to-allow-the-nextcloud-container-to-access-directories-on-the-host
@@ -34,7 +36,7 @@ services:
# NEXTCLOUD_ENABLE_DRI_DEVICE: true # This allows to enable the /dev/dri device for containers that profit from it. ⚠️⚠️⚠️ Warning: this only works if the '/dev/dri' device is present on the host! If it should not exist on your host, don't set this to true as otherwise the Nextcloud container will fail to start! See https://github.com/nextcloud/all-in-one#how-to-enable-hardware-acceleration-for-nextcloud
# NEXTCLOUD_ENABLE_NVIDIA_GPU: true # This allows to enable the NVIDIA runtime and GPU access for containers that profit from it. ⚠️⚠️⚠️ Warning: this only works if an NVIDIA gpu is installed on the server. See https://github.com/nextcloud/all-in-one#how-to-enable-hardware-acceleration-for-nextcloud.
# NEXTCLOUD_KEEP_DISABLED_APPS: false # Setting this to true will keep Nextcloud apps that are disabled in the AIO interface and not uninstall them if they should be installed. See https://github.com/nextcloud/all-in-one#how-to-keep-disabled-apps
# 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
# SKIP_DOMAIN_VALIDATION: false # This should only be set to true if things are correctly configured. See https://github.com/nextcloud/all-in-one#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'

View File

@@ -135,6 +135,7 @@ services:
- POSTGRES_DB=nextcloud_database
- POSTGRES_USER=nextcloud
- REDIS_HOST=nextcloud-aio-redis
- REDIS_PORT=6379
- REDIS_HOST_PASSWORD=${REDIS_PASSWORD}
- APACHE_HOST=nextcloud-aio-apache
- APACHE_PORT
@@ -160,11 +161,11 @@ services:
- TALK_PORT
- IMAGINARY_ENABLED
- IMAGINARY_HOST=nextcloud-aio-imaginary
- CLAMAV_MAX_SIZE=${APACHE_MAX_SIZE}
- PHP_UPLOAD_LIMIT=${NEXTCLOUD_UPLOAD_LIMIT}
- PHP_MEMORY_LIMIT=${NEXTCLOUD_MEMORY_LIMIT}
- FULLTEXTSEARCH_ENABLED
- FULLTEXTSEARCH_HOST=nextcloud-aio-fulltextsearch
- FULLTEXTSEARCH_PROTOCOL=http
- FULLTEXTSEARCH_PORT=9200
- FULLTEXTSEARCH_USER=elastic
- FULLTEXTSEARCH_INDEX=nextcloud-aio
@@ -207,6 +208,7 @@ services:
- NEXTCLOUD_HOST=nextcloud-aio-nextcloud
- TZ=${TIMEZONE}
- REDIS_HOST=nextcloud-aio-redis
- REDIS_PORT=6379
- REDIS_HOST_PASSWORD=${REDIS_PASSWORD}
- POSTGRES_HOST=nextcloud-aio-database
- POSTGRES_PORT=5432
@@ -256,7 +258,7 @@ services:
- "9980"
environment:
- aliasgroup1=https://${NC_DOMAIN}:443,http://nextcloud-aio-apache:23973
- extra_params=--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://${NC_DOMAIN}/apps/richdocuments/settings/fonts.json --o:net.post_allow.host[0]=.+
- extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:logging.disable_server_audit=true --o:logging.level=warning --o:logging.level_startup=warning --o:welcome.enable=false --o:remote_font_config.url=https://${NC_DOMAIN}/apps/richdocuments/settings/fonts.json --o:net.post_allow.host[0]=.+
- dictionaries=${COLLABORA_DICTIONARIES}
- TZ=${TIMEZONE}
- server_name=${NC_DOMAIN}
@@ -439,7 +441,7 @@ services:
environment:
- TZ=${TIMEZONE}
- ES_JAVA_OPTS=${FULLTEXTSEARCH_JAVA_OPTIONS}
- bootstrap.memory_lock=true
- bootstrap.memory_lock=false
- cluster.name=nextcloud-aio
- discovery.type=single-node
- logger.level=WARN
@@ -476,6 +478,7 @@ services:
- JWT_SECRET_KEY=${WHITEBOARD_SECRET}
- STORAGE_STRATEGY=redis
- REDIS_HOST=nextcloud-aio-redis
- REDIS_PORT=6379
- REDIS_HOST_PASSWORD=${REDIS_PASSWORD}
- BACKUP_DIR=/tmp
restart: unless-stopped

View File

@@ -6,7 +6,7 @@ You can run the containers that are build for AIO with docker-compose. This come
- You can run it without a container having access to the docker socket
- You can modify all values on your own
- You can run the containers with docker swarm
- You can run this in environments where access to docker.io is not possible. See [this issue](https://github.com/nextcloud/all-in-one/discussions/5268).
- You can run this in environments where access to ghcr.io is not possible. See [this issue](https://github.com/nextcloud/all-in-one/discussions/5268).
### Disadvantages
- You lose the AIO interface

View File

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

View File

@@ -61,7 +61,7 @@ spec:
value: "{{ .Values.TIMEZONE }}"
- name: WHITEBOARD_HOST
value: nextcloud-aio-whiteboard
image: ghcr.io/nextcloud-releases/aio-apache:20251031_122139
image: ghcr.io/nextcloud-releases/aio-apache:20251218_095503
readinessProbe:
exec:
command:

View File

@@ -36,7 +36,7 @@ spec:
{{- end }}
initContainers:
- name: init-subpath
image: ghcr.io/nextcloud-releases/aio-alpine:20251031_122139
image: ghcr.io/nextcloud-releases/aio-alpine:20251218_095503
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:20251031_122139
image: ghcr.io/nextcloud-releases/aio-clamav:20251218_095503
readinessProbe:
exec:
command:

View File

@@ -32,10 +32,14 @@ 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: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]=.+
value: --o:ssl.enable=false --o:ssl.termination=true --o:logging.disable_server_audit=true --o:logging.level=warning --o:logging.level_startup=warning --o:welcome.enable=false --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:20251031_122139
{{- if contains "--o:support_key=" (join " " (.Values.ADDITIONAL_COLLABORA_OPTIONS | default list)) }}
image: ghcr.io/nextcloud-releases/aio-collabora-online:20251218_095503
{{- else }}
image: ghcr.io/nextcloud-releases/aio-collabora:20251218_095503
{{- end }}
readinessProbe:
exec:
command:

View File

@@ -35,7 +35,7 @@ spec:
{{- end }}
initContainers:
- name: init-subpath
image: ghcr.io/nextcloud-releases/aio-alpine:20251031_122139
image: ghcr.io/nextcloud-releases/aio-alpine:20251218_095503
command:
- mkdir
- "-p"
@@ -64,7 +64,7 @@ spec:
value: nextcloud
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-postgresql:20251031_122139
image: ghcr.io/nextcloud-releases/aio-postgresql:20251218_095503
readinessProbe:
exec:
command:

View File

@@ -24,7 +24,7 @@ spec:
spec:
initContainers:
- name: init-volumes
image: ghcr.io/nextcloud-releases/aio-alpine:20251031_122139
image: ghcr.io/nextcloud-releases/aio-alpine:20251218_095503
command:
- chmod
- "777"
@@ -41,7 +41,7 @@ spec:
- name: TZ
value: "{{ .Values.TIMEZONE }}"
- name: bootstrap.memory_lock
value: "true"
value: "false"
- name: cluster.name
value: nextcloud-aio
- name: discovery.type
@@ -54,7 +54,7 @@ spec:
value: basic
- name: xpack.security.enabled
value: "false"
image: ghcr.io/nextcloud-releases/aio-fulltextsearch:20251031_122139
image: ghcr.io/nextcloud-releases/aio-fulltextsearch:20251218_095503
readinessProbe:
exec:
command:

View File

@@ -38,7 +38,7 @@ spec:
value: "{{ .Values.IMAGINARY_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-imaginary:20251031_122139
image: ghcr.io/nextcloud-releases/aio-imaginary:20251218_095503
readinessProbe:
exec:
command:

View File

@@ -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:20251031_122139
image: ghcr.io/nextcloud-releases/aio-alpine:20251218_095503
command:
- chmod
- "777"
@@ -100,8 +100,6 @@ spec:
value: "{{ .Values.CLAMAV_ENABLED }}"
- name: CLAMAV_HOST
value: nextcloud-aio-clamav
- name: CLAMAV_MAX_SIZE
value: "{{ .Values.APACHE_MAX_SIZE }}"
- name: COLLABORA_ENABLED
value: "{{ .Values.COLLABORA_ENABLED }}"
- name: COLLABORA_HOST
@@ -116,6 +114,8 @@ spec:
value: "{{ .Values.FULLTEXTSEARCH_PASSWORD }}"
- name: FULLTEXTSEARCH_PORT
value: "9200"
- name: FULLTEXTSEARCH_PROTOCOL
value: http
- name: FULLTEXTSEARCH_USER
value: elastic
- name: IMAGINARY_ENABLED
@@ -162,6 +162,8 @@ spec:
value: nextcloud-aio-redis
- name: REDIS_HOST_PASSWORD
value: "{{ .Values.REDIS_PASSWORD }}"
- name: REDIS_PORT
value: "6379"
- name: REMOVE_DISABLED_APPS
value: "{{ .Values.REMOVE_DISABLED_APPS }}"
- name: SIGNALING_SECRET
@@ -188,7 +190,7 @@ spec:
value: "{{ .Values.WHITEBOARD_ENABLED }}"
- name: WHITEBOARD_SECRET
value: "{{ .Values.WHITEBOARD_SECRET }}"
image: ghcr.io/nextcloud-releases/aio-nextcloud:20251031_122139
image: ghcr.io/nextcloud-releases/aio-nextcloud:20251218_095503
{{- 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

@@ -53,9 +53,11 @@ spec:
value: nextcloud-aio-redis
- name: REDIS_HOST_PASSWORD
value: "{{ .Values.REDIS_PASSWORD }}"
- name: REDIS_PORT
value: "6379"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-notify-push:20251031_122139
image: ghcr.io/nextcloud-releases/aio-notify-push:20251218_095503
readinessProbe:
exec:
command:

View File

@@ -24,7 +24,7 @@ spec:
spec:
initContainers:
- name: init-volumes
image: ghcr.io/nextcloud-releases/aio-alpine:20251031_122139
image: ghcr.io/nextcloud-releases/aio-alpine:20251218_095503
command:
- chmod
- "777"
@@ -42,7 +42,7 @@ spec:
value: "{{ .Values.ONLYOFFICE_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-onlyoffice:20251031_122139
image: ghcr.io/nextcloud-releases/aio-onlyoffice:20251218_095503
readinessProbe:
exec:
command:

View File

@@ -39,7 +39,7 @@ spec:
value: "{{ .Values.REDIS_PASSWORD }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-redis:20251031_122139
image: ghcr.io/nextcloud-releases/aio-redis:20251218_095503
readinessProbe:
exec:
command:

View File

@@ -52,7 +52,7 @@ spec:
value: "{{ .Values.TURN_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-talk:20251031_122139
image: ghcr.io/nextcloud-releases/aio-talk:20251218_095503
readinessProbe:
exec:
command:

View File

@@ -44,7 +44,7 @@ spec:
value: "{{ .Values.RECORDING_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-talk-recording:20251031_122139
image: ghcr.io/nextcloud-releases/aio-talk-recording:20251218_095503
readinessProbe:
exec:
command:

View File

@@ -44,11 +44,13 @@ spec:
value: nextcloud-aio-redis
- name: REDIS_HOST_PASSWORD
value: "{{ .Values.REDIS_PASSWORD }}"
- name: REDIS_PORT
value: "6379"
- name: STORAGE_STRATEGY
value: redis
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-whiteboard:20251031_122139
image: ghcr.io/nextcloud-releases/aio-whiteboard:20251218_095503
readinessProbe:
exec:
command:

View File

@@ -425,8 +425,8 @@ sed -i 's|17179869184|"17179869184"|' /tmp/sample.conf
# shellcheck disable=SC2129
echo "" >> /tmp/sample.conf
# shellcheck disable=SC2129
echo 'STORAGE_CLASS: # By setting this, you can adjust the storage class for your volumes. This should be a fast storage like SSD backed storage!' >> /tmp/sample.conf
echo 'STORAGE_CLASS_DATA: # Allows to set a dedicated storage class for the Nextcloud data volume. This can be a bit slower storage than the one above. ⚠️ Warning: only set this for new installations, not existing ones!' >> /tmp/sample.conf
echo 'STORAGE_CLASS: # By setting this, you can adjust the storage class for your volumes. This should be a fast storage like SSD backed storage! This storage class must provide RWX and RWO volumes (ReadWriteMany and ReadWriteOnce).' >> /tmp/sample.conf
echo 'STORAGE_CLASS_DATA: # Allows to set a dedicated storage class for the Nextcloud data volume. This can be a bit slower storage than the one above. This storage class must provide RWX volumes (ReadWriteMany). ⚠️ Warning: only set this for new installations, not existing ones!' >> /tmp/sample.conf
for variable in "${VOLUME_VARIABLE[@]}"; do
echo "$variable: 1Gi # You can change the size of the $(echo "$variable" | sed 's|_STORAGE_SIZE||;s|_|-|g' | tr '[:upper:]' '[:lower:]') volume that default to 1Gi with this value" >> /tmp/sample.conf
done

View File

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

267
php/composer.lock generated
View File

@@ -333,16 +333,16 @@
},
{
"name": "http-interop/http-factory-guzzle",
"version": "1.2.0",
"version": "1.2.1",
"source": {
"type": "git",
"url": "https://github.com/http-interop/http-factory-guzzle.git",
"reference": "8f06e92b95405216b237521cc64c804dd44c4a81"
"reference": "c2c859ceb05c3f42e710b60555f4c35b6a4a3995"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/http-interop/http-factory-guzzle/zipball/8f06e92b95405216b237521cc64c804dd44c4a81",
"reference": "8f06e92b95405216b237521cc64c804dd44c4a81",
"url": "https://api.github.com/repos/http-interop/http-factory-guzzle/zipball/c2c859ceb05c3f42e710b60555f4c35b6a4a3995",
"reference": "c2c859ceb05c3f42e710b60555f4c35b6a4a3995",
"shasum": ""
},
"require": {
@@ -385,22 +385,22 @@
],
"support": {
"issues": "https://github.com/http-interop/http-factory-guzzle/issues",
"source": "https://github.com/http-interop/http-factory-guzzle/tree/1.2.0"
"source": "https://github.com/http-interop/http-factory-guzzle/tree/1.2.1"
},
"time": "2021-07-21T13:50:14+00:00"
"time": "2025-12-15T11:28:16+00:00"
},
{
"name": "laravel/serializable-closure",
"version": "v2.0.6",
"version": "v2.0.7",
"source": {
"type": "git",
"url": "https://github.com/laravel/serializable-closure.git",
"reference": "038ce42edee619599a1debb7e81d7b3759492819"
"reference": "cb291e4c998ac50637c7eeb58189c14f5de5b9dd"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/038ce42edee619599a1debb7e81d7b3759492819",
"reference": "038ce42edee619599a1debb7e81d7b3759492819",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/cb291e4c998ac50637c7eeb58189c14f5de5b9dd",
"reference": "cb291e4c998ac50637c7eeb58189c14f5de5b9dd",
"shasum": ""
},
"require": {
@@ -409,7 +409,7 @@
"require-dev": {
"illuminate/support": "^10.0|^11.0|^12.0",
"nesbot/carbon": "^2.67|^3.0",
"pestphp/pest": "^2.36|^3.0",
"pestphp/pest": "^2.36|^3.0|^4.0",
"phpstan/phpstan": "^2.0",
"symfony/var-dumper": "^6.2.0|^7.0.0"
},
@@ -448,7 +448,7 @@
"issues": "https://github.com/laravel/serializable-closure/issues",
"source": "https://github.com/laravel/serializable-closure"
},
"time": "2025-10-09T13:42:30+00:00"
"time": "2025-11-21T20:52:36+00:00"
},
{
"name": "nikic/fast-route",
@@ -1148,22 +1148,22 @@
},
{
"name": "slim/slim",
"version": "4.15.0",
"version": "4.15.1",
"source": {
"type": "git",
"url": "https://github.com/slimphp/Slim.git",
"reference": "17eba5182975878a0ab9b27982cd2e2cfcb67ea2"
"reference": "887893516557506f254d950425ce7f5387a26970"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/slimphp/Slim/zipball/17eba5182975878a0ab9b27982cd2e2cfcb67ea2",
"reference": "17eba5182975878a0ab9b27982cd2e2cfcb67ea2",
"url": "https://api.github.com/repos/slimphp/Slim/zipball/887893516557506f254d950425ce7f5387a26970",
"reference": "887893516557506f254d950425ce7f5387a26970",
"shasum": ""
},
"require": {
"ext-json": "*",
"nikic/fast-route": "^1.3",
"php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0",
"php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0",
"psr/container": "^1.0 || ^2.0",
"psr/http-factory": "^1.1",
"psr/http-message": "^1.1 || ^2.0",
@@ -1183,7 +1183,7 @@
"phpspec/prophecy": "^1.19",
"phpspec/prophecy-phpunit": "^2.1",
"phpstan/phpstan": "^1 || ^2",
"phpunit/phpunit": "^9.6",
"phpunit/phpunit": "^9.6 || ^10 || ^11 || ^12",
"slim/http": "^1.3",
"slim/psr7": "^1.6",
"squizlabs/php_codesniffer": "^3.10",
@@ -1260,7 +1260,7 @@
"type": "tidelift"
}
],
"time": "2025-08-20T18:16:16+00:00"
"time": "2025-11-21T12:23:44+00:00"
},
{
"name": "slim/twig-view",
@@ -1644,16 +1644,16 @@
},
{
"name": "twig/twig",
"version": "v3.22.0",
"version": "v3.22.2",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "4509984193026de413baf4ba80f68590a7f2c51d"
"reference": "946ddeafa3c9f4ce279d1f34051af041db0e16f2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/4509984193026de413baf4ba80f68590a7f2c51d",
"reference": "4509984193026de413baf4ba80f68590a7f2c51d",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/946ddeafa3c9f4ce279d1f34051af041db0e16f2",
"reference": "946ddeafa3c9f4ce279d1f34051af041db0e16f2",
"shasum": ""
},
"require": {
@@ -1707,7 +1707,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
"source": "https://github.com/twigphp/Twig/tree/v3.22.0"
"source": "https://github.com/twigphp/Twig/tree/v3.22.2"
},
"funding": [
{
@@ -1719,7 +1719,7 @@
"type": "tidelift"
}
],
"time": "2025-10-29T15:56:47+00:00"
"time": "2025-12-14T11:28:47+00:00"
}
],
"packages-dev": [
@@ -2035,16 +2035,16 @@
},
{
"name": "amphp/parallel",
"version": "v2.3.2",
"version": "v2.3.3",
"source": {
"type": "git",
"url": "https://github.com/amphp/parallel.git",
"reference": "321b45ae771d9c33a068186b24117e3cd1c48dce"
"reference": "296b521137a54d3a02425b464e5aee4c93db2c60"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/amphp/parallel/zipball/321b45ae771d9c33a068186b24117e3cd1c48dce",
"reference": "321b45ae771d9c33a068186b24117e3cd1c48dce",
"url": "https://api.github.com/repos/amphp/parallel/zipball/296b521137a54d3a02425b464e5aee4c93db2c60",
"reference": "296b521137a54d3a02425b464e5aee4c93db2c60",
"shasum": ""
},
"require": {
@@ -2107,7 +2107,7 @@
],
"support": {
"issues": "https://github.com/amphp/parallel/issues",
"source": "https://github.com/amphp/parallel/tree/v2.3.2"
"source": "https://github.com/amphp/parallel/tree/v2.3.3"
},
"funding": [
{
@@ -2115,7 +2115,7 @@
"type": "github"
}
],
"time": "2025-08-27T21:55:40+00:00"
"time": "2025-11-15T06:23:42+00:00"
},
{
"name": "amphp/parser",
@@ -3111,33 +3111,38 @@
},
{
"name": "league/uri",
"version": "7.5.1",
"version": "7.7.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/uri.git",
"reference": "81fb5145d2644324614cc532b28efd0215bda430"
"reference": "8d587cddee53490f9b82bf203d3a9aa7ea4f9807"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/uri/zipball/81fb5145d2644324614cc532b28efd0215bda430",
"reference": "81fb5145d2644324614cc532b28efd0215bda430",
"url": "https://api.github.com/repos/thephpleague/uri/zipball/8d587cddee53490f9b82bf203d3a9aa7ea4f9807",
"reference": "8d587cddee53490f9b82bf203d3a9aa7ea4f9807",
"shasum": ""
},
"require": {
"league/uri-interfaces": "^7.5",
"php": "^8.1"
"league/uri-interfaces": "^7.7",
"php": "^8.1",
"psr/http-factory": "^1"
},
"conflict": {
"league/uri-schemes": "^1.0"
},
"suggest": {
"ext-bcmath": "to improve IPV4 host parsing",
"ext-dom": "to convert the URI into an HTML anchor tag",
"ext-fileinfo": "to create Data URI from file contennts",
"ext-gmp": "to improve IPV4 host parsing",
"ext-intl": "to handle IDN host with the best performance",
"ext-uri": "to use the PHP native URI class",
"jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain",
"league/uri-components": "Needed to easily manipulate URI objects components",
"league/uri-polyfill": "Needed to backport the PHP URI extension for older versions of PHP",
"php-64bit": "to improve IPV4 host parsing",
"rowbot/url": "to handle WHATWG URL",
"symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present"
},
"type": "library",
@@ -3165,6 +3170,7 @@
"description": "URI manipulation library",
"homepage": "https://uri.thephpleague.com",
"keywords": [
"URN",
"data-uri",
"file-uri",
"ftp",
@@ -3177,9 +3183,11 @@
"psr-7",
"query-string",
"querystring",
"rfc2141",
"rfc3986",
"rfc3987",
"rfc6570",
"rfc8141",
"uri",
"uri-template",
"url",
@@ -3189,7 +3197,7 @@
"docs": "https://uri.thephpleague.com",
"forum": "https://thephpleague.slack.com",
"issues": "https://github.com/thephpleague/uri-src/issues",
"source": "https://github.com/thephpleague/uri/tree/7.5.1"
"source": "https://github.com/thephpleague/uri/tree/7.7.0"
},
"funding": [
{
@@ -3197,26 +3205,25 @@
"type": "github"
}
],
"time": "2024-12-08T08:40:02+00:00"
"time": "2025-12-07T16:02:06+00:00"
},
{
"name": "league/uri-interfaces",
"version": "7.5.0",
"version": "7.7.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/uri-interfaces.git",
"reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742"
"reference": "62ccc1a0435e1c54e10ee6022df28d6c04c2946c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/08cfc6c4f3d811584fb09c37e2849e6a7f9b0742",
"reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742",
"url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/62ccc1a0435e1c54e10ee6022df28d6c04c2946c",
"reference": "62ccc1a0435e1c54e10ee6022df28d6c04c2946c",
"shasum": ""
},
"require": {
"ext-filter": "*",
"php": "^8.1",
"psr/http-factory": "^1",
"psr/http-message": "^1.1 || ^2.0"
},
"suggest": {
@@ -3224,6 +3231,7 @@
"ext-gmp": "to improve IPV4 host parsing",
"ext-intl": "to handle IDN host with the best performance",
"php-64bit": "to improve IPV4 host parsing",
"rowbot/url": "to handle WHATWG URL",
"symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present"
},
"type": "library",
@@ -3248,7 +3256,7 @@
"homepage": "https://nyamsprod.com"
}
],
"description": "Common interfaces and classes for URI representation and interaction",
"description": "Common tools for parsing and resolving RFC3987/RFC3986 URI",
"homepage": "https://uri.thephpleague.com",
"keywords": [
"data-uri",
@@ -3273,7 +3281,7 @@
"docs": "https://uri.thephpleague.com",
"forum": "https://thephpleague.slack.com",
"issues": "https://github.com/thephpleague/uri-src/issues",
"source": "https://github.com/thephpleague/uri-interfaces/tree/7.5.0"
"source": "https://github.com/thephpleague/uri-interfaces/tree/7.7.0"
},
"funding": [
{
@@ -3281,7 +3289,7 @@
"type": "github"
}
],
"time": "2024-12-08T08:18:47+00:00"
"time": "2025-12-07T16:03:21+00:00"
},
{
"name": "netresearch/jsonmapper",
@@ -3336,16 +3344,16 @@
},
{
"name": "nikic/php-parser",
"version": "v5.6.2",
"version": "v5.7.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "3a454ca033b9e06b63282ce19562e892747449bb"
"reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/3a454ca033b9e06b63282ce19562e892747449bb",
"reference": "3a454ca033b9e06b63282ce19562e892747449bb",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82",
"reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82",
"shasum": ""
},
"require": {
@@ -3388,9 +3396,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v5.6.2"
"source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0"
},
"time": "2025-10-21T19:32:17+00:00"
"time": "2025-12-06T11:56:16+00:00"
},
{
"name": "phpdocumentor/reflection-common",
@@ -3447,16 +3455,16 @@
},
{
"name": "phpdocumentor/reflection-docblock",
"version": "5.6.3",
"version": "5.6.6",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
"reference": "94f8051919d1b0369a6bcc7931d679a511c03fe9"
"reference": "5cee1d3dfc2d2aa6599834520911d246f656bcb8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94f8051919d1b0369a6bcc7931d679a511c03fe9",
"reference": "94f8051919d1b0369a6bcc7931d679a511c03fe9",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/5cee1d3dfc2d2aa6599834520911d246f656bcb8",
"reference": "5cee1d3dfc2d2aa6599834520911d246f656bcb8",
"shasum": ""
},
"require": {
@@ -3466,7 +3474,7 @@
"phpdocumentor/reflection-common": "^2.2",
"phpdocumentor/type-resolver": "^1.7",
"phpstan/phpdoc-parser": "^1.7|^2.0",
"webmozart/assert": "^1.9.1"
"webmozart/assert": "^1.9.1 || ^2"
},
"require-dev": {
"mockery/mockery": "~1.3.5 || ~1.6.0",
@@ -3505,22 +3513,22 @@
"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.3"
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.6"
},
"time": "2025-08-01T19:43:32+00:00"
"time": "2025-12-22T21:13:58+00:00"
},
{
"name": "phpdocumentor/type-resolver",
"version": "1.10.0",
"version": "1.12.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
"reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a"
"reference": "92a98ada2b93d9b201a613cb5a33584dde25f195"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/679e3ce485b99e84c775d28e2e96fade9a7fb50a",
"reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/92a98ada2b93d9b201a613cb5a33584dde25f195",
"reference": "92a98ada2b93d9b201a613cb5a33584dde25f195",
"shasum": ""
},
"require": {
@@ -3563,9 +3571,9 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.10.0"
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.12.0"
},
"time": "2024-11-09T15:12:26+00:00"
"time": "2025-11-21T15:09:14+00:00"
},
{
"name": "phpstan/phpdoc-parser",
@@ -3616,16 +3624,16 @@
},
{
"name": "revolt/event-loop",
"version": "v1.0.7",
"version": "v1.0.8",
"source": {
"type": "git",
"url": "https://github.com/revoltphp/event-loop.git",
"reference": "09bf1bf7f7f574453efe43044b06fafe12216eb3"
"reference": "b6fc06dce8e9b523c9946138fa5e62181934f91c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/revoltphp/event-loop/zipball/09bf1bf7f7f574453efe43044b06fafe12216eb3",
"reference": "09bf1bf7f7f574453efe43044b06fafe12216eb3",
"url": "https://api.github.com/repos/revoltphp/event-loop/zipball/b6fc06dce8e9b523c9946138fa5e62181934f91c",
"reference": "b6fc06dce8e9b523c9946138fa5e62181934f91c",
"shasum": ""
},
"require": {
@@ -3682,9 +3690,9 @@
],
"support": {
"issues": "https://github.com/revoltphp/event-loop/issues",
"source": "https://github.com/revoltphp/event-loop/tree/v1.0.7"
"source": "https://github.com/revoltphp/event-loop/tree/v1.0.8"
},
"time": "2025-01-25T19:27:39+00:00"
"time": "2025-08-27T21:33:23+00:00"
},
{
"name": "sebastian/diff",
@@ -3755,16 +3763,16 @@
},
{
"name": "spatie/array-to-xml",
"version": "3.4.1",
"version": "3.4.4",
"source": {
"type": "git",
"url": "https://github.com/spatie/array-to-xml.git",
"reference": "6a740f39415aee8886aea10333403adc77d50791"
"reference": "88b2f3852a922dd73177a68938f8eb2ec70c7224"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/array-to-xml/zipball/6a740f39415aee8886aea10333403adc77d50791",
"reference": "6a740f39415aee8886aea10333403adc77d50791",
"url": "https://api.github.com/repos/spatie/array-to-xml/zipball/88b2f3852a922dd73177a68938f8eb2ec70c7224",
"reference": "88b2f3852a922dd73177a68938f8eb2ec70c7224",
"shasum": ""
},
"require": {
@@ -3807,7 +3815,7 @@
"xml"
],
"support": {
"source": "https://github.com/spatie/array-to-xml/tree/3.4.1"
"source": "https://github.com/spatie/array-to-xml/tree/3.4.4"
},
"funding": [
{
@@ -3819,7 +3827,7 @@
"type": "github"
}
],
"time": "2025-11-12T10:32:50+00:00"
"time": "2025-12-15T09:00:41+00:00"
},
{
"name": "sserbin/twig-linter",
@@ -3881,16 +3889,16 @@
},
{
"name": "symfony/console",
"version": "v6.4.27",
"version": "v6.4.31",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "13d3176cf8ad8ced24202844e9f95af11e2959fc"
"reference": "f9f8a889f54c264f9abac3fc0f7a371ffca51997"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/13d3176cf8ad8ced24202844e9f95af11e2959fc",
"reference": "13d3176cf8ad8ced24202844e9f95af11e2959fc",
"url": "https://api.github.com/repos/symfony/console/zipball/f9f8a889f54c264f9abac3fc0f7a371ffca51997",
"reference": "f9f8a889f54c264f9abac3fc0f7a371ffca51997",
"shasum": ""
},
"require": {
@@ -3955,7 +3963,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v6.4.27"
"source": "https://github.com/symfony/console/tree/v6.4.31"
},
"funding": [
{
@@ -3975,29 +3983,29 @@
"type": "tidelift"
}
],
"time": "2025-10-06T10:25:16+00:00"
"time": "2025-12-22T08:30:34+00:00"
},
{
"name": "symfony/filesystem",
"version": "v7.3.6",
"version": "v8.0.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
"reference": "e9bcfd7837928ab656276fe00464092cc9e1826a"
"reference": "d937d400b980523dc9ee946bb69972b5e619058d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/e9bcfd7837928ab656276fe00464092cc9e1826a",
"reference": "e9bcfd7837928ab656276fe00464092cc9e1826a",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/d937d400b980523dc9ee946bb69972b5e619058d",
"reference": "d937d400b980523dc9ee946bb69972b5e619058d",
"shasum": ""
},
"require": {
"php": ">=8.2",
"php": ">=8.4",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-mbstring": "~1.8"
},
"require-dev": {
"symfony/process": "^6.4|^7.0"
"symfony/process": "^7.4|^8.0"
},
"type": "library",
"autoload": {
@@ -4025,7 +4033,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/filesystem/tree/v7.3.6"
"source": "https://github.com/symfony/filesystem/tree/v8.0.1"
},
"funding": [
{
@@ -4045,20 +4053,20 @@
"type": "tidelift"
}
],
"time": "2025-11-05T09:52:27+00:00"
"time": "2025-12-01T09:13:36+00:00"
},
{
"name": "symfony/finder",
"version": "v6.4.27",
"version": "v6.4.31",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
"reference": "a1b6aa435d2fba50793b994a839c32b6064f063b"
"reference": "5547f2e1f0ca8e2e7abe490156b62da778cfbe2b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/a1b6aa435d2fba50793b994a839c32b6064f063b",
"reference": "a1b6aa435d2fba50793b994a839c32b6064f063b",
"url": "https://api.github.com/repos/symfony/finder/zipball/5547f2e1f0ca8e2e7abe490156b62da778cfbe2b",
"reference": "5547f2e1f0ca8e2e7abe490156b62da778cfbe2b",
"shasum": ""
},
"require": {
@@ -4093,7 +4101,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.27"
"source": "https://github.com/symfony/finder/tree/v6.4.31"
},
"funding": [
{
@@ -4113,7 +4121,7 @@
"type": "tidelift"
}
],
"time": "2025-10-15T18:32:00+00:00"
"time": "2025-12-11T14:52:17+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
@@ -4451,22 +4459,23 @@
},
{
"name": "symfony/string",
"version": "v7.3.4",
"version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "f96476035142921000338bad71e5247fbc138872"
"reference": "d50e862cb0a0e0886f73ca1f31b865efbb795003"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/f96476035142921000338bad71e5247fbc138872",
"reference": "f96476035142921000338bad71e5247fbc138872",
"url": "https://api.github.com/repos/symfony/string/zipball/d50e862cb0a0e0886f73ca1f31b865efbb795003",
"reference": "d50e862cb0a0e0886f73ca1f31b865efbb795003",
"shasum": ""
},
"require": {
"php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3.0",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-intl-grapheme": "~1.0",
"symfony/polyfill-intl-grapheme": "~1.33",
"symfony/polyfill-intl-normalizer": "~1.0",
"symfony/polyfill-mbstring": "~1.0"
},
@@ -4474,11 +4483,11 @@
"symfony/translation-contracts": "<2.5"
},
"require-dev": {
"symfony/emoji": "^7.1",
"symfony/http-client": "^6.4|^7.0",
"symfony/intl": "^6.4|^7.0",
"symfony/emoji": "^7.1|^8.0",
"symfony/http-client": "^6.4|^7.0|^8.0",
"symfony/intl": "^6.4|^7.0|^8.0",
"symfony/translation-contracts": "^2.5|^3.0",
"symfony/var-exporter": "^6.4|^7.0"
"symfony/var-exporter": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -4517,7 +4526,7 @@
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v7.3.4"
"source": "https://github.com/symfony/string/tree/v7.4.0"
},
"funding": [
{
@@ -4537,20 +4546,20 @@
"type": "tidelift"
}
],
"time": "2025-09-11T14:36:48+00:00"
"time": "2025-11-27T13:27:24+00:00"
},
{
"name": "vimeo/psalm",
"version": "6.13.1",
"version": "6.14.3",
"source": {
"type": "git",
"url": "https://github.com/vimeo/psalm.git",
"reference": "1e3b7f0a8ab32b23197b91107adc0a7ed8a05b51"
"reference": "d0b040a91f280f071c1abcb1b77ce3822058725a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/1e3b7f0a8ab32b23197b91107adc0a7ed8a05b51",
"reference": "1e3b7f0a8ab32b23197b91107adc0a7ed8a05b51",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/d0b040a91f280f071c1abcb1b77ce3822058725a",
"reference": "d0b040a91f280f071c1abcb1b77ce3822058725a",
"shasum": ""
},
"require": {
@@ -4573,11 +4582,11 @@
"fidry/cpu-core-counter": "^0.4.1 || ^0.5.1 || ^1.0.0",
"netresearch/jsonmapper": "^5.0",
"nikic/php-parser": "^5.0.0",
"php": "~8.1.31 || ~8.2.27 || ~8.3.16 || ~8.4.3",
"php": "~8.1.31 || ~8.2.27 || ~8.3.16 || ~8.4.3 || ~8.5.0",
"sebastian/diff": "^4.0 || ^5.0 || ^6.0 || ^7.0",
"spatie/array-to-xml": "^2.17.0 || ^3.0",
"symfony/console": "^6.0 || ^7.0",
"symfony/filesystem": "~6.3.12 || ~6.4.3 || ^7.0.3",
"symfony/console": "^6.0 || ^7.0 || ^8.0",
"symfony/filesystem": "~6.3.12 || ~6.4.3 || ^7.0.3 || ^8.0",
"symfony/polyfill-php84": "^1.31.0"
},
"provide": {
@@ -4599,7 +4608,7 @@
"psalm/plugin-phpunit": "^0.19",
"slevomat/coding-standard": "^8.4",
"squizlabs/php_codesniffer": "^3.6",
"symfony/process": "^6.0 || ^7.0"
"symfony/process": "^6.0 || ^7.0 || ^8.0"
},
"suggest": {
"ext-curl": "In order to send data to shepherd",
@@ -4655,7 +4664,7 @@
"issues": "https://github.com/vimeo/psalm/issues",
"source": "https://github.com/vimeo/psalm"
},
"time": "2025-08-06T10:10:28+00:00"
"time": "2025-12-23T15:36:48+00:00"
},
{
"name": "wapmorgan/php-deprecation-detector",
@@ -4726,23 +4735,23 @@
},
{
"name": "webmozart/assert",
"version": "1.12.1",
"version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/webmozarts/assert.git",
"reference": "9be6926d8b485f55b9229203f962b51ed377ba68"
"reference": "1b34b004e35a164bc5bb6ebd33c844b2d8069a54"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/webmozarts/assert/zipball/9be6926d8b485f55b9229203f962b51ed377ba68",
"reference": "9be6926d8b485f55b9229203f962b51ed377ba68",
"url": "https://api.github.com/repos/webmozarts/assert/zipball/1b34b004e35a164bc5bb6ebd33c844b2d8069a54",
"reference": "1b34b004e35a164bc5bb6ebd33c844b2d8069a54",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"ext-date": "*",
"ext-filter": "*",
"php": "^7.2 || ^8.0"
"php": "^8.2"
},
"suggest": {
"ext-intl": "",
@@ -4752,7 +4761,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.10-dev"
"dev-feature/2-0": "2.0-dev"
}
},
"autoload": {
@@ -4768,6 +4777,10 @@
{
"name": "Bernhard Schussek",
"email": "bschussek@gmail.com"
},
{
"name": "Woody Gilk",
"email": "woody.gilk@gmail.com"
}
],
"description": "Assertions to validate method input/output with nice error messages.",
@@ -4778,9 +4791,9 @@
],
"support": {
"issues": "https://github.com/webmozarts/assert/issues",
"source": "https://github.com/webmozarts/assert/tree/1.12.1"
"source": "https://github.com/webmozarts/assert/tree/2.0.0"
},
"time": "2025-10-29T15:56:20+00:00"
"time": "2025-12-16T21:36:00+00:00"
}
],
"aliases": [],
@@ -4799,5 +4812,5 @@
"ext-apcu": "*"
},
"platform-dev": {},
"plugin-api-version": "2.6.0"
"plugin-api-version": "2.9.0"
}

View File

@@ -204,6 +204,7 @@
"POSTGRES_DB=nextcloud_database",
"POSTGRES_USER=nextcloud",
"REDIS_HOST=nextcloud-aio-redis",
"REDIS_PORT=6379",
"REDIS_HOST_PASSWORD=%REDIS_PASSWORD%",
"APACHE_HOST=nextcloud-aio-apache",
"APACHE_PORT=%APACHE_PORT%",
@@ -236,6 +237,7 @@
"PHP_MEMORY_LIMIT=%NEXTCLOUD_MEMORY_LIMIT%",
"FULLTEXTSEARCH_ENABLED=%FULLTEXTSEARCH_ENABLED%",
"FULLTEXTSEARCH_HOST=nextcloud-aio-fulltextsearch",
"FULLTEXTSEARCH_PROTOCOL=http",
"FULLTEXTSEARCH_PORT=9200",
"FULLTEXTSEARCH_USER=elastic",
"FULLTEXTSEARCH_INDEX=nextcloud-aio",
@@ -305,6 +307,7 @@
"NEXTCLOUD_HOST=nextcloud-aio-nextcloud",
"TZ=%TIMEZONE%",
"REDIS_HOST=nextcloud-aio-redis",
"REDIS_PORT=6379",
"REDIS_HOST_PASSWORD=%REDIS_PASSWORD%",
"POSTGRES_HOST=nextcloud-aio-database",
"POSTGRES_PORT=5432",
@@ -380,7 +383,7 @@
"internal_port": "9980",
"environment": [
"aliasgroup1=https://%NC_DOMAIN%:443,http://nextcloud-aio-apache:23973",
"extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:mount_jail_tree=false --o:logging.disable_server_audit=true --o:logging.level=warning --o:logging.level_startup=warning --o:welcome.enable=false %COLLABORA_SECCOMP_POLICY% --o:remote_font_config.url=https://%NC_DOMAIN%/apps/richdocuments/settings/fonts.json --o:net.post_allow.host[0]=.+",
"extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:logging.disable_server_audit=true --o:logging.level=warning --o:logging.level_startup=warning --o:welcome.enable=false %COLLABORA_SECCOMP_POLICY% --o:remote_font_config.url=https://%NC_DOMAIN%/apps/richdocuments/settings/fonts.json --o:net.post_allow.host[0]=.+",
"dictionaries=%COLLABORA_DICTIONARIES%",
"TZ=%TIMEZONE%",
"server_name=%NC_DOMAIN%",
@@ -399,10 +402,7 @@
"SYS_ADMIN",
"SYS_CHROOT",
"FOWNER",
"CHOWN",
"MAC_OVERRIDE",
"BLOCK_SUSPEND",
"AUDIT_READ"
"CHOWN"
],
"cap_drop": [
"NET_RAW"
@@ -723,10 +723,6 @@
"ONLYOFFICE_SECRET"
],
"restart": "unless-stopped",
"nextcloud_exec_commands": [
"echo 'Activating OnlyOffice config...'",
"php /var/www/html/occ onlyoffice:documentserver --check"
],
"profiles": [
"onlyoffice"
],
@@ -797,7 +793,7 @@
"environment": [
"TZ=%TIMEZONE%",
"ES_JAVA_OPTS=%FULLTEXTSEARCH_JAVA_OPTIONS%",
"bootstrap.memory_lock=true",
"bootstrap.memory_lock=false",
"cluster.name=nextcloud-aio",
"discovery.type=single-node",
"logger.level=WARN",
@@ -878,6 +874,7 @@
"JWT_SECRET_KEY=%WHITEBOARD_SECRET%",
"STORAGE_STRATEGY=redis",
"REDIS_HOST=nextcloud-aio-redis",
"REDIS_PORT=6379",
"REDIS_HOST_PASSWORD=%REDIS_PASSWORD%",
"BACKUP_DIR=/tmp"
],

View File

@@ -1,34 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="6.13.1@1e3b7f0a8ab32b23197b91107adc0a7ed8a05b51">
<file src="src/Controller/DockerController.php">
<InvalidOperand>
<code><![CDATA[$port]]></code>
</InvalidOperand>
</file>
<file src="src/Data/ConfigurationManager.php">
<PossiblyFalseArgument>
<code><![CDATA[$ch]]></code>
<code><![CDATA[$ch]]></code>
<code><![CDATA[$ch]]></code>
<code><![CDATA[$ch]]></code>
<code><![CDATA[$ch]]></code>
<code><![CDATA[$ch]]></code>
</PossiblyFalseArgument>
</file>
<file src="src/Docker/DockerActionManager.php">
<PossiblyFalseArgument>
<code><![CDATA[$line]]></code>
<code><![CDATA[$line]]></code>
</PossiblyFalseArgument>
</file>
<file src="src/Twig/ClassExtension.php">
<MissingOverrideAttribute>
<code><![CDATA[public function getFunctions() : array]]></code>
</MissingOverrideAttribute>
</file>
<file src="src/Twig/CsrfExtension.php">
<MissingOverrideAttribute>
<code><![CDATA[public function getGlobals() : array]]></code>
</MissingOverrideAttribute>
</file>
</files>
<files psalm-version="6.14.3@d0b040a91f280f071c1abcb1b77ce3822058725a"/>

View File

@@ -60,6 +60,7 @@ $app->get('/api/docker/getwatchtower', AIO\Controller\DockerController::class .
$app->post('/api/docker/start', AIO\Controller\DockerController::class . ':StartContainer');
$app->post('/api/docker/backup', AIO\Controller\DockerController::class . ':StartBackupContainerBackup');
$app->post('/api/docker/backup-check', AIO\Controller\DockerController::class . ':StartBackupContainerCheck');
$app->post('/api/docker/backup-list', AIO\Controller\DockerController::class . ':StartBackupContainerList');
$app->post('/api/docker/backup-check-repair', AIO\Controller\DockerController::class . ':StartBackupContainerCheckRepair');
$app->post('/api/docker/backup-test', AIO\Controller\DockerController::class . ':StartBackupContainerTest');
$app->post('/api/docker/restore', AIO\Controller\DockerController::class . ':StartBackupContainerRestore');
@@ -76,11 +77,11 @@ $app->get('/containers', function (Request $request, Response $response, array $
$view->addExtension(new \AIO\Twig\ClassExtension());
/** @var \AIO\Data\ConfigurationManager $configurationManager */
$configurationManager = $container->get(\AIO\Data\ConfigurationManager::class);
/** @var \AIO\Docker\DockerActionManager $dockerActionManger */
$dockerActionManger = $container->get(\AIO\Docker\DockerActionManager::class);
/** @var \AIO\Docker\DockerActionManager $dockerActionManager */
$dockerActionManager = $container->get(\AIO\Docker\DockerActionManager::class);
/** @var \AIO\Controller\DockerController $dockerController */
$dockerController = $container->get(\AIO\Controller\DockerController::class);
$dockerActionManger->ConnectMasterContainerToNetwork();
$dockerActionManager->ConnectMasterContainerToNetwork();
$dockerController->StartDomaincheckContainer();
// Check if bypass_mastercontainer_update is provided on the URL, a special developer mode to bypass a mastercontainer update and use local image.
@@ -98,17 +99,17 @@ $app->get('/containers', function (Request $request, Response $response, array $
'nextcloud_password' => $configurationManager->GetAndGenerateSecret('NEXTCLOUD_PASSWORD'),
'containers' => (new \AIO\ContainerDefinitionFetcher($container->get(\AIO\Data\ConfigurationManager::class), $container))->FetchDefinition(),
'borgbackup_password' => $configurationManager->GetAndGenerateSecret('BORGBACKUP_PASSWORD'),
'is_mastercontainer_update_available' => ( $bypass_mastercontainer_update ? false : $dockerActionManger->IsMastercontainerUpdateAvailable() ),
'is_mastercontainer_update_available' => ( $bypass_mastercontainer_update ? false : $dockerActionManager->IsMastercontainerUpdateAvailable() ),
'has_backup_run_once' => $configurationManager->hasBackupRunOnce(),
'is_backup_container_running' => $dockerActionManger->isBackupContainerRunning(),
'backup_exit_code' => $dockerActionManger->GetBackupcontainerExitCode(),
'is_backup_container_running' => $dockerActionManager->isBackupContainerRunning(),
'backup_exit_code' => $dockerActionManager->GetBackupcontainerExitCode(),
'is_instance_restore_attempt' => $configurationManager->isInstanceRestoreAttempt(),
'borg_backup_mode' => $configurationManager->GetBorgBackupMode(),
'borg_backup_mode' => $configurationManager->GetBackupMode(),
'was_start_button_clicked' => $configurationManager->wasStartButtonClicked(),
'has_update_available' => $dockerActionManger->isAnyUpdateAvailable(),
'has_update_available' => $dockerActionManager->isAnyUpdateAvailable(),
'last_backup_time' => $configurationManager->GetLastBackupTime(),
'backup_times' => $configurationManager->GetBackupTimes(),
'current_channel' => $dockerActionManger->GetCurrentChannel(),
'current_channel' => $dockerActionManager->GetCurrentChannel(),
'is_clamav_enabled' => $configurationManager->isClamavEnabled(),
'is_onlyoffice_enabled' => $configurationManager->isOnlyofficeEnabled(),
'is_collabora_enabled' => $configurationManager->isCollaboraEnabled(),
@@ -143,10 +144,10 @@ $app->get('/containers', function (Request $request, Response $response, array $
})->setName('profile');
$app->get('/login', function (Request $request, Response $response, array $args) use ($container) {
$view = Twig::fromRequest($request);
/** @var \AIO\Docker\DockerActionManager $dockerActionManger */
$dockerActionManger = $container->get(\AIO\Docker\DockerActionManager::class);
/** @var \AIO\Docker\DockerActionManager $dockerActionManager */
$dockerActionManager = $container->get(\AIO\Docker\DockerActionManager::class);
return $view->render($response, 'login.twig', [
'is_login_allowed' => $dockerActionManger->isLoginAllowed(),
'is_login_allowed' => $dockerActionManager->isLoginAllowed(),
]);
});
$app->get('/setup', function (Request $request, Response $response, array $args) use ($container) {

View File

@@ -159,7 +159,7 @@ readonly class ConfigurationController {
}
if (isset($request->getParsedBody()['delete_borg_backup_location_vars'])) {
$this->configurationManager->DeleteBorgBackupLocationVars();
$this->configurationManager->DeleteBorgBackupLocationItems();
}
return $response->withStatus(201)->withHeader('Location', '.');

View File

@@ -89,9 +89,7 @@ readonly class DockerController {
}
public function startBackup(bool $forceStopNextcloud = false) : void {
$config = $this->configurationManager->GetConfig();
$config['backup-mode'] = 'backup';
$this->configurationManager->WriteConfig($config);
$this->configurationManager->SetBackupMode('backup');
$id = self::TOP_CONTAINER;
$this->PerformRecursiveContainerStop($id, $forceStopNextcloud);
@@ -105,18 +103,28 @@ readonly class DockerController {
return $response->withStatus(201)->withHeader('Location', '.');
}
public function StartBackupContainerList(Request $request, Response $response, array $args) : Response {
$this->listBackup();
return $response->withStatus(201)->withHeader('Location', '.');
}
public function checkBackup() : void {
$config = $this->configurationManager->GetConfig();
$config['backup-mode'] = 'check';
$this->configurationManager->WriteConfig($config);
$this->configurationManager->SetBackupMode('check');
$id = 'nextcloud-aio-borgbackup';
$this->PerformRecursiveContainerStart($id);
}
private function listBackup() : void {
$this->configurationManager->SetBackupMode('list');
$id = 'nextcloud-aio-borgbackup';
$this->PerformRecursiveContainerStart($id);
}
public function StartBackupContainerRestore(Request $request, Response $response, array $args) : Response {
$this->configurationManager->SetBackupMode('restore');
$config = $this->configurationManager->GetConfig();
$config['backup-mode'] = 'restore';
$config['selected-restore-time'] = $request->getParsedBody()['selected_restore_time'] ?? '';
if (isset($request->getParsedBody()['restore-exclude-previews'])) {
$config['restore-exclude-previews'] = 1;
@@ -136,24 +144,20 @@ readonly class DockerController {
}
public function StartBackupContainerCheckRepair(Request $request, Response $response, array $args) : Response {
$config = $this->configurationManager->GetConfig();
$config['backup-mode'] = 'check-repair';
$this->configurationManager->WriteConfig($config);
$this->configurationManager->SetBackupMode('check-repair');
$id = 'nextcloud-aio-borgbackup';
$this->PerformRecursiveContainerStart($id);
// Restore to backup check which is needed to make the UI logic work correctly
$config = $this->configurationManager->GetConfig();
$config['backup-mode'] = 'check';
$this->configurationManager->WriteConfig($config);
$this->configurationManager->SetBackupMode('check');
return $response->withStatus(201)->withHeader('Location', '.');
}
public function StartBackupContainerTest(Request $request, Response $response, array $args) : Response {
$this->configurationManager->SetBackupMode('test');
$config = $this->configurationManager->GetConfig();
$config['backup-mode'] = 'test';
$config['instance_restore_attempt'] = 0;
$this->configurationManager->WriteConfig($config);
@@ -185,7 +189,7 @@ readonly class DockerController {
$config = $this->configurationManager->GetConfig();
// set AIO_URL
$config['AIO_URL'] = $host . ':' . $port . $path;
$config['AIO_URL'] = $host . ':' . (string)$port . $path;
// set wasStartButtonClicked
$config['wasStartButtonClicked'] = 1;
// set install_latest_major

View File

@@ -1,33 +1,33 @@
<?php
declare(strict_types=1);
// increase memory limit to 2GB
ini_set('memory_limit', '2048M');
use DI\Container;
require __DIR__ . '/../../vendor/autoload.php';
$container = \AIO\DependencyInjection::GetContainer();
/** @var \AIO\Docker\DockerActionManager $dockerActionManger */
$dockerActionManger = $container->get(\AIO\Docker\DockerActionManager::class);
/** @var \AIO\ContainerDefinitionFetcher $containerDefinitionFetcher */
$containerDefinitionFetcher = $container->get(\AIO\ContainerDefinitionFetcher::class);
$id = 'nextcloud-aio-nextcloud';
$nextcloudContainer = $containerDefinitionFetcher->GetContainerById($id);
$backupExitCode = $dockerActionManger->GetBackupcontainerExitCode();
if ($backupExitCode === 0) {
if (getenv('SEND_SUCCESS_NOTIFICATIONS') === "0") {
error_log("Daily backup successful! Only logging successful backup and not sending backup notification since that has been disabled! You can get further info by looking at the backup logs in the AIO interface.");
} else {
$dockerActionManger->sendNotification($nextcloudContainer, 'Daily backup successful!', 'You can get further info by looking at the backup logs in the AIO interface.');
}
}
if ($backupExitCode > 0) {
$dockerActionManger->sendNotification($nextcloudContainer, 'Daily backup failed!', 'You can get further info by looking at the backup logs in the AIO interface.');
}
<?php
declare(strict_types=1);
// increase memory limit to 2GB
ini_set('memory_limit', '2048M');
use DI\Container;
require __DIR__ . '/../../vendor/autoload.php';
$container = \AIO\DependencyInjection::GetContainer();
/** @var \AIO\Docker\DockerActionManager $dockerActionManager */
$dockerActionManager = $container->get(\AIO\Docker\DockerActionManager::class);
/** @var \AIO\ContainerDefinitionFetcher $containerDefinitionFetcher */
$containerDefinitionFetcher = $container->get(\AIO\ContainerDefinitionFetcher::class);
$id = 'nextcloud-aio-nextcloud';
$nextcloudContainer = $containerDefinitionFetcher->GetContainerById($id);
$backupExitCode = $dockerActionManager->GetBackupcontainerExitCode();
if ($backupExitCode === 0) {
if (getenv('SEND_SUCCESS_NOTIFICATIONS') === "0") {
error_log("Daily backup successful! Only logging successful backup and not sending backup notification since that has been disabled! You can get further info by looking at the backup logs in the AIO interface.");
} else {
$dockerActionManager->sendNotification($nextcloudContainer, 'Daily backup successful!', 'You can get further info by looking at the backup logs in the AIO interface.');
}
}
if ($backupExitCode > 0) {
$dockerActionManager->sendNotification($nextcloudContainer, 'Daily backup failed!', 'You can get further info by looking at the backup logs in the AIO interface.');
}

View File

@@ -11,8 +11,8 @@ require __DIR__ . '/../../vendor/autoload.php';
$container = \AIO\DependencyInjection::GetContainer();
/** @var \AIO\Docker\DockerActionManager $dockerActionManger */
$dockerActionManger = $container->get(\AIO\Docker\DockerActionManager::class);
/** @var \AIO\Docker\DockerActionManager $dockerActionManager */
$dockerActionManager = $container->get(\AIO\Docker\DockerActionManager::class);
/** @var \AIO\ContainerDefinitionFetcher $containerDefinitionFetcher */
$containerDefinitionFetcher = $container->get(\AIO\ContainerDefinitionFetcher::class);
@@ -22,5 +22,5 @@ $nextcloudContainer = $containerDefinitionFetcher->GetContainerById($id);
$df = disk_free_space(DataConst::GetDataDirectory());
if ($df !== false && (int)$df < 1024 * 1024 * 1024 * 5) {
error_log("The drive that hosts the mastercontainer volume has less than 5 GB free space. Container updates and backups might not succeed due to that!");
$dockerActionManger->sendNotification($nextcloudContainer, 'Low on space!', 'The drive that hosts the mastercontainer volume has less than 5 GB free space. Container updates and backups might not succeed due to that!');
$dockerActionManager->sendNotification($nextcloudContainer, 'Low on space!', 'The drive that hosts the mastercontainer volume has less than 5 GB free space. Container updates and backups might not succeed due to that!');
}

View File

@@ -10,17 +10,17 @@ require __DIR__ . '/../../vendor/autoload.php';
$container = \AIO\DependencyInjection::GetContainer();
/** @var \AIO\Docker\DockerActionManager $dockerActionManger */
$dockerActionManger = $container->get(\AIO\Docker\DockerActionManager::class);
/** @var \AIO\Docker\DockerActionManager $dockerActionManager */
$dockerActionManager = $container->get(\AIO\Docker\DockerActionManager::class);
/** @var \AIO\ContainerDefinitionFetcher $containerDefinitionFetcher */
$containerDefinitionFetcher = $container->get(\AIO\ContainerDefinitionFetcher::class);
$id = 'nextcloud-aio-nextcloud';
$nextcloudContainer = $containerDefinitionFetcher->GetContainerById($id);
$isNextcloudImageOutdated = $dockerActionManger->isNextcloudImageOutdated();
$isNextcloudImageOutdated = $dockerActionManager->isNextcloudImageOutdated();
if ($isNextcloudImageOutdated === true) {
$dockerActionManger->sendNotification($nextcloudContainer, 'AIO is outdated!', 'Please open the AIO interface or ask an administrator to update it. If you do not want to do it manually each time, you can enable the daily backup feature from the AIO interface which automatically updates all containers.', '/notify-all.sh');
$dockerActionManager->sendNotification($nextcloudContainer, 'AIO is outdated!', 'Please open the AIO interface or ask an administrator to update it. If you do not want to do it manually each time, you can enable the daily backup feature from the AIO interface which automatically updates all containers.', '/notify-all.sh');
}

View File

@@ -10,21 +10,21 @@ require __DIR__ . '/../../vendor/autoload.php';
$container = \AIO\DependencyInjection::GetContainer();
/** @var \AIO\Docker\DockerActionManager $dockerActionManger */
$dockerActionManger = $container->get(\AIO\Docker\DockerActionManager::class);
/** @var \AIO\Docker\DockerActionManager $dockerActionManager */
$dockerActionManager = $container->get(\AIO\Docker\DockerActionManager::class);
/** @var \AIO\ContainerDefinitionFetcher $containerDefinitionFetcher */
$containerDefinitionFetcher = $container->get(\AIO\ContainerDefinitionFetcher::class);
$id = 'nextcloud-aio-nextcloud';
$nextcloudContainer = $containerDefinitionFetcher->GetContainerById($id);
$isMastercontainerUpdateAvailable = $dockerActionManger->IsMastercontainerUpdateAvailable();
$isAnyUpdateAvailable = $dockerActionManger->isAnyUpdateAvailable();
$isMastercontainerUpdateAvailable = $dockerActionManager->IsMastercontainerUpdateAvailable();
$isAnyUpdateAvailable = $dockerActionManager->isAnyUpdateAvailable();
if ($isMastercontainerUpdateAvailable === true) {
$dockerActionManger->sendNotification($nextcloudContainer, 'Mastercontainer update available!', 'Please open your AIO interface to update it. If you do not want to do it manually each time, you can enable the daily backup feature from the AIO interface which also automatically updates the mastercontainer.');
$dockerActionManager->sendNotification($nextcloudContainer, 'Mastercontainer update available!', 'Please open your AIO interface to update it. If you do not want to do it manually each time, you can enable the daily backup feature from the AIO interface which also automatically updates the mastercontainer.');
}
if ($isAnyUpdateAvailable === true) {
$dockerActionManger->sendNotification($nextcloudContainer, 'Container updates available!', 'Please open your AIO interface to update them. If you do not want to do it manually each time, you can enable the daily backup feature from the AIO interface which also automatically updates your containers and your Nextcloud apps.');
$dockerActionManager->sendNotification($nextcloudContainer, 'Container updates available!', 'Please open your AIO interface to update them. If you do not want to do it manually each time, you can enable the daily backup feature from the AIO interface which also automatically updates your containers and your Nextcloud apps.');
}

View File

@@ -164,10 +164,10 @@ class ConfigurationManager
public function isWhiteboardEnabled() : bool {
$config = $this->GetConfig();
if (isset($config['isWhiteboardEnabled']) && $config['isWhiteboardEnabled'] === 1) {
return true;
} else {
if (isset($config['isWhiteboardEnabled']) && $config['isWhiteboardEnabled'] === 0) {
return false;
} else {
return true;
}
}
@@ -209,7 +209,7 @@ class ConfigurationManager
public function SetFulltextsearchEnabledState(int $value) : void {
// Elasticsearch does not work on kernels without seccomp anymore. See https://github.com/nextcloud/all-in-one/discussions/5768
if ($this->GetCollaboraSeccompDisabledState() === 'true') {
if ($this->isSeccompDisabled()) {
$value = 0;
}
@@ -351,7 +351,7 @@ class ConfigurationManager
if ($connection) {
fclose($connection);
} else {
throw new InvalidSettingConfigurationException("The domain is not reachable on Port 443 from within this container. Have you opened port 443/tcp in your router/firewall? If yes is the problem most likely that the router or firewall forbids local access to your domain. You can work around that by setting up a local DNS-server.");
throw new InvalidSettingConfigurationException("The domain is not reachable on Port 443 from within this container. Have you opened port 443/tcp in your router/firewall? If yes is the problem most likely that the router or firewall forbids local access to your domain. Or in other words: NAT loopback (Hairpinning) does not seem to work in your network. You can work around that by setting up a local DNS server and utilizing Split-Brain-DNS and configuring the daemon.json file of your docker daemon to use the local DNS server.");
}
// Get Instance ID
@@ -366,6 +366,9 @@ class ConfigurationManager
// Check if response is correct
$ch = curl_init();
if ($ch === false) {
throw new InvalidSettingConfigurationException('Could not init curl! Please check the logs!');
}
$testUrl = $protocol . $domain . ':443';
curl_setopt($ch, CURLOPT_URL, $testUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
@@ -423,6 +426,12 @@ class ConfigurationManager
return $config['backup-mode'];
}
public function SetBackupMode(string $mode) : void {
$config = $this->GetConfig();
$config['backup-mode'] = $mode;
$this->WriteConfig($config);
}
public function GetSelectedRestoreTime() : string {
$config = $this->GetConfig();
if(!isset($config['selected-restore-time'])) {
@@ -503,11 +512,19 @@ class ConfigurationManager
}
}
public function DeleteBorgBackupLocationVars() : void {
public function DeleteBorgBackupLocationItems() : void {
// Delete the variables
$config = $this->GetConfig();
$config['borg_backup_host_location'] = '';
$config['borg_remote_repo'] = '';
$this->WriteConfig($config);
// Also delete the borg config file to be able to start over
if (file_exists(DataConst::GetBackupKeyFile())) {
if (unlink(DataConst::GetBackupKeyFile())) {
error_log('borg.config file deleted to be able to start over.');
}
}
}
/**
@@ -664,15 +681,6 @@ class ConfigurationManager
return false;
}
public function GetBorgBackupMode() : string {
$config = $this->GetConfig();
if(!isset($config['backup-mode'])) {
$config['backup-mode'] = '';
}
return $config['backup-mode'];
}
public function GetNextcloudMount() : string {
$envVariableName = 'NEXTCLOUD_MOUNT';
$configName = 'nextcloud_mount';
@@ -757,7 +765,7 @@ class ConfigurationManager
public function GetCollaboraSeccompPolicy() : string {
$defaultString = '--o:security.seccomp=';
if ($this->GetCollaboraSeccompDisabledState() !== 'true') {
if (!$this->isSeccompDisabled()) {
return $defaultString . 'true';
}
return $defaultString . 'false';
@@ -770,6 +778,13 @@ class ConfigurationManager
return $this->GetEnvironmentalVariableOrConfig($envVariableName, $configName, $defaultValue);
}
public function isSeccompDisabled() : bool {
if ($this->GetCollaboraSeccompDisabledState() === 'true') {
return true;
}
return false;
}
/**
* @throws InvalidSettingConfigurationException
*/

View File

@@ -26,7 +26,13 @@ readonly class DockerActionManager {
}
private function BuildApiUrl(string $url): string {
return sprintf('http://127.0.0.1/%s/%s', self::API_VERSION, $url);
$apiVersion = getenv('DOCKER_API_VERSION');
if ($apiVersion === false || empty($apiVersion)) {
$apiVersion = self::API_VERSION;
} else {
$apiVersion = 'v'. $apiVersion;
}
return sprintf('http://127.0.0.1/%s/%s', $apiVersion, $url);
}
private function BuildImageName(Container $container): string {
@@ -149,11 +155,11 @@ readonly class DockerActionManager {
$response = "";
$separator = "\r\n";
$line = strtok($responseBody, $separator);
$response = substr($line, 8) . $separator;
$response = substr((string)$line, 8) . $separator;
while ($line !== false) {
$line = strtok($separator);
$response .= substr($line, 8) . $separator;
$response .= substr((string)$line, 8) . $separator;
}
return $response;
@@ -225,6 +231,7 @@ readonly class DockerActionManager {
$aioVariables = $container->GetAioVariables()->GetVariables();
foreach ($aioVariables as $variable) {
$config = $this->configurationManager->GetConfig();
$variable = $this->replaceEnvPlaceholders($variable);
$variableArray = explode('=', $variable);
$config[$variableArray[0]] = $variableArray[1];
$this->configurationManager->WriteConfig($config);
@@ -283,8 +290,8 @@ readonly class DockerActionManager {
}
} else if ($port === '%TALK_PORT%') {
$port = $this->configurationManager->GetTalkPort();
// Skip publishing talk port if it is set to the same value like the apache port
if ($port === $this->configurationManager->GetApachePort()) {
// Skip publishing talk tcp port if it is set to 443
if ($port === '443' && $protocol === 'tcp') {
continue;
}
}
@@ -408,9 +415,11 @@ readonly class DockerActionManager {
// Special things for the collabora container which should not be exposed in the containers.json
} elseif ($container->GetIdentifier() === 'nextcloud-aio-collabora') {
// Load reference seccomp profile for collabora
$seccompProfile = (string)file_get_contents(DataConst::GetCollaboraSeccompProfilePath());
$requestBody['HostConfig']['SecurityOpt'] = ["label:disable", "seccomp=$seccompProfile"];
if (!$this->configurationManager->isSeccompDisabled()) {
// Load reference seccomp profile for collabora
$seccompProfile = (string)file_get_contents(DataConst::GetCollaboraSeccompProfilePath());
$requestBody['HostConfig']['SecurityOpt'] = ["label:disable", "seccomp=$seccompProfile"];
}
// Additional Collabora options
if ($this->configurationManager->GetAdditionalCollaboraOptions() !== '') {
@@ -424,7 +433,8 @@ readonly class DockerActionManager {
// All AIO-managed containers should not be updated externally via watchtower but gracefully by AIO's backup and update feature.
// Also DIUN should not send update notifications. See https://crazymax.dev/diun/providers/docker/#docker-labels
$requestBody['Labels'] = ["com.centurylinklabs.watchtower.enable" => "false", "diun.enable" => "false", "org.label-schema.vendor" => "Nextcloud"];
// Additionally set a default org.label-schema.vendor and com.docker.compose.project
$requestBody['Labels'] = ["com.centurylinklabs.watchtower.enable" => "false", "diun.enable" => "false", "org.label-schema.vendor" => "Nextcloud", "com.docker.compose.project" => "nextcloud-aio"];
// Containers should have a fixed host name. See https://github.com/nextcloud/all-in-one/discussions/6589
$requestBody['Hostname'] = $container->GetIdentifier();
@@ -541,6 +551,7 @@ readonly class DockerActionManager {
'SELECTED_RESTORE_TIME' => $this->configurationManager->GetSelectedRestoreTime(),
'RESTORE_EXCLUDE_PREVIEWS' => $this->configurationManager->GetRestoreExcludePreviews(),
'APACHE_PORT' => $this->configurationManager->GetApachePort(),
'APACHE_IP_BINDING' => $this->configurationManager->GetApacheIPBinding(),
'TALK_PORT' => $this->configurationManager->GetTalkPort(),
'TURN_DOMAIN' => $this->configurationManager->GetTurnDomain(),
'NEXTCLOUD_MOUNT' => $this->configurationManager->GetNextcloudMount(),
@@ -842,6 +853,7 @@ readonly class DockerActionManager {
[
'json' => [
'Name' => $network,
'CheckDuplicate' => true,
'Driver' => 'bridge',
'Internal' => false,
]

View File

@@ -7,6 +7,7 @@ use Twig\TwigFunction;
class ClassExtension extends TwigExtension
{
#[\Override]
public function getFunctions() : array
{
return array(

Some files were not shown because too many files have changed in this diff Show More