Compare commits

...

149 Commits

Author SHA1 Message Date
Simon L.
28e2cc49b4 increase to v10.3.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-07 09:58:47 +01:00
Simon L.
671dad5d6a Merge pull request #5841 from nextcloud/dependabot/docker/Containers/watchtower/alpine-3.21.1
build(deps): bump alpine from 3.21.0 to 3.21.1 in /Containers/watchtower
2025-01-07 09:35:07 +01:00
Simon L.
fc5e581c50 Merge pull request #5840 from nextcloud/dependabot/docker/Containers/talk/alpine-3.21.1
build(deps): bump alpine from 3.21.0 to 3.21.1 in /Containers/talk
2025-01-07 09:34:53 +01:00
Simon L.
3f9aa2b164 Merge pull request #5839 from nextcloud/dependabot/docker/Containers/redis/redis-7.2.7-alpine
build(deps): bump redis from 7.2.6-alpine to 7.2.7-alpine in /Containers/redis
2025-01-07 09:34:36 +01:00
Simon L.
14eb8b5ab6 Merge pull request #5838 from nextcloud/dependabot/docker/Containers/notify-push/alpine-3.21.1
build(deps): bump alpine from 3.21.0 to 3.21.1 in /Containers/notify-push
2025-01-07 09:34:22 +01:00
Simon L.
ab77b91a2b Merge pull request #5837 from nextcloud/dependabot/docker/Containers/imaginary/alpine-3.21.1
build(deps): bump alpine from 3.21.0 to 3.21.1 in /Containers/imaginary
2025-01-07 09:34:00 +01:00
Simon L.
a060503744 Merge pull request #5836 from nextcloud/dependabot/docker/Containers/domaincheck/alpine-3.21.1
build(deps): bump alpine from 3.21.0 to 3.21.1 in /Containers/domaincheck
2025-01-07 09:01:11 +01:00
Simon L.
e0c5682ce6 Merge pull request #5835 from nextcloud/dependabot/docker/Containers/borgbackup/alpine-3.21.1
build(deps): bump alpine from 3.21.0 to 3.21.1 in /Containers/borgbackup
2025-01-07 09:00:25 +01:00
dependabot[bot]
5904adfeb2 build(deps): bump alpine from 3.21.0 to 3.21.1 in /Containers/watchtower
Bumps alpine from 3.21.0 to 3.21.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-07 04:59:28 +00:00
dependabot[bot]
368b26766d build(deps): bump alpine from 3.21.0 to 3.21.1 in /Containers/talk
Bumps alpine from 3.21.0 to 3.21.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-07 04:59:14 +00:00
dependabot[bot]
68055bf303 build(deps): bump redis in /Containers/redis
Bumps redis from 7.2.6-alpine to 7.2.7-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-07 04:59:10 +00:00
dependabot[bot]
a70ccef849 build(deps): bump alpine in /Containers/notify-push
Bumps alpine from 3.21.0 to 3.21.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-07 04:59:05 +00:00
dependabot[bot]
30994e1074 build(deps): bump alpine from 3.21.0 to 3.21.1 in /Containers/imaginary
Bumps alpine from 3.21.0 to 3.21.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-07 04:58:49 +00:00
dependabot[bot]
2a05f9df1e build(deps): bump alpine in /Containers/domaincheck
Bumps alpine from 3.21.0 to 3.21.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-07 04:58:42 +00:00
dependabot[bot]
e7f5747026 build(deps): bump alpine from 3.21.0 to 3.21.1 in /Containers/borgbackup
Bumps alpine from 3.21.0 to 3.21.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-07 04:58:35 +00:00
Simon L.
8904349e5d Merge pull request #5831 from nextcloud/enh/noid/remove-nbs-if-not-need
helm: remove NET_BIND_SERVICE if not needed
2025-01-06 14:14:29 +01:00
Simon L.
ca4386bef9 helm: remove NET_BIND_SERVICE if not needed
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-06 14:12:38 +01:00
Simon L.
8613079e60 Merge pull request #5830 from nextcloud/enh/noid/adjust-talk-port-docs
Adjust docs for talk_port variable a bit
2025-01-06 13:51:23 +01:00
Simon L.
87143bc7bd Adjust docs for talk_port variable a bit
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-06 13:49:33 +01:00
Simon L.
aec2b7904c Merge pull request #5829 from nextcloud/aio-helm-update
Helm Chart updates
2025-01-06 12:07:21 +01:00
Simon L.
fdf43612f1 apache: remove the readinessprobe and livenessProbe for now as they are breaking
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-06 12:06:23 +01:00
szaimen
3d7194ddad Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-06 11:03:01 +00:00
Simon L.
9200fa51bf Merge pull request #5828 from nextcloud/enh/5800/check-appstoreurl
nextcloud: check for configured appstoreurl during upgrade
2025-01-06 12:00:03 +01:00
Simon L.
986130bb1b nextcloud: check for configured appstoreurl during upgrade
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-06 11:56:45 +01:00
Simon L.
f5cc4b014c Merge pull request #5827 from nextcloud/enh/5612/document-behaviour
manual-install: document behaviour about exposed options
2025-01-06 11:42:40 +01:00
Simon L.
6c3c5cf981 manual-install: document behaviour about exposed options
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-06 11:41:21 +01:00
Simon L.
60d3df712e Merge pull request #5826 from nextcloud/enh/5643/document-fixed-value
facerecognition: document fixed 1G value
2025-01-06 11:36:18 +01:00
Simon L.
4d38c5b8f7 facerecognition: document fixed 1G value
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-06 11:34:43 +01:00
Simon L.
25cf173b18 Merge pull request #5825 from nextcloud/enh/5810/remove-domain-check
apache-healthcheck: remove the domain test
2025-01-06 11:27:04 +01:00
Simon L.
81dd6bbc72 apache-healthcheck: remove the domain test
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-06 11:25:09 +01:00
Simon L.
54985a8b65 Merge pull request #5824 from nextcloud/enh/noid/rename-ENG-to-NENG
rename `ENABLE_NVIDIA_GPU` to `NEXTCLOUD_ENABLE_NVIDIA_GPU`
2025-01-06 11:08:05 +01:00
Simon L.
febfd57448 rename ENABLE_NVIDIA_GPU to NEXTCLOUD_ENABLE_NVIDIA_GPU
to be more consistent with other options

Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-06 11:03:41 +01:00
Simon L.
2aad2c8b4c Merge pull request #5803 from nextcloud/enh/5132/disable-eng-local-ai
local-ai-cc: disable nvidia-gpu as it disallows the container to start
2025-01-06 10:57:05 +01:00
Simon L.
42113d4ed3 Merge pull request #5822 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.4.1-20
build(deps): bump clamav/clamav from 1.4.1-17 to 1.4.1-20 in /Containers/clamav
2025-01-06 10:54:43 +01:00
Simon L.
5e7a2005e5 Merge pull request #5808 from Luotio/patch-1
Updated IIS Reverse proxy configuration to work with special characters.
2025-01-06 10:54:22 +01:00
Simon L.
744cace2a8 Merge pull request #5820 from nextcloud/enh/noid/facegpu
facerecognition docker does not support GPU
2025-01-06 10:54:02 +01:00
Jean-Yves
ce577c5769 facerecognition docker does not support GPU
Signed-off-by: Jean-Yves <7360784+docjyJ@users.noreply.github.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-06 10:52:39 +01:00
Simon L.
8ce1b2615b Merge pull request #5792 from nextcloud/enh/noid/borg-remote-placeholder
Add "port" to borg remote placeholder
2025-01-06 10:50:32 +01:00
Simon L.
58b25dfac2 Merge pull request #5790 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.3.15-fpm-alpine3.21
build(deps): bump php from 8.3.14-fpm-alpine3.21 to 8.3.15-fpm-alpine3.21 in /Containers/nextcloud
2025-01-06 10:50:06 +01:00
Simon L.
bf71985343 Merge pull request #5789 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.3.15-fpm-alpine3.21
build(deps): bump php from 8.3.14-fpm-alpine3.21 to 8.3.15-fpm-alpine3.21 in /Containers/mastercontainer
2025-01-06 10:49:54 +01:00
Simon L.
4da7b8dee8 Merge pull request #5788 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-24.04.11.1.1
build(deps): bump collabora/code from 24.04.10.2.1 to 24.04.11.1.1 in /Containers/collabora
2025-01-06 10:49:40 +01:00
Simon L.
d4a8048cd4 Merge pull request #5786 from nextcloud/enh/noid/adjust-casing-of-eng
Container.php: adjust casing of enable_nvidia_gpu to enableNvidiaGpu
2025-01-06 10:49:18 +01:00
Simon L.
d64e111fc5 Merge pull request #5785 from nextcloud/enh/5559/set-max-opcache-files
nextcloud: set max opcache files to 1000
2025-01-06 10:48:22 +01:00
Simon L.
350c4a8d0f Merge pull request #5782 from nextcloud/aio-dependency-update
PHP dependency updates
2025-01-06 10:47:27 +01:00
dependabot[bot]
5f657151c6 build(deps): bump clamav/clamav in /Containers/clamav
Bumps clamav/clamav from 1.4.1-17 to 1.4.1-20.

---
updated-dependencies:
- dependency-name: clamav/clamav
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-06 05:08:23 +00:00
szaimen
36f575d8a7 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-04 12:02:29 +00:00
Simon L.
99c5ae8336 migration.md: adjust /path/to/nextcloud/data/ to /path/to/old/nextcloud/data/
For https://github.com/nextcloud/all-in-one/issues/5806
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-03 17:52:54 +01:00
Simon L.
d4a3bbe104 local-ai: fix stablediffusion link
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-03 17:13:54 +01:00
Simon L.
b6aa1e9c60 add two options to other examples as well
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-03 17:02:30 +01:00
Simon L.
124be702da add some further instructions
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-03 16:02:54 +01:00
Simon L.
8a79940005 Merge pull request #5813 from nextcloud/enh/noid/add-introduction
reverse-proxy-docu: adjust and add introduction with example
2025-01-03 15:54:31 +01:00
Simon L.
78b1464977 reverse-proxy docu: adjust and add introduction with example
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-03 15:43:32 +01:00
Luotio
dc761e259a Update reverse-proxy.md
Removed X_FORWARDED headers as they did not work as expected

Signed-off-by: Luotio <juha@luotio.net>
2025-01-01 12:45:50 +02:00
Luotio
38e2d51aa0 Update reverse-proxy.md
Fixed the IIS reverse proxy configuration, not considering special characters, and added HTTP_X_FORWARDED headers.

Signed-off-by: Luotio <juha@luotio.net>
2025-01-01 12:38:36 +02:00
Simon L.
c59112192a local-ai-cc: disable nvidia-gpu as it disallows the container to start
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-12-30 15:05:18 +01:00
Pierre
76f2ae7dc9 fix: add "port" to more placeholders in containers.twig
Signed-off-by: Pierre <47398145+AiroPi@users.noreply.github.com>
2024-12-30 13:22:12 +01:00
Simon L.
44a86d664c Merge pull request #5793 from kaincenteno/patch-1
rp-docs: comments out http3_stream_buffer_size 512k in nginx template
2024-12-30 12:59:14 +01:00
Kain
e3f551c2a4 comments out http3_stream_buffer_size 512k as it requires v1.25.0+
comments out http3_stream_buffer_size 512k as it requires version 1.25.0+ of nginx

