Compare commits

..

153 Commits

Author SHA1 Message Date
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.
d26924b1e7 Apply suggestion from @szaimen
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-11-20 10:42:06 +01: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
85 changed files with 572 additions and 366 deletions

View File

@@ -33,3 +33,5 @@ labels: 0. Needs triage
#### 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,7 +10,7 @@ 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
@@ -18,7 +18,7 @@ jobs:
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@ed21f2f24f8dd64503750218de024bcf64c7250a # v7.1.5
- name: Check GitHub actions
run: uvx zizmor --min-severity medium .github/workflows/*.yml

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:

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

@@ -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.22
COPY --from=caddy /usr/bin/caddy /usr/bin/caddy

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,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.2.1
FROM collabora/code:25.04.7.3.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.0-alpine
# hadolint ignore=DL3002
USER root

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.8
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.22 AS go
ENV IMAGINARY_HASH=6a274b488759a896aff02f52afee6e50b5e3a3ee

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# Docker CLI is a requirement
FROM docker:29.0.2-cli AS docker
FROM docker:29.1.2-cli AS docker
# Caddy is a requirement
FROM caddy:2.10.2-alpine AS caddy
@@ -52,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="$( \
@@ -125,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

@@ -23,8 +23,8 @@ fi
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

View File

@@ -75,18 +75,15 @@ elif ! sudo -E -u www-data test -r /var/run/docker.sock; then
fi
fi
# Check if api version is supported
if ! sudo -E -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"
# 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
# Docker api version check
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)"
# 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.
@@ -98,23 +95,49 @@ It is 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
# shellcheck disable=SC2001
API_VERSION_NUMB="$(echo "$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 [ -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!"
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
echo "LOCAL_API_VERSION_NUMB or API_VERSION_NUMB are not set correctly. Cannot check if the API version is supported."
sleep 10
# 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 "$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$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
echo "LOCAL_API_VERSION_NUMB or API_VERSION_NUMB are not set correctly. Cannot check if the API version is supported."
sleep 10
fi
# Check Storage drivers
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

View File

@@ -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.2
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,10 +83,10 @@ 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 \
@@ -138,7 +138,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 +251,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

@@ -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

@@ -20,6 +20,79 @@ run_upgrade_if_needed_due_to_app_update() {
fi
}
set_global_ca_bundle_path() {
# Only run if env is set
if env | grep -q NEXTCLOUD_TRUSTED_CERTIFICATES_; then
php /var/www/html/occ config:system:set default_certificates_bundle_path --value="$CERTIFICATE_BUNDLE"
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 +100,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
@@ -173,6 +246,8 @@ if ! [ -f "$NEXTCLOUD_DATA_DIR/skip.update" ]; then
run_upgrade_if_needed_due_to_app_update
set_global_ca_bundle_path
php /var/www/html/occ maintenance:mode --off
echo "Getting and backing up the status of apps for later; this might take a while..."
@@ -279,12 +354,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
@@ -312,6 +381,8 @@ EOF
# Try to force generation of appdata dir:
php /var/www/html/occ maintenance:repair
set_global_ca_bundle_path
if [ -z "$OBJECTSTORE_S3_BUCKET" ] && [ -z "$OBJECTSTORE_SWIFT_URL" ]; then
max_retries=10
try=0
@@ -528,6 +599,8 @@ fi
run_upgrade_if_needed_due_to_app_update
set_global_ca_bundle_path
if [ -z "$OBJECTSTORE_S3_BUCKET" ] && [ -z "$OBJECTSTORE_SWIFT_URL" ]; then
# Check if appdata is present
# If not, something broke (e.g. changing ncdatadir after aio was first started)
@@ -645,24 +718,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 +796,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

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
@@ -68,12 +72,15 @@ fi
# 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.0.1
# USER root is probably used

View File

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

View File

@@ -1,13 +1,13 @@
# syntax=docker/dockerfile:latest
FROM golang:1.25.4-alpine3.22 AS go
FROM golang:1.25.5-alpine3.22 AS go
ENV WATCHTOWER_COMMIT_HASH=6c5a1b0bea65cea1d4cc1de5196789a01617957a
ENV WATCHTOWER_COMMIT_HASH=1ee8747544ce9a49711d9314f1690b30c29e6a8c
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.3
go install github.com/nicholas-fedor/watchtower@$WATCHTOWER_COMMIT_HASH # v1.12.5
FROM alpine:3.22.2

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.4.2
USER root
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache bash; \
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,7 @@ 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"
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,17 +13,13 @@
"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%",
"APACHE_IP_BINDING=%APACHE_IP_BINDING%",
"NEXTCLOUD_EXPORTER_CADDY_PASSWORD=%NEXTCLOUD_EXPORTER_CADDY_PASSWORD%"
],
"volumes": [

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.
- 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
@@ -35,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,7 +161,6 @@ 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
@@ -207,6 +207,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 +257,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 +440,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 +477,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.2.1
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:20251210_133359
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:20251210_133359
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:20251210_133359
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:20251210_133359
{{- else }}
image: ghcr.io/nextcloud-releases/aio-collabora:20251210_133359
{{- 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:20251210_133359
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:20251210_133359
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:20251210_133359
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:20251210_133359
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:20251210_133359
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:20251210_133359
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
@@ -162,6 +160,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 +188,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:20251210_133359
{{- 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:20251210_133359
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:20251210_133359
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:20251210_133359
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:20251210_133359
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:20251210_133359
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:20251210_133359
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:20251210_133359
readinessProbe:
exec:
command:

197
php/composer.lock generated
View File

@@ -391,16 +391,16 @@
},
{
"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.1",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "4509984193026de413baf4ba80f68590a7f2c51d"
"reference": "1de2ec1fc43ab58a4b7e80b214b96bfc895750f3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/4509984193026de413baf4ba80f68590a7f2c51d",
"reference": "4509984193026de413baf4ba80f68590a7f2c51d",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/1de2ec1fc43ab58a4b7e80b214b96bfc895750f3",
"reference": "1de2ec1fc43ab58a4b7e80b214b96bfc895750f3",
"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.1"
},
"funding": [
{
@@ -1719,7 +1719,7 @@
"type": "tidelift"
}
],
"time": "2025-10-29T15:56:47+00:00"
"time": "2025-11-16T16:01:12+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,20 +3111,20 @@
},
{
"name": "league/uri",
"version": "7.6.0",
"version": "7.7.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/uri.git",
"reference": "f625804987a0a9112d954f9209d91fec52182344"
"reference": "8d587cddee53490f9b82bf203d3a9aa7ea4f9807"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/uri/zipball/f625804987a0a9112d954f9209d91fec52182344",
"reference": "f625804987a0a9112d954f9209d91fec52182344",
"url": "https://api.github.com/repos/thephpleague/uri/zipball/8d587cddee53490f9b82bf203d3a9aa7ea4f9807",
"reference": "8d587cddee53490f9b82bf203d3a9aa7ea4f9807",
"shasum": ""
},
"require": {
"league/uri-interfaces": "^7.6",
"league/uri-interfaces": "^7.7",
"php": "^8.1",
"psr/http-factory": "^1"
},
@@ -3197,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.6.0"
"source": "https://github.com/thephpleague/uri/tree/7.7.0"
},
"funding": [
{
@@ -3205,20 +3205,20 @@
"type": "github"
}
],
"time": "2025-11-18T12:17:23+00:00"
"time": "2025-12-07T16:02:06+00:00"
},
{
"name": "league/uri-interfaces",
"version": "7.6.0",
"version": "7.7.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/uri-interfaces.git",
"reference": "ccbfb51c0445298e7e0b7f4481b942f589665368"
"reference": "62ccc1a0435e1c54e10ee6022df28d6c04c2946c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/ccbfb51c0445298e7e0b7f4481b942f589665368",
"reference": "ccbfb51c0445298e7e0b7f4481b942f589665368",
"url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/62ccc1a0435e1c54e10ee6022df28d6c04c2946c",
"reference": "62ccc1a0435e1c54e10ee6022df28d6c04c2946c",
"shasum": ""
},
"require": {
@@ -3281,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.6.0"
"source": "https://github.com/thephpleague/uri-interfaces/tree/7.7.0"
},
"funding": [
{
@@ -3289,7 +3289,7 @@
"type": "github"
}
],
"time": "2025-11-18T12:17:23+00:00"
"time": "2025-12-07T16:03:21+00:00"
},
{
"name": "netresearch/jsonmapper",
@@ -3344,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": {
@@ -3396,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",
@@ -3455,16 +3455,16 @@
},
{
"name": "phpdocumentor/reflection-docblock",
"version": "5.6.4",
"version": "5.6.5",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
"reference": "90a04bcbf03784066f16038e87e23a0a83cee3c2"
"reference": "90614c73d3800e187615e2dd236ad0e2a01bf761"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/90a04bcbf03784066f16038e87e23a0a83cee3c2",
"reference": "90a04bcbf03784066f16038e87e23a0a83cee3c2",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/90614c73d3800e187615e2dd236ad0e2a01bf761",
"reference": "90614c73d3800e187615e2dd236ad0e2a01bf761",
"shasum": ""
},
"require": {
@@ -3513,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.4"
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.5"
},
"time": "2025-11-17T21:13:10+00:00"
"time": "2025-11-27T19:50:05+00:00"
},
{
"name": "phpdocumentor/type-resolver",
"version": "1.10.1",
"version": "1.12.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
"reference": "431c02da15e566adb0ad9c5030fa6f6204d9de9e"
"reference": "92a98ada2b93d9b201a613cb5a33584dde25f195"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/431c02da15e566adb0ad9c5030fa6f6204d9de9e",
"reference": "431c02da15e566adb0ad9c5030fa6f6204d9de9e",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/92a98ada2b93d9b201a613cb5a33584dde25f195",
"reference": "92a98ada2b93d9b201a613cb5a33584dde25f195",
"shasum": ""
},
"require": {
@@ -3571,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.1"
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.12.0"
},
"time": "2025-11-18T07:51:16+00:00"
"time": "2025-11-21T15:09:14+00:00"
},
{
"name": "phpstan/phpdoc-parser",
@@ -3624,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": {
@@ -3690,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",
@@ -3763,16 +3763,16 @@
},
{
"name": "spatie/array-to-xml",
"version": "3.4.1",
"version": "3.4.3",
"source": {
"type": "git",
"url": "https://github.com/spatie/array-to-xml.git",
"reference": "6a740f39415aee8886aea10333403adc77d50791"
"reference": "7b9202dccfe18d4e3a13303156d6bbcc1c61dabf"
},
"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/7b9202dccfe18d4e3a13303156d6bbcc1c61dabf",
"reference": "7b9202dccfe18d4e3a13303156d6bbcc1c61dabf",
"shasum": ""
},
"require": {
@@ -3815,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.3"
},
"funding": [
{
@@ -3827,7 +3827,7 @@
"type": "github"
}
],
"time": "2025-11-12T10:32:50+00:00"
"time": "2025-11-27T09:08:26+00:00"
},
{
"name": "sserbin/twig-linter",
@@ -3889,16 +3889,16 @@
},
{
"name": "symfony/console",
"version": "v6.4.27",
"version": "v6.4.30",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "13d3176cf8ad8ced24202844e9f95af11e2959fc"
"reference": "1b2813049506b39eb3d7e64aff033fd5ca26c97e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/13d3176cf8ad8ced24202844e9f95af11e2959fc",
"reference": "13d3176cf8ad8ced24202844e9f95af11e2959fc",
"url": "https://api.github.com/repos/symfony/console/zipball/1b2813049506b39eb3d7e64aff033fd5ca26c97e",
"reference": "1b2813049506b39eb3d7e64aff033fd5ca26c97e",
"shasum": ""
},
"require": {
@@ -3963,7 +3963,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v6.4.27"
"source": "https://github.com/symfony/console/tree/v6.4.30"
},
"funding": [
{
@@ -3983,20 +3983,20 @@
"type": "tidelift"
}
],
"time": "2025-10-06T10:25:16+00:00"
"time": "2025-12-05T13:47:41+00:00"
},
{
"name": "symfony/filesystem",
"version": "v7.3.6",
"version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
"reference": "e9bcfd7837928ab656276fe00464092cc9e1826a"
"reference": "d551b38811096d0be9c4691d406991b47c0c630a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/e9bcfd7837928ab656276fe00464092cc9e1826a",
"reference": "e9bcfd7837928ab656276fe00464092cc9e1826a",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/d551b38811096d0be9c4691d406991b47c0c630a",
"reference": "d551b38811096d0be9c4691d406991b47c0c630a",
"shasum": ""
},
"require": {
@@ -4005,7 +4005,7 @@
"symfony/polyfill-mbstring": "~1.8"
},
"require-dev": {
"symfony/process": "^6.4|^7.0"
"symfony/process": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -4033,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/v7.4.0"
},
"funding": [
{
@@ -4053,7 +4053,7 @@
"type": "tidelift"
}
],
"time": "2025-11-05T09:52:27+00:00"
"time": "2025-11-27T13:27:24+00:00"
},
{
"name": "symfony/finder",
@@ -4459,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"
},
@@ -4482,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": {
@@ -4525,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": [
{
@@ -4545,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.2",
"source": {
"type": "git",
"url": "https://github.com/vimeo/psalm.git",
"reference": "1e3b7f0a8ab32b23197b91107adc0a7ed8a05b51"
"reference": "bbd217fc98c0daa0a13aea2a7f119d03ba3fc9a0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/1e3b7f0a8ab32b23197b91107adc0a7ed8a05b51",
"reference": "1e3b7f0a8ab32b23197b91107adc0a7ed8a05b51",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/bbd217fc98c0daa0a13aea2a7f119d03ba3fc9a0",
"reference": "bbd217fc98c0daa0a13aea2a7f119d03ba3fc9a0",
"shasum": ""
},
"require": {
@@ -4581,7 +4582,7 @@
"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",
@@ -4663,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-11T08:58:52+00:00"
},
{
"name": "wapmorgan/php-deprecation-detector",

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%",
@@ -305,6 +306,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 +382,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 +401,7 @@
"SYS_ADMIN",
"SYS_CHROOT",
"FOWNER",
"CHOWN",
"MAC_OVERRIDE",
"BLOCK_SUSPEND",
"AUDIT_READ"
"CHOWN"
],
"cap_drop": [
"NET_RAW"
@@ -797,7 +796,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 +877,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.1@cf26e6debc366836754f359ece5b68629a1ee185"/>

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');
@@ -103,7 +104,7 @@ $app->get('/containers', function (Request $request, Response $response, array $
'is_backup_container_running' => $dockerActionManger->isBackupContainerRunning(),
'backup_exit_code' => $dockerActionManger->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(),
'last_backup_time' => $configurationManager->GetLastBackupTime(),

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

@@ -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;
}
@@ -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

@@ -155,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;
@@ -290,8 +290,8 @@ readonly class DockerActionManager {
}
} else if ($port === '%TALK_PORT%') {
$port = $this->configurationManager->GetTalkPort();
// Skip publishing talk port if it is set to 443
if ($port === '443') {
// Skip publishing talk tcp port if it is set to 443
if ($port === '443' && $protocol === 'tcp') {
continue;
}
}
@@ -415,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() !== '') {
@@ -431,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();
@@ -548,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(),

View File

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

View File

@@ -12,6 +12,7 @@ class CsrfExtension extends AbstractExtension implements GlobalsInterface {
) {
}
#[\Override]
public function getGlobals() : array
{
// CSRF token name and value

View File

@@ -17,7 +17,7 @@
<div class="container">
<main>
<h1>Nextcloud AIO v12.1.2</h1>
<h1>Nextcloud AIO v12.3.0</h1>
{# Add 2nd tab warning #}
<script type="text/javascript" src="second-tab-warning.js"></script>
@@ -476,23 +476,6 @@
<input type="submit" value="Create backup" onclick="return confirm('Create backup? Are you sure that you want to create a backup? This will stop all running containers and create the backup.')" />
</form>
{% if has_backup_run_once == false %}
<h3>Reset backup location</h3>
<p>
If the configured backup host location <strong>{{ borg_backup_host_location }}</strong>
{% if borg_remote_repo %}
or the remote repo <strong>{{ borg_remote_repo }}</strong>
{% endif %}
is wrong, you can reset it by clicking on the button below.
</p>
<form method="POST" action="api/configuration" class="xhr">
<input type="hidden" name="delete_borg_backup_location_vars" value="yes"/>
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
<input type="submit" value="Reset backup location" />
</form>
{% endif %}
{% if has_backup_run_once == true %}
<h3>Backup Viewer</h3>
<p>There is now a community container that allows to access your backups in a web session. See <a target="_blank" href="https://github.com/nextcloud/all-in-one/tree/main/community-containers/borgbackup-viewer"><strong>this documentation</strong></a>.</p>
@@ -518,6 +501,17 @@
<input type="submit" value="Restore selected backup" onclick="return confirm('Restore the selected backup? Are you sure that you want to restore the selected backup? This will stop all running containers and restore the selected backup. It is recommended to create a backup first. You might also want to check the backup integrity.')" />
</form>
<h3>Update backup list</h3>
<details>
<summary>Click here to reveal this option</summary>
<p>If you use an external snapshot tool to restore the server that runs AIO, you might run into a problem that the above listed available backups are not up-to-date to restore your server from. You can click the button below to update this list.</p>
<form method="POST" action="api/docker/backup-list" class="xhr">
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
<input type="submit" value="Update backup list" />
</form>
</details>
<h3>Daily backup and automatic updates</h3>
{% if daily_backup_time == "" %}
<p>By entering a time below and submitting it, you can enable daily backups. It will create them at the entered time in 24h format. E.g. <strong>04:00</strong> will create backups at 4 am UTC and <strong>16:00</strong> at 4 pm UTC. When creating the backup, containers will be stopped and restarted after the backup is complete.</p>
@@ -558,6 +552,21 @@
<p>This option is currently set. You can disable it again by clearing the field and submitting your changes.</p>
{% endif %}
{% endif %}
<h3>Reset backup location</h3>
<p>
If the configured backup host location <strong>{{ borg_backup_host_location }}</strong>
{% if borg_remote_repo %}
or the remote repo <strong>{{ borg_remote_repo }}</strong>
{% endif %}
is wrong or if you want to reset the backup location due to other reasons, you can do so by clicking on the button below.
</p>
<form method="POST" action="api/configuration" class="xhr">
<input type="hidden" name="delete_borg_backup_location_vars" value="yes"/>
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
<input type="submit" value="Reset backup location" onclick="return confirm('Are you sure that you want to reset the backup location?')" />
</form>
{% endif %}
{% if has_backup_run_once == true %}
</details>

View File

@@ -217,6 +217,7 @@ https://your-domain-that-points-to-this-server.tld:8443
- [How to adjust the internally used docker api version?](#how-to-adjust-the-internally-used-docker-api-version)
- [How to change the default location of Nextcloud's Datadir?](#how-to-change-the-default-location-of-nextclouds-datadir)
- [How to store the files/installation on a separate drive?](#how-to-store-the-filesinstallation-on-a-separate-drive)
- [How to limit the resource usage of AIO?](#how-to-limit-the-resource-usage-of-aio)
- [How to allow the Nextcloud container to access directories on the host?](#how-to-allow-the-nextcloud-container-to-access-directories-on-the-host)
- [How to adjust the Talk port?](#how-to-adjust-the-talk-port)
- [How to adjust the upload limit for Nextcloud?](#how-to-adjust-the-upload-limit-for-nextcloud)
@@ -465,6 +466,9 @@ You can move the whole docker library and all its files including all Nextcloud
This should solve the problem.
### How to limit the resource usage of AIO?
In some cases, you might want to limit the overall resource usage of AIO. You can do so by following [this documentation](https://github.com/nextcloud/all-in-one/discussions/7273). Another possibility is to use the [manual installation](./manual-install/).
### How to allow the Nextcloud container to access directories on the host?
By default, the Nextcloud container is confined and cannot access directories on the host OS. You might want to change this when you are planning to use local external storage in Nextcloud to store some files outside the data directory and can do so by adding the environmental variable `NEXTCLOUD_MOUNT` to the docker run command of the mastercontainer (but before the last line `ghcr.io/nextcloud-releases/all-in-one:latest`! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used). Allowed values for that variable are strings that start with `/` and are not equal to `/`.
@@ -641,7 +645,7 @@ See [multiple-instances.md](./multiple-instances.md) for some documentation on t
Nextcloud features a built-in bruteforce protection which may get triggered and will block an ip-address or disable a user. You can unblock an ip-address by running `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ security:bruteforce:reset <ip-address>` and enable a disabled user by running `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ user:enable <name of user>`. See https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html#security for further information. **Please note:** If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management
### How to switch the channel?
You can switch to a different channel like e.g. the beta channel or from the beta channel back to the latest channel by stopping the mastercontainer, removing it (no data will be lost) and recreating the container using the same command that you used initially to create the mastercontainer. You simply need to change the last line `ghcr.io/nextcloud-releases/all-in-one:latest` to `ghcr.io/nextcloud-releases/all-in-one:beta` and vice versa.
You can switch to a different channel like e.g. the beta channel or from the beta channel back to the latest channel by stopping the mastercontainer, removing it (no data will be lost) and recreating the container using the same command that you used initially to create the mastercontainer. You simply need to change the last line `ghcr.io/nextcloud-releases/all-in-one:latest` to `ghcr.io/nextcloud-releases/all-in-one:beta` and vice versa. ⚠️ In some rare occurrences, you might need to run `docker pull ghcr.io/nextcloud-releases/all-in-one:latest` or `docker pull ghcr.io/nextcloud-releases/all-in-one:beta` first before being able to use the image.
### How to update the containers?
If we push new containers to `latest`, you will see in the AIO interface below the `containers` section that new container updates were found. In this case, just press `Stop containers` and `Start and update containers` in order to update the containers. The mastercontainer has its own update procedure though. See below. And don't forget to back up the current state of your instance using the built-in backup solution before starting the containers again! Otherwise you won't be able to restore your instance easily if something should break during the update.
@@ -970,7 +974,7 @@ sudo borg compact
```
After doing so, make sure to update the backup archives list in the AIO interface!<br>
You can do so by clicking on the `Check backup integrity` button or `Create backup` button.
You can do so by clicking on the `Update backup list` button in the `Update backup list` section inside the `Backup and restore` section.
---

View File

@@ -36,7 +36,7 @@ Requirements:
- A public IP address that is reachable from the Internet (it does **not** need to be static, but it must not be behind carrier-grade NAT, which some ISPs use to share IP addresses among multiple customers).
- Port `443/tcp` on that IP must be available for AIO's exclusive use, and it must be opened/forwarded on your internet-facing firewall/router to the AIO host.[^talkPort]
**If AIO's integrated HTTPS support and internal reverse proxy meet your requirements, you do not need to proceed further. Follow the [standard Nextcloud AIO instructions](https://github.com/nextcloud/all-in-one?tab=readme-ov-file#how-to-use-this).**
**If AIO's integrated HTTPS support and internal reverse proxy meet your requirements, you do not need to proceed further. Follow the [standard Nextcloud AIO instructions](https://github.com/nextcloud/all-in-one#how-to-use-this).**
### External: Using AIO with an external reverse proxy (e.g., *Caddy, Nginx, Cloudflare Proxy*)
@@ -95,7 +95,7 @@ To make your Nextcloud AIO instance accessible from the public Internet (not jus
| **Tailscale Funnel** | Public Internet | None | Public access through Tailscale |
> [!TIP]
> Because of how [Cloudflare's Tunnel/Proxy operate](https://github.com/nextcloud/all-in-one/tree/main?tab=readme-ov-file#notes-on-cloudflare-proxytunnel), we recommend using Tailscale with Nextcloud when possible. Tailscale typically offers better performance and fewer trade-offs/limitations for Nextcloud.
> Because of how [Cloudflare's Tunnel/Proxy operate](https://github.com/nextcloud/all-in-one/tree/main#notes-on-cloudflare-proxytunnel), we recommend using Tailscale with Nextcloud when possible. Tailscale typically offers better performance and fewer trade-offs/limitations for Nextcloud.
>
> **For private/personal use**: [Tailscale Serve](https://tailscale.com/kb/1312/serve) is ideal - it keeps your Nextcloud completely private to your tailnet.
>
@@ -870,6 +870,11 @@ The examples below define the dynamic configuration in YAML files. If you rather
transport:
respondingTimeouts:
readTimeout: 24h # Allows uploads > 100MB; prevents connection reset due to chunking (public upload-only links)
http:
# Required for Nextcloud to correctly handle encoded URL characters (%2F and %3F in this case) in newer Traefik versions (v3.6.4+).
encodedCharacters:
allowEncodedSlash: true
allowEncodedQuestionMark: true
# If you want to enable HTTP/3 support, uncomment the line below
# http3: {}
@@ -1108,7 +1113,7 @@ Enter your domain in the AIO interface that you've used in the reverse proxy con
### 5. Optional: Configure AIO for reverse proxies that connect to nextcloud using an ip-address and not localhost nor 127.0.0.1
If your reverse proxy connects to nextcloud using an ip-address and not localhost or 127.0.0.1<sup>*</sup> you must make the following configuration changes
<small>*: The IP address it uses to connect to AIO is not in a private IP range such as these: `127.0.0.1/8,192.168.0.0/16,172.16.0.0/12,10.0.0.0/8,fd00::/8,::1`</small>
<small>*: The IP address it uses to connect to AIO is not in a private IP range such as these: `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`</small>
#### Nextcloud trusted proxies
Add the IP it uses connect to AIO to the Nextcloud trusted_proxies like this:
@@ -1120,7 +1125,7 @@ sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:syst
#### Collabora WOPI allow list
If your reverse proxy connects to Nextcloud with an IP address that is different from the one for your domain<sup>*</sup> and you are using the Collabora server then you must also add the IP to the WOPI request allow list via `Administration Settings > Administration > Office > Allow list for WOPI requests`.
<small>*: For example, the reverse proxy has a public globally routable IP and connects to your AIO instance via Tailscale with an IP in the `100.64.0.0/10` range, or you are using a Cloudflare tunnel ([cloudflare notes](https://github.com/nextcloud/all-in-one?tab=readme-ov-file#notes-on-cloudflare-proxytunnel): You must add all [Cloudflare IP-Ranges](https://www.cloudflare.com/ips/) to the WOPI allowlist.)</small>
<small>*: For example, the reverse proxy has a public globally routable IP and connects to your AIO instance via Tailscale with an IP in the `100.64.0.0/10` range, or you are using a Cloudflare tunnel ([cloudflare notes](https://github.com/nextcloud/all-in-one#notes-on-cloudflare-proxytunnel): You must add all [Cloudflare IP-Ranges](https://www.cloudflare.com/ips/) to the WOPI allowlist.)</small>
#### External reverse proxies connecting via VPN (e.g. Tailscale)
@@ -1174,7 +1179,7 @@ If you, at some point, want to remove the reverse proxy, here are some general s
sudo docker rm nextcloud-aio-mastercontainer
```
3. Remove the software and configuration file that you used for the reverse proxy (see section 1).
4. Restart the mastercontainer with the [docker run command from the main readme](https://github.com/nextcloud/all-in-one?tab=readme-ov-file#how-to-use-this) but add the two options:
4. Restart the mastercontainer with the [docker run command from the main readme](https://github.com/nextcloud/all-in-one#how-to-use-this) but add the two options:
```
--env APACHE_IP_BINDING=0.0.0.0 \
--env APACHE_PORT=443 \

6
zizmor.yml Normal file
View File

@@ -0,0 +1,6 @@
rules:
excessive-permissions:
disable: true
dangerous-triggers:
ignore:
- build_images.yml