Compare commits

..

101 Commits

Author SHA1 Message Date
Simon L.
abbe6a85cf build(deps): bump docker from 29.5.0-cli to 29.5.1-cli in /Containers/mastercontainer (#8177) 2026-05-20 10:50:58 +02:00
dependabot[bot]
20835baa0c build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 29.5.0-cli to 29.5.1-cli.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-20 08:36:32 +00:00
Simon L.
a32568cc9c mastercontainer: run session-deduplicator as www-data (#8175) 2026-05-20 10:20:56 +02:00
Dimas D. Angga
c6748dc450 fix(mastercontainer): run session-deduplicator as www-data
The session-deduplicator only touches files under /mnt/docker-aio-config/session/, which is already owned by www-data, so running it as root grants more privilege than it needs. Dropping to www-data reduces the number of root-owned processes in the mastercontainer and follows least-privilege for the supervisord program set.
2026-05-20 09:32:49 +07:00
Tim Alexander Neuenbauer
6288665170 home-assistant: Update readme.md (#8055) 2026-05-19 16:25:28 +02:00
Simon L.
a3d84cce7b add warning notice to minio container that minio is not maintained any more (#8131) 2026-05-18 19:18:01 +02:00
Simon L.
535a0ffbd2 add a comment to clarify the reason for the condition added in PR 8145 (#8147) 2026-05-18 19:16:13 +02:00
Simon L.
1d947355ab Yaml updates (#8152) 2026-05-18 19:15:33 +02:00
Gaetano Giunta
fdfd479db7 aio-interface: make sure ublock does not break the log viewer (#8148) 2026-05-18 18:55:18 +02:00
gggeek
d4da301c9a improve the notice about minio deprecation in the readme of the community container
Signed-off-by: Gaetano Giunta <giunta.gaetano@gmail.com>
2026-05-18 15:57:15 +00:00
gggeek
4c0b28f70d add warning notice to minio container that minio is not maintained any more
Signed-off-by: Gaetano Giunta <giunta.gaetano@gmail.com>
2026-05-18 15:57:15 +00:00
gggeek
34429865fe add a comment to clarify the reason for the condition added in PR 8145
Signed-off-by: Gaetano Giunta <giunta.gaetano@gmail.com>
2026-05-18 15:56:22 +00:00
szaimen
aa115110d5 Yaml updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-18 13:28:25 +00:00
Simon L.
01365c817f fix: apache container not stopping on SIGTERM (#8051) 2026-05-18 12:48:54 +02:00
Simon L.
774bd38f79 notify-push: allow to put the binary into the nextcloud apps dir directly (#8050) 2026-05-18 12:48:09 +02:00
Simon L.
82fc4635a2 aio-interface: add custom error handler for 405 errors (#8058) 2026-05-18 12:40:02 +02:00
Simon L.
e8b9e25cf8 small style improvements to compose.yaml comments (#8132) 2026-05-18 12:31:31 +02:00
Simon L.
d6a06f9e79 talk-recording: add Intel VAAPI driver to talk-recording container (#8143) 2026-05-18 12:31:08 +02:00
Simon L.
8e19b7165d apache: revert some changes to nextcloud.conf (#8146) 2026-05-18 12:31:00 +02:00
Simon L.
7ae8f729fb PHP dependency updates (#8115) 2026-05-18 12:01:47 +02:00
Simon L.
e6c340779f Remove HARP_HOST environment variable from manual-install YAML file (#8121) 2026-05-18 12:01:21 +02:00
Simon L.
e9a2076a9c apache: revert some changes to nextcloud.conf
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-05-18 11:56:14 +02:00
Simon L.
a571faa4a5 build(deps): bump nextcloud-releases/whiteboard from v1.5.7 to v1.5.8 in /Containers/whiteboard (#8142) 2026-05-18 11:52:50 +02:00
Simon L.
cdda9ea637 build(deps): bump docker from 29.4.3-cli to 29.5.0-cli in /Containers/mastercontainer (#8141) 2026-05-18 11:52:36 +02:00
Simon L.
dca9c6b2e2 fix(ci): skip helm-release workflow on forks (#8145) 2026-05-18 11:52:07 +02:00
Arya Rizky
af7c1d02fd fix(ci): skip helm-release workflow on forks
The helm-release workflow fails on forks because they don't have
a gh-pages branch set up for Helm chart publication. Add a
conditional check to only run this workflow on the upstream
nextcloud/all-in-one repository.

Fixes #8128
2026-05-18 16:10:57 +07:00
copilot-swe-agent[bot]
1a70a9e9fd fix: add Intel VAAPI driver (intel-media-driver) to talk-recording container
Agent-Logs-Url: https://github.com/nextcloud/all-in-one/sessions/797873dc-7a28-424f-92d0-8e91bb47f6a0

Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>
2026-05-18 07:34:40 +00:00
dependabot[bot]
0837266f86 build(deps): bump nextcloud-releases/whiteboard
Bumps nextcloud-releases/whiteboard from v1.5.7 to v1.5.8.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-18 04:57:41 +00:00
dependabot[bot]
ea9eca44c2 build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 29.4.3-cli to 29.5.0-cli.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-18 04:56:43 +00:00
gggeek
3fc84ee784 small style improvements to compose.yaml comments 2026-05-17 13:44:00 +00:00
szaimen
bf445e699f php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-17 12:16:34 +00:00
Francesco Saltori
a03df48865 Remove HARP_HOST from manual-install YAML file
Signed-off-by: Francesco Saltori <francescosaltori@gmail.com>
2026-05-16 20:09:34 +02:00
Simon L.
cbea0730d3 LLDAP: update image and tag and change it to ghcr.io (#8020) 2026-05-16 13:03:58 +02:00
Simon L.
6c33a96980 Helm Chart updates (#8116) 2026-05-16 09:26:26 +02:00
szaimen
6a07493f4d Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-15 16:24:41 +00:00
Simon L.
e510e14550 fix watchtower
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-05-15 15:58:07 +02:00
Simon L.
1c5169c9e4 increase to 13.0.4
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-05-15 15:38:22 +02:00
Simon L.
b0c00866d4 Add default AIO_LOG_LEVEL=warn for watchtower and borgbackup containers (#8111) 2026-05-15 15:36:03 +02:00
copilot-swe-agent[bot]
ba48b8134f Add default AIO_LOG_LEVEL=warn for watchtower and borgbackup containers
Agent-Logs-Url: https://github.com/nextcloud/all-in-one/sessions/8383605e-b72f-4f47-a4a8-a930d2f8a25c
Co-Authored-By: szaimen <42591237+szaimen@users.noreply.github.com>
2026-05-15 15:35:20 +02:00
Simon L.
0a553459ab build(deps): bump python from 3.14.3-alpine3.23 to 3.14.5-alpine3.23 in /Containers/talk-recording (#8107) 2026-05-15 09:01:25 +02:00
Simon L.
f42e669704 build(deps): bump postgres from 18.3-alpine to 18.4-alpine in /Containers/postgresql (#8106) 2026-05-15 09:01:05 +02:00
dependabot[bot]
483d562b20 build(deps): bump python in /Containers/talk-recording
Bumps python from 3.14.3-alpine3.23 to 3.14.5-alpine3.23.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-15 04:24:00 +00:00
dependabot[bot]
5a77d4e842 build(deps): bump postgres in /Containers/postgresql
Bumps postgres from 18.3-alpine to 18.4-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-15 04:23:40 +00:00
Simon L.
c5b853e50b PHP dependency updates (#8100) 2026-05-14 21:36:05 +02:00
szaimen
2a757d3d66 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-14 12:33:14 +00:00
Simon L.
19b94f40d5 fix it
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-05-13 16:10:10 +02:00
Simon L.
33f40632dd release helm chart another time
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-05-13 16:08:50 +02:00
Simon L.
574a408d10 build(deps): bump caddy from 2.11.2-builder-alpine to 2.11.3-builder-alpine in /Containers/mastercontainer (#8087) 2026-05-13 11:26:30 +02:00
Simon L.
79dd1286e9 build(deps): bump elasticsearch from 9.4.0 to 9.4.1 in /Containers/fulltextsearch (#8086) 2026-05-13 11:26:18 +02:00
Simon L.
96002b185d build(deps): bump caddy from 2.11.2-alpine to 2.11.3-alpine in /Containers/apache (#8085) 2026-05-13 11:26:03 +02:00
Simon L.
3828b1ae3d build(deps): bump haproxy from 3.3.8-alpine to 3.3.10-alpine in /Containers/docker-socket-proxy (#8080) 2026-05-13 11:25:51 +02:00
Simon L.
cdad9614cd build(deps): bump softprops/turnstyle from 3.2.3 to 3.2.4 in /.github/workflows (#8079) 2026-05-13 11:25:36 +02:00
Simon L.
c55ae87002 build(deps): bump docker from 29.4.1-cli to 29.4.3-cli in /Containers/mastercontainer (#8075) 2026-05-13 11:25:23 +02:00
Simon L.
3021f256ce build(deps): bump php from 8.5.5-fpm-alpine3.23 to 8.5.6-fpm-alpine3.23 in /Containers/mastercontainer (#8074) 2026-05-13 11:25:09 +02:00
Simon L.
124a6d295b build(deps): bump golang from 1.26.2-alpine3.23 to 1.26.3-alpine3.23 in /Containers/watchtower (#8069) 2026-05-13 11:24:57 +02:00
Simon L.
0c6c1caa90 build(deps): bump php from 8.3.30-fpm-alpine3.23 to 8.3.31-fpm-alpine3.23 in /Containers/nextcloud (#8068) 2026-05-13 11:24:44 +02:00
Simon L.
889096ab2b build(deps): bump golang from 1.26.2-alpine3.23 to 1.26.3-alpine3.23 in /Containers/imaginary (#8067) 2026-05-13 11:24:28 +02:00
Simon L.
cf2fb5f58d PHP dependency updates (#8025) 2026-05-13 11:24:13 +02:00
Simon L.
76c03d11f0 talk container update (#8024) 2026-05-13 11:23:26 +02:00
Simon L.
1bc3896314 fix the file
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-05-13 11:22:22 +02:00
Simon L.
d86ff57d2f Imaginary update (#8022) 2026-05-13 11:20:40 +02:00
Simon L.
a93e9ff0c6 build(deps): bump actions/setup-node from 6.3.0 to 6.4.0 in /.github/workflows (#8012) 2026-05-13 11:20:29 +02:00
Simon L.
b25b0e1075 another time
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-05-13 11:19:26 +02:00
Simon L.
e4d92bdea6 fix helm chart release
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-05-13 11:18:10 +02:00
Simon L.
d9332ef966 Helm Chart updates (#8088) 2026-05-13 11:15:00 +02:00
szaimen
9d53188df3 Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-13 09:12:26 +00:00
Simon L.
acb18004de Yaml updates (#8023) 2026-05-13 11:03:35 +02:00
dependabot[bot]
70a0a4a361 build(deps): bump caddy in /Containers/mastercontainer
Bumps caddy from 2.11.2-builder-alpine to 2.11.3-builder-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-13 04:20:59 +00:00
dependabot[bot]
aa7ff451b8 build(deps): bump elasticsearch in /Containers/fulltextsearch
Bumps elasticsearch from 9.4.0 to 9.4.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-13 04:20:45 +00:00
dependabot[bot]
5eb6850d92 build(deps): bump caddy in /Containers/apache
Bumps caddy from 2.11.2-alpine to 2.11.3-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-13 04:20:36 +00:00
dependabot[bot]
78b4bea957 build(deps): bump haproxy in /Containers/docker-socket-proxy
Bumps haproxy from 3.3.8-alpine to 3.3.10-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-12 09:09:47 +00:00
dependabot[bot]
0af08104f5 build(deps): bump softprops/turnstyle in /.github/workflows
Bumps [softprops/turnstyle](https://github.com/softprops/turnstyle) from 3.2.3 to 3.2.4.
- [Release notes](https://github.com/softprops/turnstyle/releases)
- [Changelog](https://github.com/softprops/turnstyle/blob/master/CHANGELOG.md)
- [Commits](e565d2d864...e15e934b3f)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-11 18:56:50 +00:00
dependabot[bot]
df14efa1ef build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 29.4.1-cli to 29.4.3-cli.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-11 04:24:27 +00:00
dependabot[bot]
f5d35f0197 build(deps): bump php in /Containers/mastercontainer
Bumps php from 8.5.5-fpm-alpine3.23 to 8.5.6-fpm-alpine3.23.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-11 04:24:24 +00:00
szaimen
901cd8ccef php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-09 12:15:45 +00:00
szaimen
9ed2b32d3e talk-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-08 12:27:17 +00:00
szaimen
5c1d85b27d Yaml updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-08 12:25:30 +00:00
szaimen
55a4ffab63 imaginary-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-08 12:25:14 +00:00
dependabot[bot]
846bc06bc5 build(deps): bump golang in /Containers/watchtower
Bumps golang from 1.26.2-alpine3.23 to 1.26.3-alpine3.23.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-08 04:22:41 +00:00
dependabot[bot]
441a2a28e3 build(deps): bump php in /Containers/nextcloud
Bumps php from 8.3.30-fpm-alpine3.23 to 8.3.31-fpm-alpine3.23.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-08 04:22:05 +00:00
dependabot[bot]
df9971b249 build(deps): bump golang in /Containers/imaginary
Bumps golang from 1.26.2-alpine3.23 to 1.26.3-alpine3.23.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-08 04:21:27 +00:00
Simon L.
15ae285d9f increase to 13.0.3
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-05-07 16:22:14 +02:00
Simon L.
1fa4f3b6a3 aio-interface: change session cookie SameSite from Strict to Lax to fix cross-site getlogin flow (#8064) 2026-05-07 16:10:18 +02:00
copilot-swe-agent[bot]
654c39ff1e fix: change session cookie SameSite from Strict to Lax to fix cross-site getlogin flow
Agent-Logs-Url: https://github.com/nextcloud/all-in-one/sessions/acf6148d-63c7-4ee2-a856-6de7de68118d

Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>
2026-05-07 07:53:51 +00:00
Simon L.
91d59af4dc increase to 13.0.2
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-05-06 13:03:28 +02:00
Simon L.
5091f27e87 build(deps): bump redis from 8.6.2-alpine to 8.6.3-alpine in /Containers/redis (#8061) 2026-05-06 13:00:57 +02:00
Simon L.
c74d08902e build(deps): bump elasticsearch from 9.3.3 to 9.4.0 in /Containers/fulltextsearch (#8060) 2026-05-06 13:00:45 +02:00
Simon L.
216c73d3aa build(deps): bump httpd from 2.4.66-alpine3.23 to 2.4.67-alpine3.23 in /Containers/apache (#8059) 2026-05-06 13:00:34 +02:00
Simon L.
6c1c33e069 build(deps): bump haproxy from 3.3.7-alpine to 3.3.8-alpine in /Containers/docker-socket-proxy (#8047) 2026-05-06 13:00:22 +02:00
Simon L.
f0949a8746 build(deps): bump nats from 2.12.8-scratch to 2.14.0-scratch in /Containers/talk (#8037) 2026-05-06 13:00:08 +02:00
dependabot[bot]
79eccd576d build(deps): bump redis in /Containers/redis
Bumps redis from 8.6.2-alpine to 8.6.3-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-06 04:20:08 +00:00
dependabot[bot]
323a34a437 build(deps): bump elasticsearch in /Containers/fulltextsearch
Bumps elasticsearch from 9.3.3 to 9.4.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-06 04:19:29 +00:00
dependabot[bot]
f2076fa56b build(deps): bump httpd in /Containers/apache
Bumps httpd from 2.4.66-alpine3.23 to 2.4.67-alpine3.23.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-06 04:19:18 +00:00
Simon L.
5bb2778fb7 aio-interface: add custom error handler for 405 errors
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-05-05 17:30:07 +02:00
Simon L.
3b3c8ba25c Apply suggestion from @szaimen
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-05-04 15:10:51 +02:00
copilot-swe-agent[bot]
0be797a531 fix: use httpd directly instead of apachectl to fix SIGTERM handling
Agent-Logs-Url: https://github.com/nextcloud/all-in-one/sessions/6e288352-eba8-4697-978e-d0b11349fe3f

Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>
2026-05-04 11:11:45 +00:00
Simon L.
490a1811c8 notify-push: allow to put the binary into the nextcloud apps dir directly
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-05-04 13:02:09 +02:00
dependabot[bot]
1e064fed8a build(deps): bump haproxy in /Containers/docker-socket-proxy
Bumps haproxy from 3.3.7-alpine to 3.3.8-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-04 04:20:18 +00:00
dependabot[bot]
bc2105d668 build(deps): bump nats in /Containers/talk
Bumps nats from 2.12.8-scratch to 2.14.0-scratch.

---
updated-dependencies:
- dependency-name: nats
  dependency-version: 2.14.0-scratch
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-01 04:27:45 +00:00
Simon L.
035e270245 LLDAP: update image and tag and change it to ghcr.io
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-04-29 09:24:18 +02:00
dependabot[bot]
0dd6ab3f2c build(deps): bump actions/setup-node in /.github/workflows
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6.3.0 to 6.4.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](53b83947a5...48b55a011b)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 6.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-27 14:26:15 +00:00
61 changed files with 226 additions and 539 deletions

View File

@@ -10,13 +10,16 @@ on:
jobs:
release:
# Do not run this workflow on forked repositories, as they might not have the `gh-pages` branch created, or might
# want to use it for other purposes than publishing helm charts
if: github.repository == 'nextcloud/all-in-one'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Turnstyle
uses: softprops/turnstyle@e565d2d86403c5d23533937e95980570545e5586 # v2
uses: softprops/turnstyle@e15e934b3f69ee283ba389ea05c8886baa656d93 # v2
with:
continue-after-seconds: 180
env:

View File

@@ -30,7 +30,7 @@ jobs:
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: lts/*

View File

@@ -15,7 +15,7 @@ jobs:
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: lts/*

View File

@@ -51,15 +51,6 @@ http://{$APACHE_HOST}.nextcloud-aio:23973, # For Collabora callback and WOPI req
}
}
# EuroOffice
route /eurooffice/* {
uri strip_prefix /eurooffice
reverse_proxy {$EUROOFFICE_HOST}:80 {
header_up X-Forwarded-Host {http.request.hostport}/eurooffice
header_up X-Forwarded-Proto https
}
}
# Talk
route /standalone-signaling/* {
uri strip_prefix /standalone-signaling

View File

@@ -1,8 +1,8 @@
# syntax=docker/dockerfile:latest
FROM caddy:2.11.2-alpine AS caddy
FROM caddy:2.11.3-alpine AS caddy
# From https://github.com/docker-library/httpd/blob/master/2.4/alpine/Dockerfile
FROM httpd:2.4.66-alpine3.23
FROM httpd:2.4.67-alpine3.23
COPY --from=caddy /usr/bin/caddy /usr/bin/caddy

View File

@@ -9,34 +9,6 @@ Listen 8000
ErrorLogFormat "[%t] [%l] [%E] [client: %{X-Forwarded-For}i] [%M] [%{User-Agent}i]"
LogLevel ${AIO_LOG_LEVEL}
# KeepAlive On: allow the same TCP connection to carry multiple HTTP requests.
# Without this each asset (JS, CSS, image) would require a full TCP handshake,
# which is especially expensive on TLS connections and noticeably slows down
# Nextcloud's login page and file manager that load dozens of resources at once.
KeepAlive On
# KeepAliveTimeout: close an idle keep-alive connection after 5 seconds.
# A short timeout frees Apache worker threads quickly so they are available
# for new requests; 5 s is long enough to cover the gap between requests
# that a browser issues while rendering a page (typically < 1 s), yet short
# enough to avoid holding threads open for idle or slow clients.
KeepAliveTimeout 5
# MaxKeepAliveRequests: allow at most 500 requests per persistent connection.
# 100 (the Apache default) is too low for Nextcloud: the desktop and mobile
# sync clients issue many small API calls (PROPFIND, GET, PUT, checksums …)
# per sync cycle and routinely exceed 100 requests on a single connection.
# Hitting the limit forces a new TCP/TLS handshake, adding latency and CPU
# overhead. 500 gives sync clients enough headroom while still periodically
# recycling threads to contain per-process memory growth.
MaxKeepAliveRequests 500
# sendfile(2) is disabled because it bypasses Apache's output-filter chain: with
# it enabled, mod_brotli is silently skipped for static files (JS, CSS, SVG),
# negating the compression configured below. MMAP is also
# disabled because files can be replaced by Nextcloud at any time and mmap'd
# pages could serve stale data.
EnableSendfile Off
EnableMMAP Off
# PHP match
<FilesMatch "\.php$">
SetHandler "proxy:fcgi://${NEXTCLOUD_HOST}:9000"
@@ -45,17 +17,12 @@ Listen 8000
<Proxy "fcgi://${NEXTCLOUD_HOST}:9000" flushpackets=on>
</Proxy>
# Compress JS, CSS and SVG responses with Brotli (quality 4 gives good
# compression with reasonable CPU cost; the default of 0 barely compresses).
# Compress JS, CSS and SVG responses with Brotli.
# Other plain-text files are already compressed by Nextcloud itself.
# No deflate fallback is needed: every browser that Nextcloud supports
# (Chrome 49+, Firefox 44+, Safari 11+, Edge 15+ — all from 2016-2017)
# supports Brotli. Internet Explorer, the only browser that never gained
# Brotli support, was dropped by Nextcloud with NC15 (2019).
# Desktop and mobile sync clients never request JS/CSS/SVG assets.
<IfModule mod_brotli.c>
AddOutputFilterByType BROTLI_COMPRESS text/javascript application/javascript application/x-javascript text/css image/svg+xml
BrotliCompressionQuality 4
BrotliCompressionQuality 0
</IfModule>
# Nextcloud dir

View File

@@ -12,7 +12,7 @@ loglevel=%(ENV_AIO_LOG_LEVEL)s
stdout_logfile=%(ENV_SUPERVISORD_STDOUT)s
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=apachectl -DFOREGROUND
command=httpd -DFOREGROUND
[program:caddy]
stdout_logfile=/dev/stdout

View File

@@ -31,4 +31,5 @@ LABEL com.centurylinklabs.watchtower.enable="false" \
org.opencontainers.image.source="https://github.com/nextcloud/all-in-one" \
org.opencontainers.image.vendor="Nextcloud" \
org.opencontainers.image.documentation="https://github.com/nextcloud/all-in-one/blob/main/readme.md"
ENV BORG_RETENTION_POLICY="--keep-within=7d --keep-weekly=4 --keep-monthly=6"
ENV BORG_RETENTION_POLICY="--keep-within=7d --keep-weekly=4 --keep-monthly=6" \
AIO_LOG_LEVEL="warn"

View File

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

View File

@@ -1,16 +0,0 @@
# syntax=docker/dockerfile:latest
FROM eurooffice/documentserver:latest
# USER root is probably used
COPY --chmod=775 healthcheck.sh /healthcheck.sh
HEALTHCHECK --start-period=60s --retries=9 CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \
org.opencontainers.image.title="EuroOffice for Nextcloud AIO" \
org.opencontainers.image.description="EuroOffice Document Server for Nextcloud All-in-One" \
org.opencontainers.image.url="https://github.com/nextcloud/all-in-one" \
org.opencontainers.image.source="https://github.com/nextcloud/all-in-one" \
org.opencontainers.image.vendor="Nextcloud" \
org.opencontainers.image.documentation="https://github.com/nextcloud/all-in-one/blob/main/readme.md"

View File

@@ -1,7 +0,0 @@
#!/bin/bash
if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
fi
nc -z 127.0.0.1 80 || exit 1

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# Probably from here https://github.com/elastic/dockerfiles/blob/9.3/elasticsearch/Dockerfile
FROM elasticsearch:9.3.3
FROM elasticsearch:9.4.1
USER root

View File

@@ -1,7 +1,7 @@
# syntax=docker/dockerfile:latest
FROM golang:1.26.2-alpine3.23 AS go
FROM golang:1.26.3-alpine3.23 AS go
ENV IMAGINARY_HASH=6a274b488759a896aff02f52afee6e50b5e3a3ee
ENV IMAGINARY_HASH=6a274b488759a896aff02f52afee6e50b5e3a3ee
RUN set -ex; \
apk upgrade --no-cache -a; \

View File

@@ -1,17 +1,17 @@
# syntax=docker/dockerfile:latest
# Docker CLI is a requirement
FROM docker:29.4.1-cli AS docker
FROM docker:29.5.1-cli AS docker
ARG CADDY_REMOTE_HOST_HASH=b21775afa730ffb52a24ddff310c8a6d1fd37276
ARG CADDY_REMOTE_HOST_HASH=e80a9931765a8dbcbb47db415863387f0df0e1b3
# Caddy is a requirement
FROM caddy:2.11.2-builder-alpine AS caddy
FROM caddy:2.11.3-builder-alpine AS caddy
RUN set -ex; \
xcaddy build --with github.com/muety/caddy-remote-host@"$CADDY_REMOTE_HOST_HASH"; \
/usr/bin/caddy list-modules
# From https://github.com/docker-library/php/blob/master/8.5/alpine3.23/fpm/Dockerfile
FROM php:8.5.5-fpm-alpine3.23
FROM php:8.5.6-fpm-alpine3.23
EXPOSE 80
EXPOSE 8080

View File

@@ -54,7 +54,7 @@ stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=/session-deduplicator.sh
user=root
user=www-data
[program:domain-validator]
# Logging is disabled as otherwise all attempts will be logged which spams the logs

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM php:8.3.30-fpm-alpine3.23
FROM php:8.3.31-fpm-alpine3.23
ENV PHP_MEMORY_LIMIT=512M
ENV PHP_UPLOAD_LIMIT=16G

View File

@@ -896,58 +896,6 @@ else
fi
fi
# EuroOffice
if [ "$EUROOFFICE_ENABLED" = 'yes' ]; then
# Determine EuroOffice port based on host pattern
if echo "$EUROOFFICE_HOST" | grep -q "nextcloud-.*-eurooffice"; then
EUROOFFICE_PORT=80
else
EUROOFFICE_PORT=443
fi
count=0
while ! nc -z "$EUROOFFICE_HOST" "$EUROOFFICE_PORT" && [ "$count" -lt 90 ]; do
echo "Waiting for EuroOffice to become available..."
count=$((count+5))
sleep 5
done
if [ "$count" -ge 90 ]; then
bash /notify.sh "EuroOffice did not start in time!" "Skipping initialization and disabling eurooffice app."
php /var/www/html/occ app:disable eurooffice
else
# Install or enable EuroOffice app as needed
if ! [ -d "/var/www/html/custom_apps/eurooffice" ]; then
php /var/www/html/occ app:install eurooffice
elif [ "$(php /var/www/html/occ config:app:get eurooffice enabled)" != "yes" ]; then
php /var/www/html/occ app:enable eurooffice
elif [ "$SKIP_UPDATE" != 1 ]; then
php /var/www/html/occ app:update eurooffice
fi
# Set EuroOffice configuration
php /var/www/html/occ config:system:set eurooffice editors_check_interval --value="0" --type=integer
php /var/www/html/occ config:system:set eurooffice jwt_secret --value="$EUROOFFICE_SECRET"
php /var/www/html/occ config:app:set eurooffice jwt_secret --value="$EUROOFFICE_SECRET"
php /var/www/html/occ config:system:set eurooffice jwt_header --value="AuthorizationJwt"
# Adjust the EuroOffice host if using internal pattern
if echo "$EUROOFFICE_HOST" | grep -q "nextcloud-.*-eurooffice"; then
EUROOFFICE_HOST="$NC_DOMAIN/eurooffice"
export EUROOFFICE_HOST
fi
php /var/www/html/occ config:app:set eurooffice DocumentServerUrl --value="https://$EUROOFFICE_HOST"
fi
else
# Remove EuroOffice app if disabled and removal is requested
if [ "$REMOVE_DISABLED_APPS" = yes ] && \
[ -d "/var/www/html/custom_apps/eurooffice" ] && \
[ -n "$EUROOFFICE_SECRET" ] && \
[ "$(php /var/www/html/occ config:system:get eurooffice jwt_secret)" = "$EUROOFFICE_SECRET" ]; then
php /var/www/html/occ app:remove eurooffice
fi
fi
# Talk
if [ "$TALK_ENABLED" = 'yes' ]; then
set -x

View File

@@ -28,7 +28,7 @@ elif [ "$CPU_ARCH" != "x86_64" ]; then
fi
# Add warning
if ! [ -f /var/www/html/custom_apps/notify_push/bin/"$CPU_ARCH"/notify_push ]; then
if ! [ -f /var/www/html/custom_apps/notify_push/bin/"$CPU_ARCH"/notify_push ] && ! [ -f /var/www/html/apps/notify_push/bin/"$CPU_ARCH"/notify_push ]; then
echo "The notify_push binary was not found."
echo "Most likely is DNS resolution not working correctly."
echo "You can try to fix this by configuring a DNS server globally in dockers daemon.json."
@@ -44,7 +44,13 @@ fi
echo "notify-push was started"
if [ -f /var/www/html/custom_apps/notify_push/bin/"$CPU_ARCH"/notify_push ]; then
PUSH_PATH="/var/www/html/custom_apps/notify_push/bin/$CPU_ARCH/notify_push"
else
PUSH_PATH="/var/www/html/apps/notify_push/bin/$CPU_ARCH/notify_push"
fi
# Run it
exec /var/www/html/custom_apps/notify_push/bin/"$CPU_ARCH"/notify_push \
exec "$PUSH_PATH" \
--port 7867 \
/var/www/html/config/config.php

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# From https://github.com/docker-library/postgres/blob/master/18/alpine3.23/Dockerfile
FROM postgres:18.3-alpine
FROM postgres:18.4-alpine
ENV PGDATA=/var/lib/postgresql/data

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# From https://github.com/redis/docker-library-redis/blob/release/8.2/alpine/Dockerfile
FROM redis:8.6.2-alpine
FROM redis:8.6.3-alpine
COPY --chmod=775 start.sh /start.sh

View File

@@ -1,11 +1,11 @@
# syntax=docker/dockerfile:latest
FROM python:3.14.3-alpine3.23
FROM python:3.14.5-alpine3.23
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh
ENV RECORDING_VERSION=v0.2.1 \
ALLOW_ALL=false \
ENV RECORDING_VERSION=v0.2.1
ENV ALLOW_ALL=false \
HPB_PROTOCOL=https \
NC_PROTOCOL=https \
SKIP_VERIFY=false \
@@ -35,6 +35,9 @@ RUN set -ex; \
build-base \
linux-headers \
geckodriver; \
if [ "$(apk --print-arch)" = "x86_64" ]; then \
apk add --no-cache intel-media-driver; \
fi; \
useradd -d /tmp --system recording -u 122; \
# Give root a random password
echo "root:$(openssl rand -base64 12)" | chpasswd; \

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM nats:2.12.8-scratch AS nats
FROM nats:2.14.0-scratch AS nats
FROM eturnal/eturnal:1.12.2-alpine AS eturnal
FROM strukturag/nextcloud-spreed-signaling:2.1.1 AS signaling
FROM alpine:3.23.4 AS janus

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM golang:1.26.2-alpine3.23 AS go
FROM golang:1.26.3-alpine3.23 AS go
ENV WATCHTOWER_COMMIT_HASH=652c89577076f6bc6f2af4465217589641216ee3
@@ -22,6 +22,8 @@ COPY --chmod=775 start.sh /start.sh
# hadolint ignore=DL3002
USER root
ENV AIO_LOG_LEVEL="warn"
ENTRYPOINT ["/start.sh"]
LABEL com.centurylinklabs.watchtower.enable="false" \
wud.watch="false" \

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# Probably from this file: https://github.com/nextcloud/whiteboard/blob/main/Dockerfile
FROM ghcr.io/nextcloud-releases/whiteboard:v1.5.7
FROM ghcr.io/nextcloud-releases/whiteboard:v1.5.8
USER root
RUN set -ex; \

View File

@@ -6,6 +6,8 @@ This container bundles Home Assistant and auto-configures it for you.
- After adding and starting the container, you can visit `http://ip.address.of.this.server:8123` in order to set up your Home Assistant instance.
- The data of Home Assistant will be automatically included in AIOs backup solution!
- In order to access your Home Assistant outside the local network, you have to set up your own reverse proxy. You can set up a reverse proxy following [these instructions](https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md).
- And to allow the traffic from the reverse proxy to be accepted by Home Assistant, follow [these instructions](https://www.home-assistant.io/integrations/http/#reverse-proxies) from the Home Assistant documentation.
- Or, to use the Caddy with geoblocking community container, follow the following instruction to add your own Caddyfile, to use it for Home Assistant: https://github.com/nextcloud/all-in-one/tree/main/community-containers/caddy#notes
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository

View File

@@ -4,8 +4,8 @@
"container_name": "nextcloud-aio-lldap",
"display_name": "Light LDAP implementation",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/lldap",
"image": "lldap/lldap",
"image_tag": "v0-alpine",
"image": "ghcr.io/lldap/lldap",
"image_tag": "latest-alpine",
"internal_port": "17170",
"restart": "unless-stopped",
"ports": [

View File

@@ -1,6 +1,9 @@
## Minio
This container bundles minio s3 storage and auto-configures it for you.
> [!CAUTION]
> The Minio upstream project is no longer maintained. The container should still work in its current form...
>[!WARNING]
> Enabling this container will remove access to all the files formerly written to the data directory.
> So only enable this on a clean instance directly after installing AIO.

View File

@@ -1,4 +1,4 @@
name: nextcloud-aio # Add the container to the same compose project like all the sibling containers are added to automatically.
name: nextcloud-aio # Add the container to the same compose project to which all the sibling containers are added 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
@@ -15,10 +15,10 @@ services:
- "80:80" # Can be removed when running behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
- "8080:8080" # This is the AIO interface, served via https and self-signed certificate. See https://github.com/nextcloud/all-in-one#explanation-of-used-ports
- "8443:8443" # Can be removed when running behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# security_opt: ["label:disable"] # Is needed when using SELinux. See https://github.com/nextcloud/all-in-one#are-there-known-problems-when-selinux-is-enabled
# environment: # Is needed when using any of the options below
# security_opt: ["label:disable"] # Needed when using SELinux. See https://github.com/nextcloud/all-in-one#are-there-known-problems-when-selinux-is-enabled
# environment: # This line is needed (has to be uncommented) when using any of the options below
# AIO_DISABLE_BACKUP_SECTION: false # Setting this to true allows to hide the backup section in the AIO interface. See https://github.com/nextcloud/all-in-one#how-to-disable-the-backup-section
# APACHE_PORT: 11000 # Is needed when running behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# APACHE_PORT: 11000 # Needed when running behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# APACHE_IP_BINDING: 127.0.0.1 # Should be set when running behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else) that is running on the same host. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# APACHE_ADDITIONAL_NETWORK: frontend_net # (Optional) Connect the apache container to an additional docker network. Needed when behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else) running in a different docker network on same server. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# BORG_RETENTION_POLICY: --keep-within=7d --keep-weekly=4 --keep-monthly=6 # Allows to adjust borgs retention policy. See https://github.com/nextcloud/all-in-one#how-to-adjust-borgs-retention-policy

View File

@@ -4,9 +4,6 @@ services:
nextcloud-aio-onlyoffice:
condition: service_started
required: false
nextcloud-aio-eurooffice:
condition: service_started
required: false
nextcloud-aio-collabora:
condition: service_started
required: false
@@ -42,14 +39,13 @@ services:
- COLLABORA_HOST=nextcloud-aio-collabora
- TALK_HOST=nextcloud-aio-talk
- APACHE_PORT
- AIO_LOG_LEVEL
- ONLYOFFICE_HOST=nextcloud-aio-onlyoffice
- EUROOFFICE_HOST=nextcloud-aio-eurooffice
- TZ=${TIMEZONE}
- APACHE_MAX_SIZE
- APACHE_MAX_TIME=${NEXTCLOUD_MAX_TIME}
- NOTIFY_PUSH_HOST=nextcloud-aio-notify-push
- WHITEBOARD_HOST=nextcloud-aio-whiteboard
- HARP_HOST=nextcloud-aio-harp
volumes:
- nextcloud_aio_nextcloud:/var/www/html:ro
- nextcloud_aio_apache:/mnt/data:rw
@@ -84,6 +80,7 @@ services:
- POSTGRES_PASSWORD=${DATABASE_PASSWORD}
- POSTGRES_DB=nextcloud_database
- POSTGRES_USER=nextcloud
- AIO_LOG_LEVEL
- TZ=${TIMEZONE}
- PGTZ=${TIMEZONE}
stop_grace_period: 1800s
@@ -153,17 +150,15 @@ services:
- TURN_SECRET
- SIGNALING_SECRET
- ONLYOFFICE_SECRET
- EUROOFFICE_SECRET
- AIO_LOG_LEVEL
- NEXTCLOUD_MOUNT
- CLAMAV_ENABLED
- CLAMAV_HOST=nextcloud-aio-clamav
- ONLYOFFICE_ENABLED
- EUROOFFICE_ENABLED
- COLLABORA_ENABLED
- COLLABORA_HOST=nextcloud-aio-collabora
- TALK_ENABLED
- ONLYOFFICE_HOST=nextcloud-aio-onlyoffice
- EUROOFFICE_HOST=nextcloud-aio-eurooffice
- UPDATE_NEXTCLOUD_APPS
- TZ=${TIMEZONE}
- TALK_PORT
@@ -214,6 +209,7 @@ services:
- nextcloud_aio_nextcloud:/var/www/html:ro
environment:
- NEXTCLOUD_HOST=nextcloud-aio-nextcloud
- AIO_LOG_LEVEL
- TZ=${TIMEZONE}
restart: unless-stopped
read_only: true
@@ -235,6 +231,7 @@ services:
- "6379"
environment:
- REDIS_HOST_PASSWORD=${REDIS_PASSWORD}
- AIO_LOG_LEVEL
- TZ=${TIMEZONE}
volumes:
- nextcloud_aio_redis:/data:rw
@@ -258,8 +255,9 @@ services:
- "9980"
environment:
- aliasgroup1=https://${NC_DOMAIN}:443,http://nextcloud-aio-apache.nextcloud-aio:23973
- 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:fetch_update_check=0 --o:allow_update_popup=false --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:welcome.enable=false --o:fetch_update_check=0 --o:allow_update_popup=false --o:remote_font_config.url=https://${NC_DOMAIN}/apps/richdocuments/settings/fonts.json --o:net.post_allow.host[0]=.+
- dictionaries=${COLLABORA_DICTIONARIES}
- AIO_LOG_LEVEL
- TZ=${TIMEZONE}
- server_name=${NC_DOMAIN}
- DONT_GEN_SSL_CERT=1
@@ -300,6 +298,7 @@ services:
- TALK_HOST=nextcloud-aio-talk
- TURN_SECRET
- SIGNALING_SECRET
- AIO_LOG_LEVEL
- TZ=${TIMEZONE}
- TALK_PORT
- INTERNAL_SECRET=${TALK_INTERNAL_SECRET}
@@ -332,6 +331,7 @@ services:
- "1234"
environment:
- NC_DOMAIN
- AIO_LOG_LEVEL
- TZ=${TIMEZONE}
- RECORDING_SECRET
- INTERNAL_SECRET=${TALK_INTERNAL_SECRET}
@@ -361,6 +361,7 @@ services:
expose:
- "3310"
environment:
- AIO_LOG_LEVEL
- TZ=${TIMEZONE}
- MAX_SIZE=${NEXTCLOUD_UPLOAD_LIMIT}
volumes:
@@ -391,6 +392,8 @@ services:
expose:
- "80"
environment:
- AIO_LOG_LEVEL
- LOG_LEVEL=${AIO_LOG_LEVEL}
- TZ=${TIMEZONE}
- JWT_ENABLED=true
- JWT_HEADER=AuthorizationJwt
@@ -403,31 +406,6 @@ services:
cap_drop:
- NET_RAW
nextcloud-aio-eurooffice:
image: ghcr.io/nextcloud-releases/aio-eurooffice:latest
init: true
healthcheck:
start_period: 60s
test: /healthcheck.sh
interval: 30s
timeout: 30s
start_interval: 5s
retries: 9
expose:
- "80"
environment:
- TZ=${TIMEZONE}
- JWT_ENABLED=true
- JWT_HEADER=AuthorizationJwt
- JWT_SECRET=${EUROOFFICE_SECRET}
volumes:
- nextcloud_aio_eurooffice:/var/lib/eurooffice:rw
restart: unless-stopped
profiles:
- eurooffice
cap_drop:
- NET_RAW
nextcloud-aio-imaginary:
image: ghcr.io/nextcloud-releases/aio-imaginary:latest
user: "65534"
@@ -442,6 +420,7 @@ services:
expose:
- "9000"
environment:
- AIO_LOG_LEVEL
- TZ=${TIMEZONE}
- IMAGINARY_SECRET
restart: unless-stopped
@@ -468,12 +447,12 @@ services:
expose:
- "9200"
environment:
- AIO_LOG_LEVEL
- TZ=${TIMEZONE}
- ES_JAVA_OPTS=${FULLTEXTSEARCH_JAVA_OPTIONS}
- bootstrap.memory_lock=false
- cluster.name=nextcloud-aio
- discovery.type=single-node
- logger.level=WARN
- http.port=9200
- xpack.license.self_generated.type=basic
- xpack.security.enabled=false
@@ -505,6 +484,7 @@ services:
tmpfs:
- /tmp
environment:
- AIO_LOG_LEVEL
- TZ=${TIMEZONE}
- NEXTCLOUD_URL=https://${NC_DOMAIN}
- JWT_SECRET_KEY=${WHITEBOARD_SECRET}
@@ -535,8 +515,6 @@ volumes:
name: nextcloud_aio_nextcloud
nextcloud_aio_onlyoffice:
name: nextcloud_aio_onlyoffice
nextcloud_aio_eurooffice:
name: nextcloud_aio_eurooffice
nextcloud_aio_redis:
name: nextcloud_aio_redis
nextcloud_aio_talk_recording:

View File

@@ -4,7 +4,6 @@ IMAGINARY_SECRET= # TODO! This needs to be a unique and good password!
NC_DOMAIN=yourdomain.com # TODO! Needs to be changed to the domain that you want to use for Nextcloud.
NEXTCLOUD_PASSWORD= # TODO! This is the password of the initially created Nextcloud admin with username "admin".
ONLYOFFICE_SECRET= # TODO! This needs to be a unique and good password!
EUROOFFICE_SECRET= # TODO! This needs to be a unique and good password!
RECORDING_SECRET= # TODO! This needs to be a unique and good password!
REDIS_PASSWORD= # TODO! This needs to be a unique and good password!
SIGNALING_SECRET= # TODO! This needs to be a unique and good password!
@@ -18,16 +17,15 @@ COLLABORA_ENABLED="no" # Setting this to "yes" (with quotes) enables th
FULLTEXTSEARCH_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
IMAGINARY_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
ONLYOFFICE_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
EUROOFFICE_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
TALK_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
TALK_RECORDING_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
WHITEBOARD_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
AIO_LOG_LEVEL=warn # Allows to adjust the global AIO log level. Valid values are debug, info, warn and error.
APACHE_IP_BINDING=0.0.0.0 # This can be changed to e.g. 127.0.0.1 if you want to run AIO behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else) and if that is running on the same host and using localhost to connect
APACHE_MAX_SIZE=17179869184 # This needs to be an integer and in sync with NEXTCLOUD_UPLOAD_LIMIT
APACHE_PORT=443 # Changing this to a different value than 443 will allow you to run it behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else).
ADDITIONAL_COLLABORA_OPTIONS=['--o:security.seccomp=true'] # You can add additional collabora options here by using the array syntax.
AIO_LOG_LEVEL=warn # Allows to adjust the global AIO log level. Valid values are debug, info, warn and error.
COLLABORA_DICTIONARIES="de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru" # You can change this in order to enable other dictionaries for collabora
FULLTEXTSEARCH_JAVA_OPTIONS="-Xms512M -Xmx512M" # Allows to adjust the fulltextsearch java options.
INSTALL_LATEST_MAJOR=no # Setting this to yes will install the latest Major Nextcloud version upon the first installation

View File

@@ -48,6 +48,7 @@ sed -i '/AIO_TOKEN/d' containers.yml
sed -i '/AIO_URL/d' containers.yml
sed -i '/DOCKER_SOCKET_PROXY_ENABLED/d' containers.yml
sed -i '/HARP_ENABLED/d' containers.yml
sed -i '/HARP_HOST/d' containers.yml
sed -i '/HP_SHARED_KEY/d' containers.yml
sed -i '/ADDITIONAL_TRUSTED_PROXY/d' containers.yml
sed -i '/TURN_DOMAIN/d' containers.yml

View File

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

View File

@@ -37,6 +37,8 @@ spec:
- env:
- name: ADDITIONAL_TRUSTED_DOMAIN
value: "{{ .Values.ADDITIONAL_TRUSTED_DOMAIN }}"
- name: AIO_LOG_LEVEL
value: "{{ .Values.AIO_LOG_LEVEL }}"
- name: APACHE_HOST
value: nextcloud-aio-apache
- name: APACHE_MAX_SIZE
@@ -57,15 +59,13 @@ spec:
value: nextcloud-aio-notify-push
- name: ONLYOFFICE_HOST
value: nextcloud-aio-onlyoffice
- name: EUROOFFICE_HOST
value: nextcloud-aio-eurooffice
- name: TALK_HOST
value: nextcloud-aio-talk
- name: TZ
value: "{{ .Values.TIMEZONE }}"
- name: WHITEBOARD_HOST
value: nextcloud-aio-whiteboard
image: ghcr.io/nextcloud-releases/aio-apache:20260409_094910
image: ghcr.io/nextcloud-releases/aio-apache:20260515_145717
readinessProbe:
exec:
command:

View File

@@ -36,7 +36,7 @@ spec:
{{- end }}
initContainers:
- name: init-subpath
image: ghcr.io/nextcloud-releases/aio-alpine:20260409_094910
image: ghcr.io/nextcloud-releases/aio-alpine:20260515_145717
command:
- mkdir
- "-p"
@@ -55,11 +55,13 @@ spec:
{{- end }}
containers:
- env:
- name: AIO_LOG_LEVEL
value: "{{ .Values.AIO_LOG_LEVEL }}"
- name: MAX_SIZE
value: "{{ .Values.NEXTCLOUD_UPLOAD_LIMIT }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-clamav:20260409_094910
image: ghcr.io/nextcloud-releases/aio-clamav:20260515_145717
readinessProbe:
exec:
command:

View File

@@ -23,6 +23,8 @@ spec:
containers:
- args: {{ .Values.ADDITIONAL_COLLABORA_OPTIONS | default list | toJson }}
env:
- name: AIO_LOG_LEVEL
value: "{{ .Values.AIO_LOG_LEVEL }}"
- name: DONT_GEN_SSL_CERT
value: "1"
- name: TZ
@@ -32,13 +34,13 @@ spec:
- name: dictionaries
value: "{{ .Values.COLLABORA_DICTIONARIES }}"
- name: extra_params
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:fetch_update_check=0 --o:allow_update_popup=false --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:welcome.enable=false --o:fetch_update_check=0 --o:allow_update_popup=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 }}"
{{- if contains "--o:support_key=" (join " " (.Values.ADDITIONAL_COLLABORA_OPTIONS | default list)) }}
image: ghcr.io/nextcloud-releases/aio-collabora-online:20260409_094910
image: ghcr.io/nextcloud-releases/aio-collabora-online:20260515_145717
{{- else }}
image: ghcr.io/nextcloud-releases/aio-collabora:20260409_094910
image: ghcr.io/nextcloud-releases/aio-collabora:20260515_145717
{{- end }}
readinessProbe:
exec:

View File

@@ -35,7 +35,7 @@ spec:
{{- end }}
initContainers:
- name: init-subpath
image: ghcr.io/nextcloud-releases/aio-alpine:20260409_094910
image: ghcr.io/nextcloud-releases/aio-alpine:20260515_145717
command:
- mkdir
- "-p"
@@ -54,6 +54,8 @@ spec:
{{- end }}
containers:
- env:
- name: AIO_LOG_LEVEL
value: "{{ .Values.AIO_LOG_LEVEL }}"
- name: PGTZ
value: "{{ .Values.TIMEZONE }}"
- name: POSTGRES_DB
@@ -64,7 +66,7 @@ spec:
value: nextcloud
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-postgresql:20260409_094910
image: ghcr.io/nextcloud-releases/aio-postgresql:20260515_145717
readinessProbe:
exec:
command:

View File

@@ -1,73 +0,0 @@
{{- if eq .Values.EUROOFFICE_ENABLED "yes" }}
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-eurooffice
name: nextcloud-aio-eurooffice
namespace: "{{ .Values.NAMESPACE }}"
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: nextcloud-aio-eurooffice
strategy:
type: Recreate
template:
metadata:
annotations:
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-eurooffice
spec:
initContainers:
- name: init-volumes
image: ghcr.io/nextcloud-releases/aio-alpine:20260409_094910
command:
- chmod
- "777"
- /nextcloud-aio-eurooffice
volumeMounts:
- name: nextcloud-aio-eurooffice
mountPath: /nextcloud-aio-eurooffice
containers:
- env:
- name: JWT_ENABLED
value: "true"
- name: JWT_HEADER
value: AuthorizationJwt
- name: JWT_SECRET
value: "{{ .Values.EUROOFFICE_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-eurooffice:20260409_094910
readinessProbe:
exec:
command:
- /healthcheck.sh
failureThreshold: 9
initialDelaySeconds: 60
periodSeconds: 30
timeoutSeconds: 30
livenessProbe:
exec:
command:
- /healthcheck.sh
failureThreshold: 9
initialDelaySeconds: 60
periodSeconds: 30
timeoutSeconds: 30
name: nextcloud-aio-eurooffice
ports:
- containerPort: 80
protocol: TCP
volumeMounts:
- mountPath: /var/lib/eurooffice
name: nextcloud-aio-eurooffice
volumes:
- name: nextcloud-aio-eurooffice
persistentVolumeClaim:
claimName: nextcloud-aio-eurooffice
{{- end }}

View File

@@ -1,18 +0,0 @@
{{- if eq .Values.EUROOFFICE_ENABLED "yes" }}
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
io.kompose.service: nextcloud-aio-eurooffice
name: nextcloud-aio-eurooffice
namespace: "{{ .Values.NAMESPACE }}"
spec:
{{- if .Values.STORAGE_CLASS }}
storageClassName: {{ .Values.STORAGE_CLASS }}
{{- end }}
accessModes:
- ReadWriteOnce
resources:
requests:
storage: {{ .Values.EUROOFFICE_STORAGE_SIZE }}
{{- end }}

View File

@@ -1,19 +0,0 @@
{{- if eq .Values.EUROOFFICE_ENABLED "yes" }}
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.version: 1.38.0 (a8f5d1cbd)
labels:
io.kompose.service: nextcloud-aio-eurooffice
name: nextcloud-aio-eurooffice
namespace: "{{ .Values.NAMESPACE }}"
spec:
ipFamilyPolicy: PreferDualStack
ports:
- name: "80"
port: 80
targetPort: 80
selector:
io.kompose.service: nextcloud-aio-eurooffice
{{- end }}

View File

@@ -24,7 +24,7 @@ spec:
spec:
initContainers:
- name: init-volumes
image: ghcr.io/nextcloud-releases/aio-alpine:20260409_094910
image: ghcr.io/nextcloud-releases/aio-alpine:20260515_145717
command:
- chmod
- "777"
@@ -34,6 +34,8 @@ spec:
mountPath: /nextcloud-aio-elasticsearch
containers:
- env:
- name: AIO_LOG_LEVEL
value: "{{ .Values.AIO_LOG_LEVEL }}"
- name: ES_JAVA_OPTS
value: "{{ .Values.FULLTEXTSEARCH_JAVA_OPTIONS | default "-Xms512M -Xmx512M" }}"
- name: FULLTEXTSEARCH_PASSWORD
@@ -48,13 +50,17 @@ spec:
value: single-node
- name: http.port
value: "9200"
- name: logger.level
value: WARN
- name: indices.fielddata.cache.size
value: 20%
- name: indices.memory.index_buffer_size
value: 20%
- name: thread_pool.write.queue_size
value: "1000"
- name: xpack.license.self_generated.type
value: basic
- name: xpack.security.enabled
value: "false"
image: ghcr.io/nextcloud-releases/aio-fulltextsearch:20260409_094910
image: ghcr.io/nextcloud-releases/aio-fulltextsearch:20260515_145717
readinessProbe:
exec:
command:

View File

@@ -34,11 +34,13 @@ spec:
{{- end }}
containers:
- env:
- name: AIO_LOG_LEVEL
value: "{{ .Values.AIO_LOG_LEVEL }}"
- name: IMAGINARY_SECRET
value: "{{ .Values.IMAGINARY_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-imaginary:20260409_094910
image: ghcr.io/nextcloud-releases/aio-imaginary:20260515_145717
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:20260409_094910
image: ghcr.io/nextcloud-releases/aio-alpine:20260515_145717
command:
- chmod
- "777"
@@ -92,6 +92,8 @@ spec:
value: "{{ .Values.NEXTCLOUD_PASSWORD }}"
- name: ADMIN_USER
value: admin
- name: AIO_LOG_LEVEL
value: "{{ .Values.AIO_LOG_LEVEL }}"
- name: APACHE_HOST
value: nextcloud-aio-apache
- name: APACHE_PORT
@@ -138,12 +140,6 @@ spec:
value: nextcloud-aio-onlyoffice
- name: ONLYOFFICE_SECRET
value: "{{ .Values.ONLYOFFICE_SECRET }}"
- name: EUROOFFICE_ENABLED
value: "{{ .Values.EUROOFFICE_ENABLED }}"
- name: EUROOFFICE_HOST
value: nextcloud-aio-eurooffice
- name: EUROOFFICE_SECRET
value: "{{ .Values.EUROOFFICE_SECRET }}"
- name: OVERWRITEPROTOCOL
value: https
- name: PHP_MAX_TIME
@@ -196,7 +192,7 @@ spec:
value: "{{ .Values.WHITEBOARD_ENABLED }}"
- name: WHITEBOARD_SECRET
value: "{{ .Values.WHITEBOARD_SECRET }}"
image: ghcr.io/nextcloud-releases/aio-nextcloud:20260409_094910
image: ghcr.io/nextcloud-releases/aio-nextcloud:20260515_145717
{{- 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

@@ -35,11 +35,13 @@ spec:
{{- end }}
containers:
- env:
- name: AIO_LOG_LEVEL
value: "{{ .Values.AIO_LOG_LEVEL }}"
- name: NEXTCLOUD_HOST
value: nextcloud-aio-nextcloud
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-notify-push:20260409_094910
image: ghcr.io/nextcloud-releases/aio-notify-push:20260515_145717
readinessProbe:
exec:
command:

View File

@@ -24,7 +24,7 @@ spec:
spec:
initContainers:
- name: init-volumes
image: ghcr.io/nextcloud-releases/aio-alpine:20260409_094910
image: ghcr.io/nextcloud-releases/aio-alpine:20260515_145717
command:
- chmod
- "777"
@@ -34,15 +34,19 @@ spec:
mountPath: /nextcloud-aio-onlyoffice
containers:
- env:
- name: AIO_LOG_LEVEL
value: "{{ .Values.AIO_LOG_LEVEL }}"
- name: JWT_ENABLED
value: "true"
- name: JWT_HEADER
value: AuthorizationJwt
- name: JWT_SECRET
value: "{{ .Values.ONLYOFFICE_SECRET }}"
- name: LOG_LEVEL
value: "{{ .Values.AIO_LOG_LEVEL }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-onlyoffice:20260409_094910
image: ghcr.io/nextcloud-releases/aio-onlyoffice:20260515_145717
readinessProbe:
exec:
command:

View File

@@ -35,11 +35,13 @@ spec:
{{- end }}
containers:
- env:
- name: AIO_LOG_LEVEL
value: "{{ .Values.AIO_LOG_LEVEL }}"
- name: REDIS_HOST_PASSWORD
value: "{{ .Values.REDIS_PASSWORD }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-redis:20260409_094910
image: ghcr.io/nextcloud-releases/aio-redis:20260515_145717
readinessProbe:
exec:
command:

View File

@@ -40,6 +40,8 @@ spec:
value: "{{ .Values.TALK_MAX_STREAM_BITRATE }}"
- name: TALK_MAX_SCREEN_BITRATE
value: "{{ .Values.TALK_MAX_SCREEN_BITRATE }}"
- name: AIO_LOG_LEVEL
value: "{{ .Values.AIO_LOG_LEVEL }}"
- name: INTERNAL_SECRET
value: "{{ .Values.TALK_INTERNAL_SECRET }}"
- name: NC_DOMAIN
@@ -54,7 +56,7 @@ spec:
value: "{{ .Values.TURN_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-talk:20260409_094910
image: ghcr.io/nextcloud-releases/aio-talk:20260515_145717
readinessProbe:
exec:
command:

View File

@@ -36,6 +36,8 @@ spec:
{{- end }}
containers:
- env:
- name: AIO_LOG_LEVEL
value: "{{ .Values.AIO_LOG_LEVEL }}"
- name: INTERNAL_SECRET
value: "{{ .Values.TALK_INTERNAL_SECRET }}"
- name: NC_DOMAIN
@@ -44,7 +46,7 @@ spec:
value: "{{ .Values.RECORDING_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-talk-recording:20260409_094910
image: ghcr.io/nextcloud-releases/aio-talk-recording:20260515_145717
readinessProbe:
exec:
command:

View File

@@ -34,6 +34,8 @@ spec:
{{- end }}
containers:
- env:
- name: AIO_LOG_LEVEL
value: "{{ .Values.AIO_LOG_LEVEL }}"
- name: BACKUP_DIR
value: /tmp
- name: JWT_SECRET_KEY
@@ -50,7 +52,7 @@ spec:
value: redis
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-whiteboard:20260409_094910
image: ghcr.io/nextcloud-releases/aio-whiteboard:20260515_145717
readinessProbe:
exec:
command:

View File

@@ -4,7 +4,6 @@ IMAGINARY_SECRET: # TODO! This needs to be a unique and good password!
NC_DOMAIN: yourdomain.com # TODO! Needs to be changed to the domain that you want to use for Nextcloud.
NEXTCLOUD_PASSWORD: # TODO! This is the password of the initially created Nextcloud admin with username admin.
ONLYOFFICE_SECRET: # TODO! This needs to be a unique and good password!
EUROOFFICE_SECRET: # TODO! This needs to be a unique and good password!
RECORDING_SECRET: # TODO! This needs to be a unique and good password!
REDIS_PASSWORD: # TODO! This needs to be a unique and good password!
SIGNALING_SECRET: # TODO! This needs to be a unique and good password!
@@ -18,11 +17,11 @@ COLLABORA_ENABLED: "no" # Setting this to "yes" (with quotes) enables t
FULLTEXTSEARCH_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
IMAGINARY_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
ONLYOFFICE_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
EUROOFFICE_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
TALK_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
TALK_RECORDING_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
WHITEBOARD_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
AIO_LOG_LEVEL: warn # Allows to adjust the global AIO log level. Valid values are debug, info, warn and error.
APACHE_MAX_SIZE: "17179869184" # This needs to be an integer and in sync with NEXTCLOUD_UPLOAD_LIMIT
APACHE_PORT: 443 # Changing this to a different value than 443 will allow you to run it behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else).
ADDITIONAL_COLLABORA_OPTIONS: ['--o:security.seccomp=true'] # You can add additional collabora options here by using the array syntax.
@@ -33,7 +32,7 @@ NEXTCLOUD_ADDITIONAL_APKS: imagemagick # This allows to add additional pa
NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS: imagick # This allows to add additional php extensions to the Nextcloud container permanently. Default is imagick but can be overwritten by modifying this value.
NEXTCLOUD_MAX_TIME: 3600 # This allows to change the upload time limit of the Nextcloud container
NEXTCLOUD_MEMORY_LIMIT: 512M # This allows to change the PHP memory limit of the Nextcloud container
NEXTCLOUD_STARTUP_APPS: deck twofactor_totp tasks calendar contacts notes # Allows to modify the Nextcloud apps that are installed on starting AIO the first time
NEXTCLOUD_STARTUP_APPS: deck twofactor_totp tasks calendar contacts notes # Allows to modify the Nextcloud apps that are installed on starting AIO the first time. You can also disable apps by using a hyphen in front of them. E.g. -app_api
NEXTCLOUD_TRUSTED_CACERTS_DIR: # Setting this to any value allows to automatically import root certificates into the Nextcloud container
NEXTCLOUD_UPLOAD_LIMIT: 16G # This allows to change the upload limit of the Nextcloud container
REMOVE_DISABLED_APPS: "yes" # Setting this to "no" keep Nextcloud apps that are disabled via their switch and not uninstall them if they should be installed in Nextcloud.
@@ -51,7 +50,6 @@ NEXTCLOUD_STORAGE_SIZE: 5Gi # You can change the size of the nextcloud vol
NEXTCLOUD_DATA_STORAGE_SIZE: 5Gi # You can change the size of the nextcloud-data volume that default to 1Gi with this value
NEXTCLOUD_TRUSTED_CACERTS_STORAGE_SIZE: 1Gi # You can change the size of the nextcloud-trusted-cacerts volume that default to 1Gi with this value
ONLYOFFICE_STORAGE_SIZE: 1Gi # You can change the size of the onlyoffice volume that default to 1Gi with this value
EUROOFFICE_STORAGE_SIZE: 1Gi # You can change the size of the eurooffice volume that default to 1Gi with this value
REDIS_STORAGE_SIZE: 1Gi # You can change the size of the redis volume that default to 1Gi with this value
TALK_RECORDING_STORAGE_SIZE: 1Gi # You can change the size of the talk-recording volume that default to 1Gi with this value

146
php/composer.lock generated
View File

@@ -448,16 +448,16 @@
},
{
"name": "laravel/serializable-closure",
"version": "v2.0.12",
"version": "v2.0.13",
"source": {
"type": "git",
"url": "https://github.com/laravel/serializable-closure.git",
"reference": "a6abb4e54f6fcd3138120b9ad497f0bd146f9919"
"reference": "b566ee0dd251f3c4078bed003a7ce015f5ea6dce"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/a6abb4e54f6fcd3138120b9ad497f0bd146f9919",
"reference": "a6abb4e54f6fcd3138120b9ad497f0bd146f9919",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/b566ee0dd251f3c4078bed003a7ce015f5ea6dce",
"reference": "b566ee0dd251f3c4078bed003a7ce015f5ea6dce",
"shasum": ""
},
"require": {
@@ -505,7 +505,7 @@
"issues": "https://github.com/laravel/serializable-closure/issues",
"source": "https://github.com/laravel/serializable-closure"
},
"time": "2026-04-14T13:33:34+00:00"
"time": "2026-04-16T14:03:50+00:00"
},
{
"name": "nikic/fast-route",
@@ -1465,16 +1465,16 @@
},
{
"name": "symfony/deprecation-contracts",
"version": "v3.6.0",
"version": "v3.7.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62"
"reference": "50f59d1f3ca46d41ac911f97a78626b6756af35b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62",
"reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/50f59d1f3ca46d41ac911f97a78626b6756af35b",
"reference": "50f59d1f3ca46d41ac911f97a78626b6756af35b",
"shasum": ""
},
"require": {
@@ -1487,7 +1487,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
"dev-main": "3.6-dev"
"dev-main": "3.7-dev"
}
},
"autoload": {
@@ -1512,7 +1512,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0"
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.7.0"
},
"funding": [
{
@@ -1523,12 +1523,16 @@
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2024-09-25T14:21:43+00:00"
"time": "2026-04-13T15:52:40+00:00"
},
{
"name": "symfony/polyfill-ctype",
@@ -1780,16 +1784,16 @@
},
{
"name": "twig/twig",
"version": "v3.24.0",
"version": "v3.25.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "a6769aefb305efef849dc25c9fd1653358c148f0"
"reference": "0dade995be754556af4dcbf8721d45cb3271f9b4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/a6769aefb305efef849dc25c9fd1653358c148f0",
"reference": "a6769aefb305efef849dc25c9fd1653358c148f0",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/0dade995be754556af4dcbf8721d45cb3271f9b4",
"reference": "0dade995be754556af4dcbf8721d45cb3271f9b4",
"shasum": ""
},
"require": {
@@ -1844,7 +1848,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
"source": "https://github.com/twigphp/Twig/tree/v3.24.0"
"source": "https://github.com/twigphp/Twig/tree/v3.25.0"
},
"funding": [
{
@@ -1856,7 +1860,7 @@
"type": "tidelift"
}
],
"time": "2026-03-17T21:31:11+00:00"
"time": "2026-05-17T07:41:26+00:00"
}
],
"packages-dev": [
@@ -2172,16 +2176,16 @@
},
{
"name": "amphp/parallel",
"version": "v2.3.3",
"version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/amphp/parallel.git",
"reference": "296b521137a54d3a02425b464e5aee4c93db2c60"
"reference": "37f5b2754fadc229c00f9416bd68fb8d04529a81"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/amphp/parallel/zipball/296b521137a54d3a02425b464e5aee4c93db2c60",
"reference": "296b521137a54d3a02425b464e5aee4c93db2c60",
"url": "https://api.github.com/repos/amphp/parallel/zipball/37f5b2754fadc229c00f9416bd68fb8d04529a81",
"reference": "37f5b2754fadc229c00f9416bd68fb8d04529a81",
"shasum": ""
},
"require": {
@@ -2201,7 +2205,7 @@
"amphp/php-cs-fixer-config": "^2",
"amphp/phpunit-util": "^3",
"phpunit/phpunit": "^9",
"psalm/phar": "^5.18"
"psalm/phar": "6.16.1"
},
"type": "library",
"autoload": {
@@ -2244,7 +2248,7 @@
],
"support": {
"issues": "https://github.com/amphp/parallel/issues",
"source": "https://github.com/amphp/parallel/tree/v2.3.3"
"source": "https://github.com/amphp/parallel/tree/v2.4.0"
},
"funding": [
{
@@ -2252,7 +2256,7 @@
"type": "github"
}
],
"time": "2025-11-15T06:23:42+00:00"
"time": "2026-05-16T16:54:01+00:00"
},
{
"name": "amphp/parser",
@@ -2318,16 +2322,16 @@
},
{
"name": "amphp/pipeline",
"version": "v1.2.3",
"version": "v1.2.4",
"source": {
"type": "git",
"url": "https://github.com/amphp/pipeline.git",
"reference": "7b52598c2e9105ebcddf247fc523161581930367"
"reference": "a044733e080940d1483f56caff0c412ad6982776"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/amphp/pipeline/zipball/7b52598c2e9105ebcddf247fc523161581930367",
"reference": "7b52598c2e9105ebcddf247fc523161581930367",
"url": "https://api.github.com/repos/amphp/pipeline/zipball/a044733e080940d1483f56caff0c412ad6982776",
"reference": "a044733e080940d1483f56caff0c412ad6982776",
"shasum": ""
},
"require": {
@@ -2339,7 +2343,7 @@
"amphp/php-cs-fixer-config": "^2",
"amphp/phpunit-util": "^3",
"phpunit/phpunit": "^9",
"psalm/phar": "^5.18"
"psalm/phar": "6.16.1"
},
"type": "library",
"autoload": {
@@ -2373,7 +2377,7 @@
],
"support": {
"issues": "https://github.com/amphp/pipeline/issues",
"source": "https://github.com/amphp/pipeline/tree/v1.2.3"
"source": "https://github.com/amphp/pipeline/tree/v1.2.4"
},
"funding": [
{
@@ -2381,7 +2385,7 @@
"type": "github"
}
],
"time": "2025-03-16T16:33:53+00:00"
"time": "2026-05-06T05:37:57+00:00"
},
{
"name": "amphp/process",
@@ -3771,16 +3775,16 @@
},
{
"name": "revolt/event-loop",
"version": "v1.0.8",
"version": "v1.0.9",
"source": {
"type": "git",
"url": "https://github.com/revoltphp/event-loop.git",
"reference": "b6fc06dce8e9b523c9946138fa5e62181934f91c"
"reference": "44061cf513e53c6200372fc935ac42271566295d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/revoltphp/event-loop/zipball/b6fc06dce8e9b523c9946138fa5e62181934f91c",
"reference": "b6fc06dce8e9b523c9946138fa5e62181934f91c",
"url": "https://api.github.com/repos/revoltphp/event-loop/zipball/44061cf513e53c6200372fc935ac42271566295d",
"reference": "44061cf513e53c6200372fc935ac42271566295d",
"shasum": ""
},
"require": {
@@ -3790,7 +3794,7 @@
"ext-json": "*",
"jetbrains/phpstorm-stubs": "^2019.3",
"phpunit/phpunit": "^9",
"psalm/phar": "^5.15"
"psalm/phar": "6.16.*"
},
"type": "library",
"extra": {
@@ -3837,22 +3841,22 @@
],
"support": {
"issues": "https://github.com/revoltphp/event-loop/issues",
"source": "https://github.com/revoltphp/event-loop/tree/v1.0.8"
"source": "https://github.com/revoltphp/event-loop/tree/v1.0.9"
},
"time": "2025-08-27T21:33:23+00:00"
"time": "2026-05-16T17:55:38+00:00"
},
{
"name": "sebastian/diff",
"version": "8.1.0",
"version": "8.3.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
"reference": "9c957d730257f49c873f3761674559bd90098a7d"
"reference": "b36d33b6e796513de7cb7df053afb3f55eefcd47"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/9c957d730257f49c873f3761674559bd90098a7d",
"reference": "9c957d730257f49c873f3761674559bd90098a7d",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b36d33b6e796513de7cb7df053afb3f55eefcd47",
"reference": "b36d33b6e796513de7cb7df053afb3f55eefcd47",
"shasum": ""
},
"require": {
@@ -3865,7 +3869,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "8.1-dev"
"dev-main": "8.3-dev"
}
},
"autoload": {
@@ -3898,7 +3902,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
"security": "https://github.com/sebastianbergmann/diff/security/policy",
"source": "https://github.com/sebastianbergmann/diff/tree/8.1.0"
"source": "https://github.com/sebastianbergmann/diff/tree/8.3.0"
},
"funding": [
{
@@ -3918,7 +3922,7 @@
"type": "tidelift"
}
],
"time": "2026-04-05T12:02:33+00:00"
"time": "2026-05-15T04:58:09+00:00"
},
{
"name": "spatie/array-to-xml",
@@ -4048,16 +4052,16 @@
},
{
"name": "symfony/console",
"version": "v6.4.36",
"version": "v6.4.39",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "9f481cfb580db8bcecc9b2d4c63f3e13df022ad5"
"reference": "c132f1215fe4aa45b70173cc00ce9a755dd31ec5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/9f481cfb580db8bcecc9b2d4c63f3e13df022ad5",
"reference": "9f481cfb580db8bcecc9b2d4c63f3e13df022ad5",
"url": "https://api.github.com/repos/symfony/console/zipball/c132f1215fe4aa45b70173cc00ce9a755dd31ec5",
"reference": "c132f1215fe4aa45b70173cc00ce9a755dd31ec5",
"shasum": ""
},
"require": {
@@ -4122,7 +4126,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v6.4.36"
"source": "https://github.com/symfony/console/tree/v6.4.39"
},
"funding": [
{
@@ -4142,20 +4146,20 @@
"type": "tidelift"
}
],
"time": "2026-03-27T15:30:51+00:00"
"time": "2026-05-12T06:50:03+00:00"
},
{
"name": "symfony/filesystem",
"version": "v8.0.8",
"version": "v8.0.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
"reference": "66b769ae743ce2d13e435528fbef4af03d623e5a"
"reference": "224db910898ce1317b892a9a1338f1f8f17eb7c7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/66b769ae743ce2d13e435528fbef4af03d623e5a",
"reference": "66b769ae743ce2d13e435528fbef4af03d623e5a",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/224db910898ce1317b892a9a1338f1f8f17eb7c7",
"reference": "224db910898ce1317b892a9a1338f1f8f17eb7c7",
"shasum": ""
},
"require": {
@@ -4192,7 +4196,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/filesystem/tree/v8.0.8"
"source": "https://github.com/symfony/filesystem/tree/v8.0.11"
},
"funding": [
{
@@ -4212,7 +4216,7 @@
"type": "tidelift"
}
],
"time": "2026-03-30T15:14:47+00:00"
"time": "2026-05-11T16:39:47+00:00"
},
{
"name": "symfony/finder",
@@ -4531,16 +4535,16 @@
},
{
"name": "symfony/service-contracts",
"version": "v3.6.1",
"version": "v3.7.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
"reference": "45112560a3ba2d715666a509a0bc9521d10b6c43"
"reference": "d25d82433a80eba6aa0e6c24b61d7370d99e444a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43",
"reference": "45112560a3ba2d715666a509a0bc9521d10b6c43",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/d25d82433a80eba6aa0e6c24b61d7370d99e444a",
"reference": "d25d82433a80eba6aa0e6c24b61d7370d99e444a",
"shasum": ""
},
"require": {
@@ -4558,7 +4562,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
"dev-main": "3.6-dev"
"dev-main": "3.7-dev"
}
},
"autoload": {
@@ -4594,7 +4598,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/service-contracts/tree/v3.6.1"
"source": "https://github.com/symfony/service-contracts/tree/v3.7.0"
},
"funding": [
{
@@ -4614,20 +4618,20 @@
"type": "tidelift"
}
],
"time": "2025-07-15T11:30:57+00:00"
"time": "2026-03-28T09:44:51+00:00"
},
{
"name": "symfony/string",
"version": "v7.4.8",
"version": "v7.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "114ac57257d75df748eda23dd003878080b8e688"
"reference": "965f7306a43383d02c6aca1e3f3bd2f0ea5dee15"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/114ac57257d75df748eda23dd003878080b8e688",
"reference": "114ac57257d75df748eda23dd003878080b8e688",
"url": "https://api.github.com/repos/symfony/string/zipball/965f7306a43383d02c6aca1e3f3bd2f0ea5dee15",
"reference": "965f7306a43383d02c6aca1e3f3bd2f0ea5dee15",
"shasum": ""
},
"require": {
@@ -4685,7 +4689,7 @@
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v7.4.8"
"source": "https://github.com/symfony/string/tree/v7.4.11"
},
"funding": [
{
@@ -4705,7 +4709,7 @@
"type": "tidelift"
}
],
"time": "2026-03-24T13:12:05+00:00"
"time": "2026-05-13T12:04:42+00:00"
},
{
"name": "vimeo/psalm",

View File

@@ -6,7 +6,6 @@
"documentation": "https://github.com/nextcloud/all-in-one/discussions/2105",
"depends_on": [
"nextcloud-aio-onlyoffice",
"nextcloud-aio-eurooffice",
"nextcloud-aio-collabora",
"nextcloud-aio-talk",
"nextcloud-aio-notify-push",
@@ -48,7 +47,6 @@
"APACHE_PORT=%APACHE_PORT%",
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
"ONLYOFFICE_HOST=nextcloud-aio-onlyoffice",
"EUROOFFICE_HOST=nextcloud-aio-eurooffice",
"TZ=%TIMEZONE%",
"APACHE_MAX_SIZE=%APACHE_MAX_SIZE%",
"APACHE_MAX_TIME=%NEXTCLOUD_MAX_TIME%",
@@ -225,7 +223,6 @@
"TURN_SECRET=%TURN_SECRET%",
"SIGNALING_SECRET=%SIGNALING_SECRET%",
"ONLYOFFICE_SECRET=%ONLYOFFICE_SECRET%",
"EUROOFFICE_SECRET=%EUROOFFICE_SECRET%",
"AIO_URL=%AIO_URL%",
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
"NC_AIO_VERSION=v%AIO_VERSION%",
@@ -233,12 +230,10 @@
"CLAMAV_ENABLED=%CLAMAV_ENABLED%",
"CLAMAV_HOST=nextcloud-aio-clamav",
"ONLYOFFICE_ENABLED=%ONLYOFFICE_ENABLED%",
"EUROOFFICE_ENABLED=%EUROOFFICE_ENABLED%",
"COLLABORA_ENABLED=%COLLABORA_ENABLED%",
"COLLABORA_HOST=nextcloud-aio-collabora",
"TALK_ENABLED=%TALK_ENABLED%",
"ONLYOFFICE_HOST=nextcloud-aio-onlyoffice",
"EUROOFFICE_HOST=nextcloud-aio-eurooffice",
"UPDATE_NEXTCLOUD_APPS=%UPDATE_NEXTCLOUD_APPS%",
"TZ=%TIMEZONE%",
"TALK_PORT=%TALK_PORT%",
@@ -362,7 +357,6 @@
"secrets": [
"REDIS_PASSWORD",
"ONLYOFFICE_SECRET",
"EUROOFFICE_SECRET",
"RECORDING_SECRET"
],
"restart": "unless-stopped",
@@ -764,50 +758,6 @@
"NET_RAW"
]
},
{
"container_name": "nextcloud-aio-eurooffice",
"image_tag": "%AIO_CHANNEL%",
"display_name": "EuroOffice",
"image": "ghcr.io/nextcloud-releases/aio-eurooffice",
"init": true,
"healthcheck": {
"start_period": "60s",
"test": "/healthcheck.sh",
"interval": "30s",
"timeout": "30s",
"start_interval": "5s",
"retries": 9
},
"expose": [
"80"
],
"internal_port": "80",
"environment": [
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
"LOG_LEVEL=%AIO_LOG_LEVEL%",
"TZ=%TIMEZONE%",
"JWT_ENABLED=true",
"JWT_HEADER=AuthorizationJwt",
"JWT_SECRET=%EUROOFFICE_SECRET%"
],
"volumes": [
{
"source": "nextcloud_aio_eurooffice",
"destination": "/var/lib/eurooffice",
"writeable": true
}
],
"secrets": [
"EUROOFFICE_SECRET"
],
"restart": "unless-stopped",
"profiles": [
"eurooffice"
],
"cap_drop": [
"NET_RAW"
]
},
{
"container_name": "nextcloud-aio-imaginary",
"image_tag": "%AIO_CHANNEL%",

View File

@@ -22,11 +22,9 @@ document.addEventListener("DOMContentLoaded", function () {
// Office suite radio buttons
const collaboraRadio = document.getElementById('office-collabora');
const onlyofficeRadio = document.getElementById('office-onlyoffice');
const euroofficeRadio = document.getElementById('office-eurooffice');
const noneRadio = document.getElementById('office-none');
const collaboraHidden = document.getElementById('collabora');
const onlyofficeHidden = document.getElementById('onlyoffice');
const euroofficeHidden = document.getElementById('eurooffice');
let initialOfficeSelection = null;
optionsContainersCheckboxes.forEach(checkbox => {
@@ -38,13 +36,11 @@ document.addEventListener("DOMContentLoaded", function () {
});
// Store initial office suite selection
if (collaboraRadio && onlyofficeRadio && euroofficeRadio && noneRadio) {
if (collaboraRadio && onlyofficeRadio && noneRadio) {
if (collaboraRadio.checked) {
initialOfficeSelection = 'collabora';
} else if (onlyofficeRadio.checked) {
initialOfficeSelection = 'onlyoffice';
} else if (euroofficeRadio.checked) {
initialOfficeSelection = 'eurooffice';
} else {
initialOfficeSelection = 'none';
}
@@ -61,28 +57,20 @@ document.addEventListener("DOMContentLoaded", function () {
});
// Check office suite changes and sync to hidden inputs
if (collaboraRadio && onlyofficeRadio && euroofficeRadio && noneRadio && collaboraHidden && onlyofficeHidden && euroofficeHidden) {
if (collaboraRadio && onlyofficeRadio && noneRadio && collaboraHidden && onlyofficeHidden) {
let currentOfficeSelection = null;
if (collaboraRadio.checked) {
currentOfficeSelection = 'collabora';
collaboraHidden.value = 'on';
onlyofficeHidden.value = '';
euroofficeHidden.value = '';
} else if (onlyofficeRadio.checked) {
currentOfficeSelection = 'onlyoffice';
collaboraHidden.value = '';
onlyofficeHidden.value = 'on';
euroofficeHidden.value = '';
} else if (euroofficeRadio.checked) {
currentOfficeSelection = 'eurooffice';
collaboraHidden.value = '';
onlyofficeHidden.value = '';
euroofficeHidden.value = 'on';
} else {
currentOfficeSelection = 'none';
collaboraHidden.value = '';
onlyofficeHidden.value = '';
euroofficeHidden.value = '';
}
if (currentOfficeSelection !== initialOfficeSelection) {
@@ -156,10 +144,9 @@ document.addEventListener("DOMContentLoaded", function () {
handleTalkVisibility(); // Ensure talk-recording is correctly initialized
// Add event listeners for office suite radio buttons
if (collaboraRadio && onlyofficeRadio && euroofficeRadio && noneRadio) {
if (collaboraRadio && onlyofficeRadio && noneRadio) {
collaboraRadio.addEventListener('change', checkForOptionContainerChanges);
onlyofficeRadio.addEventListener('change', checkForOptionContainerChanges);
euroofficeRadio.addEventListener('change', checkForOptionContainerChanges);
noneRadio.addEventListener('change', checkForOptionContainerChanges);
}

View File

@@ -27,12 +27,6 @@ document.addEventListener("DOMContentLoaded", function(event) {
const onlyoffice = document.getElementById("office-onlyoffice");
onlyoffice.disabled = true;
// EuroOffice
const eurooffice = document.getElementById("office-eurooffice");
if (eurooffice) {
eurooffice.disabled = true;
}
// Imaginary
let imaginary = document.getElementById("imaginary");
imaginary.disabled = true;

View File

@@ -68,7 +68,7 @@ session_start([
"use_strict_mode" => true, // Only allow initialized session IDs. See https://www.php.net/manual/en/session.configuration.php#ini.session.use-strict-mode
"cookie_secure" => true, // Only send cookies over https (not http). See https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie#secure
"cookie_httponly" => true, // Block the cookie from being read with js in the browser, will still be send for fetch request triggered by js. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie#httponly
"cookie_samesite" => "Strict", // Only send the cookie with requests triggered by AIO itself. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie#samesitesamesite-value
"cookie_samesite" => "Lax", // Send the cookie with same-site requests and top-level cross-site navigations (e.g. redirect after token-based getlogin). "Strict" would block the session cookie on the redirect that follows a cross-site navigation, breaking the getlogin flow from Nextcloud's admin panel. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie#samesitesamesite-value
]);
if ($wasAuthenticated) {
@@ -152,7 +152,6 @@ $app->get('/containers', function (Request $request, Response $response, array $
'current_channel' => $dockerActionManager->GetCurrentChannel(),
'is_clamav_enabled' => $configurationManager->isClamavEnabled,
'is_onlyoffice_enabled' => $configurationManager->isOnlyofficeEnabled,
'is_eurooffice_enabled' => $configurationManager->isEuroofficeEnabled,
'is_collabora_enabled' => $configurationManager->isCollaboraEnabled,
'is_talk_enabled' => $configurationManager->isTalkEnabled,
'borg_restore_password' => $configurationManager->borgRestorePassword,
@@ -246,6 +245,7 @@ $app->get('/', function (\Psr\Http\Message\RequestInterface $request, Response $
}
});
// Default error handler
$errorMiddleware = $app->addErrorMiddleware(false, true, true);
// Set a custom Not Found handler, which doesn't pollute the app output with 404 errors.
@@ -255,6 +255,17 @@ $errorMiddleware->setErrorHandler(
$response = $app->getResponseFactory()->createResponse();
$response->getBody()->write('Not Found');
return $response->withStatus(404);
});
}
);
// Set another custom error handler, which doesn't pollute the app output with 405 errors.
$errorMiddleware->setErrorHandler(
\Slim\Exception\HttpMethodNotAllowedException::class,
function (Request $request, Throwable $exception, bool $displayErrorDetails) use ($app) {
$response = $app->getResponseFactory()->createResponse();
$response->getBody()->write('Method not allowed');
return $response->withStatus(405);
}
);
$app->run();

View File

@@ -74,10 +74,6 @@ readonly class ContainerDefinitionFetcher {
if (!$this->configurationManager->isOnlyofficeEnabled) {
continue;
}
} elseif ($entry['container_name'] === 'nextcloud-aio-eurooffice') {
if (!$this->configurationManager->isEuroofficeEnabled) {
continue;
}
} elseif ($entry['container_name'] === 'nextcloud-aio-collabora') {
if (!$this->configurationManager->isCollaboraEnabled) {
continue;
@@ -194,10 +190,6 @@ readonly class ContainerDefinitionFetcher {
if (!$this->configurationManager->isOnlyofficeEnabled) {
continue;
}
} elseif ($value === 'nextcloud-aio-eurooffice') {
if (!$this->configurationManager->isEuroofficeEnabled) {
continue;
}
} elseif ($value === 'nextcloud-aio-collabora') {
if (!$this->configurationManager->isCollaboraEnabled) {
continue;

View File

@@ -81,19 +81,12 @@ readonly class ConfigurationController {
if ($officeSuiteChoice === 'collabora') {
$this->configurationManager->isCollaboraEnabled = true;
$this->configurationManager->isOnlyofficeEnabled = false;
$this->configurationManager->isEuroofficeEnabled = false;
} elseif ($officeSuiteChoice === 'onlyoffice') {
$this->configurationManager->isCollaboraEnabled = false;
$this->configurationManager->isOnlyofficeEnabled = true;
$this->configurationManager->isEuroofficeEnabled = false;
} elseif ($officeSuiteChoice === 'eurooffice') {
$this->configurationManager->isCollaboraEnabled = false;
$this->configurationManager->isOnlyofficeEnabled = false;
$this->configurationManager->isEuroofficeEnabled = true;
} else {
$this->configurationManager->isCollaboraEnabled = false;
$this->configurationManager->isOnlyofficeEnabled = false;
$this->configurationManager->isEuroofficeEnabled = false;
}
$this->configurationManager->isClamavEnabled = isset($request->getParsedBody()['clamav']);
$this->configurationManager->isTalkEnabled = isset($request->getParsedBody()['talk']);

View File

@@ -98,12 +98,6 @@ class ConfigurationManager
set { $this->set('isOnlyofficeEnabled', $value); }
}
public bool $isEuroofficeEnabled {
// Type-cast because old configs could have 1/0 for this key.
get => (bool) $this->get('isEuroofficeEnabled', false);
set { $this->set('isEuroofficeEnabled', $value); }
}
public bool $isCollaboraEnabled {
// Type-cast because old configs could have 1/0 for this key.
get => (bool) $this->get('isCollaboraEnabled', true);
@@ -1092,7 +1086,6 @@ class ConfigurationManager
'CLAMAV_ENABLED' => $this->isClamavEnabled ? 'yes' : '',
'TALK_RECORDING_ENABLED' => $this->isTalkRecordingEnabled ? 'yes' : '',
'ONLYOFFICE_ENABLED' => $this->isOnlyofficeEnabled ? 'yes' : '',
'EUROOFFICE_ENABLED' => $this->isEuroofficeEnabled ? 'yes' : '',
'COLLABORA_ENABLED' => $this->isCollaboraEnabled ? 'yes' : '',
'TALK_ENABLED' => $this->isTalkEnabled ? 'yes' : '',
'UPDATE_NEXTCLOUD_APPS' => ($this->isDailyBackupRunning() && $this->areAutomaticUpdatesEnabled()) ? 'yes' : '',

View File

@@ -1 +1 @@
13.0.1
13.0.4

View File

@@ -81,37 +81,6 @@
{% endif %}
</label>
<input type="hidden" id="onlyoffice" name="onlyoffice" value="" data-initial-state="{% if is_onlyoffice_enabled == true %}true{% else %}false{% endif %}">
<input
type="radio"
id="office-eurooffice"
name="office_suite_choice"
value="eurooffice"
class="office-radio"
{% if is_eurooffice_enabled == true %}
checked="checked"
{% endif %}
>
<label class="office-card{{ isAnyRunning ? ' office-card-disabled' : '' }}" for="office-eurooffice">
<div class="office-card-header">
<h4>EuroOffice</h4>
<svg class="office-checkmark" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="12" cy="12" r="10" fill="var(--color-nextcloud-blue)"/>
<path d="M7 12L10.5 15.5L17 9" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</div>
<ul class="office-features">
<li>Good Nextcloud integration</li>
<li>European alternative</li>
<li>Good performance</li>
<li>Good Microsoft compatibility</li>
</ul>
{% if isAnyRunning == false %}
<a href="https://www.eurooffice.org/" target="_blank" class="office-learn-more" data-stop-event-propagation="true">
Learn more
</a>
{% endif %}
</label>
<input type="hidden" id="eurooffice" name="eurooffice" value="" data-initial-state="{% if is_eurooffice_enabled == true %}true{% else %}false{% endif %}">
</div>
{% if isAnyRunning == false %}
<div class="office-none-card">
@@ -121,7 +90,7 @@
name="office_suite_choice"
value=""
class="office-radio"
{% if is_collabora_enabled == false and is_onlyoffice_enabled == false and is_eurooffice_enabled == false %}
{% if is_collabora_enabled == false and is_onlyoffice_enabled == false %}
checked="checked"
{% endif %}
>

View File

@@ -1,9 +1,11 @@
<html lang="en">
<head>
<title>AIO</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="style.css">
<link rel="stylesheet" href="logs.css">
<script src="log-view.js?v1"></script>
<link rel="icon" href="img/favicon.png">
<script src="log-load.js?v1"></script>
</head>
<body data-container-id="{{ id }}">
<div id="floating-box">