Signed-off-by: Kain <26943220+kaincenteno@users.noreply.github.com>
2024-12-24 12:00:14 -08:00
airo.pi_
12fddf1787 Add port to borg remote placeholder
Signed-off-by: airo.pi_ <47398145+AiroPi@users.noreply.github.com>
2024-12-24 10:10:54 +01:00
dependabot[bot]
34690eee02 build(deps): bump php in /Containers/nextcloud
Bumps php from 8.3.14-fpm-alpine3.21 to 8.3.15-fpm-alpine3.21.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 04:53:03 +00:00
dependabot[bot]
2de24563c7 build(deps): bump php in /Containers/mastercontainer
Bumps php from 8.3.14-fpm-alpine3.21 to 8.3.15-fpm-alpine3.21.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 04:52:58 +00:00
dependabot[bot]
e81edfd930 build(deps): bump collabora/code in /Containers/collabora
Bumps collabora/code from 24.04.10.2.1 to 24.04.11.1.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 04:52:38 +00:00
Simon L.
f3e47e62f3 Container.php: adjust casing of enable_nvidia_gpu to enableNvidiaGpu
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-12-20 18:51:43 +01:00
Simon L.
31896ae68e nextcloud: set max opcache files to 1000
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-12-20 18:49:31 +01:00
Simon L.
109b9dc019 helm: update the collabora config already
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-12-20 14:02:26 +01:00
Simon L.
41a3ef13c3 Merge pull request #5783 from nextcloud/aio-yaml-update
Yaml updates
2024-12-20 14:01:08 +01:00
szaimen
ddc1bce1c5 Yaml updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-20 12:03:10 +00:00
Simon L.
0d89c5daba Merge pull request #5781 from nextcloud/enh/5763/fix-collabora
actually fix collabora
2024-12-20 12:20:52 +01:00
Simon L.
4906ee4ca4 actually fix collabora
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-12-20 12:18:50 +01:00
Simon L.
bc4ebfaac0 fix check if array key is set
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-12-20 11:49:54 +01:00
Simon L.
86554ba196 collabora: disable tzdata again
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-12-20 11:32:20 +01:00
Simon L.
f0ef13b3bf Merge pull request #5780 from nextcloud/enh/noid/downgrade-collabora
try to downgrade collabora
2024-12-20 11:27:55 +01:00
Simon L.
138e7f34b8 try to downgrade collabora
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-12-20 11:27:25 +01:00
Simon L.
42f3214c2d Merge pull request #5772 from nextcloud/enh/noid/buttons
aio-interface: adjust design of buttons according Nextcloud Vue
2024-12-20 11:23:40 +01:00
Simon L.
6c4f019c99 update version
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-12-20 11:17:59 +01:00
Simon L.
4379446e16 Merge pull request #5730 from JMarcosHP/main
Add apache container reachability check and retry mechanism to run-exec-commands.sh
2024-12-20 11:17:03 +01:00
Simon L.
05bad1b80a Merge pull request #5775 from nextcloud/enh/5768/disable-fts-seccomp
disable fts if seccomp is not supported in the kernel
2024-12-20 11:14:45 +01:00
MondoGao
53edc5d4a9 add support for nvidia gpu access (#5132)
Signed-off-by: Mondo <mondo.jiang@wisc.edu>
Signed-off-by: Jean-Yves <7360784+docjyJ@users.noreply.github.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
Co-authored-by: Jean-Yves <7360784+docjyJ@users.noreply.github.com>
Co-authored-by: Simon L. <szaimen@e.mail.de>
2024-12-20 11:12:59 +01:00
Simon L.
119d03694e Merge pull request #5778 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-27.4.1-cli
build(deps): bump docker from 27.4.0-cli to 27.4.1-cli in /Containers/mastercontainer
2024-12-20 08:11:58 +01:00
dependabot[bot]
8aa8d7f60b build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 27.4.0-cli to 27.4.1-cli.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-20 04:19:35 +00:00
Simon L.
2915345b7d aio-interface: disable fts if seccomp is not supported in the kernel
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-12-19 14:02:25 +01:00
Simon L.
dcc1c230ff Merge pull request #5770 from nextcloud/dependabot/docker/Containers/talk/nats-2.10.24-scratch
build(deps): bump nats from 2.10.23-scratch to 2.10.24-scratch in /Containers/talk
2024-12-18 19:52:53 +01:00
Simon L.
e5e5d2f501 Merge pull request #5769 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.17.0
build(deps): bump elasticsearch from 8.16.1 to 8.17.0 in /Containers/fulltextsearch
2024-12-18 19:52:29 +01:00
Simon L.
646d6c0dd7 Merge pull request #5767 from nextcloud/enh/noid/rp-follow-ups
rp-docs: add comment to the config directly to adjust localhost:11000
2024-12-18 19:17:01 +01:00
Jean-Yves
66a6b96e67 Fix button according Nextcloud Vue
Signed-off-by: Jean-Yves <7360784+docjyJ@users.noreply.github.com>
2024-12-18 12:46:19 +01:00
dependabot[bot]
c806a41672 build(deps): bump nats in /Containers/talk
Bumps nats from 2.10.23-scratch to 2.10.24-scratch.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-18 04:36:37 +00:00
dependabot[bot]
d0bdcbbea7 build(deps): bump elasticsearch in /Containers/fulltextsearch
Bumps elasticsearch from 8.16.1 to 8.17.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-18 04:36:03 +00:00
JMarcosHP
3c2a1edcc4 Added env variable to nextcloud container, changed reachability in favor of apache container host.
Signed-off-by: JMarcosHP <jehuherrerap@hotmail.com>
2024-12-17 10:39:01 -06:00
Simon L.
88070d66c0 rp-docs: add comment to the config directly to adjust localhost:11000
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-12-17 16:59:12 +01:00
Jehu Marcos Herrera Puentes
79d4ce1436 Merge branch 'nextcloud:main' into main 2024-12-17 09:55:14 -06:00
Simon L.
91a85859c5 Merge pull request #5750 from nextcloud/improve-nginx-rp-guid
Improve nginx reverse proxy template
2024-12-17 16:29:14 +01:00
Simon L.
32109b2551 increase to 10.2.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-12-17 14:54:21 +01:00
Simon L.
af3de263cf Merge pull request #5570 from tofuwabohu/main
Add documentation on migrating using the borg backup
2024-12-17 14:16:48 +01:00
Simon L.
0598b10f2e adjust the guide to be shown in the normal readme and add a link from the migration docs
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-12-17 14:14:14 +01:00
tofuwabohu
f8a249e1ad Add steps to migrate using borg backup
Signed-off-by: tofuwabohu <66644064+tofuwabohu@users.noreply.github.com>
2024-12-17 14:09:36 +01:00
Simon L.
58a2c6c5e2 Merge pull request #5747 from alexenica/main
Add dot to network regex check
2024-12-17 13:56:24 +01:00
Simon L.
514ac94c8a Merge pull request #5766 from nextcloud/aio-dependency-update
PHP dependency updates
2024-12-17 13:30:02 +01:00
szaimen
9638b50796 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-17 12:09:07 +00:00
Simon L.
cb622f712b Merge pull request #5751 from nextcloud/add-npmplus-rp-guide
Add NPMplus to reverse-proxy.md
2024-12-17 11:30:55 +01:00
Zoey
1b3e2d6ece Update reverse-proxy.md
Signed-off-by: Zoey <zoey@z0ey.de>
2024-12-17 09:00:49 +01:00
Zoey
1ecf1092f6 512k is enough
Signed-off-by: Zoey <zoey@z0ey.de>
2024-12-17 08:53:55 +01:00
Zoey
e7a36de3db also remove DHE
Signed-off-by: Zoey <zoey@z0ey.de>
2024-12-16 22:13:05 +01:00
Zoey
d74d7f9a67 improve upload speeds in nginx template
Signed-off-by: Zoey <zoey@z0ey.de>
2024-12-16 19:00:19 +01:00
Jehu Marcos Herrera Puentes
5f844aeeb1 Fix shell check variable quotation.
Signed-off-by: Jehu Marcos Herrera Puentes <58377032+JMarcosHP@users.noreply.github.com>
2024-12-16 11:26:03 -06:00
Jehu Marcos Herrera Puentes
c5da6e718f Merge branch 'main' into main 2024-12-16 11:15:18 -06:00
Simon L.
d65c59a837 helm: update to v10.1.1
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-12-16 15:06:20 +01:00
Simon L.
3a3ca26aee Merge pull request #5760 from nextcloud/imaginary-container-update
Imaginary update
2024-12-16 14:54:42 +01:00
Simon L.
2d6c916015 Merge pull request #5761 from nextcloud/enh/noid/adjust-timeouts
adjust start-period and retries for fts, collabora and clamav
2024-12-16 13:47:50 +01:00
Simon L.
45f8049548 adjust start-period and retries for fts, collabora and clamav
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-12-16 13:45:22 +01:00
szaimen
da74af908a imaginary-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-16 12:04:39 +00:00
Simon L.
e763a41198 Merge pull request #5759 from nextcloud/enh/5706/update-alpine
update remaining docker images to alpine 3.21
2024-12-16 12:11:10 +01:00
Simon L.
a0eaea5e95 update remaining docker images to alpine 3.21
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-12-16 12:05:46 +01:00
Simon L.
cee30d897e Merge pull request #5758 from nextcloud/aio-helm-update
Helm Chart updates
2024-12-16 11:49:51 +01:00
Simon L.
749a858e5f dpendabot: adjust rebase strategy
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-12-16 11:48:10 +01:00
Simon L.
7f98d16b19 change version to 10.1.1-beta
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-12-16 11:45:30 +01:00
szaimen
b44cd7b226 Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-16 10:40:10 +00:00
Simon L.
281a694fe9 Merge pull request #5716 from nextcloud/dependabot/docker/Containers/watchtower/alpine-3.21.0
build(deps): bump alpine from 3.20.3 to 3.21.0 in /Containers/watchtower
2024-12-16 11:38:55 +01:00
Simon L.
080dd7acbe Merge pull request #5715 from nextcloud/dependabot/docker/Containers/talk/alpine-3.21.0
build(deps): bump alpine from 3.20.3 to 3.21.0 in /Containers/talk
2024-12-16 11:38:31 +01:00
dependabot[bot]
fe2ee2e5f4 build(deps): bump alpine from 3.20.3 to 3.21.0 in /Containers/talk
Bumps alpine from 3.20.3 to 3.21.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-16 10:38:23 +00:00
dependabot[bot]
c1dae23ffd build(deps): bump alpine from 3.20.3 to 3.21.0 in /Containers/watchtower
Bumps alpine from 3.20.3 to 3.21.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-16 10:38:18 +00:00
Simon L.
1961c1ec41 Merge pull request #5714 from nextcloud/dependabot/docker/Containers/notify-push/alpine-3.21.0
build(deps): bump alpine from 3.20.3 to 3.21.0 in /Containers/notify-push
2024-12-16 11:38:06 +01:00
dependabot[bot]
8e3de8515e build(deps): bump alpine in /Containers/notify-push
Bumps alpine from 3.20.3 to 3.21.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-16 10:37:45 +00:00
Simon L.
643559d79c Merge pull request #5713 from nextcloud/dependabot/docker/Containers/imaginary/alpine-3.21.0
build(deps): bump alpine from 3.20.3 to 3.21.0 in /Containers/imaginary
2024-12-16 11:37:42 +01:00
dependabot[bot]
f841145792 build(deps): bump alpine from 3.20.3 to 3.21.0 in /Containers/imaginary
Bumps alpine from 3.20.3 to 3.21.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-16 10:37:25 +00:00
Simon L.
d6bb510e86 Merge pull request #5712 from nextcloud/dependabot/docker/Containers/domaincheck/alpine-3.21.0
build(deps): bump alpine from 3.20.3 to 3.21.0 in /Containers/domaincheck
2024-12-16 11:37:23 +01:00
dependabot[bot]
32671b0d7e build(deps): bump alpine in /Containers/domaincheck
Bumps alpine from 3.20.3 to 3.21.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-16 10:37:13 +00:00
Simon L.
48e075b8d8 Merge pull request #5710 from nextcloud/dependabot/docker/Containers/borgbackup/alpine-3.21.0
build(deps): bump alpine from 3.20.3 to 3.21.0 in /Containers/borgbackup
2024-12-16 11:36:49 +01:00
dependabot[bot]
f96644419f build(deps): bump alpine from 3.20.3 to 3.21.0 in /Containers/borgbackup
Bumps alpine from 3.20.3 to 3.21.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-16 10:36:18 +00:00
Simon L.
b7be55840d Merge pull request #5733 from nextcloud/aio-dependency-update
PHP dependency updates
2024-12-16 11:36:07 +01:00
Simon L.
5868bb257f Merge pull request #5756 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.4.1-17
build(deps): bump clamav/clamav from 1.4.1-16 to 1.4.1-17 in /Containers/clamav
2024-12-16 11:35:27 +01:00
Simon L.
a91f2f419e Merge pull request #5743 from nextcloud/dependabot/docker/Containers/docker-socket-proxy/haproxy-3.1.1-alpine
build(deps): bump haproxy from 3.1.0-alpine to 3.1.1-alpine in /Containers/docker-socket-proxy
2024-12-16 11:35:11 +01:00
Simon L.
aa08f99acc Merge pull request #5736 from nextcloud/enh/noid/update-janus
talk: update Janus to 1.x
2024-12-16 11:34:54 +01:00
Simon L.
40b37b777b Merge pull request #5734 from nextcloud/dependabot/docker/Containers/talk/nats-2.10.23-scratch
build(deps): bump nats from 2.10.22-scratch to 2.10.23-scratch in /Containers/talk
2024-12-16 11:33:36 +01:00
Simon L.
35213a46e9 Merge pull request #5731 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-27.4.0-cli
build(deps): bump docker from 27.3.1-cli to 27.4.0-cli in /Containers/mastercontainer
2024-12-16 11:33:19 +01:00
Simon L.
854632915e Merge pull request #5696 from nextcloud/aio-yaml-update
Yaml updates
2024-12-16 11:31:18 +01:00
dependabot[bot]
b46bf75e9f build(deps): bump clamav/clamav in /Containers/clamav
Bumps clamav/clamav from 1.4.1-16 to 1.4.1-17.

---
updated-dependencies:
- dependency-name: clamav/clamav
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-16 05:04:45 +00:00
Zoey
d5cd4fe519 Update reverse-proxy.md
Signed-off-by: Zoey <zoey@z0ey.de>
2024-12-14 22:49:10 +01:00
Zoey
ccb8443241 Add NPMplus to reverse-proxy.md
Signed-off-by: Zoey <zoey@z0ey.de>
2024-12-14 22:47:11 +01:00
Zoey
e4b0998f3c small additional improvement
Signed-off-by: Zoey <zoey@z0ey.de>
2024-12-14 22:27:55 +01:00
Zoey
7eddf00f8c Improve nginx reverse proxy template
based on (not identical): https://ssl-config.mozilla.org/#server=nginx&version=1.27.3&config=intermediate&openssl=3.4.0&hsts=false&ocsp=false&guideline=5.7

Signed-off-by: Zoey <zoey@z0ey.de>
2024-12-14 22:20:08 +01:00
alexenica
542487e909 Add dot to network regex check
Signed-off-by: Alexandru Nica <alexandru.nica@uipath.com>
2024-12-13 15:13:49 +02:00
szaimen
b7c4cf1692 Yaml updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-13 12:03:20 +00:00
szaimen
3b73da3407 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-13 12:03:03 +00:00
dependabot[bot]
d945544770 build(deps): bump haproxy in /Containers/docker-socket-proxy
Bumps haproxy from 3.1.0-alpine to 3.1.1-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-13 04:22:40 +00:00
Simon L.
43be9690f9 talk: update Janus to 1.x
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-12-11 16:18:20 +01:00
dependabot[bot]
3a3dddead0 build(deps): bump nats in /Containers/talk
Bumps nats from 2.10.22-scratch to 2.10.23-scratch.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-11 04:40:30 +00:00
dependabot[bot]
316d533510 build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 27.3.1-cli to 27.4.0-cli.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-10 04:54:21 +00:00
Jehu Marcos Herrera Puentes
997886054d Set $COUNT variable to 1
Signed-off-by: Jehu Marcos Herrera Puentes <58377032+JMarcosHP@users.noreply.github.com>
2024-12-09 19:29:16 -06:00
JMarcosHP
a993ca0fc5 Added domain reachability check and retry mechanism to run-exec-commands.sh
Signed-off-by: JMarcosHP <jehuherrerap@hotmail.com>
2024-12-09 19:26:12 -06:00
80 changed files with 744 additions and 289 deletions

View File

@@ -6,12 +6,14 @@ updates:
interval: "daily"
time: "12:00"
open-pull-requests-limit: 10
rebase-strategy: "disabled"
- package-ecosystem: composer
directory: "/php/"
schedule:
interval: "daily"
time: "12:00"
open-pull-requests-limit: 10
rebase-strategy: "auto"
labels:
- 3. to review
- dependencies
@@ -39,6 +41,7 @@ updates:
interval: "daily"
time: "04:00"
open-pull-requests-limit: 10
rebase-strategy: "disabled"
labels:
- 3. to review
- dependencies

View File

@@ -36,7 +36,7 @@ jobs:
# Janus
janus_version="$(
git ls-remote https://github.com/meetecho/janus-gateway v0.*.* \
git ls-remote https://github.com/meetecho/janus-gateway v1.*.* \
| cut -d/ -f3 \
| sort -V \
| grep -E "^v[0-9]+\.[0-9]+\.[0-9]+$" \

View File

@@ -2,7 +2,7 @@
FROM caddy:2.8.4-alpine AS caddy
# From https://github.com/docker-library/httpd/blob/master/2.4/alpine/Dockerfile
FROM httpd:2.4.62-alpine3.20
FROM httpd:2.4.62-alpine3.21
COPY --from=caddy /usr/bin/caddy /usr/bin/caddy

View File

@@ -3,7 +3,3 @@
nc -z "$NEXTCLOUD_HOST" 9000 || exit 0
nc -z 127.0.0.1 8000 || exit 1
nc -z 127.0.0.1 "$APACHE_PORT" || exit 1
if ! nc -z "$NC_DOMAIN" 443; then
echo "Could not reach $NC_DOMAIN on port 443."
exit 1
fi

View File

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

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# Probably from this file: https://github.com/Cisco-Talos/clamav-docker/blob/main/clamav/1.3/alpine/Dockerfile
FROM clamav/clamav:1.4.1-16
FROM clamav/clamav:1.4.1-20
COPY clamav.conf /clamav.conf
COPY --chmod=775 start.script /start.script
@@ -23,4 +23,6 @@ USER 100
LABEL com.centurylinklabs.watchtower.enable="false"
HEALTHCHECK --start-period=60s --retries=9 CMD clamdcheck.sh
ENTRYPOINT ["/init-unprivileged"]

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# From a file located probably somewhere here: https://github.com/CollaboraOnline/online/tree/master/docker
FROM collabora/code:24.04.10.2.1
FROM collabora/code:24.04.11.1.1
USER root
ARG DEBIAN_FRONTEND=noninteractive
@@ -20,5 +20,5 @@ COPY --chmod=775 healthcheck.sh /healthcheck.sh
USER 100
HEALTHCHECK --start-period=360s CMD /healthcheck.sh
HEALTHCHECK --start-period=60s --retries=9 CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false"

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# Probably from here https://github.com/elastic/elasticsearch/blob/main/distribution/docker/src/docker/Dockerfile
FROM elasticsearch:8.16.1
FROM elasticsearch:8.17.0
USER root

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM golang:1.23.4-alpine3.20 AS go
FROM golang:1.23.4-alpine3.21 AS go
ENV IMAGINARY_HASH=8f36a26c448be8c151a3878404b75fcd1cd3cf0c
@@ -13,7 +13,7 @@ RUN set -ex; \
build-base; \
go install github.com/h2non/imaginary@"$IMAGINARY_HASH";
FROM alpine:3.20.3
FROM alpine:3.21.1
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache \

View File

@@ -1,12 +1,12 @@
# syntax=docker/dockerfile:latest
# Docker CLI is a requirement
FROM docker:27.3.1-cli AS docker
FROM docker:27.4.1-cli AS docker
# Caddy is a requirement
FROM caddy:2.8.4-alpine AS caddy
# From https://github.com/docker-library/php/blob/master/8.3/alpine3.20/fpm/Dockerfile
FROM php:8.3.14-fpm-alpine3.20
# From https://github.com/docker-library/php/blob/master/8.3/alpine3.21/fpm/Dockerfile
FROM php:8.3.15-fpm-alpine3.21
EXPOSE 80
EXPOSE 8080

View File

@@ -194,7 +194,7 @@ It is set to '$APACHE_IP_BINDING'."
fi
fi
if [ -n "$APACHE_ADDITIONAL_NETWORK" ]; then
if ! echo "$APACHE_ADDITIONAL_NETWORK" | grep -q "^[a-zA-Z0-9_-]\+$"; then
if ! echo "$APACHE_ADDITIONAL_NETWORK" | grep -q "^[a-zA-Z0-9._-]\+$"; then
print_red "You've set APACHE_ADDITIONAL_NETWORK but not to an allowed value.
It needs to be a string with letters, numbers, hyphens and underscores.
It is set to '$APACHE_ADDITIONAL_NETWORK'."

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM php:8.3.14-fpm-alpine3.20
FROM php:8.3.15-fpm-alpine3.21
ENV PHP_MEMORY_LIMIT=512M
ENV PHP_UPLOAD_LIMIT=16G
@@ -125,6 +125,7 @@ RUN set -ex; \
# set recommended PHP.ini settings
# see https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/server_tuning.html#enable-php-opcache
{ \
echo 'opcache.max_accelerated_files=10000'; \
echo 'opcache.memory_consumption=256'; \
echo 'opcache.interned_strings_buffer=64'; \
echo 'opcache.save_comments=1'; \

View File

@@ -158,7 +158,13 @@ if ! [ -f "$NEXTCLOUD_DATA_DIR/skip.update" ]; then
# Check connection to appstore start # Do not remove or change this line!
while true; do
echo -e "Checking connection to appstore"
CURL_STATUS="$(curl -LI "https://apps.nextcloud.com/" -o /dev/null -w '%{http_code}\n' -s)"
APPSTORE_URL="https://apps.nextcloud.com/"
if grep -q appstoreurl /var/www/html/config/config.php; then
set -x
APPSTORE_URL="$(grep appstoreurl /var/www/html/config/config.php | grep -oP 'https://.*v[0-9]+')"
set +x
fi
CURL_STATUS="$(curl -LI "$APPSTORE_URL" -o /dev/null -w '%{http_code}\n' -s)"
if [[ "$CURL_STATUS" = "200" ]]
then
echo "Appstore is reachable"

View File

@@ -1,7 +1,10 @@
#!/bin/bash
# Wait 15s for domain to be reachable
sleep 15
# Wait until the apache container is ready
while ! nc -z "$APACHE_HOST" "$APACHE_PORT"; do
echo "Waiting for Apache to become available..."
sleep 15
done
if [ -n "$NEXTCLOUD_EXEC_COMMANDS" ]; then
echo "#!/bin/bash" > /tmp/nextcloud-exec-commands

View File

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

View File

@@ -6,5 +6,5 @@ FROM onlyoffice/documentserver:8.2.2.1
COPY --chmod=775 healthcheck.sh /healthcheck.sh
HEALTHCHECK --start-period=360s CMD /healthcheck.sh
HEALTHCHECK --start-period=60s --retries=9 CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false"

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
# From https://github.com/docker-library/postgres/blob/master/16/alpine3.20/Dockerfile
# From https://github.com/docker-library/postgres/blob/master/16/alpine3.21/Dockerfile
FROM postgres:16.6-alpine
COPY --chmod=775 start.sh /start.sh

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# From https://github.com/docker-library/redis/blob/master/7.2/alpine/Dockerfile
FROM redis:7.2.6-alpine
FROM redis:7.2.7-alpine
COPY --chmod=775 start.sh /start.sh

View File

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

View File

@@ -1,10 +1,10 @@
# syntax=docker/dockerfile:latest
FROM nats:2.10.22-scratch AS nats
FROM nats:2.10.24-scratch AS nats
FROM eturnal/eturnal:1.12.1 AS eturnal
FROM strukturag/nextcloud-spreed-signaling:2.0.1 AS signaling
FROM alpine:3.20.3 AS janus
FROM alpine:3.21.1 AS janus
ARG JANUS_VERSION=v0.15.0
ARG JANUS_VERSION=v1.3.0
WORKDIR /src
RUN set -ex; \
apk add --no-cache \
@@ -34,7 +34,7 @@ RUN set -ex; \
make configs; \
rename -v ".jcfg.sample" ".jcfg" /usr/local/etc/janus/*.jcfg.sample
FROM alpine:3.20.3
FROM alpine:3.21.1
ENV ETURNAL_ETC_DIR="/conf"
COPY --from=janus --chmod=777 --chown=1000:1000 /usr/local /usr/local
COPY --from=eturnal --chmod=777 --chown=1000:1000 /opt/eturnal /opt/eturnal

View File

@@ -2,7 +2,7 @@
# From https://github.com/containrrr/watchtower/blob/main/dockerfiles/Dockerfile.self-contained
FROM containrrr/watchtower:1.7.1 AS watchtower
FROM alpine:3.20.3
FROM alpine:3.21.1
RUN set -ex; \
apk upgrade --no-cache -a; \

View File

@@ -16,6 +16,7 @@
"aio_variables": [
"nextcloud_memory_limit=2048M"
],
"enable_nvidia_gpu": false,
"nextcloud_exec_commands": [
"php /var/www/html/occ app:install facerecognition",
"php /var/www/html/occ app:enable facerecognition",

View File

@@ -3,6 +3,7 @@ This container bundles the external model of facerecognition and auto-configures
### Notes
- This container needs imaginary in order to analyze modern file format images. Make sure to enable imaginary in the AIO interface before adding this container.
- The image analysis is currently set to fixed value of `1G`. See [this](https://github.com/search?q=repo%3Anextcloud%2Fall-in-one+1G+path%3A%2F%5Ecommunity-containers%5C%2Ffacerecognition%5C%2F%2F&type=code)
- Facerecognition is by default disabled for all users, if you want to enable facerecognition for all users, you can run the following before adding this container:
```bash
# Go into the container

View File

@@ -31,6 +31,7 @@
"devices": [
"/dev/dri"
],
"enable_nvidia_gpu": true,
"backup_volumes": [
"nextcloud_aio_jellyfin"
]

View File

@@ -29,6 +29,7 @@
"writeable": false
}
],
"enable_nvidia_gpu": false,
"nextcloud_exec_commands": [
"mkdir '/mnt/ncdata/admin/files/nextcloud-aio-local-ai'",
"touch '/mnt/ncdata/admin/files/nextcloud-aio-local-ai/models.yaml'",

View File

@@ -7,7 +7,7 @@ This container bundles Local AI and auto-configures it for you.
- Example for content of `models.yaml` (if you add all of them, it takes around 10GB additional space):
```yaml
# Stable Diffusion in NCNN with c++, supported txt2img and img2img
- url: github:mudler/LocalAI/gallery/stablediffusion.yaml
- url: github:mudler/LocalAI/blob/master/gallery/stablediffusion.yaml
name: Stable_diffusion
```
- To make it work, you first need to browse `https://your-nc-domain.com/settings/admin/ai` and enable or disable specific features for your models in the openAI settings. Afterwards using the Nextcloud Assistant should work.

View File

@@ -27,6 +27,7 @@
"devices": [
"/dev/dri"
],
"enable_nvidia_gpu": true,
"nextcloud_exec_commands": [
"php /var/www/html/occ app:install memories",
"php /var/www/html/occ app:enable memories",

View File

@@ -2,7 +2,7 @@
This container bundles the hardware-transcoding container of memories and auto-configures it for you.
### Notes
- In order to actually enable the hardware transcoding, you need to add the following flag to AIO apart from adding this container: https://github.com/nextcloud/all-in-one#how-to-enable-hardware-transcoding-for-nextcloud
- In order to actually enable the hardware transcoding, you need to add the following flag to AIO apart from adding this container: https://github.com/nextcloud/all-in-one#how-to-enable-hardware-acceleration-for-nextcloud
- 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

@@ -33,6 +33,7 @@
"devices": [
"/dev/dri"
],
"enable_nvidia_gpu": true,
"backup_volumes": [
"nextcloud_aio_plex"
]

View File

@@ -29,10 +29,11 @@ services:
# 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. See https://github.com/nextcloud/all-in-one#how-to-change-the-nextcloud-apps-that-are-installed-on-the-first-startup
# NEXTCLOUD_ADDITIONAL_APKS: imagemagick # This allows to add additional packages to the Nextcloud container permanently. Default is imagemagick but can be overwritten by modifying this value. See https://github.com/nextcloud/all-in-one#how-to-add-os-packages-permanently-to-the-nextcloud-container
# 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. See https://github.com/nextcloud/all-in-one#how-to-add-php-extensions-permanently-to-the-nextcloud-container
# NEXTCLOUD_ENABLE_DRI_DEVICE: true # This allows to enable the /dev/dri device in the Nextcloud container. ⚠️⚠️⚠️ 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-transcoding-for-nextcloud
# 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
# TALK_PORT: 3478 # This allows to adjust the port that the talk container is using. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-talk-port
# TALK_PORT: 3478 # This allows to adjust the port that the talk container is using which is exposed on the host. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-talk-port
# WATCHTOWER_DOCKER_SOCKET_PATH: /var/run/docker.sock # Needs to be specified if the docker socket on the host is not located in the default '/var/run/docker.sock'. Otherwise mastercontainer updates will fail. For macos it needs to be '/var/run/docker.sock'
# security_opt: ["label:disable"] # Is needed when using SELinux

View File

@@ -22,6 +22,13 @@ services:
image: nextcloud/aio-apache:latest
user: "33"
init: true
healthcheck:
start_period: 0s
test: /healthcheck.sh
interval: 30s
timeout: 30s
start_interval: 5s
retries: 3
ports:
- ${APACHE_IP_BINDING}:${APACHE_PORT}:${APACHE_PORT}/tcp
- ${APACHE_IP_BINDING}:${APACHE_PORT}:${APACHE_PORT}/udp
@@ -56,6 +63,13 @@ services:
image: nextcloud/aio-postgresql:latest
user: "999"
init: true
healthcheck:
start_period: 0s
test: /healthcheck.sh
interval: 30s
timeout: 30s
start_interval: 5s
retries: 3
expose:
- "5432"
volumes:
@@ -98,6 +112,13 @@ services:
required: false
image: nextcloud/aio-nextcloud:latest
init: true
healthcheck:
start_period: 0s
test: /healthcheck.sh
interval: 30s
timeout: 30s
start_interval: 5s
retries: 3
expose:
- "9000"
- "9001"
@@ -107,6 +128,7 @@ services:
- ${NEXTCLOUD_MOUNT}:${NEXTCLOUD_MOUNT}:rw
- ${NEXTCLOUD_TRUSTED_CACERTS_DIR}:/usr/local/share/ca-certificates:ro
environment:
- NEXTCLOUD_HOST=nextcloud-aio-nextcloud
- POSTGRES_HOST=nextcloud-aio-database
- POSTGRES_PORT=5432
- POSTGRES_PASSWORD=${DATABASE_PASSWORD}
@@ -114,6 +136,8 @@ services:
- POSTGRES_USER=nextcloud
- REDIS_HOST=nextcloud-aio-redis
- REDIS_HOST_PASSWORD=${REDIS_PASSWORD}
- APACHE_HOST=nextcloud-aio-apache
- APACHE_PORT
- NC_DOMAIN
- ADMIN_USER=admin
- ADMIN_PASSWORD=${NEXTCLOUD_PASSWORD}
@@ -152,7 +176,6 @@ services:
- TALK_RECORDING_HOST=nextcloud-aio-talk-recording
- FULLTEXTSEARCH_PASSWORD
- REMOVE_DISABLED_APPS
- APACHE_PORT
- IMAGINARY_SECRET
- WHITEBOARD_SECRET
- WHITEBOARD_ENABLED
@@ -165,6 +188,13 @@ services:
image: nextcloud/aio-notify-push:latest
user: "33"
init: true
healthcheck:
start_period: 0s
test: /healthcheck.sh
interval: 30s
timeout: 30s
start_interval: 5s
retries: 3
expose:
- "7867"
volumes:
@@ -188,6 +218,13 @@ services:
image: nextcloud/aio-redis:latest
user: "999"
init: true
healthcheck:
start_period: 0s
test: /healthcheck.sh
interval: 30s
timeout: 30s
start_interval: 5s
retries: 3
expose:
- "6379"
environment:
@@ -203,11 +240,18 @@ services:
nextcloud-aio-collabora:
image: nextcloud/aio-collabora:latest
init: true
healthcheck:
start_period: 60s
test: /healthcheck.sh
interval: 30s
timeout: 30s
start_interval: 5s
retries: 9
expose:
- "9980"
environment:
- aliasgroup1=https://${NC_DOMAIN}:443
- extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:mount_jail_tree=false --o:logging.level=warning --o:home_mode.enable=true ${COLLABORA_SECCOMP_POLICY} --o:remote_font_config.url=https://${NC_DOMAIN}/apps/richdocuments/settings/fonts.json
- extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:mount_jail_tree=false --o:logging.level=warning --o:home_mode.enable=true ${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}
@@ -225,6 +269,13 @@ services:
image: nextcloud/aio-talk:latest
user: "1000"
init: true
healthcheck:
start_period: 0s
test: /healthcheck.sh
interval: 30s
timeout: 30s
start_interval: 5s
retries: 3
ports:
- ${TALK_PORT}:${TALK_PORT}/tcp
- ${TALK_PORT}:${TALK_PORT}/udp
@@ -256,6 +307,13 @@ services:
image: nextcloud/aio-talk-recording:latest
user: "122"
init: true
healthcheck:
start_period: 0s
test: /healthcheck.sh
interval: 30s
timeout: 30s
start_interval: 5s
retries: 3
expose:
- "1234"
environment:
@@ -279,6 +337,13 @@ services:
image: nextcloud/aio-clamav:latest
user: "100"
init: false
healthcheck:
start_period: 60s
test: clamdcheck.sh
interval: 30s
timeout: 30s
start_interval: 5s
retries: 9
expose:
- "3310"
environment:
@@ -301,6 +366,13 @@ services:
nextcloud-aio-onlyoffice:
image: nextcloud/aio-onlyoffice:latest
init: true
healthcheck:
start_period: 60s
test: /healthcheck.sh
interval: 30s
timeout: 30s
start_interval: 5s
retries: 9
expose:
- "80"
environment:
@@ -320,6 +392,13 @@ services:
image: nextcloud/aio-imaginary:latest
user: "65534"
init: true
healthcheck:
start_period: 0s
test: /healthcheck.sh
interval: 30s
timeout: 30s
start_interval: 5s
retries: 3
expose:
- "9000"
environment:
@@ -339,6 +418,13 @@ services:
nextcloud-aio-fulltextsearch:
image: nextcloud/aio-fulltextsearch:latest
init: false
healthcheck:
start_period: 60s
test: /healthcheck.sh
interval: 10s
timeout: 5s
start_interval: 5s
retries: 5
expose:
- "9200"
environment:
@@ -364,6 +450,13 @@ services:
image: nextcloud/aio-whiteboard:latest
user: "65534"
init: true
healthcheck:
start_period: 0s
test: /healthcheck.sh
interval: 30s
timeout: 30s
start_interval: 5s
retries: 3
expose:
- "3002"
environment:

View File

@@ -23,7 +23,7 @@ git clone https://github.com/nextcloud/all-in-one.git
cd all-in-one/manual-install
```
Then copy the sample.conf to default environment file, e.g. `cp sample.conf .env`, open the new conf file, e.g. with `nano .env`, edit all values that are marked with `# TODO!`, close and save the file. (Note: there is no clamav image for arm64).<br>
⚠️ **Warning**: Do not use the symbols `@` and `:` in your passwords. These symbols are used to build database connection strings. You will experience issues when using these symbols!
⚠️ **Warning**: Do not use the symbols `@` and `:` in your passwords. These symbols are used to build database connection strings. You will experience issues when using these symbols! Also please note that values inside the latest.yaml that are not exposed as variables are not officially supported to be changed. See for example [this report](https://github.com/nextcloud/all-in-one/issues/5612).
Now copy the provided yaml file to a compose.yaml file by running `cp latest.yml compose.yaml`.

View File

@@ -15,6 +15,7 @@ OUTPUT="$(cat /tmp/containers.json)"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[].internal_port)')"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[].secrets)')"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[].devices)')"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[].enable_nvidia_gpu)')"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[].backup_volumes)')"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[].nextcloud_exec_commands)')"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[].image_tag)')"
@@ -86,7 +87,7 @@ sed -i 's|NEXTCLOUD_TRUSTED_CACERTS_DIR=|NEXTCLOUD_TRUSTED_CACERTS_DIR=/usr/loca
sed -i 's|UPDATE_NEXTCLOUD_APPS=|UPDATE_NEXTCLOUD_APPS="no" # When setting to "yes" (with quotes), it will automatically update all installed Nextcloud apps upon container startup on saturdays.|' sample.conf
sed -i 's|APACHE_PORT=|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).|' sample.conf
sed -i 's|APACHE_IP_BINDING=|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|' sample.conf
sed -i 's|TALK_PORT=|TALK_PORT=3478 # This allows to adjust the port that the talk container is using.|' sample.conf
sed -i 's|TALK_PORT=|TALK_PORT=3478 # This allows to adjust the port that the talk container is using. It should be set to something higher than 1024! Otherwise it might not work!|' sample.conf
sed -i 's|NC_DOMAIN=|NC_DOMAIN=yourdomain.com # TODO! Needs to be changed to the domain that you want to use for Nextcloud.|' sample.conf
sed -i 's|NEXTCLOUD_PASSWORD=|NEXTCLOUD_PASSWORD= # TODO! This is the password of the initially created Nextcloud admin with username "admin".|' sample.conf
sed -i 's|TIMEZONE=|TIMEZONE=Europe/Berlin # TODO! This is the timezone that your containers will use.|' sample.conf

View File

@@ -1,6 +1,6 @@
# How to migrate from an already existing Nextcloud installation to Nextcloud AIO?
There are basically three ways how to migrate from an already existing Nextcloud installation to Nextcloud AIO:
There are basically three ways how to migrate from an already existing Nextcloud installation to Nextcloud AIO (if you ran AIO on the former installation already, you can follow [these steps](https://github.com/nextcloud/all-in-one#how-to-migrate-from-aio-to-aio)):
1. Migrate only the files which is the easiest way (this excludes all calendar data for example)
1. Migrate the files and the database which is much more complicated (and doesn't work on former snap installations)
@@ -14,7 +14,7 @@ The procedure for migrating only the files works like this:
1. Install Nextcloud AIO on a new server/linux installation, enter your domain and wait until all containers are running
1. Recreate all users that were present on your former installation
1. Take a backup using Nextcloud AIO's built-in backup solution (so that you can easily restore to this state again) (Note: this will stop all containers and is expected: don't start the container again at this point!)
1. Restore the datadirectory of your former instance: for `/path/to/nextcloud/data/` run `sudo docker cp --follow-link /path/to/nextcloud/data/. nextcloud-aio-nextcloud:/mnt/ncdata/` Note: the `/.` and `/` at the end are necessary.
1. Restore the datadirectory of your former instance: for `/path/to/old/nextcloud/data/` run `sudo docker cp --follow-link /path/to/old/nextcloud/data/. nextcloud-aio-nextcloud:/mnt/ncdata/` Note: the `/.` and `/` at the end are necessary.
1. Next, run `sudo docker run --rm --volume nextcloud_aio_nextcloud_data:/mnt/ncdata:rw alpine chown -R 33:0 /mnt/ncdata/` and `sudo docker run --rm --volume nextcloud_aio_nextcloud_data:/mnt/ncdata:rw alpine chmod -R 750 /mnt/ncdata/` to apply the correct permissions. (Or if `NEXTCLOUD_DATADIR` was provided, apply `chown -R 33:0` and `chmod -R 750` to the chosen path.)
1. Start the containers again and wait until all containers are running
1. Run `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ files:scan-app-data && sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ files:scan --all` in order to scan all files in the datadirectory.

View File

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

View File

@@ -2,8 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-apache
name: nextcloud-aio-apache
@@ -18,8 +17,7 @@ spec:
template:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-apache
spec:
@@ -63,7 +61,7 @@ spec:
value: "{{ .Values.TIMEZONE }}"
- name: WHITEBOARD_HOST
value: nextcloud-aio-whiteboard
image: nextcloud/aio-apache:20241125_091756
image: nextcloud/aio-apache:20250106_094420
name: nextcloud-aio-apache
ports:
- containerPort: {{ .Values.APACHE_PORT }}

View File

@@ -2,8 +2,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-apache
name: nextcloud-aio-apache

View File

@@ -3,8 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-clamav
name: nextcloud-aio-clamav
@@ -19,8 +18,7 @@ spec:
template:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-clamav
spec:
@@ -55,7 +53,6 @@ spec:
{{- else }}
drop: ["NET_RAW"]
{{- end }}
add: ["NET_BIND_SERVICE"]
containers:
- env:
- name: CLAMD_STARTUP_TIMEOUT
@@ -64,7 +61,23 @@ spec:
value: "{{ .Values.NEXTCLOUD_UPLOAD_LIMIT }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-clamav:20241125_091756
image: nextcloud/aio-clamav:20250106_094420
readinessProbe:
exec:
command:
- clamdcheck.sh
failureThreshold: 9
initialDelaySeconds: 60
periodSeconds: 30
timeoutSeconds: 30
livenessProbe:
exec:
command:
- clamdcheck.sh
failureThreshold: 9
initialDelaySeconds: 60
periodSeconds: 30
timeoutSeconds: 30
name: nextcloud-aio-clamav
ports:
- containerPort: 3310
@@ -78,7 +91,6 @@ spec:
{{- else }}
drop: ["NET_RAW"]
{{- end }}
add: ["NET_BIND_SERVICE"]
volumeMounts:
- mountPath: /var/lib/clamav
subPath: data

View File

@@ -3,8 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-clamav
name: nextcloud-aio-clamav

View File

@@ -3,8 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-collabora
name: nextcloud-aio-collabora
@@ -17,8 +16,7 @@ spec:
template:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-collabora
spec:
@@ -33,10 +31,26 @@ spec:
- name: dictionaries
value: "{{ .Values.COLLABORA_DICTIONARIES }}"
- name: extra_params
value: --o:ssl.enable=false --o:ssl.termination=true --o:mount_jail_tree=false --o:logging.level=warning --o:home_mode.enable=true {{ .Values.COLLABORA_SECCOMP_POLICY }} --o:remote_font_config.url=https://{{ .Values.NC_DOMAIN }}/apps/richdocuments/settings/fonts.json
value: --o:ssl.enable=false --o:ssl.termination=true --o:mount_jail_tree=false --o:logging.level=warning --o:home_mode.enable=true {{ .Values.COLLABORA_SECCOMP_POLICY }} --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: nextcloud/aio-collabora:20241125_091756
image: nextcloud/aio-collabora:20250106_094420
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-collabora
ports:
- containerPort: 9980

View File

@@ -3,8 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-collabora
name: nextcloud-aio-collabora

View File

@@ -2,8 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-database
name: nextcloud-aio-database
@@ -18,8 +17,7 @@ spec:
template:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-database
spec:
@@ -54,7 +52,6 @@ spec:
{{- else }}
drop: ["NET_RAW"]
{{- end }}
add: ["NET_BIND_SERVICE"]
containers:
- env:
- name: PGTZ
@@ -67,7 +64,21 @@ spec:
value: nextcloud
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-postgresql:20241125_091756
image: nextcloud/aio-postgresql:20250106_094420
readinessProbe:
exec:
command:
- /healthcheck.sh
failureThreshold: 3
periodSeconds: 30
timeoutSeconds: 30
livenessProbe:
exec:
command:
- /healthcheck.sh
failureThreshold: 3
periodSeconds: 30
timeoutSeconds: 30
name: nextcloud-aio-database
ports:
- containerPort: 5432
@@ -81,7 +92,6 @@ spec:
{{- else }}
drop: ["NET_RAW"]
{{- end }}
add: ["NET_BIND_SERVICE"]
volumeMounts:
- mountPath: /var/lib/postgresql/data
subPath: data

View File

@@ -2,8 +2,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-database
name: nextcloud-aio-database

View File

@@ -3,8 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-fulltextsearch
name: nextcloud-aio-fulltextsearch
@@ -19,8 +18,7 @@ spec:
template:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-fulltextsearch
spec:
@@ -56,7 +54,23 @@ spec:
value: basic
- name: xpack.security.enabled
value: "false"
image: nextcloud/aio-fulltextsearch:20241125_091756
image: nextcloud/aio-fulltextsearch:20250106_094420
readinessProbe:
exec:
command:
- /healthcheck.sh
failureThreshold: 5
initialDelaySeconds: 60
periodSeconds: 10
timeoutSeconds: 5
livenessProbe:
exec:
command:
- /healthcheck.sh
failureThreshold: 5
initialDelaySeconds: 60
periodSeconds: 10
timeoutSeconds: 5
name: nextcloud-aio-fulltextsearch
ports:
- containerPort: 9200

View File

@@ -3,8 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-fulltextsearch
name: nextcloud-aio-fulltextsearch

View File

@@ -3,8 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-imaginary
name: nextcloud-aio-imaginary
@@ -17,8 +16,7 @@ spec:
template:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-imaginary
spec:
@@ -40,7 +38,21 @@ spec:
value: "{{ .Values.IMAGINARY_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-imaginary:20241125_091756
image: nextcloud/aio-imaginary:20250106_094420
readinessProbe:
exec:
command:
- /healthcheck.sh
failureThreshold: 3
periodSeconds: 30
timeoutSeconds: 30
livenessProbe:
exec:
command:
- /healthcheck.sh
failureThreshold: 3
periodSeconds: 30
timeoutSeconds: 30
name: nextcloud-aio-imaginary
ports:
- containerPort: 9000
@@ -54,6 +66,4 @@ spec:
{{- else }}
drop: ["NET_RAW"]
{{- end }}
add:
- NET_BIND_SERVICE
{{- end }}

View File

@@ -3,8 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-imaginary
name: nextcloud-aio-imaginary

View File

@@ -2,8 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-nextcloud
name: nextcloud-aio-nextcloud
@@ -18,8 +17,7 @@ spec:
template:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-nextcloud
spec:
@@ -92,6 +90,8 @@ spec:
value: "{{ .Values.NEXTCLOUD_PASSWORD }}"
- name: ADMIN_USER
value: admin
- name: APACHE_HOST
value: nextcloud-aio-apache
- name: APACHE_PORT
value: "{{ .Values.APACHE_PORT }}"
- name: CLAMAV_ENABLED
@@ -122,6 +122,8 @@ spec:
value: "{{ .Values.NC_DOMAIN }}"
- name: NEXTCLOUD_DATA_DIR
value: /mnt/ncdata
- name: NEXTCLOUD_HOST
value: nextcloud-aio-nextcloud
- name: ONLYOFFICE_ENABLED
value: "{{ .Values.ONLYOFFICE_ENABLED }}"
- name: ONLYOFFICE_HOST
@@ -178,7 +180,7 @@ spec:
value: "{{ .Values.WHITEBOARD_ENABLED }}"
- name: WHITEBOARD_SECRET
value: "{{ .Values.WHITEBOARD_SECRET }}"
image: nextcloud/aio-nextcloud:20241125_091756
image: nextcloud/aio-nextcloud:20250106_094420
{{- if eq (.Values.RPSS_ENABLED | default "no") "yes" }} # AIO-config - do not change this comment!
securityContext:
# The items below only work in container context
@@ -189,8 +191,21 @@ spec:
{{- else }}
drop: ["NET_RAW"]
{{- end }}
add: ["NET_BIND_SERVICE"]
{{- end }} # AIO-config - do not change this comment!
readinessProbe:
exec:
command:
- /healthcheck.sh
failureThreshold: 3
periodSeconds: 30
timeoutSeconds: 30
livenessProbe:
exec:
command:
- /healthcheck.sh
failureThreshold: 3
periodSeconds: 30
timeoutSeconds: 30
name: nextcloud-aio-nextcloud
ports:
- containerPort: 9000

View File

@@ -2,8 +2,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-nextcloud
name: nextcloud-aio-nextcloud

View File

@@ -2,8 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-notify-push
name: nextcloud-aio-notify-push
@@ -18,8 +17,7 @@ spec:
template:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-notify-push
spec:
@@ -55,7 +53,21 @@ spec:
value: nextcloud-aio-redis
- name: REDIS_HOST_PASSWORD
value: "{{ .Values.REDIS_PASSWORD }}"
image: nextcloud/aio-notify-push:20241125_091756
image: nextcloud/aio-notify-push:20250106_094420
readinessProbe:
exec:
command:
- /healthcheck.sh
failureThreshold: 3
periodSeconds: 30
timeoutSeconds: 30
livenessProbe:
exec:
command:
- /healthcheck.sh
failureThreshold: 3
periodSeconds: 30
timeoutSeconds: 30
name: nextcloud-aio-notify-push
ports:
- containerPort: 7867
@@ -69,7 +81,6 @@ spec:
{{- else }}
drop: ["NET_RAW"]
{{- end }}
add: ["NET_BIND_SERVICE"]
volumeMounts:
- mountPath: /nextcloud
name: nextcloud-aio-nextcloud

View File

@@ -2,8 +2,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-notify-push
name: nextcloud-aio-notify-push

View File

@@ -3,8 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-onlyoffice
name: nextcloud-aio-onlyoffice
@@ -19,8 +18,7 @@ spec:
template:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-onlyoffice
spec:
@@ -44,7 +42,23 @@ spec:
value: "{{ .Values.ONLYOFFICE_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-onlyoffice:20241125_091756
image: nextcloud/aio-onlyoffice:20250106_094420
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-onlyoffice
ports:
- containerPort: 80

View File

@@ -3,8 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-onlyoffice
name: nextcloud-aio-onlyoffice

View File

@@ -2,8 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-redis
name: nextcloud-aio-redis
@@ -18,8 +17,7 @@ spec:
template:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-redis
spec:
@@ -41,7 +39,21 @@ spec:
value: "{{ .Values.REDIS_PASSWORD }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-redis:20241125_091756
image: nextcloud/aio-redis:20250106_094420
readinessProbe:
exec:
command:
- /healthcheck.sh
failureThreshold: 3
periodSeconds: 30
timeoutSeconds: 30
livenessProbe:
exec:
command:
- /healthcheck.sh
failureThreshold: 3
periodSeconds: 30
timeoutSeconds: 30
name: nextcloud-aio-redis
ports:
- containerPort: 6379
@@ -55,7 +67,6 @@ spec:
{{- else }}
drop: ["NET_RAW"]
{{- end }}
add: ["NET_BIND_SERVICE"]
volumeMounts:
- mountPath: /data
name: nextcloud-aio-redis

View File

@@ -2,8 +2,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-redis
name: nextcloud-aio-redis

View File

@@ -3,8 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-talk
name: nextcloud-aio-talk
@@ -17,8 +16,7 @@ spec:
template:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-talk
spec:
@@ -54,7 +52,21 @@ spec:
value: "{{ .Values.TURN_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-talk:20241125_091756
image: nextcloud/aio-talk:20250106_094420
readinessProbe:
exec:
command:
- /healthcheck.sh
failureThreshold: 3
periodSeconds: 30
timeoutSeconds: 30
livenessProbe:
exec:
command:
- /healthcheck.sh
failureThreshold: 3
periodSeconds: 30
timeoutSeconds: 30
name: nextcloud-aio-talk
ports:
- containerPort: {{ .Values.TALK_PORT }}
@@ -72,5 +84,4 @@ spec:
{{- else }}
drop: ["NET_RAW"]
{{- end }}
add: ["NET_BIND_SERVICE"]
{{- end }}

View File

@@ -3,8 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-talk-recording
name: nextcloud-aio-talk-recording
@@ -19,8 +18,7 @@ spec:
template:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-talk-recording
spec:
@@ -46,7 +44,21 @@ spec:
value: "{{ .Values.RECORDING_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-talk-recording:20241125_091756
image: nextcloud/aio-talk-recording:20250106_094420
readinessProbe:
exec:
command:
- /healthcheck.sh
failureThreshold: 3
periodSeconds: 30
timeoutSeconds: 30
livenessProbe:
exec:
command:
- /healthcheck.sh
failureThreshold: 3
periodSeconds: 30
timeoutSeconds: 30
name: nextcloud-aio-talk-recording
ports:
- containerPort: 1234
@@ -60,7 +72,6 @@ spec:
{{- else }}
drop: ["NET_RAW"]
{{- end }}
add: ["NET_BIND_SERVICE"]
volumeMounts:
- mountPath: /tmp
name: nextcloud-aio-talk-recording

View File

@@ -3,8 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-talk-recording
name: nextcloud-aio-talk-recording

View File

@@ -4,8 +4,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-talk
name: nextcloud-aio-talk-public
@@ -29,8 +28,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-talk
name: nextcloud-aio-talk

View File

@@ -3,8 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-whiteboard
name: nextcloud-aio-whiteboard
@@ -17,8 +16,7 @@ spec:
template:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-whiteboard
spec:
@@ -48,7 +46,21 @@ spec:
value: redis
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-whiteboard:20241125_091756
image: nextcloud/aio-whiteboard:20250106_094420
readinessProbe:
exec:
command:
- /healthcheck.sh
failureThreshold: 3
periodSeconds: 30
timeoutSeconds: 30
livenessProbe:
exec:
command:
- /healthcheck.sh
failureThreshold: 3
periodSeconds: 30
timeoutSeconds: 30
name: nextcloud-aio-whiteboard
ports:
- containerPort: 3002
@@ -62,5 +74,4 @@ spec:
{{- else }}
drop: ["NET_RAW"]
{{- end }}
add: ["NET_BIND_SERVICE"]
{{- end }}

View File

@@ -3,8 +3,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.34.0 (cbf2835db)
kompose.version: 1.35.0 (9532ceef3)
labels:
io.kompose.service: nextcloud-aio-whiteboard
name: nextcloud-aio-whiteboard

View File

@@ -55,7 +55,7 @@ yq -i 'del(.services.[].tmpfs)' latest.yml
# Remove cap_drop in order to add it later again easier
yq -i 'del(.services.[].cap_drop)' latest.yml
# Remove SYS_NICE for imaginary as it is not supported with RPSS
sed -i "s|- SYS_NICE$|- NET_BIND_SERVICE|" latest.yml
yq -i 'del(.services."nextcloud-aio-imaginary".cap_add)' latest.yml
# cap SYS_ADMIN is called CAP_SYS_ADMIN in k8s
sed -i "s|- SYS_ADMIN$|- CAP_SYS_ADMIN|" latest.yml
@@ -461,10 +461,9 @@ cat << EOL > /tmp/security.conf
{{- else }}
drop: ["NET_RAW"]
{{- end }}
add: ["NET_BIND_SERVICE"]
EOL
# shellcheck disable=SC1083
find ./ \( -not -name '*collabora-deployment.yaml*' -not -name '*imaginary-deployment.yaml*' -not -name '*onlyoffice-deployment.yaml*' -name "*deployment.yaml" \) -exec sed -i "/^ securityContext:$/r /tmp/security.conf" \{} \;
find ./ \( -not -name '*collabora-deployment.yaml*' -not -name '*apache-deployment.yaml*' -not -name '*onlyoffice-deployment.yaml*' -name "*deployment.yaml" \) -exec sed -i "/^ securityContext:$/r /tmp/security.conf" \{} \;
cat << EOL > /tmp/security.conf
# The items below only work in container context
@@ -475,9 +474,11 @@ cat << EOL > /tmp/security.conf
{{- else }}
drop: ["NET_RAW"]
{{- end }}
add: ["NET_BIND_SERVICE"]
EOL
# shellcheck disable=SC1083
find ./ -name '*imaginary-deployment.yaml*' -exec sed -i "/^ securityContext:$/r /tmp/security.conf" \{} \;
find ./ -name '*apache-deployment.yaml*' -exec sed -i "/^ securityContext:$/r /tmp/security.conf" \{} \;
cat << EOL > /tmp/security.conf
{{- if eq (.Values.RPSS_ENABLED | default "no") "yes" }} # AIO-config - do not change this comment!
@@ -490,7 +491,6 @@ cat << EOL > /tmp/security.conf
{{- else }}
drop: ["NET_RAW"]
{{- end }}
add: ["NET_BIND_SERVICE"]
{{- end }} # AIO-config - do not change this comment!
EOL
# shellcheck disable=SC1083

90
php/composer.lock generated
View File

@@ -1348,12 +1348,12 @@
},
"type": "library",
"extra": {
"thanks": {
"url": "https://github.com/symfony/contracts",
"name": "symfony/contracts"
},
"branch-alias": {
"dev-main": "3.5-dev"
},
"thanks": {
"name": "symfony/contracts",
"url": "https://github.com/symfony/contracts"
}
},
"autoload": {
@@ -1422,8 +1422,8 @@
"type": "library",
"extra": {
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"autoload": {
@@ -1501,8 +1501,8 @@
"type": "library",
"extra": {
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"autoload": {
@@ -1575,8 +1575,8 @@
"type": "library",
"extra": {
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"autoload": {
@@ -1633,16 +1633,16 @@
},
{
"name": "twig/twig",
"version": "v3.16.0",
"version": "v3.18.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "475ad2dc97d65d8631393e721e7e44fb544f0561"
"reference": "acffa88cc2b40dbe42eaf3a5025d6c0d4600cc50"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/475ad2dc97d65d8631393e721e7e44fb544f0561",
"reference": "475ad2dc97d65d8631393e721e7e44fb544f0561",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/acffa88cc2b40dbe42eaf3a5025d6c0d4600cc50",
"reference": "acffa88cc2b40dbe42eaf3a5025d6c0d4600cc50",
"shasum": ""
},
"require": {
@@ -1697,7 +1697,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
"source": "https://github.com/twigphp/Twig/tree/v3.16.0"
"source": "https://github.com/twigphp/Twig/tree/v3.18.0"
},
"funding": [
{
@@ -1709,7 +1709,7 @@
"type": "tidelift"
}
],
"time": "2024-11-29T08:27:05+00:00"
"time": "2024-12-29T10:51:50+00:00"
}
],
"packages-dev": [
@@ -1973,13 +1973,13 @@
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "3.x-dev"
},
"phpstan": {
"includes": [
"extension.neon"
]
},
"branch-alias": {
"dev-main": "3.x-dev"
}
},
"autoload": {
@@ -2814,16 +2814,16 @@
},
{
"name": "spatie/array-to-xml",
"version": "3.3.0",
"version": "3.4.0",
"source": {
"type": "git",
"url": "https://github.com/spatie/array-to-xml.git",
"reference": "f56b220fe2db1ade4c88098d83413ebdfc3bf876"
"reference": "7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/array-to-xml/zipball/f56b220fe2db1ade4c88098d83413ebdfc3bf876",
"reference": "f56b220fe2db1ade4c88098d83413ebdfc3bf876",
"url": "https://api.github.com/repos/spatie/array-to-xml/zipball/7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67",
"reference": "7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67",
"shasum": ""
},
"require": {
@@ -2866,7 +2866,7 @@
"xml"
],
"support": {
"source": "https://github.com/spatie/array-to-xml/tree/3.3.0"
"source": "https://github.com/spatie/array-to-xml/tree/3.4.0"
},
"funding": [
{
@@ -2878,7 +2878,7 @@
"type": "github"
}
],
"time": "2024-05-01T10:20:27+00:00"
"time": "2024-12-16T12:45:15+00:00"
},
{
"name": "sserbin/twig-linter",
@@ -2940,16 +2940,16 @@
},
{
"name": "symfony/console",
"version": "v6.4.15",
"version": "v6.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "f1fc6f47283e27336e7cebb9e8946c8de7bff9bd"
"reference": "799445db3f15768ecc382ac5699e6da0520a0a04"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/f1fc6f47283e27336e7cebb9e8946c8de7bff9bd",
"reference": "f1fc6f47283e27336e7cebb9e8946c8de7bff9bd",
"url": "https://api.github.com/repos/symfony/console/zipball/799445db3f15768ecc382ac5699e6da0520a0a04",
"reference": "799445db3f15768ecc382ac5699e6da0520a0a04",
"shasum": ""
},
"require": {
@@ -3014,7 +3014,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v6.4.15"
"source": "https://github.com/symfony/console/tree/v6.4.17"
},
"funding": [
{
@@ -3030,7 +3030,7 @@
"type": "tidelift"
}
],
"time": "2024-11-06T14:19:14+00:00"
"time": "2024-12-07T12:07:30+00:00"
},
{
"name": "symfony/filesystem",
@@ -3100,16 +3100,16 @@
},
{
"name": "symfony/finder",
"version": "v6.4.13",
"version": "v6.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
"reference": "daea9eca0b08d0ed1dc9ab702a46128fd1be4958"
"reference": "1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/daea9eca0b08d0ed1dc9ab702a46128fd1be4958",
"reference": "daea9eca0b08d0ed1dc9ab702a46128fd1be4958",
"url": "https://api.github.com/repos/symfony/finder/zipball/1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7",
"reference": "1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7",
"shasum": ""
},
"require": {
@@ -3144,7 +3144,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/finder/tree/v6.4.13"
"source": "https://github.com/symfony/finder/tree/v6.4.17"
},
"funding": [
{
@@ -3160,7 +3160,7 @@
"type": "tidelift"
}
],
"time": "2024-10-01T08:30:56+00:00"
"time": "2024-12-29T13:51:37+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
@@ -3185,8 +3185,8 @@
"type": "library",
"extra": {
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"autoload": {
@@ -3263,8 +3263,8 @@
"type": "library",
"extra": {
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"autoload": {
@@ -3345,12 +3345,12 @@
},
"type": "library",
"extra": {
"thanks": {
"url": "https://github.com/symfony/contracts",
"name": "symfony/contracts"
},
"branch-alias": {
"dev-main": "3.5-dev"
},
"thanks": {
"name": "symfony/contracts",
"url": "https://github.com/symfony/contracts"
}
},
"autoload": {

View File

@@ -160,6 +160,9 @@
"pattern": "^/dev/[a-z]+$"
}
},
"enable_nvidia_gpu": {
"type": "boolean"
},
"apparmor_unconfined": {
"type": "boolean"
},

View File

@@ -210,6 +210,8 @@
"POSTGRES_USER=nextcloud",
"REDIS_HOST=nextcloud-aio-redis",
"REDIS_HOST_PASSWORD=%REDIS_PASSWORD%",
"APACHE_HOST=nextcloud-aio-apache",
"APACHE_PORT=%APACHE_PORT%",
"AIO_TOKEN=%AIO_TOKEN%",
"NC_DOMAIN=%NC_DOMAIN%",
"ADMIN_USER=admin",
@@ -251,7 +253,6 @@
"FULLTEXTSEARCH_PASSWORD=%FULLTEXTSEARCH_PASSWORD%",
"DOCKER_SOCKET_PROXY_ENABLED=%DOCKER_SOCKET_PROXY_ENABLED%",
"REMOVE_DISABLED_APPS=%REMOVE_DISABLED_APPS%",
"APACHE_PORT=%APACHE_PORT%",
"ADDITIONAL_TRUSTED_PROXY=%CADDY_IP_ADDRESS%",
"THIS_IS_AIO=true",
"IMAGINARY_SECRET=%IMAGINARY_SECRET%",
@@ -263,6 +264,7 @@
"devices": [
"/dev/dri"
],
"enable_nvidia_gpu": true,
"backup_volumes": [
"nextcloud_aio_nextcloud"
],
@@ -375,12 +377,12 @@
"image": "nextcloud/aio-collabora",
"init": true,
"healthcheck": {
"start_period": "360s",
"start_period": "60s",
"test": "/healthcheck.sh",
"interval": "30s",
"timeout": "30s",
"start_interval": "5s",
"retries": 3
"retries": 9
},
"expose": [
"9980"
@@ -388,7 +390,7 @@
"internal_port": "9980",
"environment": [
"aliasgroup1=https://%NC_DOMAIN%:443",
"extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:mount_jail_tree=false --o:logging.level=warning --o:home_mode.enable=true %COLLABORA_SECCOMP_POLICY% --o:remote_font_config.url=https://%NC_DOMAIN%/apps/richdocuments/settings/fonts.json --o:net.post_allow_host[0]=0.0.0.0/0 --o:net.post_allow_host[1]=::/0",
"extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:mount_jail_tree=false --o:logging.level=warning --o:home_mode.enable=true %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%",
@@ -520,6 +522,10 @@
"profiles": [
"talk-recording"
],
"devices": [
"/dev/dri"
],
"enable_nvidia_gpu": true,
"networks": [
"nextcloud-aio"
],
@@ -657,12 +663,12 @@
"user": "100",
"init": false,
"healthcheck": {
"start_period": "360s",
"start_period": "60s",
"test": "clamdcheck.sh",
"interval": "30s",
"timeout": "30s",
"start_interval": "5s",
"retries": 3
"retries": 9
},
"expose": [
"3310"
@@ -704,12 +710,12 @@
"image": "nextcloud/aio-onlyoffice",
"init": true,
"healthcheck": {
"start_period": "360s",
"start_period": "60s",
"test": "/healthcheck.sh",
"interval": "30s",
"timeout": "30s",
"start_interval": "5s",
"retries": 3
"retries": 9
},
"expose": [
"80"

View File

@@ -125,6 +125,7 @@ $app->get('/containers', function (Request $request, Response $response, array $
'nextcloud_max_time' => $configurationManager->GetNextcloudMaxTime(),
'nextcloud_memory_limit' => $configurationManager->GetNextcloudMemoryLimit(),
'is_dri_device_enabled' => $configurationManager->isDriDeviceEnabled(),
'is_nvidia_gpu_enabled' => $configurationManager->isNvidiaGpuEnabled(),
'is_talk_recording_enabled' => $configurationManager->isTalkRecordingEnabled(),
'is_docker_socket_proxy_enabled' => $configurationManager->isDockerSocketProxyEnabled(),
'is_whiteboard_enabled' => $configurationManager->isWhiteboardEnabled(),

View File

@@ -11,8 +11,12 @@
--color-error-text: #c20505;
--color-success: #46ba61;
--color-running: #ffd000;
--color-info: #0071ad;
--color-info-hover: #00aaef;
--color-primary-element: #00679e;
--color-primary-element-hover: #005a8a;
--color-primary-element-text: #ffffff;
--color-primary-element-light: #e5eff5;
--color-primary-element-light-hover: #dbe4ea;
--color-primary-element-light-text: #00293f;
--color-border-maxcontrast: #7d7d7d;
--color-loader: #f3f3f3;
--color-disabled: #d3d3d3; /* light gray background for disabled checkboxes */
@@ -52,8 +56,12 @@ Note: Unfortunately, it's not possible to calculate this dynamically using CSS v
--color-error: #ff3333;
--color-error-hover: #ff6666;
--color-error-text: #ff8080;
--color-info: #00aeff;
--color-info-hover: #33beff;
--color-primary-element:#0091f2;
--color-primary-element-hover:#079cff;
--color-primary-element-text:#000000;
--color-primary-element-light:#14232c;
--color-primary-element-light-hover:#1e2d35;
--color-primary-element-light-text:#99d3f9;
--color-loader: var(--color-border-maxcontrast);
--border-hover: var(--border);
}
@@ -68,11 +76,11 @@ html, body {
a {
text-decoration: none;
color: var(--color-info);
color: var(--color-primary-element);
}
a:hover {
color: var(--color-info-hover);
color: var(--color-primary-element-hover);
}
a.button,
@@ -81,26 +89,52 @@ input[type="submit"] {
width: auto;
height: 34px;
cursor: pointer;
background-color: var(--color-nextcloud-blue);
background-color: var(--color-primary-element);
font-weight: bold;
border-radius: var(--border-radius);
margin: 3px 3px 3px 0;
font-size: var(--default-font-size);
color: white;
border: .5px solid var(--color-main-border);
color: var(--color-primary-element-text);
border: none;
outline: none;
}
a.button:focus,
input[type="submit"]:focus {
border: 1px solid var(--color-main-border);
outline: 2px solid var(--color-main-border);
}
a.button:hover,
input[type="submit"]:hover {
background-color: var(--color-info-hover);
background-color: var(--color-primary-element-hover);
}
a.button.light:hover,
input[type="submit"].light:hover {
background-color: var(--color-primary-element-light);
color: var(--color-primary-element-light-text);
}
a.button.light,
input[type="submit"].light {
background-color: var(--color-primary-element-light);
}
a.button.error,
input[type="submit"].error {
background-color: var(--color-error);
}
a.button.error:hover,
input[type="submit"].error:hover {
background-color: var(--color-error-hover);
}
summary {
cursor: pointer;
}
@@ -352,7 +386,7 @@ input[type="checkbox"]:not(:disabled) {
-webkit-appearance: none; /* remove default styling */
-moz-appearance: none;
appearance: none;
border: 1px solid var(--color-nextcloud-blue);
border: 1px solid var(--color-primary-element);
border-radius: 2px;
cursor: pointer;
position: relative;
@@ -362,12 +396,12 @@ input[type="checkbox"]:not(:disabled) {
/* Hover effects for enabled checkboxes */
input[type="checkbox"]:not(:disabled):hover {
border-color: var(--color-info-hover);
border-color: var(--color-primary-element-hover);
}
/* Checkmark styling for enabled checkboxes */
input[type="checkbox"]:checked:not(:disabled) {
background-color: var(--color-nextcloud-blue);
background-color: var(--color-primary-element);
border-color: var(--color-border-maxcontrast);
}

View File

@@ -23,6 +23,7 @@ readonly class Container {
private array $secrets,
/** @var string[] */
private array $devices,
private bool $enableNvidiaGpu,
/** @var string[] */
private array $capAdd,
private int $shmSize,
@@ -92,6 +93,10 @@ readonly class Container {
return $this->devices;
}
public function isNvidiaGpuEnabled() : bool {
return $this->enableNvidiaGpu;
}
public function GetCapAdds() : array {
return $this->capAdd;
}

View File

@@ -249,6 +249,11 @@ readonly class ContainerDefinitionFetcher {
$devices = $entry['devices'];
}
$enableNvidiaGpu = false;
if (isset($entry['enable_nvidia_gpu'])) {
$enableNvidiaGpu = $entry['enable_nvidia_gpu'];
}
$capAdd = [];
if (isset($entry['cap_add'])) {
$capAdd = $entry['cap_add'];
@@ -312,6 +317,7 @@ readonly class ContainerDefinitionFetcher {
$dependsOn,
$secrets,
$devices,
$enableNvidiaGpu,
$capAdd,
$shmSize,
$apparmorUnconfined,

View File

@@ -210,6 +210,11 @@ 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') {
$value = 0;
}
$config = $this->GetConfig();
$config['isFulltextsearchEnabled'] = $value;
$this->WriteConfig($config);
@@ -983,6 +988,17 @@ class ConfigurationManager
}
}
private function GetEnabledNvidiaGpu() : string {
$envVariableName = 'NEXTCLOUD_ENABLE_NVIDIA_GPU';
$configName = 'enable_nvidia_gpu';
$defaultValue = '';
return $this->GetEnvironmentalVariableOrConfig($envVariableName, $configName, $defaultValue);
}
public function isNvidiaGpuEnabled() : bool {
return $this->GetEnabledNvidiaGpu() === 'true';
}
private function GetKeepDisabledApps() : string {
$envVariableName = 'NEXTCLOUD_KEEP_DISABLED_APPS';
$configName = 'nextcloud_keep_disabled_apps';

View File

@@ -491,6 +491,17 @@ readonly class DockerActionManager {
$requestBody['HostConfig']['Devices'] = $devices;
}
if ($container->isNvidiaGpuEnabled() && $this->configurationManager->isNvidiaGpuEnabled()) {
$requestBody['HostConfig']['Runtime'] = 'nvidia';
$requestBody['HostConfig']['DeviceRequests'] = [
[
"Driver" => "nvidia",
"Count" => 1,
"Capabilities" => [["gpu"]],
]
];
}
$shmSize = $container->GetShmSize();
if ($shmSize > 0) {
$requestBody['HostConfig']['ShmSize'] = $shmSize;

View File

@@ -17,7 +17,7 @@
<div class="container">
<main>
<h1>Nextcloud AIO v10.1.1</h1>
<h1>Nextcloud AIO v10.3.0</h1>
{# Add 2nd tab warning #}
<script type="text/javascript" src="second-tab-warning.js"></script>
@@ -196,7 +196,7 @@
</p>
<form method="POST" action="/api/configuration" class="xhr">
<label>Local backup location</label> <input type="text" name="borg_restore_host_location" value="{{borg_backup_host_location}}" placeholder="/mnt/backup"/><br>
<label>Remote borg repo</label> <input type="text" name="borg_restore_remote_repo" value="{{borg_remote_repo}}" placeholder="ssh://user@host:/path/to/repo"/><br>
<label>Remote borg repo</label> <input type="text" name="borg_restore_remote_repo" value="{{borg_remote_repo}}" placeholder="ssh://user@host:port/path/to/repo"/><br>
<label>Borg passphrase</label> <input type="text" name="borg_restore_password" value="{{borg_restore_password}}" placeholder="encryption password"/><br>
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
@@ -394,7 +394,7 @@
</p>
<form method="POST" action="/api/configuration" class="xhr">
<label>Local backup location</label> <input type="text" name="borg_backup_host_location" placeholder="/mnt/backup"/><br>
<label>Remote borg repo</label> <input type="text" name="borg_remote_repo" placeholder="ssh://user@host:/path/to/repo"/><br>
<label>Remote borg repo</label> <input type="text" name="borg_remote_repo" placeholder="ssh://user@host:port/path/to/repo"/><br>
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
<input type="submit" value="Submit backup location" />
@@ -435,7 +435,7 @@
<p>You may change the backup path again since the initial backup was not successful. After submitting the new value, you need to click on <strong>Create Backup</strong> to test the new value.</p>
<form method="POST" action="/api/configuration" class="xhr">
<label>Local backup location</label> <input type="text" name="borg_backup_host_location" placeholder="/mnt/backup"/><br>
<label>Remote borg repo</label> <input type="text" name="borg_remote_repo" placeholder="ssh://user@host:/path/to/repo"/><br>
<label>Remote borg repo</label> <input type="text" name="borg_remote_repo" placeholder="ssh://user@host:port/path/to/repo"/><br>
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
<input type="submit" value="Set backup location again" />

View File

@@ -29,12 +29,16 @@
<p>Nextcloud has a timeout of {{ nextcloud_max_time }} seconds configured (important for big file uploads). See the <a href="https://github.com/nextcloud/all-in-one#how-to-adjust-the-max-execution-time-for-nextcloud">NEXTCLOUD_MAX_TIME documentation</a> on how to change this.</p>
<p>
{% if is_dri_device_enabled == true %}
The /dev/dri device which is needed for hardware transcoding is getting attached to the Nextcloud container.
{% if is_dri_device_enabled == true and is_nvidia_gpu_enabled == true %}
Hardware acceleration is enabled with the /dev/dri device and the Nvidia runtime.
{% elseif is_dri_device_enabled == true %}
Hardware acceleration is enabled with the /dev/dri device.
{% elseif is_nvidia_gpu_enabled == true %}
Hardware acceleration is enabled with the Nvidia runtime.
{% else %}
The /dev/dri device which is needed for hardware transcoding is not attached to the Nextcloud container.
Hardware acceleration is not enabled. It's recommended to enable hardware transcoding for better performance.
{% endif %}
See the <a href="https://github.com/nextcloud/all-in-one#how-to-enable-hardware-transcoding-for-nextcloud">NEXTCLOUD_ENABLE_DRI_DEVICE documentation</a> on how to change this.</p>
See the <a href="https://github.com/nextcloud/all-in-one#how-to-enable-hardware-acceleration-for-nextcloud">hardware acceleration documentation</a> on how to change this.</p>
<p>For further documentation on AIO, refer to <strong><a href="https://github.com/nextcloud/all-in-one#nextcloud-all-in-one">this page</a></strong>. You can use the browser search [CTRL]+[F] to search through the documentation. Additional documentation can be found <strong><a href="https://github.com/nextcloud/all-in-one/discussions/categories/wiki">here</a></strong>.</p>
</details>

View File

@@ -50,7 +50,7 @@
{% endif %}
>
<label for="fulltextsearch">
Fulltextsearch (needs ~1GB additional RAM)
Fulltextsearch (needs ~1GB additional RAM, <a href="https://github.com/nextcloud/all-in-one/discussions/5768">does not work on Kernels without Seccomp</a>)
{% if is_fulltextsearch_enabled == false %}
. <strong>Please note:</strong> the initial indexing can take a long time during which Nextcloud will be unavailable
{% endif %}

View File

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

View File

@@ -44,7 +44,7 @@ Included are:
- `ffmpeg`, `smbclient`, `libreoffice` and `nodejs` are included by default
- Possibility included to [permanently add additional OS packages into the Nextcloud container](https://github.com/nextcloud/all-in-one#how-to-change-the-nextcloud-apps-that-are-installed-on-the-first-startup) without having to build your own Docker image
- Possibility included to [permanently add additional PHP extensions into the Nextcloud container](https://github.com/nextcloud/all-in-one#how-to-add-php-extensions-permanently-to-the-nextcloud-container) without having to build your own Docker image
- Possibility included to [pass the needed device for hardware transcoding](https://github.com/nextcloud/all-in-one#how-to-enable-hardware-transcoding-for-nextcloud) to the Nextcloud container
- Possibility included to [pass the needed device for hardware transcoding](https://github.com/nextcloud/all-in-one#how-to-enable-hardware-acceleration-for-nextcloud) to the Nextcloud container
- Possibility included to [store all docker related files on a separate drive](https://github.com/nextcloud/all-in-one#how-to-store-the-filesinstallation-on-a-separate-drive)
- [Additional features can be added very easily](https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers)
- [LDAP can be used as user backend for Nextcloud](https://github.com/nextcloud/all-in-one/tree/main#ldap)
@@ -434,6 +434,30 @@ Backed up will get all important data of your Nextcloud AIO instance like the da
#### How to adjust borgs retention policy?
The built-in borg-based backup solution has by default a retention policy of `--keep-within=7d --keep-weekly=4 --keep-monthly=6`. See https://borgbackup.readthedocs.io/en/stable/usage/prune.html for what these values mean. You can adjust the retention policy by providing `--env BORG_RETENTION_POLICY="--keep-within=7d --keep-weekly=4 --keep-monthly=6"` to the docker run command of the mastercontainer (but before the last line `nextcloud/all-in-one:latest`! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) and customize the value to your fitting. ⚠️ Please make sure that this value is valid, otherwise backup pruning will bug out!
#### How to migrate from AIO to AIO?
If you have the borg backup feature enabled, you can copy it over to the new host and restore from the backup. This guide assumes the new installation data dir will be on `/mnt/datadir`, you can adjust the steps if it's elsewhere.
1. Set the DNS entry to 60 seconds TTL if applicable
1. On your current installation, use the AIO interface to:
1. Update AIO and all containers
1. Stop all containers (from now on, your cloud is down)
1. Create a current borg backup
1. Note the path where the backups are stored and the encryption password
1. Navigate to the backup folder
1. Create archive of the backup so it's easier to copy: `tar -czvf borg.tar.gz borg`
1. Copy the archive over to the new host: `cp borg.tar.gz user@new.host:/mnt`. Make sure to replace `user` with your actual user and `new.host` with the IP or domain of the actual host. You can also use another way to copy the archive.
1. Switch to the new host
1. Go to the folder you put the backup archive and extract it with `tar -xf borg.tar.gz`
1. Follow the installation guide to create a new aio instance, but do not start the containers yet (the `docker run` or `docker compose up -d` command)
1. Change the DNS entry to the new host's IP
1. Configure your reverse proxy if you use one
1. Start the AIO container and open the new AIO interface in your browser
1. Make sure to save the newly generated passphrase and enter it in the next step
1. Select the "Restore former AIO instance from backup" option and enter the encryption password from the old backup and the path in which the extracted `borg` folder lies in (without the borg part) and hit `Submit location and password`
1. Choose the latest backup in the dropdown and hit `Restore selected backup`
1. Wait until the backup is restored
1. Start the containers in the AIO interface
#### Are remote borg backups supported?
Backing up directly to a remote borg repository is supported. This avoids having to store a local copy of your backups, supports append-only borg keys to counter ransomware and allows using the AIO interface to manage your backups.
@@ -699,7 +723,7 @@ Be aware though that these locations will not be covered by the built-in backup
> If you can't see the type "local storage" in the external storage admin options, a restart of the containers from the AIO interface may be required.
### How to adjust the Talk port?
By default will the talk container use port `3478/UDP` and `3478/TCP` for connections. You can adjust the port by adding e.g. `--env TALK_PORT=3478` to the docker run command of the mastercontainer (but before the last line `nextcloud/all-in-one:latest`! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) and adjusting the port to your desired value. Best is to use a port over 1024, so e.g. 3479 to not run into this: https://github.com/nextcloud/all-in-one/discussions/2517
By default will the talk container use port `3478/UDP` and `3478/TCP` for connections. This should be set to something higher than 1024! You can adjust the port by adding e.g. `--env TALK_PORT=3478` to the docker run command of the mastercontainer (but before the last line `nextcloud/all-in-one:latest`! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) and adjusting the port to your desired value. Best is to use a port over 1024, so e.g. 3479 to not run into this: https://github.com/nextcloud/all-in-one/discussions/2517
### How to adjust the upload limit for Nextcloud?
By default, public uploads to Nextcloud are limited to a max of 16G (logged in users can upload much bigger files using the webinterface or the mobile/desktop clients, since chunking is used in that case). You can adjust the upload limit by providing `--env NEXTCLOUD_UPLOAD_LIMIT=16G` to the docker run command of the mastercontainer (but before the last line `nextcloud/all-in-one:latest`! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) and customize the value to your fitting. It must start with a number and end with `G` e.g. `16G`.
@@ -731,7 +755,7 @@ You might want to adjust the Nextcloud apps that are installed upon the first st
### How to add OS packages permanently to the Nextcloud container?
Some Nextcloud apps require additional external dependencies that must be bundled within Nextcloud container in order to work correctly. As we cannot put each and every dependency for all apps into the container - as this would make the project quickly unmaintainable - there is an official way in which you can add additional dependencies into the Nextcloud container. However note that doing this is disrecommended since we do not test Nextcloud apps that require external dependencies.
You can do so by adding `--env NEXTCLOUD_ADDITIONAL_APKS="imagemagick dependency2 dependency3"` to the docker run command of the mastercontainer (but before the last line `nextcloud/all-in-one:latest`! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) and customize the value to your fitting. It must be a string with small letters a-z, digits 0-9, spaces, dots and hyphens or '_'. You can find available packages here: https://pkgs.alpinelinux.org/packages?branch=v3.20. By default `imagemagick` is added. If you want to keep it, you need to specify it as well.
You can do so by adding `--env NEXTCLOUD_ADDITIONAL_APKS="imagemagick dependency2 dependency3"` to the docker run command of the mastercontainer (but before the last line `nextcloud/all-in-one:latest`! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) and customize the value to your fitting. It must be a string with small letters a-z, digits 0-9, spaces, dots and hyphens or '_'. You can find available packages here: https://pkgs.alpinelinux.org/packages?branch=v3.21. By default `imagemagick` is added. If you want to keep it, you need to specify it as well.
### How to add PHP extensions permanently to the Nextcloud container?
Some Nextcloud apps require additional php extensions that must be bundled within Nextcloud container in order to work correctly. As we cannot put each and every dependency for all apps into the container - as this would make the project quickly unmaintainable - there is an official way in which you can add additional php extensions into the Nextcloud container. However note that doing this is disrecommended since we do not test Nextcloud apps that require additional php extensions.
@@ -741,11 +765,33 @@ You can do so by adding `--env NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS="imagick exte
### What about the pdlib PHP extension for the facerecognition app?
The [facerecognition app](https://apps.nextcloud.com/apps/facerecognition) requires the pdlib PHP extension to be installed. Unfortunately, it is not available on PECL nor via PHP core, so there is no way to add this into AIO currently. However you can use [this community container](https://github.com/nextcloud/all-in-one/tree/main/community-containers/facerecognition) in order to run facerecognition.
### How to enable hardware-transcoding for Nextcloud?
> [!WARNING]
> This only works if the `/dev/dri` device is present on the host! If it does not exists on your host, don't proceed as otherwise the Nextcloud container will fail to start! If you are unsure about this, better do not proceed with the instructions below.
### How to enable hardware acceleration for Nextcloud?
Some container can use GPU acceleration to increase performance like [memories app](https://apps.nextcloud.com/apps/memories) allows to enable hardware transcoding for videos.
The [memories app](https://apps.nextcloud.com/apps/memories) allows to enable hardware transcoding for videos. In order to use that, you need to add `--env NEXTCLOUD_ENABLE_DRI_DEVICE=true` to the docker run command of the mastercontainer (but before the last line `nextcloud/all-in-one:latest`! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) which will mount the `/dev/dri` device into the container. There is now a community container which allows to easily add the transcoding container of Memories to AIO: https://github.com/nextcloud/all-in-one/tree/main/community-containers/memories
#### With open source drivers MESA for AMD, Intel and **new** drivers `Nouveau` for Nvidia
> [!WARNING]
> This only works if the `/dev/dri` device is present on the host! If it does not exist on your host, don't proceed as otherwise the Nextcloud container will fail to start! If you are unsure about this, better do not proceed with the instructions below. Make sure that your driver is correctly configured on the host.
A list of supported device can be fond in [MESA 3D documentation](https://docs.mesa3d.org/systems.html).
This method use the [Direct Rendering Infrastructure](https://dri.freedesktop.org/wiki/) with the access to the `/dev/dri` device.
In order to use that, you need to add `--env NEXTCLOUD_ENABLE_DRI_DEVICE=true` to the docker run command of the mastercontainer (but before the last line `nextcloud/all-in-one:latest`! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) which will mount the `/dev/dri` device into the container.
#### With proprietary drivers for Nvidia :warning: BETA
> [!WARNING]
> This only works if the Nvidia Toolkit is installed on the host and an NVIDIA GPU is enabled! Make sure that it is correctly configured on the host. If it does not exist on your host, don't proceed as otherwise the Nextcloud container will fail to start! If you are unsure about this, better do not proceed with the instructions below.
>
> This feature is in beta. Since the proprietary, we haven't a lot of user using proprietary drivers, we can't guarantee the stability of this feature. Your feedback is welcome.
This method use the [Nvidia Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/index.html) with the nvidia runtime.
In order to use that, you need to add `--env NEXTCLOUD_ENABLE_NVIDIA_GPU=true` to the docker run command of the mastercontainer (but before the last line `nextcloud/all-in-one:latest`! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) which will enable the nvidia runtime.
If you're using WSL2 and want to use the NVIDIA runtime, please follow the instructions to [install the NVIDIA Container Toolkit meta-version in WSL](https://docs.nvidia.com/cuda/wsl-user-guide/index.html#cuda-support-for-wsl-2).
### How to keep disabled apps?
In certain situations you might want to keep Nextcloud apps that are disabled in the AIO interface and not uninstall them if they should be installed in Nextcloud. You can do so by adding `--env NEXTCLOUD_KEEP_DISABLED_APPS=true` to the docker run command of the mastercontainer (but before the last line `nextcloud/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).

View File

@@ -1,21 +1,66 @@
# Reverse Proxy Documentation
> [!NOTE]
> The maintainers of AIO noticed that this documentation could be improved to make it easier to follow. All contributions that improve this are very welcome!
A [reverse proxy](https://en.wikipedia.org/wiki/Reverse_proxy) is a software service that acts as a gateway between services and a client. It is commonly used to allow a client connected to the Internet to access a website located in the [private subnet](https://en.wikipedia.org/wiki/Private_network) of that web server.
**Please note:** Publishing the AIO interface with a valid certificate to the public internet is **not** the goal of this documentation! If you need a valid certificate for the AIO interface, see [point 5](#5-optional-get-a-valid-certificate-for-the-aio-interface).
> [!NOTE]
> Please note that AIO comes secured with TLS out-of-the-box. So you don't need to necessarily set up your own reverse proxy if you only want to run Nextcloud AIO which is much easier. See [the normal readme](https://github.com/nextcloud/all-in-one?tab=readme-ov-file#how-to-use-this) in that case. However if port 443 should already be used because you already run a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else), you need to follow this reverse proxy documentation to set up Nextcloud AIO.
## Introduction
In order to run Nextcloud behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else), you need to:
1. specify the port that AIO's integrated Apache container shall use
2. add a specific config to your web server or reverse proxy
3. modify the startup command a bit.
All examples below will use port `11000` as `APACHE_PORT`. This port will be exposed in the private network to receive unencrypted HTTP traffic from the reverse proxy.
1. add a specific config to your web server or reverse proxy. [See the documentation below.](#1-configure-the-reverse-proxy)
2. specify the port that AIO's integrated Apache container shall use via the environmental variable `APACHE_PORT` (that runs inside its own container and published this port on the host) and adjust the `docker run` command of AIO. [See the documentation below.](#2-use-this-startup-command).
3. Open the AIO interface at port `8080` and type in and validate your domain. [See the documentation below.](#4-open-the-aio-interface)
Here one example with all reverse proxy settings for Linux:
```
sudo docker run \
--init \
--sig-proxy=false \
--name nextcloud-aio-mastercontainer \
--restart always \
--publish 8080:8080 \
--env APACHE_PORT=11000 \
--env APACHE_IP_BINDING=0.0.0.0 \
--env APACHE_ADDITIONAL_NETWORK="" \
--env SKIP_DOMAIN_VALIDATION=false \
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
nextcloud/all-in-one:latest
```
<details>
<summary>Explanation of the command</summary>
- `sudo docker run` This command spins up a new docker container. Docker commands can optionally be used without `sudo` if the user is added to the docker group (this is not the same as docker rootless, see FAQ in the normal readme).
- `--init` This option makes sure that no zombie-processes are created, ever. See [the Docker documentation](https://docs.docker.com/reference/cli/docker/container/run/#init).
- `--sig-proxy=false` This option allows to exit the container shell that gets attached automatically when using `docker run` by using `[CTRL] + [C]` without shutting down the container.
- `--name nextcloud-aio-mastercontainer` This is the name of the container. This line is not allowed to be changed, since mastercontainer updates would fail.
- `--restart always` This is the "restart policy". `always` means that the container should always get started with the Docker daemon. See the Docker documentation for further detail about restart policies: https://docs.docker.com/config/containers/start-containers-automatically/
- `--publish 8080:8080` This means that port 8080 of the container should get published on the host using port 8080. This port is used for the AIO interface and uses a self-signed certificate by default. You can also use a different host port if port 8080 is already used on your host, for example `--publish 8081:8080` (only the first port can be changed for the host, the second port is for the container and must remain at 8080).
- `--env APACHE_PORT=11000` This is the port that is published on the host that runs Docker and Nextcloud AIO at which the reverse proxy should point at.
- `--env APACHE_IP_BINDING=0.0.0.0` This can be modified to allow access to the published port on the host only from certain ip-addresses. [See this documentation](#3-limit-the-access-to-the-apache-container)
- `--env APACHE_ADDITIONAL_NETWORK=""` This can be used to put the sibling apache container that is created by AIO into a specified network - useful if your reverse proxy runs as a container on the same host. [See this documentation](#adapting-the-sample-web-server-configurations-below)
- `--env SKIP_DOMAIN_VALIDATION=false` This can be set to `true` if the domain validation does not work and you are sure that you configured everything correctly after you followed [the debug documentation](#6-how-to-debug-things).
- `--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config` This means that the files that are created by the mastercontainer will be stored in a docker volume that is called `nextcloud_aio_mastercontainer`. This line is not allowed to be changed, since built-in backups would fail later on.
- `--volume /var/run/docker.sock:/var/run/docker.sock:ro` The docker socket is mounted into the container which is used for spinning up all the other containers and for further features. It needs to be adjusted on Windows/macOS and on docker rootless. See the applicable documentation on this. If adjusting, don't forget to also set `WATCHTOWER_DOCKER_SOCKET_PATH`! If you dislike this, see https://github.com/nextcloud/all-in-one/tree/main/manual-install.
- `nextcloud/all-in-one:latest` This is the docker container image that is used.
- Further options can be set using environment variables, for example `--env NEXTCLOUD_DATADIR="/mnt/ncdata"` (This is an example for Linux. See [this](https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir) for other OS' and for an explanation of what this value does. This specific one needs to be specified upon the first startup if you want to change it to a specific path instead of the default Docker volume). To see explanations and examples for further variables (like changing the location of Nextcloud's datadir or mounting some locations as external storage into the Nextcloud container), read through this readme and look at the docker-compose file: https://github.com/nextcloud/all-in-one/blob/main/compose.yaml
</details>
> [!Note]
> If you run into troubles, see [the debug section](#6-how-to-debug-things).
---
> [!IMPORTANT]
> If you need HTTPS between Nextcloud and the reverse proxy because it is running on a different server in the same network, simply add another reverse proxy to the chain that runs on the same server like AIO and takes care of HTTPS proxying (most likely via self-signed certificates). Another option would be to create a VPN between the server that runs AIO and the server that runs the reverse proxy which takes care of encrypting the connection.
**Attention:** The process to run Nextcloud behind a reverse proxy consists of at least steps 1, 2 and 4:
> [!NOTE]
> Since the Apache container gets created by the mastercontainer, there is **NO** way to provide custom docker labels or custom environmental variables for the Apache container. So please do not attempt to do this because it will fail!
## Content
The process to run Nextcloud behind a reverse proxy consists of at least steps 1, 2 and 4:
1. **Configure the reverse proxy! See [point 1](#1-configure-the-reverse-proxy)**
1. **Use this startup command! See [point 2](#2-use-this-startup-command)**
1. Optional: if the reverse proxy is installed on the same host and in the host network, you should limit the apache container to only listen on localhost. See [point 3](#3-limit-the-access-to-the-apache-container)
@@ -23,8 +68,6 @@ All examples below will use port `11000` as `APACHE_PORT`. This port will be exp
1. Optional: get a valid certificate for the AIO interface! See [point 5](#5-optional-get-a-valid-certificate-for-the-aio-interface)
1. Optional: how to debug things? See [point 6](#6-how-to-debug-things)
**Please note:** Since the Apache container gets created by the mastercontainer, there is **NO** way to provide custom docker labels or custom environmental variables for the Apache container. So please do not attempt to do this because it will fail!
## 1. Configure the reverse proxy
### Adapting the sample web server configurations below
@@ -93,13 +136,13 @@ Add this as a new Apache site config:
RequestHeader set X-Real-IP %{REMOTE_ADDR}s
AllowEncodedSlashes NoDecode
ProxyPass / http://localhost:11000/ nocanon
ProxyPassReverse / http://localhost:11000/
ProxyPass / http://localhost:11000/ nocanon # Adjust to match APACHE_PORT and APACHE_IP_BINDING. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#adapting-the-sample-web-server-configurations-below
ProxyPassReverse / http://localhost:11000/ # Adjust to match APACHE_PORT and APACHE_IP_BINDING. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#adapting-the-sample-web-server-configurations-below
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteCond %{THE_REQUEST} "^[a-zA-Z]+ /(.*) HTTP/\d+(\.\d+)?$"
RewriteRule .? "ws://localhost:11000/%1" [P,L,UnsafeAllow3F]
RewriteRule .? "ws://localhost:11000/%1" [P,L,UnsafeAllow3F] # Adjust to match APACHE_PORT and APACHE_IP_BINDING. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#adapting-the-sample-web-server-configurations-below
# Enable h2, h2c and http1.1
Protocols h2 h2c http/1.1
@@ -152,7 +195,7 @@ Add this to your Caddyfile:
```
https://<your-nc-domain>:443 {
reverse_proxy localhost:11000
reverse_proxy localhost:11000 # Adjust to match APACHE_PORT and APACHE_IP_BINDING. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#adapting-the-sample-web-server-configurations-below
}
```
The Caddyfile is a text file called `Caddyfile` (no extension) which if you should be running Caddy inside a container should usually be created in the same location as your `compose.yaml` file prior to starting the container.
@@ -175,7 +218,7 @@ You can get AIO running using the ACME DNS-challenge. Here is how to do it.
1. Add this to your Caddyfile:
```
https://<your-nc-domain>:443 {
reverse_proxy localhost:11000
reverse_proxy localhost:11000 # Adjust to match APACHE_PORT and APACHE_IP_BINDING. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#adapting-the-sample-web-server-configurations-below
tls {
dns <provider> <key>
}
@@ -310,14 +353,14 @@ backend acme_challenge_backend
backend Nextcloud
mode http
balance source
server Nextcloud localhost:11000
server Nextcloud localhost:11000 # Adjust to match APACHE_PORT and APACHE_IP_BINDING. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#adapting-the-sample-web-server-configurations-below
```
⚠️ **Please note:** Look into [this](#adapting-the-sample-web-server-configurations-below) to adapt the above example configuration.
</details>
### Nginx, Freenginx, Openresty
### Nginx, Freenginx, Openresty, Angie
<details>
@@ -344,24 +387,37 @@ server {
if ($scheme = "http") {
return 301 https://$host$request_uri;
}
if ($http_x_forwarded_proto = "http") {
return 301 https://$host$request_uri;
}
listen 443 ssl http2; # for nginx versions below v1.25.1
listen [::]:443 ssl http2; # for nginx versions below v1.25.1 - comment to disable IPv6
# listen 443 ssl; # for nginx v1.25.1+
# listen [::]:443 ssl; # for nginx v1.25.1+ - keep comment to disable IPv6
# http2 on; # uncomment to enable HTTP/2 - supported on nginx v1.25.1+
# http3 on; # uncomment to enable HTTP/3 / QUIC - supported on nginx v1.25.0+
# quic_retry on; # uncomment to enable HTTP/3 / QUIC - supported on nginx v1.25.0+
# add_header Alt-Svc 'h3=":443"; ma=86400'; # uncomment to enable HTTP/3 / QUIC - supported on nginx v1.25.0+
# http2 on; # uncomment to enable HTTP/2 - supported on nginx v1.25.1+
# listen 443 quic reuseport; # uncomment to enable HTTP/3 / QUIC - supported on nginx v1.25.0+ - please remove "reuseport" if there is already another quic listener on port 443 with enabled reuseport
# listen [::]:443 quic reuseport; # uncomment to enable HTTP/3 / QUIC - supported on nginx v1.25.0+ - please remove "reuseport" if there is already another quic listener on port 443 with enabled reuseport - keep comment to disable IPv6
# http3 on; # uncomment to enable HTTP/3 / QUIC - supported on nginx v1.25.0+
# quic_gso on; # uncomment to enable HTTP/3 / QUIC - supported on nginx v1.25.0+
# quic_retry on; # uncomment to enable HTTP/3 / QUIC - supported on nginx v1.25.0+
# quic_bpf on; # improves HTTP/3 / QUIC - supported on nginx v1.25.0+, if nginx runs as a docker container you need to give it privileged permission to use this option
# add_header Alt-Svc 'h3=":443"; ma=86400'; # uncomment to enable HTTP/3 / QUIC - supported on nginx v1.25.0+
proxy_buffering off;
proxy_request_buffering off;
client_max_body_size 0;
client_body_buffer_size 512k;
# http3_stream_buffer_size 512k; # uncomment to enable HTTP/3 / QUIC - supported on nginx v1.25.0+
proxy_read_timeout 86400s;
server_name <your-nc-domain>;
location / {
proxy_pass http://127.0.0.1:11000$request_uri;
proxy_pass http://127.0.0.1:11000$request_uri; # Adjust to match APACHE_PORT and APACHE_IP_BINDING. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#adapting-the-sample-web-server-configurations-below
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Port $server_port;
@@ -369,10 +425,7 @@ server {
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_request_buffering off;
proxy_read_timeout 86400s;
client_max_body_size 0;
proxy_set_header Early-Data $ssl_early_data;
# Websocket
proxy_http_version 1.1;
@@ -386,23 +439,18 @@ server {
ssl_certificate /etc/letsencrypt/live/<your-nc-domain>/fullchain.pem; # managed by certbot on host machine
ssl_certificate_key /etc/letsencrypt/live/<your-nc-domain>/privkey.pem; # managed by certbot on host machine
ssl_dhparam /etc/dhparam; # curl -L https://ssl-config.mozilla.org/ffdhe2048.txt -o /etc/dhparam
ssl_early_data on;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m; # about 40000 sessions
ssl_session_tickets off;
ssl_session_cache shared:SSL:10m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305;
ssl_ecdh_curve x25519:x448:secp521r1:secp384r1:secp256r1;
ssl_prefer_server_ciphers on;
# Optional settings:
# OCSP stapling
# ssl_stapling on;
# ssl_stapling_verify on;
# ssl_trusted_certificate /etc/letsencrypt/live/<your-nc-domain>/chain.pem;
# replace with the IP address of your resolver
# resolver 127.0.0.1; # needed for oscp stapling: e.g. use 94.140.15.15 for adguard / 1.1.1.1 for cloudflared or 8.8.8.8 for google - you can use the same nameserver as listed in your /etc/resolv.conf file
ssl_conf_command Options PrioritizeChaCha;
ssl_ciphers TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256;
}
```
@@ -411,6 +459,33 @@ server {
</details>
### NPMplus (Fork of Nginx-Proxy-Manager - NPM)
<details>
<summary>click here to expand</summary>
⚠️ **Please note:** This is not needed when running NPMplus as a community container.
First, make sure the environmental variables `PUID` and `PGID` in the `compose.yaml` file for NPM are either unset or set to `0`. <br>
If you need to change the GID/PID then please add `net.ipv4.ip_unprivileged_port_start=0` at the end of `/etc/sysctl.conf`. <br>
Note: this will cause that a non root user can bind privileged ports.
Second, see these screenshots for a working config:
![grafik](https://github.com/user-attachments/assets/c32c8fe8-7417-4f8f-9625-24b95651e630)
![grafik](https://github.com/user-attachments/assets/a26c53fd-6cc8-4a6b-a86f-c2f94b70088f)
![grafik](https://github.com/user-attachments/assets/75d7f539-35d1-4a3e-8c51-43123f698893)
![grafik](https://github.com/user-attachments/assets/e494edb5-8b70-4d45-bc9b-374219230041)
⚠️ **Please note:** Nextcloud will complain that X-XXS-Protection is set to the wrong value, this is intended by NPMplus. <br>
⚠️ **Please note:** look into [this](#adapting-the-sample-web-server-configurations-below) to adapt the above example configuration.
</details>
### Nginx-Proxy-Manager - NPM
<details>
@@ -419,8 +494,9 @@ server {
**Hint:** You may have a look at [this guide](https://github.com/nextcloud/all-in-one/discussions/588#discussioncomment-3040493) for a more complete but possibly oudated example.
First, make sure the environmental variables `PUID` and `PGID` in the `compose.yaml` file for NPM are either unset or set to `0`.
If you need to change the GID/PID then please add `net.ipv4.ip_unprivileged_port_start=0` at the end of `/etc/sysctl.conf`. Note: this will cause that non root users can bind privileged ports.
First, make sure the environmental variables `PUID` and `PGID` in the `compose.yaml` file for NPM are either unset or set to `0`. <br>
If you need to change the GID/PID then please add `net.ipv4.ip_unprivileged_port_start=0` at the end of `/etc/sysctl.conf`. <br>
Note: this will cause that a non root user can bind privileged ports.
Second, see these screenshots for a working config:
@@ -476,7 +552,7 @@ const http = require('http');
const app = express();
const proxy = HttpProxy.createProxyServer({
target: 'http://localhost:11000',
target: 'http://localhost:11000', // Adjust to match APACHE_PORT and APACHE_IP_BINDING. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#adapting-the-sample-web-server-configurations-below
// Timeout can be changed to your liking.
timeout: 1000 * 60 * 3,
proxyTimeout: 1000 * 60 * 3,
@@ -624,7 +700,7 @@ The examples below define the dynamic configuration in YAML files. If you rather
nextcloud:
loadBalancer:
servers:
- url: "http://localhost:11000" # Use the host's IP address if Traefik runs outside the host network
- url: "http://localhost:11000" # Adjust to match APACHE_PORT and APACHE_IP_BINDING. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#adapting-the-sample-web-server-configurations-below
middlewares:
nextcloud-secure-headers:
@@ -686,7 +762,8 @@ Add the following `web.config` file to the root of the site you created as the r
</system.web>
<system.webServer>
<rewrite>
<rules>
<!-- useOriginalURLEncoding needs to be set to false, otherwise IIS will double encode urls causing all files with spaces or special characters to be inaccessible -->
<rules useOriginalURLEncoding="false">
<!-- Force https -->
<rule name="Https" stopProcessing="true">
<match url="(.*)" />
@@ -701,7 +778,8 @@ Add the following `web.config` file to the root of the site you created as the r
<conditions>
<add input="{HTTPS}" pattern="^ON$" />
</conditions>
<action type="Rewrite" url="http://nc-server-farm:11000/{UNENCODED_URL}" appendQueryString="false" />
<!-- Note that {UNENCODED_URL} already contains starting slash, so we must add it directly after the port number without additional slash -->
<action type="Rewrite" url="http://nc-server-farm:11000{UNENCODED_URL}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
@@ -756,6 +834,8 @@ sudo docker run \
--publish 8080:8080 \
--env APACHE_PORT=11000 \
--env APACHE_IP_BINDING=0.0.0.0 \
--env APACHE_ADDITIONAL_NETWORK="" \
--env SKIP_DOMAIN_VALIDATION=false \
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
nextcloud/all-in-one:latest
@@ -782,6 +862,8 @@ docker run ^
--publish 8080:8080 ^
--env APACHE_PORT=11000 ^
--env APACHE_IP_BINDING=0.0.0.0 ^
--env APACHE_ADDITIONAL_NETWORK="" ^
--env SKIP_DOMAIN_VALIDATION=false ^
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config ^
--volume //var/run/docker.sock:/var/run/docker.sock:ro ^
nextcloud/all-in-one:latest
@@ -803,7 +885,7 @@ Use this environment variable during the initial startup of the mastercontainer
## 4. Open the AIO interface
After starting AIO, you should be able to access the AIO Interface via `https://ip.address.of.the.host:8080`.<br>
After starting AIO, you should be able to access the AIO Interface via `https://ip.address.of.the.host:8080` and type in and validate the domain that you have configured.<br>
⚠️ **Important:** do always use an ip-address if you access this port and not a domain as HSTS might block access to it later! (It is also expected that this port uses a self-signed certificate due to security concerns which you need to accept in your browser)<br>
Enter your domain in the AIO interface that you've used in the reverse proxy config and you should be done. Please do not forget to open/forward port `3478/TCP` and `3478/UDP` in your firewall/router for the Talk container!

View File

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