Compare commits

...

356 Commits

Author SHA1 Message Date
Simon L
728075dfba Merge pull request #4836 from nextcloud/aio-helm-update
Helm Chart updates
2024-06-17 11:02:35 +02:00
szaimen
c5915ab563 Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-17 09:00:50 +00:00
Simon L.
cbe0a89676 increase to 9.0.1
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-06-11 10:50:29 +02:00
Simon L
3d41d79682 Merge pull request #4807 from nextcloud/enh/4806/improve-appstorage
nextcloud: improve getting values for APPSTORAGE
2024-06-11 10:40:55 +02:00
Simon L
7c97d66579 address review
Signed-off-by: Simon L <szaimen@e.mail.de>

Co-authored-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-06-11 10:38:38 +02:00
Simon L
978ac21314 Merge pull request #4809 from nextcloud/dependabot/docker/Containers/talk-recording/python-3.12.4-alpine3.19
Bump python from 3.12.3-alpine3.19 to 3.12.4-alpine3.19 in /Containers/talk-recording
2024-06-10 14:50:30 +02:00
dependabot[bot]
7f9e85254e Bump python in /Containers/talk-recording
Bumps python from 3.12.3-alpine3.19 to 3.12.4-alpine3.19.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-10 12:44:30 +00:00
Simon L
a127687e2b Merge pull request #4808 from nextcloud/aio-yaml-update
Yaml updates
2024-06-10 14:04:43 +02:00
szaimen
084d9a86fe Yaml updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-10 12:03:32 +00:00
Simon L
80cf17b5a2 Merge pull request #4789 from nextcloud/enh/noid/fix-getting-ip-address
fix getting ip-address of talk and apache
2024-06-10 10:42:50 +02:00
Simon L.
335026ce76 fix SC
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-06-10 10:38:59 +02:00
Simon L
573fe2c138 Merge pull request #4802 from nextcloud/aio-dependency-update
PHP dependency updates
2024-06-10 10:31:56 +02:00
Simon L
ef6e7d274d Merge pull request #4799 from ArmanTheParman/patch-1
readme: improve grammar
2024-06-10 10:30:44 +02:00
Simon L
ece7d5c90d Merge pull request #4788 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.2.20-fpm-alpine3.19
Bump php from 8.2.19-fpm-alpine3.19 to 8.2.20-fpm-alpine3.19 in /Containers/nextcloud
2024-06-10 10:29:39 +02:00
Simon L
70daecb8a9 Merge pull request #4787 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.3.8-fpm-alpine3.19
Bump php from 8.3.7-fpm-alpine3.19 to 8.3.8-fpm-alpine3.19 in /Containers/mastercontainer
2024-06-10 10:29:18 +02:00
Simon L
f5897daaa9 Merge pull request #4786 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-24.04.4.1.1
Bump collabora/code from 24.04.3.1.1 to 24.04.4.1.1 in /Containers/collabora
2024-06-10 10:29:06 +02:00
Simon L.
7bdd51554a nextcloud: improve getting values for APPSTORAGE
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-06-10 10:24:30 +02:00
szaimen
20d8976f1a php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-09 12:02:38 +00:00
Arman The Parman
39e0e4e2b2 Update readme.md
Grammar improvements x2

Signed-off-by: Arman The Parman <77603167+ArmanTheParman@users.noreply.github.com>
2024-06-09 12:47:09 +10:00
Simon L.
5b49ec6da2 fix getting ip-address of talk and apache
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-06-07 15:17:27 +02:00
dependabot[bot]
8eca2e3965 Bump php in /Containers/nextcloud
Bumps php from 8.2.19-fpm-alpine3.19 to 8.2.20-fpm-alpine3.19.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-07 12:59:15 +00:00
dependabot[bot]
0fcaab829a Bump php in /Containers/mastercontainer
Bumps php from 8.3.7-fpm-alpine3.19 to 8.3.8-fpm-alpine3.19.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-07 12:51:19 +00:00
dependabot[bot]
8c8f5da875 Bump collabora/code in /Containers/collabora
Bumps collabora/code from 24.04.3.1.1 to 24.04.4.1.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-07 12:13:00 +00:00
Simon L.
87cc69ccd8 facerecognition: remove warning about RAM again
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-06-07 11:14:58 +02:00
Simon L.
b67f3722fc caddy: adjust docs
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-06-07 11:12:49 +02:00
Simon L
8f17edb25c Merge pull request #4783 from nextcloud/enh/noid/add-daily-backup-note
aio interface: add hint what to do if daily backup gets stuck
2024-06-07 10:10:59 +02:00
Simon L.
df11865bef aio interface: add hint what to do if daily backup gets stuck
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-06-07 10:08:08 +02:00
Simon L
146521b28d Merge pull request #4776 from nextcloud/imaginary-container-update
Imaginary update
2024-06-06 22:09:44 +02:00
Simon L
0f2bd8a961 Merge pull request #4778 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.14.0
Bump elasticsearch from 8.13.4 to 8.14.0 in /Containers/fulltextsearch
2024-06-06 21:33:38 +02:00
Simon L
7c180e0dbf Merge pull request #4777 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-26.1.4-cli
Bump docker from 26.1.3-cli to 26.1.4-cli in /Containers/mastercontainer
2024-06-06 21:32:56 +02:00
Simon L
360f80cb71 Merge pull request #4753 from nextcloud/stalwart-patch-1
Update add admin token
2024-06-06 21:31:55 +02:00
Simon L
283ed01a9f Merge pull request #4779 from nextcloud/enh/noid/disable-talk-healtch-check
talk: disable specific health check because it is not going to work o…
2024-06-06 20:27:28 +02:00
Jean-Yves
439f3ca43d Rename env to STALWART_USER_PASS and add doc
Signed-off-by: Jean-Yves <7360784+docjyJ@users.noreply.github.com>
2024-06-06 17:42:28 +02:00
Simon L.
42ddfb099d fix detail
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-06-06 15:23:41 +02:00
Simon L.
3eef585cd3 add a note to the readme about update notifications
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-06-06 15:22:18 +02:00
Simon L.
c51edb1bf4 adjust note regarding updating containers
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-06-06 15:12:27 +02:00
Simon L.
d83195f2f1 talk: disable specific health check because it is not going to work on some specific setups
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-06-06 15:02:33 +02:00
dependabot[bot]
016b8b4464 Bump elasticsearch from 8.13.4 to 8.14.0 in /Containers/fulltextsearch
Bumps elasticsearch from 8.13.4 to 8.14.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-06-06 12:52:22 +00:00
dependabot[bot]
01c6157d1a Bump docker from 26.1.3-cli to 26.1.4-cli in /Containers/mastercontainer
Bumps docker from 26.1.3-cli to 26.1.4-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-06-06 12:18:31 +00:00
szaimen
c78198620e imaginary-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-06 12:02:40 +00:00
Simon L
8e75909689 Merge pull request #4774 from nextcloud/enh/noid/fix-caddy-rewriting
caddy: fix rewriting .well-known to remote.php
2024-06-06 12:50:40 +02:00
Simon L.
9d802f0323 caddy: fix rewriting .well-known to remote.php
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-06-06 12:43:50 +02:00
Simon L.
f6d59d41d0 increase to 9.0.0
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-06-06 12:02:30 +02:00
Simon L
518289047e Merge pull request #4773 from nextcloud/enh/4564/increase-nc-version
nextcloud: increase to 29.0.2
2024-06-06 12:01:41 +02:00
Simon L
5216a6aefa Merge pull request #4772 from nextcloud/enh/3573/update-to-16
postgres: update to 16
2024-06-06 12:01:29 +02:00
Simon L
8a6fed5ce3 Merge pull request #4771 from nextcloud/enh/4564/hide-update-notice
aio-interface: hide upgrade notice
2024-06-06 12:01:18 +02:00
Simon L
34665be741 Merge pull request #4770 from nextcloud/enh/noid/increase-app-version
aio-app: increase version
2024-06-06 12:01:08 +02:00
Simon L.
695b5a80e8 nextcloud: increase to 29.0.2
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-06-06 11:59:18 +02:00
Simon L.
a9f2f318a1 postgres: update to 16
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-06-06 11:57:08 +02:00
Simon L.
eca9defdcf aio-interface: hide upgrade notice
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-06-06 11:54:52 +02:00
Simon L.
b9ec25aca5 aio-app: increase version
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-06-06 11:51:18 +02:00
Simon L
6f52c02bb9 Merge pull request #4769 from nextcloud/enh/noid/increase-default_socket_timeout
nextcloud: increase the default_socket_timeout
2024-06-06 11:43:46 +02:00
Simon L.
0230e0134f nextcloud: increase the default_socket_timeout
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-06-06 11:09:08 +02:00
Simon L
813cfc2bf8 Merge pull request #4724 from nextcloud/enh/noid/localhost
use `127.0.0.1` instead of `localhost`
2024-06-06 10:27:07 +02:00
Simon L
59da067ff1 Merge pull request #4742 from nextcloud/enh/noid/facerecognition-model
facerecognition: change to FACE_MODEL=3 and adjust memory values
2024-06-06 10:26:29 +02:00
Simon L
77694bf260 Merge pull request #4755 from nextcloud/revert/2601/due-too-many-failures
revert "set NEXTCLOUD_MOUNT to rshared #2601"
2024-06-06 10:25:06 +02:00
Simon L
45bf0384f9 Merge pull request #4758 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.3.1-54
Bump clamav/clamav from 1.3.1-53 to 1.3.1-54 in /Containers/clamav
2024-06-06 10:23:47 +02:00
Simon L
6eb6f6eec6 Merge pull request #4766 from nextcloud/dependabot/docker/Containers/apache/caddy-2.8.4-alpine
Bump caddy from 2.7.6-alpine to 2.8.4-alpine in /Containers/apache
2024-06-06 10:23:33 +02:00
Simon L
912c46b84a Merge pull request #4765 from nextcloud/dependabot/docker/Containers/mastercontainer/caddy-2.8.4-alpine
Bump caddy from 2.7.6-alpine to 2.8.4-alpine in /Containers/mastercontainer
2024-06-06 10:23:07 +02:00
Simon L
f686d32364 Merge pull request #4767 from nextcloud/aio-helm-update
Helm Chart updates
2024-06-06 10:02:13 +02:00
szaimen
e41d8b824c Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-06 08:00:47 +00:00
Simon L
755c81c30a Merge pull request #4669 from nextcloud/aio-yaml-update
Yaml updates
2024-06-06 09:58:51 +02:00
dependabot[bot]
c087be299e Bump caddy from 2.7.6-alpine to 2.8.4-alpine in /Containers/apache
Bumps caddy from 2.7.6-alpine to 2.8.4-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-05 12:58:21 +00:00
dependabot[bot]
5f70b352e0 Bump caddy in /Containers/mastercontainer
Bumps caddy from 2.7.6-alpine to 2.8.4-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-05 12:24:11 +00:00
dependabot[bot]
c97ef0963d Bump clamav/clamav from 1.3.1-53 to 1.3.1-54 in /Containers/clamav
Bumps clamav/clamav from 1.3.1-53 to 1.3.1-54.

---
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-06-03 12:18:11 +00:00
Simon L.
9387c1cddb revert "set NEXTCLOUD_MOUNT to rshared #2601"
as it causes too many problems.

Signed-off-by: Simon L <szaimen@e.mail.de>
2024-06-03 10:58:58 +02:00
Jean-Yves
e1866b404c Update add admin token
Signed-off-by: Jean-Yves <7360784+docjyJ@users.noreply.github.com>
2024-06-02 22:25:33 +02:00
szaimen
03912efe0c Yaml updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-01 12:02:25 +00:00
Simon L.
ed339d5101 adjust the memory values
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-31 16:38:01 +02:00
Simon L
d6580b30ce Merge pull request #4741 from nextcloud/update-caddy-docs-stalwart
Fix record type for caddy-stalwart
2024-05-31 15:33:20 +02:00
Simon L
9915281b74 also add hint about AAAA
Signed-off-by: Simon L <szaimen@e.mail.de>

Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-05-31 15:32:04 +02:00
Marco
d23984885d Update readme.md
Signed-off-by: Marco <marcoambrosini@proton.me>
2024-05-31 15:30:34 +02:00
Simon L.
ff5593f8ca facerecognition: change to FACE_MODEL=3
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-31 15:28:24 +02:00
Marco Ambrosini
f934c7f8a0 Fix record type for caddy-stalwart
Signed-off-by: Marco Ambrosini <marcoambrosini@proton.me>
2024-05-31 15:15:34 +02:00
Simon L.
b1d24962c2 adjust size requirements for local-ai
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-31 13:42:53 +02:00
Simon L.
33a80bad60 add warning note to facerecognition
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-31 11:48:47 +02:00
Simon L.
2edd952289 restore <br>
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-30 13:14:31 +02:00
Simon L.
b2cebaffcc fix detail
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-30 13:11:37 +02:00
Simon L
50fb24f689 Merge pull request #4731 from roelofz/patch-1
Update local-ai readme.md
2024-05-30 09:05:31 +02:00
roelofz
712d86e796 Update readme.md
Added a name for Stable diffusion, so a very small change:
  name: Stable_diffusion
Added last step to take to finish configuring the first AI and be able to see first responses in the Assistant. 

This is my first PR ever :-)

Signed-off-by: roelofz <11368363+roelofz@users.noreply.github.com>
2024-05-30 08:51:52 +02:00
Simon L
24ed3b9743 Merge pull request #4728 from nextcloud/enh/noid/redis-wait
nextcloud: wait for redis to start
2024-05-29 13:59:28 +02:00
Simon L.
54dc5387a7 nextcloud: wait for redis to start
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-29 13:48:00 +02:00
Simon L.
414716e279 use 127.0.0.1 instead of localhost
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-28 17:24:28 +02:00
Simon L
ab939dac26 Merge pull request #4723 from nextcloud/enh/noid/default-quota
helm: allow to set default quota for Nextcloud
2024-05-28 15:37:38 +02:00
Simon L.
3c6b44d1b5 helm: allow to set default quota for Nextcloud
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-28 11:15:13 +02:00
Simon L
524d97b1c9 Merge pull request #4720 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.3.1-53
Bump clamav/clamav from 1.3.1-52 to 1.3.1-53 in /Containers/clamav
2024-05-27 14:35:07 +02:00
dependabot[bot]
9e7979b00e Bump clamav/clamav from 1.3.1-52 to 1.3.1-53 in /Containers/clamav
Bumps clamav/clamav from 1.3.1-52 to 1.3.1-53.

---
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-05-27 12:33:15 +00:00
Simon L.
cceb1a8a6c remove beta warning for community containers
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-24 18:29:54 +02:00
kri164
9e80bcf322 Update stalwart.json - add port definition for web admin interface (#4556)
Signed-off-by: kri164 <52274164+kri164@users.noreply.github.com>
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-05-24 16:37:25 +02:00
Simon L
e4a802d7ee Merge pull request #4713 from nextcloud/revert-4586-revert-4323-enh/4123/drop-proxy-sendcl
Revert "Revert "apache - drop SetEnv proxy-sendcl 1""
2024-05-24 13:08:39 +02:00
Simon L
194e073883 Revert "Revert "apache - drop SetEnv proxy-sendcl 1""
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-24 13:07:46 +02:00
Simon L.
3c74c666c4 move How to reset the AIO instance? to a better place
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-24 12:55:23 +02:00
Simon L
3638910840 Merge pull request #4712 from nextcloud/dependabot/docker/Containers/talk/strukturag/nextcloud-spreed-signaling-1.3.1
Bump strukturag/nextcloud-spreed-signaling from 1.3.0 to 1.3.1 in /Containers/talk
2024-05-24 12:29:15 +02:00
Simon L
fa77ccb9f6 Merge pull request #4711 from nextcloud/talk-container-update
talk container update
2024-05-24 12:28:57 +02:00
dependabot[bot]
3bd2e867a1 Bump strukturag/nextcloud-spreed-signaling in /Containers/talk
Bumps strukturag/nextcloud-spreed-signaling from 1.3.0 to 1.3.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-24 10:28:35 +00:00
Simon L
54b6c54aec Merge pull request #4710 from nextcloud/nextcloud-container-update
Nextcloud dependency update
2024-05-24 12:28:14 +02:00
Simon L
3d419ccd6f Merge pull request #4709 from nextcloud/enh/noid/reset-instance-note
AIO interface: add note how to reset the AIO instance
2024-05-24 12:27:47 +02:00
szaimen
b18c210f86 talk-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-24 10:27:21 +00:00
szaimen
f988c6a349 nextcloud-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-24 10:27:15 +00:00
Simon L.
f000ee6fb7 AIO interface: add note how to reset the AIO instance
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-24 12:25:08 +02:00
Simon L
9239569347 Merge pull request #4706 from nextcloud/enh/noid/remove-caddy-imports
apache: remove caddy-imports
2024-05-24 12:09:31 +02:00
Simon L
4b6cbcf805 Merge pull request #4707 from nextcloud/enh/noid/document-limitation
AIO interface: document limitation regarding restoring of community container data
2024-05-24 12:07:23 +02:00
Simon L
377a9b6cf7 Merge pull request #4708 from nextcloud/enh/noid/b-tag-strong
AIO interface: substitute `b` tag with `strong` tag
2024-05-24 12:01:20 +02:00
Simon L.
c152aa352c AIO interface: document limitation regarding restoring of community container data
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-24 11:59:05 +02:00
Simon L.
62242ed247 AIO interface: substitute b tag with strong tag
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-24 11:57:00 +02:00
Simon L.
780ba6dd9d apache: remove caddy-imports
In favour of https://github.com/nextcloud/all-in-one/pull/3192
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-24 11:20:20 +02:00
Simon L
86509742db Merge pull request #4696 from nextcloud/enh/noid/apache-real-ip
adjust apache reverse proxy docs to set x-real-ip
2024-05-23 12:01:06 +02:00
Simon L.
a6d2b908f5 adjust apache reverse proxy docs to set x-real-ip
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-23 11:53:16 +02:00
Simon L
9bd7706ac7 Merge pull request #4691 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-24.04.3.1.1
Bump collabora/code from 24.04.2.1.1 to 24.04.3.1.1 in /Containers/collabora
2024-05-22 16:56:42 +02:00
Simon L
b43a5f7e84 Merge pull request #4693 from nextcloud/enh/noid/borg-backup-mode
add borg_backup_mode to Backup container status
2024-05-22 15:26:25 +02:00
Simon L.
d14ac5cd1d add borg_backup_mode to Backup container status
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-22 15:22:59 +02:00
Simon L
9457af191a Merge pull request #4692 from nextcloud/enh/noid/fix-api-version-bug
fix bug with getting api_version
2024-05-22 15:01:07 +02:00
Simon L.
6d0bee33d3 fix bug with getting api_version
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-22 14:59:48 +02:00
Simon L.
eeccfec0c9 Revert "pre-fill the domain"
This reverts commit 46b6992b52.
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-22 14:49:40 +02:00
dependabot[bot]
8530499e1e ---
updated-dependencies:
- dependency-name: collabora/code
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-22 12:44:37 +00:00
Simon L
8c349800c0 Merge pull request #4687 from nextcloud/dependabot/docker/Containers/talk/strukturag/nextcloud-spreed-signaling-1.3.0
Bump strukturag/nextcloud-spreed-signaling from 1.2.4 to 1.3.0 in /Containers/talk
2024-05-22 14:18:46 +02:00
Simon L
6f7e95a7c3 Merge pull request #4686 from nextcloud/talk-container-update
talk container update
2024-05-22 14:18:21 +02:00
dependabot[bot]
42e1616010 ---
updated-dependencies:
- dependency-name: strukturag/nextcloud-spreed-signaling
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-22 12:17:55 +00:00
Simon L
dec9d14fda Merge pull request #4688 from nextcloud/dependabot/docker/Containers/talk/nats-2.10.16-scratch
Bump nats from 2.10.14-scratch to 2.10.16-scratch in /Containers/talk
2024-05-22 14:17:11 +02:00
Simon L
f4334c7ff2 Merge pull request #4690 from nextcloud/enh/noid/fix-collabora
fix collabora build by not running apt-get upgrade
2024-05-22 14:16:50 +02:00
Simon L.
e9b6152773 fix collabora build by not running apt-get upgrade
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-22 14:15:18 +02:00
Simon L
47ac5462f9 Merge pull request #4689 from nextcloud/revert-4631-dependabot/docker/Containers/collabora/collabora/code-24.04.2.1.1
Revert "Bump collabora/code from 24.04.1.4.1 to 24.04.2.1.1 in /Containers/collabora"
2024-05-22 14:09:54 +02:00
dependabot[bot]
676d5c2e53 ---
updated-dependencies:
- dependency-name: nats
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-22 12:08:53 +00:00
Simon L
9207d0f913 Revert "Bump collabora/code from 24.04.1.4.1 to 24.04.2.1.1 in /Containers/collabora" 2024-05-22 14:08:44 +02:00
szaimen
b40968d989 talk-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-22 12:03:29 +00:00
Simon L
f8f867629d Merge pull request #4685 from nextcloud/fix/4667/fix-limiting-ip-address
fix limiting php-fpm socket to certain ip-addresses
2024-05-22 14:03:09 +02:00
Simon L.
ee7868fb58 fix limiting php-fpm socket to certain ip-addresses
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-22 13:57:47 +02:00
Simon L.
d1be45c359 fix it also on setup screen
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-21 17:10:09 +02:00
Simon L.
8fd457f62c fix detail in containers starting screen
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-21 17:07:44 +02:00
Simon L.
93044dd181 increase to 8.3.0
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-21 15:06:33 +02:00
Simon L.
d175d88024 Revert "increase to 8.3.0"
This reverts commit 854f596463.
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-21 15:06:03 +02:00
Simon L
042c842579 Merge pull request #4683 from nextcloud/dependabot/docker/Containers/redis/redis-7.2.5-alpine
Bump redis from 7.2.4-alpine to 7.2.5-alpine in /Containers/redis
2024-05-21 15:02:09 +02:00
dependabot[bot]
06de90a838 ---
updated-dependencies:
- dependency-name: redis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-21 12:30:10 +00:00
Simon L.
854f596463 increase to 8.3.0
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-21 14:11:35 +02:00
Braiden Psiuk
4794d5119a Add information about virtual machines (#4274)
Signed-off-by: Braiden Psiuk <mail@braiden.dev>
Signed-off-by: Simon L. <szaimen@e.mail.de>
Co-authored-by: Simon L <szaimen@e.mail.de>
2024-05-21 11:14:41 +02:00
Simon L
a5dcc1345c Merge pull request #4680 from killianeletellier/main
Corrects a typo in containers.twig
2024-05-21 01:07:00 +02:00
Simon L
bddbd37e3f Merge pull request #4679 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.3.1-52
Bump clamav/clamav from 1.3.1-51 to 1.3.1-52 in /Containers/clamav
2024-05-21 01:04:50 +02:00
Killiane Letellier
df3935a992 Corrects a typo in containers.twig
Signed-off-by: Killiane Letellier <killiane.letellier@mailo.com>
2024-05-20 16:16:04 +02:00
dependabot[bot]
2be9c9ef10 Bump clamav/clamav from 1.3.1-51 to 1.3.1-52 in /Containers/clamav
Bumps clamav/clamav from 1.3.1-51 to 1.3.1-52.

---
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-05-20 12:37:56 +00:00
Simon L
01f76081df Merge pull request #4665 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-26.1.3-cli
Bump docker from 26.1.2-cli to 26.1.3-cli in /Containers/mastercontainer
2024-05-17 14:54:55 +02:00
dependabot[bot]
e17b1d4f23 Bump docker from 26.1.2-cli to 26.1.3-cli in /Containers/mastercontainer
Bumps docker from 26.1.2-cli to 26.1.3-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-05-17 12:28:21 +00:00
Simon L
de5aeb64d4 Merge pull request #4433 from davidmehren/postgres_port
Add a config option for the postgres database port
2024-05-17 14:10:06 +02:00
Simon L.
b1ad854de6 Revert changes to database container
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-17 14:05:58 +02:00
David Mehren
047c3555ba Add a config option for the postgres database port
Signed-off-by: David Mehren <git@herrmehren.de>
2024-05-17 14:05:58 +02:00
Simon L
d8a73f8786 Merge pull request #4662 from ncguk/ncguk-patch-1
Update containers.twig
2024-05-17 12:09:56 +02:00
ncguk
5ad62bcd2f Update containers.twig
Signed-off-by: ncguk <inglenook@duck.com>
2024-05-17 12:07:34 +02:00
ncguk
32890a75f3 Update containers.twig
Many text changes for readability. No code changes.

Signed-off-by: ncguk <inglenook@duck.com>
2024-05-17 12:07:34 +02:00
Simon L
24e66e5323 Merge pull request #4588 from nextcloud/enh/4480/improve-design
improve UX and UI
2024-05-17 11:55:11 +02:00
Simon L
668d4e097f Merge pull request #4661 from nextcloud/aio-dependency-update
PHP dependency updates
2024-05-16 16:14:54 +02:00
szaimen
2352367a19 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-16 12:02:28 +00:00
Simon L.
e78de8a113 rename password to encryption password
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-16 10:56:18 +02:00
Simon L.
14153b424b adjust wording
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-16 10:56:18 +02:00
Simon L.
000d881fc2 change wording
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-16 10:56:17 +02:00
Simon L.
63c667cac3 add instructions how to inspect container logs
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-16 10:56:17 +02:00
Simon L.
5a826222d4 try to fix glitchy buttons
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-16 10:56:17 +02:00
Simon L.
26c042fd28 pre-fill the timezone
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-16 10:56:17 +02:00
Simon L.
560dce906e adjust loader color to match nextcloud blue
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-16 10:56:17 +02:00
Simon L.
628abc02f6 change password to passphrase
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-16 10:56:16 +02:00
Simon L.
f8603b10fc add warning toe note down the password and make it big
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-15 18:09:01 +02:00
Simon L.
99567d6872 change Nextcloud AIO setup to All-in-One setup
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-15 18:09:01 +02:00
Simon L.
46b6992b52 pre-fill the domain
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-15 18:09:01 +02:00
Simon L
b938a6642e Merge pull request #4651 from nextcloud/enh/noid/change-rewrite
change the rewrite for remote.php
2024-05-15 13:50:37 +02:00
Simon L
8ccf87eec2 Merge pull request #4652 from nextcloud/aio-dependency-update
PHP dependency updates
2024-05-14 14:42:56 +02:00
szaimen
48ec6502d6 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-14 12:02:38 +00:00
Simon L.
3ee5278cc6 change the rewrite for remote.php
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-14 11:51:46 +02:00
Simon L
54a07b7b94 Merge pull request #4609 from nextcloud/automated/noid/psalm-baseline-update
[Automated] Update psalm-baseline.xml
2024-05-14 11:33:48 +02:00
Simon L.
3c91fa84e3 fix all places
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-14 11:30:55 +02:00
Simon L
3fa811ef90 Merge pull request #4644 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.2.19-fpm-alpine3.19
Bump php from 8.2.18-fpm-alpine3.19 to 8.2.19-fpm-alpine3.19 in /Containers/nextcloud
2024-05-13 18:02:14 +02:00
Simon L
b30b03aeb6 Merge pull request #4643 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.3.7-fpm-alpine3.19
Bump php from 8.3.6-fpm-alpine3.19 to 8.3.7-fpm-alpine3.19 in /Containers/mastercontainer
2024-05-13 18:01:44 +02:00
Simon L
d8a700ab81 Merge pull request #4642 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.3.1-51
Bump clamav/clamav from 1.3.1-49 to 1.3.1-51 in /Containers/clamav
2024-05-13 18:00:31 +02:00
Simon L
1e3dd91b43 Merge pull request #4633 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.13.4
Bump elasticsearch from 8.13.0 to 8.13.4 in /Containers/fulltextsearch
2024-05-13 18:00:13 +02:00
Simon L
ff4ed0d616 Merge pull request #4632 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-26.1.2-cli
Bump docker from 26.1.0-cli to 26.1.2-cli in /Containers/mastercontainer
2024-05-13 17:59:57 +02:00
Simon L
5f7e803e00 Merge pull request #4631 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-24.04.2.1.1
Bump collabora/code from 24.04.1.4.1 to 24.04.2.1.1 in /Containers/collabora
2024-05-13 17:59:40 +02:00
Simon L
deb89224eb Merge pull request #4630 from nextcloud/dependabot/docker/Containers/postgresql/postgres-15.7-alpine
Bump postgres from 15.6-alpine to 15.7-alpine in /Containers/postgresql
2024-05-13 17:59:10 +02:00
Simon L
2f8b5321bd Merge pull request #4628 from nextcloud/dependabot/docker/Containers/imaginary/golang-1.22.3-alpine3.18
Bump golang from 1.22.2-alpine3.18 to 1.22.3-alpine3.18 in /Containers/imaginary
2024-05-13 17:58:41 +02:00
Simon L
7a27542fa8 Merge pull request #4606 from nextcloud/aio-dependency-update
PHP dependency updates
2024-05-13 17:58:22 +02:00
Simon L
6cfb0ea09c Merge pull request #4617 from nextcloud/pulsejet/fix-preview-type
fix(entrypoint): system config value types
2024-05-13 16:24:33 +02:00
dependabot[bot]
314cd10607 Bump php in /Containers/nextcloud
Bumps php from 8.2.18-fpm-alpine3.19 to 8.2.19-fpm-alpine3.19.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 12:18:21 +00:00
dependabot[bot]
c916d80a75 Bump php in /Containers/mastercontainer
Bumps php from 8.3.6-fpm-alpine3.19 to 8.3.7-fpm-alpine3.19.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 12:07:45 +00:00
dependabot[bot]
3b3bb3a161 Bump clamav/clamav from 1.3.1-49 to 1.3.1-51 in /Containers/clamav
Bumps clamav/clamav from 1.3.1-49 to 1.3.1-51.

---
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-05-13 12:06:04 +00:00
szaimen
a5ed5c43fe php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-12 12:02:00 +00:00
dependabot[bot]
92bbf20d6b Bump elasticsearch from 8.13.0 to 8.13.4 in /Containers/fulltextsearch
Bumps elasticsearch from 8.13.0 to 8.13.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-10 12:57:32 +00:00
dependabot[bot]
e2f5b50e37 Bump docker from 26.1.0-cli to 26.1.2-cli in /Containers/mastercontainer
Bumps docker from 26.1.0-cli to 26.1.2-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-05-10 12:51:01 +00:00
dependabot[bot]
ee15249e1b Bump collabora/code in /Containers/collabora
Bumps collabora/code from 24.04.1.4.1 to 24.04.2.1.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-10 12:36:15 +00:00
dependabot[bot]
e82191370b Bump postgres from 15.6-alpine to 15.7-alpine in /Containers/postgresql
Bumps postgres from 15.6-alpine to 15.7-alpine.

---
updated-dependencies:
- dependency-name: postgres
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-10 12:27:54 +00:00
dependabot[bot]
c364d072ab Bump golang in /Containers/imaginary
Bumps golang from 1.22.2-alpine3.18 to 1.22.3-alpine3.18.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-08 12:36:32 +00:00
Varun Patil
11de79bea4 fix(entrypoint): system config value types
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2024-05-03 08:29:34 -07:00
nextcloud-command
b9c57dc8d9 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2024-05-03 04:09:51 +00:00
Simon L
ba7a3f5829 Merge pull request #4611 from nextcloud/aio-helm-update
Helm Chart updates
2024-05-02 12:52:24 +02:00
szaimen
a8104183aa Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-02 10:48:01 +00:00
Jean-Yves
07a8367181 LLDAP - Update ReadMe (#4571)
Signed-off-by: Jean-Yves <7360784+docjyJ@users.noreply.github.com>
2024-04-30 12:05:57 +02:00
Simon L
0ad59ef8b1 Merge pull request #4593 from nextcloud/mention-nginx
nginx config should also work for freenginx and openresty
2024-04-29 13:26:10 +02:00
Zoey
1edcf9ed5b Update reverse-proxy.md
Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: Zoey <zoey@z0ey.de>
2024-04-29 13:22:17 +02:00
Zoey
689fa2a69b nginx config should also work for freenginx and openresty
freenginx is a fork of nginx
and openresty is nginx with some patches + some modules and lua support

Signed-off-by: Zoey <zoey@z0ey.de>
2024-04-26 23:18:50 +02:00
Simon L
dc8250bf83 Merge pull request #4589 from Zakmaf/patch-1
Update compose.yaml
2024-04-26 15:36:25 +02:00
Zakmaf
be089e132f Update compose.yaml
Correcting the mix of two syntaxes in environment variables

Signed-off-by: Zakmaf <100925791+Zakmaf@users.noreply.github.com>
2024-04-26 14:02:50 +01:00
Simon L.
9347144a19 improve UX and UI
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-26 12:02:03 +02:00
Simon L
6e923895af Merge pull request #4587 from nextcloud/enh/noid/adjust-compose-file
adjust the compose file to use `:` instead of `=`
2024-04-26 11:49:31 +02:00
Simon L.
f8cc35cce9 adjust the compose file to use : instead of =
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-26 11:01:34 +02:00
Simon L.
f3ad24d932 increase to 8.2.1
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-25 16:56:11 +02:00
Simon L
53836b6231 Merge pull request #4560 from nextcloud/trust-ip-gateway
trust IP of docker network gateway
2024-04-25 16:54:39 +02:00
Simon L.
03792a5661 use the same logic like in apache
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-25 16:51:33 +02:00
Simon L
4f40890d7d Merge pull request #4583 from nextcloud/nextcloud-container-update
Nextcloud dependency update
2024-04-25 16:47:47 +02:00
Simon L
a48301f9c1 Merge pull request #4586 from nextcloud/revert-4323-enh/4123/drop-proxy-sendcl
Revert "apache - drop SetEnv proxy-sendcl 1"
2024-04-25 16:36:28 +02:00
Simon L
1168c749b0 Revert "apache - drop SetEnv proxy-sendcl 1"
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-25 16:34:18 +02:00
Simon L
a1037ba72b Merge pull request #4584 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-24.04.1.4.1
Bump collabora/code from 24.04.1.3.1 to 24.04.1.4.1 in /Containers/collabora
2024-04-25 14:32:43 +02:00
dependabot[bot]
fe947707b0 Bump collabora/code in /Containers/collabora
Bumps collabora/code from 24.04.1.3.1 to 24.04.1.4.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-25 12:27:50 +00:00
szaimen
e0e1143b9c nextcloud-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-25 11:26:29 +00:00
Simon L
bab11ed61a Merge pull request #4578 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-26.1.0-cli
Bump docker from 26.0.2-cli to 26.1.0-cli in /Containers/mastercontainer
2024-04-24 15:04:38 +02:00
dependabot[bot]
17ce7cc2b1 Bump docker from 26.0.2-cli to 26.1.0-cli in /Containers/mastercontainer
Bumps docker from 26.0.2-cli to 26.1.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-04-24 12:57:47 +00:00
Simon L
c4499174d6 Merge pull request #4577 from nextcloud/imaginary-container-update
Imaginary update
2024-04-24 14:18:23 +02:00
szaimen
d2028048e9 imaginary-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-24 12:03:04 +00:00
Simon L
d87d40c054 Merge pull request #4559 from nextcloud/run-apk-upgrade
upgrade preinstalled packages in final build step
2024-04-24 12:21:14 +02:00
Simon L
157ad4701b Merge pull request #4572 from nextcloud/logs-docker-socket-proxy
allow logs endpoint in haproxy.cfg for docker-socket-proxy
2024-04-24 12:20:43 +02:00
Simon L
e47e239018 Merge pull request #4573 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-24.04.1.3.1
Bump collabora/code from 23.05.10.1.1 to 24.04.1.3.1 in /Containers/collabora
2024-04-24 12:19:58 +02:00
Simon L
61930c8196 Merge pull request #4569 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-26.0.2-cli
Bump docker from 26.0.1-cli to 26.0.2-cli in /Containers/mastercontainer
2024-04-24 12:19:42 +02:00
Simon L
44e458b8ed Merge pull request #4568 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.3.1-49
Bump clamav/clamav from 1.3.0-47 to 1.3.1-49 in /Containers/clamav
2024-04-24 12:19:27 +02:00
Simon L
60a31d860f Merge pull request #4558 from nextcloud/aio-dependency-update
PHP dependency updates
2024-04-24 12:19:10 +02:00
Simon L
ca29850abb Merge pull request #4576 from nextcloud/aio-helm-update
Helm Chart updates
2024-04-24 12:17:31 +02:00
szaimen
22d88a97f9 Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-24 10:15:02 +00:00
dependabot[bot]
283584fe00 Bump collabora/code in /Containers/collabora
Bumps collabora/code from 23.05.10.1.1 to 24.04.1.3.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-23 12:43:13 +00:00
Andrey Borysenko
35b098cf02 allow logs endpoint in haproxy.cfg for docker-socket-proxy
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
2024-04-23 09:28:05 +03:00
dependabot[bot]
a01156d90c Bump docker from 26.0.1-cli to 26.0.2-cli in /Containers/mastercontainer
Bumps docker from 26.0.1-cli to 26.0.2-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-04-22 12:13:48 +00:00
dependabot[bot]
90b0edd95b Bump clamav/clamav from 1.3.0-47 to 1.3.1-49 in /Containers/clamav
Bumps clamav/clamav from 1.3.0-47 to 1.3.1-49.

---
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-04-22 12:08:12 +00:00
szaimen
d976ac2c66 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-18 12:08:51 +00:00
Zoey
1ee74f1d42 trust IP of docker network gateway
Signed-off-by: Zoey <zoey@z0ey.de>
2024-04-17 18:01:12 +02:00
Zoey
c671018798 close #4491
Signed-off-by: Zoey <zoey@z0ey.de>
2024-04-17 17:55:43 +02:00
Simon L
17b35a45db Merge pull request #4550 from nextcloud/enh/noid/29-upgrade
aio interface - show upgrade hint for 29
2024-04-16 11:07:11 +02:00
Simon L.
c0ab585c08 aio interface - show upgrade hint for 29
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-15 15:12:20 +02:00
Simon L
75fdb28486 Merge pull request #4549 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.3.0-47
Bump clamav/clamav from 1.3.0-46 to 1.3.0-47 in /Containers/clamav
2024-04-15 15:03:13 +02:00
dependabot[bot]
c871e3f8af Bump clamav/clamav from 1.3.0-46 to 1.3.0-47 in /Containers/clamav
Bumps clamav/clamav from 1.3.0-46 to 1.3.0-47.

---
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-04-15 12:57:41 +00:00
Simon L
67d71d2b6c Merge pull request #4548 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-26.0.1-cli
Bump docker from 25.0.5-cli to 26.0.1-cli in /Containers/mastercontainer
2024-04-15 14:55:54 +02:00
dependabot[bot]
3010ccd0d4 Bump docker from 25.0.5-cli to 26.0.1-cli in /Containers/mastercontainer
Bumps docker from 25.0.5-cli to 26.0.1-cli.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 12:35:53 +00:00
Simon L
07b1021234 Merge pull request #4539 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.2.18-fpm-alpine3.19
Bump php from 8.2.17-fpm-alpine3.19 to 8.2.18-fpm-alpine3.19 in /Containers/nextcloud
2024-04-12 15:03:03 +02:00
Simon L
8d868715c5 Merge pull request #4538 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.3.6-fpm-alpine3.19
Bump php from 8.3.4-fpm-alpine3.19 to 8.3.6-fpm-alpine3.19 in /Containers/mastercontainer
2024-04-12 15:02:45 +02:00
Simon L
9be77d2f81 Merge pull request #4537 from nextcloud/dependabot/docker/Containers/talk/nats-2.10.14-scratch
Bump nats from 2.10.12-scratch to 2.10.14-scratch in /Containers/talk
2024-04-12 15:02:27 +02:00
Simon L
25f1cc9e83 Merge pull request #4540 from nextcloud/dependabot/github_actions/azure/setup-helm-4
Bump azure/setup-helm from 3.5 to 4
2024-04-12 15:02:05 +02:00
dependabot[bot]
7e9b130781 Bump azure/setup-helm from 3.5 to 4
Bumps [azure/setup-helm](https://github.com/azure/setup-helm) from 3.5 to 4.
- [Release notes](https://github.com/azure/setup-helm/releases)
- [Changelog](https://github.com/Azure/setup-helm/blob/main/CHANGELOG.md)
- [Commits](https://github.com/azure/setup-helm/compare/v3.5...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-12 12:49:43 +00:00
dependabot[bot]
a2342f02f9 Bump php in /Containers/nextcloud
Bumps php from 8.2.17-fpm-alpine3.19 to 8.2.18-fpm-alpine3.19.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-12 12:39:36 +00:00
dependabot[bot]
5129ec03a3 Bump php in /Containers/mastercontainer
Bumps php from 8.3.4-fpm-alpine3.19 to 8.3.6-fpm-alpine3.19.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-12 12:27:06 +00:00
dependabot[bot]
6768013945 Bump nats from 2.10.12-scratch to 2.10.14-scratch in /Containers/talk
Bumps nats from 2.10.12-scratch to 2.10.14-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-04-12 12:23:12 +00:00
Simon L.
0d26a81f0e also chown the supervisord logs and run dirs
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-12 11:11:23 +02:00
Simon L
52cdc7fe68 Merge pull request #4532 from nextcloud/enh/noid/bp-logic
nextcloud - add logic for BRUTEFORCE_PROTECTION
2024-04-11 20:26:47 +02:00
Simon L
20bd9ed82e Merge pull request #4533 from nextcloud/enh/noid/talk-max-screen
helm chart - allow to adjust TALK_MAX_SCREEN_BITRATE
2024-04-11 14:09:43 +02:00
Simon L.
577bac5253 helm chart - allow to adjust TALK_MAX_SCREEN_BITRATE
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-11 14:06:58 +02:00
Simon L.
a5aedd2ba3 nextcloud - add logic for BRUTEFORCE_PROTECTION
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-11 13:27:44 +02:00
Simon L
4fa148a2e9 Merge pull request #4531 from nextcloud/enh/4525/add-turn-host
nextcloud - add turn_domain logic
2024-04-11 13:15:43 +02:00
Simon L.
81c432a1a2 nextcloud - add turn_domain logic
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-11 13:11:30 +02:00
Simon L
dd20ffcf4e Merge pull request #4530 from nextcloud/enh/4335/change-domain
improve the change domain documentation
2024-04-11 10:35:45 +02:00
Simon L.
6b0434e47b improve the change domain documentation
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-11 10:07:03 +02:00
Simon L.
ae67c81526 adjust order
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-10 16:59:10 +02:00
Simon L.
2d8fb5a97e cron.sh - remove set -eu
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-10 16:47:00 +02:00
Simon L
88fc99978d Merge pull request #4524 from nextcloud/dependabot/docker/Containers/talk-recording/python-3.12.3-alpine3.19
Bump python from 3.12.2-alpine3.19 to 3.12.3-alpine3.19 in /Containers/talk-recording
2024-04-10 15:54:05 +02:00
dependabot[bot]
02a77f5213 Bump python in /Containers/talk-recording
Bumps python from 3.12.2-alpine3.19 to 3.12.3-alpine3.19.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-10 12:25:59 +00:00
Simon L
7fbf385d88 Merge pull request #4523 from nextcloud/enh/noid/cronjob
nextcloud container - add exit to cronjob
2024-04-10 11:53:56 +02:00
Simon L.
d99d0240e0 nextcloud container - add exit to cronjob
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-10 11:53:12 +02:00
Simon L
6cd260a99a Merge pull request #4520 from nextcloud/dependabot/docker/Containers/docker-socket-proxy/haproxy-2.9.7-alpine3.19
Bump haproxy from 2.9.6-alpine3.19 to 2.9.7-alpine3.19 in /Containers/docker-socket-proxy
2024-04-09 15:40:46 +02:00
dependabot[bot]
b8285379ba Bump haproxy in /Containers/docker-socket-proxy
Bumps haproxy from 2.9.6-alpine3.19 to 2.9.7-alpine3.19.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-09 12:29:03 +00:00
Simon L
7d09c554cf Merge pull request #4515 from nextcloud/dependabot/docker/Containers/apache/httpd-2.4.59-alpine3.19
Bump httpd from 2.4.58-alpine3.19 to 2.4.59-alpine3.19 in /Containers/apache
2024-04-08 16:02:17 +02:00
Simon L
261af2087d Merge pull request #4514 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.3.0-46
Bump clamav/clamav from 1.3.0-45 to 1.3.0-46 in /Containers/clamav
2024-04-08 16:02:01 +02:00
dependabot[bot]
a90bd4af72 Bump httpd in /Containers/apache
Bumps httpd from 2.4.58-alpine3.19 to 2.4.59-alpine3.19.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-08 12:30:24 +00:00
dependabot[bot]
5dc079077b Bump clamav/clamav from 1.3.0-45 to 1.3.0-46 in /Containers/clamav
Bumps clamav/clamav from 1.3.0-45 to 1.3.0-46.

---
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-04-08 12:10:59 +00:00
Simon L
f10bdfd5b3 Merge pull request #4513 from nextcloud/pulsejet/heic
feat: enable HEIC+TIFF without Imaginary
2024-04-08 05:38:33 +02:00
Varun Patil
7f6cd8c473 feat: enable HEIC+TIFF without Imaginary
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2024-04-07 15:58:57 -07:00
Simon L.
0aa4f63244 increase to 8.2.0
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-04 14:43:28 +02:00
Simon L
4ad2b20fc8 Merge pull request #4495 from nextcloud/enh/noid/adjust-talk-logic
nextcloud - adjust TALK_HOST logic
2024-04-04 14:42:36 +02:00
Simon L.
dc4a08ef78 fix SC
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-04 14:39:24 +02:00
Simon L
77cc4898f9 Merge pull request #4497 from nextcloud/dependabot/docker/Containers/imaginary/golang-1.22.2-alpine3.18
Bump golang from 1.22.1-alpine3.18 to 1.22.2-alpine3.18 in /Containers/imaginary
2024-04-04 14:25:30 +02:00
dependabot[bot]
847b6b5158 Bump golang in /Containers/imaginary
Bumps golang from 1.22.1-alpine3.18 to 1.22.2-alpine3.18.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-04 12:09:15 +00:00
Simon L.
544519994a nextcloud - adjust TALK_HOST logic
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-04 12:45:07 +02:00
Simon L
09171e0c4d Merge pull request #4487 from nextcloud/dependabot/docker/Containers/talk/strukturag/nextcloud-spreed-signaling-1.2.4
Bump strukturag/nextcloud-spreed-signaling from 1.2.3 to 1.2.4 in /Containers/talk
2024-04-04 11:53:57 +02:00
dependabot[bot]
6c6f0e2909 Bump strukturag/nextcloud-spreed-signaling in /Containers/talk
Bumps strukturag/nextcloud-spreed-signaling from 1.2.3 to 1.2.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-04 09:53:48 +00:00
Simon L
ea44de1c48 Merge pull request #4482 from nextcloud/talk-container-update
talk container update
2024-04-04 11:53:11 +02:00
Simon L
3658ad3bdf Merge pull request #4475 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.3.0-45
Bump clamav/clamav from 1.3.0-44 to 1.3.0-45 in /Containers/clamav
2024-04-04 11:51:09 +02:00
Simon L
638155759a Merge pull request #4492 from nextcloud/enh/noid/allow-adjust-talk-max-stream
helm chart - allow to adjust TALK_MAX_STREAM_BITRATE
2024-04-04 11:37:40 +02:00
Simon L.
9a4e7e6abd increase to 8.2.0-dev
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-04 11:36:45 +02:00
Simon L.
e433bc27fe helm chart - allow to adjust TALK_MAX_STREAM_BITRATE
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-04 11:36:45 +02:00
Simon L
c452c39181 Merge pull request #4494 from nextcloud/aio-helm-update
Helm Chart updates
2024-04-04 11:26:11 +02:00
szaimen
1a2299260b Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-04 09:24:14 +00:00
Simon L.
bbf826659d update ldap docs
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-04 10:31:21 +02:00
Jean-Yves
6530c5afc3 Add lldap comunity container (#4398)
Signed-off-by: Jean-Yves <7360784+docjyJ@users.noreply.github.com>
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-04 10:26:42 +02:00
Simon L.
6f8b06294e rp docs - add hint that contributions to improve the docs are welcome
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-03 21:28:46 +02:00
Simon L
1bfedfa82d Merge pull request #4285 from apodl1/main
Add a clarifying comment to nginx.conf of reverse-proxy.md
2024-04-03 15:39:58 +02:00
Simon L
913394073b finish this
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-03 15:37:58 +02:00
szaimen
ac2891289e talk-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-03 12:03:26 +00:00
Simon L
fc0fde93b5 add some more infos to jellyfin and plex
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-03 13:16:50 +02:00
Simon L
9736a77f10 fail2ban - add further debugging hint for issue
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-02 14:57:53 +02:00
dependabot[bot]
cd81cbd0a3 Bump clamav/clamav from 1.3.0-44 to 1.3.0-45 in /Containers/clamav
Bumps clamav/clamav from 1.3.0-44 to 1.3.0-45.

---
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-04-01 12:22:46 +00:00
Simon L
9f6f396447 fix grepping for collabora string
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-28 15:53:57 +01:00
Simon L
d7d352ebdd fix redis sessions
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-28 15:36:50 +01:00
Simon L
94880e1e98 increase to 8.1.0
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-28 15:18:38 +01:00
Simon L
f45121defa Merge pull request #4460 from nextcloud/enh/noid/adjust-collabora-logic
nextcloud - adjust COLLABORA_HOST logic
2024-03-28 14:58:03 +01:00
Simon L
b9fbb5cfe9 Merge pull request #4462 from nextcloud/nextcloud-container-update
Nextcloud dependency update
2024-03-28 14:57:33 +01:00
szaimen
44646615dd nextcloud-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-28 12:47:57 +00:00
Simon L
40450c27f0 Merge pull request #4461 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-23.05.10.1.1
Bump collabora/code from 23.05.9.4.1 to 23.05.10.1.1 in /Containers/collabora
2024-03-28 13:21:27 +01:00
dependabot[bot]
90e9791008 Bump collabora/code in /Containers/collabora
Bumps collabora/code from 23.05.9.4.1 to 23.05.10.1.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-28 12:18:27 +00:00
Simon L
590012ae38 nextcloud - adjust COLLABORA_HOST logic
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-28 12:49:52 +01:00
Simon L
a05269c773 Merge pull request #4459 from nextcloud/enh/noid/add-redis-to-dockerfile
nextcloud container - add redis session handler to Dockerfile
2024-03-28 12:42:40 +01:00
Simon L
0b31db1b21 nextcloud container - add redis session handler to Dockerfile
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-28 12:10:58 +01:00
Simon L
fe018904b1 Merge pull request #4457 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.13.0
Bump elasticsearch from 8.12.2 to 8.13.0 in /Containers/fulltextsearch
2024-03-27 14:00:33 +01:00
dependabot[bot]
43c16a086f Bump elasticsearch from 8.12.2 to 8.13.0 in /Containers/fulltextsearch
Bumps elasticsearch from 8.12.2 to 8.13.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-03-27 12:48:53 +00:00
Simon L
c9ec673634 Merge pull request #4448 from nextcloud/enh/noid/update-helm-chart
update helm chart
2024-03-26 14:15:19 +01:00
Simon L
17fcc24c9a Merge pull request #4451 from nextcloud/ci/lint-helm/simplify
ci(lint-helm): simplify workflow
2024-03-26 14:14:45 +01:00
Simon L
d181a8c266 Merge pull request #4450 from nextcloud/enh/noid/run-helm-lint
run helm lint to catch any problems
2024-03-26 14:13:34 +01:00
Richard Steinmetz
ce43fe96a9 ci(lint-helm): simplify workflow
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-03-26 14:11:55 +01:00
Simon L
e7b587f73d run helm lint to catch any problems
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-26 14:06:27 +01:00
Simon L
0f89c6eaed update helm chart
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-26 14:01:49 +01:00
Simon L
03f9288388 Merge pull request #4447 from nextcloud/fix/helm/mirror-prefix
fix(helm): image repo transformation yielding invalid yaml string syntax
2024-03-26 13:51:24 +01:00
Richard Steinmetz
e8dc3692a0 fix(helm): image repo transformation yielding invalid yaml string syntax
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-03-26 13:39:54 +01:00
Simon L
ab670a19df Merge pull request #4439 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.3.0-44
Bump clamav/clamav from 1.3.0-43 to 1.3.0-44 in /Containers/clamav
2024-03-25 14:57:50 +01:00
dependabot[bot]
f001c6f955 Bump clamav/clamav from 1.3.0-43 to 1.3.0-44 in /Containers/clamav
Bumps clamav/clamav from 1.3.0-43 to 1.3.0-44.

---
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-03-25 12:34:26 +00:00
Simon L
55d6971668 adjust comment
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-25 11:18:23 +01:00
Simon L
10698d7df0 Merge pull request #4429 from airplane-flight/main
Fixed a typo in containers.twig
2024-03-23 17:19:05 +01:00
Alison McCue
e422e0861f Fixed a typo in containers.twig
Signed-off-by: Alison McCue <gh@maladroit.me>
2024-03-23 11:16:29 -04:00
Simon L
a6f2a3c76d add dbindex for redis as comment
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-22 09:58:19 +01:00
Simon L
4d84146b2d Merge pull request #4347 from nextcloud/automated/update-workflows/default
chore: update workflows from templates
2024-03-21 09:24:18 +01:00
skjnldsv
5f97e7e2ee chore: update workflows from templates
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-21 09:23:06 +01:00
Simon L
1e54b1849c Merge pull request #4399 from nextcloud/enh/2860/adjust-wording
aio interface - adjust wording for disable daily backups button
2024-03-21 09:16:48 +01:00
Simon L
5cf4501742 Merge pull request #4357 from nextcloud/automated/noid/psalm-baseline-update
[Automated] Update psalm-baseline.xml
2024-03-21 09:16:30 +01:00
Simon L
6ca4cdc636 Merge pull request #4360 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-23.05.9.4.1
Bump collabora/code from 23.05.9.3.1 to 23.05.9.4.1 in /Containers/collabora
2024-03-21 09:16:15 +01:00
Simon L
1871517ccc Merge pull request #4379 from nextcloud/dependabot/docker/Containers/talk/nats-2.10.12-scratch
Bump nats from 2.10.11-scratch to 2.10.12-scratch in /Containers/talk
2024-03-21 09:16:03 +01:00
Simon L
051871f67a Merge pull request #4386 from nextcloud/enh/noid/absolut-apps-path
nextcloud - update apps_paths to include absolute path
2024-03-21 09:15:16 +01:00
Simon L
9a9fb8bc8b aio interface - adjust wording for disable daily backups button
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-21 09:14:36 +01:00
Simon L
727a94aa9b Merge pull request #4401 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.2.17-fpm-alpine3.19
Bump php from 8.2.16-fpm-alpine3.19 to 8.2.17-fpm-alpine3.19 in /Containers/nextcloud
2024-03-21 09:13:51 +01:00
Simon L
265bd44830 Merge pull request #4403 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.3.4-fpm-alpine3.19
Bump php from 8.3.3-fpm-alpine3.19 to 8.3.4-fpm-alpine3.19 in /Containers/mastercontainer
2024-03-21 09:13:38 +01:00
Simon L
74f622b7d8 Merge pull request #4404 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.3.0-43
Bump clamav/clamav from 1.3.0-41 to 1.3.0-43 in /Containers/clamav
2024-03-21 09:13:25 +01:00
Simon L
f9386388d6 Merge pull request #4408 from nextcloud/enh/4406/network-fail
log the whole error message when network creation fails
2024-03-21 09:13:07 +01:00
Simon L
2b169779a9 Merge pull request #4411 from nextcloud/fix-regex
Additonal backup paths - fix regex
2024-03-21 09:12:25 +01:00
Simon L
2cf1fd5e7e Merge pull request #4412 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-25.0.5-cli
Bump docker from 25.0.3-cli to 25.0.5-cli in /Containers/mastercontainer
2024-03-21 09:12:13 +01:00
Simon L
44e8c836ed Merge pull request #4417 from nextcloud/aio-helm-update
Helm Chart updates
2024-03-21 09:10:52 +01:00
szaimen
9d5f9ca0a5 Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-21 08:09:35 +00:00
Simon L
6f43d79d67 Merge pull request #4331 from nextcloud/aio-yaml-update
Yaml updates
2024-03-21 09:07:53 +01:00
nextcloud-command
1abdc32fda Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2024-03-21 04:09:30 +00:00
Simon L
faf94f0cee Merge pull request #4387 from nextcloud/enh/4362/mirror-support
Helm chart - Add private mirror support for OCI
2024-03-20 17:15:13 +01:00
Simon L
33eb9c99ea Revert "Add private mirror support for OCI references #4362"
This reverts commit f9e78ba35e.
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-20 17:09:58 +01:00
Simon L
dac6b57e0a Revert "Reflect changes in update-helm.sh and fix templating for unset values"
This reverts commit 5b3658c6a0.
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-20 17:09:31 +01:00
Simon L
b961792d68 update the script
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-20 17:08:06 +01:00
dependabot[bot]
c91c0b9867 Bump docker from 25.0.3-cli to 25.0.5-cli in /Containers/mastercontainer
Bumps docker from 25.0.3-cli to 25.0.5-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-03-20 12:26:51 +00:00
Zoey
976aca9139 fix regex
Signed-off-by: Zoey <zoey@z0ey.de>
2024-03-20 08:42:56 +01:00
szaimen
02d9e3a3c5 Yaml updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-19 12:02:57 +00:00
Simon L
a00310f4e4 log the whole error message when network creation fails
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-19 12:08:31 +01:00
dependabot[bot]
03dbbdd111 Bump clamav/clamav from 1.3.0-41 to 1.3.0-43 in /Containers/clamav
Bumps clamav/clamav from 1.3.0-41 to 1.3.0-43.

---
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-03-18 13:01:25 +00:00
dependabot[bot]
ac43b433c8 Bump php in /Containers/mastercontainer
Bumps php from 8.3.3-fpm-alpine3.19 to 8.3.4-fpm-alpine3.19.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-18 12:46:34 +00:00
Simon L
172330b938 Merge pull request #4402 from nextcloud/enh/4395/improve-docs
community containers - add hint regarding what if containers are alre…
2024-03-18 13:14:57 +01:00
Simon L
3ad6d672c3 community containers - add hint regarding what if containers are already running
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-18 13:13:08 +01:00
dependabot[bot]
fd2cb11e40 Bump php in /Containers/nextcloud
Bumps php from 8.2.16-fpm-alpine3.19 to 8.2.17-fpm-alpine3.19.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-18 12:07:05 +00:00
Simon L
31fa780f29 add another remote backup guide to readme
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-15 14:44:05 +01:00
Simon L
4dac111b9f update link
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-14 13:22:57 +01:00
Dennis R
5b3658c6a0 Reflect changes in update-helm.sh and fix templating for unset values
Signed-off-by: Dennis R <dennis@elsysweyr.com>
2024-03-14 12:39:13 +01:00
Dennis R
f9e78ba35e Add private mirror support for OCI references #4362
Signed-off-by: Dennis R <dennis@elsysweyr.com>
2024-03-14 12:39:13 +01:00
Simon L
810dec4a96 nextcloud - update apps_paths to include absolute path
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-14 12:22:54 +01:00
dependabot[bot]
48d891d390 Bump nats from 2.10.11-scratch to 2.10.12-scratch in /Containers/talk
Bumps nats from 2.10.11-scratch to 2.10.12-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-03-13 12:18:10 +00:00
dependabot[bot]
bf103b9061 Bump collabora/code in /Containers/collabora
Bumps collabora/code from 23.05.9.3.1 to 23.05.9.4.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-11 12:49:40 +00:00
Simon L
257b9217f8 Merge pull request #4358 from nextcloud/enh/noid/ip-address
Make more clear that port 8080 needs to be accessed via ip-address
2024-03-11 12:41:18 +01:00
Simon L
a9a6aa51dc Make more clear that port 8080 needs to be accessed via ip-address
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-11 12:39:42 +01:00
Anton Podlozny
5b44bb5964 Add a clarifying comment to nginx ssl-lines for a situation with a subdomain and certbot
Signed-off-by: Anton Podlozny <47890723+apodl1@users.noreply.github.com>
2024-02-26 20:14:36 +02:00
106 changed files with 1117 additions and 449 deletions

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
* text=auto

View File

@@ -32,10 +32,14 @@ jobs:
# See https://github.com/helm/chart-releaser-action/issues/6
- name: Set up Helm
uses: azure/setup-helm@v3.5
uses: azure/setup-helm@v4
with:
version: v3.6.3
- name: Run Helm Lint
run: |
helm lint ./nextcloud-aio-helm-chart
- name: Run chart-releaser
uses: helm/chart-releaser-action@v1.6.0
with:

View File

@@ -1,4 +1,4 @@
name: Lint and Test Charts
name: Lint Helm Charts
on:
workflow_dispatch:
@@ -8,7 +8,7 @@ on:
jobs:
lint-helm:
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
@@ -16,20 +16,9 @@ jobs:
fetch-depth: 0
- name: Install Helm
uses: azure/setup-helm@v3.5
uses: azure/setup-helm@v4
with:
version: v3.11.1
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.6.1
- name: Run chart-testing (lint)
id: lint
run: ct lint --target-branch ${{ github.event.repository.default_branch }} --debug --chart-dirs nextcloud-aio-helm-chart
- name: Create kind cluster
uses: helm/kind-action@v1.9.0
- name: Run chart-testing (install)
id: install
run: ct install --target-branch ${{ github.event.repository.default_branch }} --debug --chart-dirs nextcloud-aio-helm-chart
- name: Lint charts
run: helm lint nextcloud-aio-helm-chart

View File

@@ -33,10 +33,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4 # v3.5.2
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d # v2
uses: shivammathur/setup-php@a4e22b60bbb9c1021113f2860347b0759f66fe5d # v2
with:
php-version: ${{ matrix.php-versions }}
coverage: none
@@ -47,10 +47,10 @@ jobs:
- name: Lint
run: cd php && composer run lint
php-lint-summary:
summary:
permissions:
contents: none
runs-on: ubuntu-latest
runs-on: ubuntu-latest-low
needs: php-lint
if: always()

View File

@@ -23,13 +23,13 @@ jobs:
static-analysis:
runs-on: ubuntu-latest
name: Nextcloud
name: static-psalm-analysis
steps:
- name: Checkout
uses: actions/checkout@v4 # v3.5.2
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Set up php
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d # v2
uses: shivammathur/setup-php@a4e22b60bbb9c1021113f2860347b0759f66fe5d # v2
with:
php-version: 8.3
extensions: apcu

View File

@@ -51,16 +51,13 @@ https://{$ADDITIONAL_TRUSTED_DOMAIN}:443,
reverse_proxy {$TALK_HOST}:8081
}
# Others
import /mnt/data/caddy-imports/*
# Nextcloud
route {
rewrite /.well-known/carddav /remote.php/dav
rewrite /.well-known/caldav /remote.php/dav
header Strict-Transport-Security max-age=31536000;
reverse_proxy localhost:8000
reverse_proxy 127.0.0.1:8000
}
redir /.well-known/carddav /remote.php/dav/ 301
redir /.well-known/caldav /remote.php/dav/ 301
# TLS options
tls {

View File

@@ -1,7 +1,7 @@
# syntax=docker/dockerfile:latest
FROM caddy:2.7.6-alpine as caddy
FROM caddy:2.8.4-alpine as caddy
FROM httpd:2.4.58-alpine3.19
FROM httpd:2.4.59-alpine3.19
COPY --from=caddy /usr/bin/caddy /usr/bin/caddy
@@ -14,6 +14,7 @@ COPY --chmod=775 healthcheck.sh /healthcheck.sh
VOLUME /mnt/data
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache shadow; \
groupmod -g 333 xfs; \
usermod -u 333 -g 333 xfs; \

View File

@@ -1,8 +1,8 @@
#!/bin/bash
nc -z "$NEXTCLOUD_HOST" 9000 || exit 0
nc -z localhost 8000 || exit 1
nc -z localhost "$APACHE_PORT" || exit 1
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

View File

@@ -18,7 +18,8 @@ while ! nc -z "$NEXTCLOUD_HOST" 9000; do
done
# Get ipv4-address of Apache
IPv4_ADDRESS="$(dig nextcloud-aio-apache A +short +search | head -1)"
# shellcheck disable=SC2153
IPv4_ADDRESS="$(dig "$APACHE_HOST" A +short +search | head -1)"
# Bring it in CIDR notation
# shellcheck disable=SC2001
IPv4_ADDRESS="$(echo "$IPv4_ADDRESS" | sed 's|[0-9]\+$|1/32|')"
@@ -63,15 +64,6 @@ caddy fmt --overwrite /tmp/Caddyfile
# Add caddy path
mkdir -p /mnt/data/caddy/
# Add caddy import path
mkdir -p /mnt/data/caddy-imports
# Remove falsely added Nextcloud conf
rm -f /mnt/data/caddy-imports/nextcloud
# Make sure that the caddy-imports dir is not empty
echo "# empty file so that caddy does not print a warning" > /mnt/data/caddy-imports/empty
# Fix apache startup
rm -f /usr/local/apache2/logs/httpd.pid

View File

@@ -3,6 +3,7 @@ FROM alpine:3.19.1
RUN set -ex; \
\
apk upgrade --no-cache -a; \
apk add --no-cache \
util-linux-misc \
bash \

View File

@@ -1,10 +1,11 @@
# syntax=docker/dockerfile:latest
# Probably from this file: https://github.com/Cisco-Talos/clamav-docker/blob/main/clamav/1.1/alpine/Dockerfile
FROM clamav/clamav:1.3.0-41
FROM clamav/clamav:1.3.1-54
COPY clamav.conf /tmp/clamav.conf
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache tzdata; \
cat /tmp/clamav.conf >> /etc/clamav/clamd.conf; \
rm /tmp/clamav.conf; \

View File

@@ -1,14 +1,14 @@
# syntax=docker/dockerfile:latest
# From a file located probably somewhere here: https://github.com/CollaboraOnline/online/tree/master/docker
FROM collabora/code:23.05.9.3.1
FROM collabora/code:24.04.4.1.1
USER root
ARG DEBIAN_FRONTEND noninteractive
# hadolint ignore=DL3008
RUN set -ex; \
\
apt-get update; \
export DEBIAN_FRONTEND=noninteractive; \
apt-get install -y --no-install-recommends \
tzdata \
netcat-openbsd \
@@ -17,5 +17,5 @@ RUN set -ex; \
USER 100
HEALTHCHECK CMD nc -z localhost 9980 || exit 1
HEALTHCHECK CMD nc -z 127.0.0.1 9980 || exit 1
LABEL com.centurylinklabs.watchtower.enable="false"

View File

@@ -1,10 +1,11 @@
# syntax=docker/dockerfile:latest
FROM haproxy:2.9.6-alpine3.19
FROM haproxy:2.9.7-alpine3.19
# hadolint ignore=DL3002
USER root
ENV NEXTCLOUD_HOST nextcloud-aio-nextcloud
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache \
ca-certificates \
tzdata \

View File

@@ -16,6 +16,8 @@ frontend http
http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/_ping } METH_GET
# container inspect: GET containers/%s/json
http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/containers/nc_app_[a-zA-Z0-9_.-]+/json } METH_GET
# container inspect: GET containers/%s/logs
http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/containers/nc_app_[a-zA-Z0-9_.-]+/logs } METH_GET
# container start/stop: POST containers/%s/start containers/%s/stop
http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/containers/nc_app_[a-zA-Z0-9_.-]+/((start)|(stop)) } METH_POST
# container rm: DELETE containers/%s

View File

@@ -1,4 +1,4 @@
#!/bin/bash
nc -z "$NEXTCLOUD_HOST" 9001 || exit 0
nc -z localhost 2375 || exit 1
nc -z 127.0.0.1 2375 || exit 1

View File

@@ -1,6 +1,7 @@
# syntax=docker/dockerfile:latest
FROM alpine:3.19.1
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache bash lighttpd netcat-openbsd; \
adduser -S www-data -G www-data; \
rm -rf /etc/lighttpd/lighttpd.conf; \
@@ -15,5 +16,5 @@ COPY --chmod=775 start.sh /start.sh
USER www-data
ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD nc -z localhost $APACHE_PORT || exit 1
HEALTHCHECK CMD nc -z 127.0.0.1 $APACHE_PORT || exit 1
LABEL com.centurylinklabs.watchtower.enable="false"

View File

@@ -1,14 +1,16 @@
# syntax=docker/dockerfile:latest
# Probably from here https://github.com/elastic/elasticsearch/blob/main/distribution/docker/src/docker/Dockerfile
FROM elasticsearch:8.12.2
FROM elasticsearch:8.14.0
USER root
ARG DEBIAN_FRONTEND noninteractive
# hadolint ignore=DL3008
RUN set -ex; \
\
export DEBIAN_FRONTEND=noninteractive; \
apt-get update; \
apt-get upgrade -y; \
apt-get install -y --no-install-recommends \
tzdata \
; \
@@ -17,5 +19,5 @@ RUN set -ex; \
USER 1000:0
HEALTHCHECK CMD nc -z localhost 9200 || exit 1
HEALTHCHECK CMD nc -z 127.0.0.1 9200 || exit 1
LABEL com.centurylinklabs.watchtower.enable="false"

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM golang:1.22.1-alpine3.18 as go
FROM golang:1.22.3-alpine3.18 as go
ENV IMAGINARY_HASH 6cd9edd1d3fb151eb773c14552886e4fc8e50138
@@ -15,6 +15,7 @@ RUN set -ex; \
FROM alpine:3.18.6
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache \
tzdata \
ca-certificates \
@@ -37,5 +38,5 @@ USER nobody
ENV MALLOC_ARENA_MAX=2
ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD nc -z localhost "$PORT" || exit 1
HEALTHCHECK CMD nc -z 127.0.0.1 "$PORT" || exit 1
LABEL com.centurylinklabs.watchtower.enable="false"

View File

@@ -16,7 +16,7 @@
}
on_demand_tls {
ask http://localhost:9876/
ask http://127.0.0.1:9876/
}
}
@@ -26,7 +26,7 @@ http://:80 {
https://:8443 {
reverse_proxy localhost:8000
reverse_proxy 127.0.0.1:8000
tls {
on_demand

View File

@@ -1,12 +1,12 @@
# syntax=docker/dockerfile:latest
# Docker CLI is a requirement
FROM docker:25.0.3-cli as docker
FROM docker:26.1.4-cli as docker
# Caddy is a requirement
FROM caddy:2.7.6-alpine as caddy
FROM caddy:2.8.4-alpine as caddy
# From https://github.com/docker-library/php/blob/master/8.3/alpine3.19/fpm/Dockerfile
FROM php:8.3.3-fpm-alpine3.19
FROM php:8.3.8-fpm-alpine3.19
EXPOSE 80
EXPOSE 8080
@@ -19,6 +19,7 @@ WORKDIR /var/www/docker-aio
# hadolint ignore=SC2086,DL3047,DL3003,DL3004
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache shadow; \
groupmod -g 333 xfs; \
usermod -u 333 -g 333 xfs; \

View File

@@ -1,10 +1,10 @@
#!/bin/bash
if [ -f "/mnt/docker-aio-config/data/configuration.json" ]; then
nc -z localhost 80 || exit 1
nc -z localhost 8000 || exit 1
nc -z localhost 8080 || exit 1
nc -z localhost 8443 || exit 1
nc -z localhost 9000 || exit 1
nc -z localhost 9876 || exit 1
nc -z 127.0.0.1 80 || exit 1
nc -z 127.0.0.1 8000 || exit 1
nc -z 127.0.0.1 8080 || exit 1
nc -z 127.0.0.1 8443 || exit 1
nc -z 127.0.0.1 9000 || exit 1
nc -z 127.0.0.1 9876 || exit 1
fi

View File

@@ -19,7 +19,7 @@ Listen 8080
# PHP match
<FilesMatch "\.php$">
SetHandler "proxy:fcgi://localhost:9000"
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
# Master dir
DocumentRoot /var/www/docker-aio/php/public/
@@ -41,8 +41,8 @@ Listen 8080
# Https host
<VirtualHost *:8080>
# Proxy to https
ProxyPass / http://localhost:8000/
ProxyPassReverse / http://localhost:8000/
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/
ProxyPreserveHost On
# SSL
SSLCertificateKeyFile /etc/apache2/certs/ssl.key

View File

@@ -47,7 +47,7 @@ elif ! sudo -u www-data test -r /var/run/docker.sock; then
echo "Trying to fix docker.sock permissions internally..."
DOCKER_GROUP=$(stat -c '%G' /var/run/docker.sock)
DOCKER_GROUP_ID=$(stat -c '%g' /var/run/docker.sock)
# Check if a group with the same group id of /var/run/docker.socket already exists in the container
# Check if a group with the same group name of /var/run/docker.socket already exists in the container
if grep -q "^$DOCKER_GROUP:" /etc/group; then
# If yes, add www-data to that group
echo "Adding internal www-data to group $DOCKER_GROUP"
@@ -76,7 +76,7 @@ if ! sudo -u www-data docker info &>/dev/null; then
exit 1
fi
API_VERSION_FILE="$(find ./ -name DockerActionManager.php | head -1)"
API_VERSION="$(grep -oP 'const API_VERSION.*\;' "$API_VERSION_FILE" | grep -oP '[0-9]+.[0-9]+' | head -1)"
API_VERSION="$(grep -oP 'const string API_VERSION.*\;' "$API_VERSION_FILE" | grep -oP '[0-9]+.[0-9]+' | head -1)"
# shellcheck disable=SC2001
API_VERSION_NUMB="$(echo "$API_VERSION" | sed 's/\.//')"
LOCAL_API_VERSION_NUMB="$(sudo -u www-data docker version | grep -i "api version" | grep -oP '[0-9]+.[0-9]+' | head -1 | sed 's/\.//')"
@@ -344,6 +344,7 @@ fi
print_green "Initial startup of Nextcloud All-in-One complete!
You should be able to open the Nextcloud AIO Interface now on port 8080 of this server!
E.g. https://internal.ip.of.this.server:8080
⚠️ Important: do always use an ip-address if you access this port and not a domain as HSTS might block access to it later!
If your server has port 80 and 8443 open and you point a domain to your server, you can get a valid certificate automatically by opening the Nextcloud AIO Interface via:
https://your-domain-that-points-to-this-server.tld:8443"

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM php:8.2.16-fpm-alpine3.19
FROM php:8.2.20-fpm-alpine3.19
ENV PHP_MEMORY_LIMIT 512M
ENV PHP_UPLOAD_LIMIT 10G
@@ -7,15 +7,15 @@ ENV PHP_MAX_TIME 3600
ENV SOURCE_LOCATION /usr/src/nextcloud
# AIO settings start # Do not remove or change this line!
ENV NEXTCLOUD_VERSION 28.0.3
ENV NEXTCLOUD_VERSION 29.0.2
ENV AIO_TOKEN 123456
ENV AIO_URL localhost
COPY supervisord.conf /supervisord.conf
# AIO settings end # Do not remove or change this line!
COPY --chmod=775 *.sh /
COPY --chmod=774 upgrade.exclude /upgrade.exclude
COPY config/*.php /
COPY supervisord.conf /supervisord.conf
VOLUME /mnt/ncdata
VOLUME /var/www/html
@@ -23,6 +23,7 @@ VOLUME /var/www/html
# Custom: change id of www-data user as it needs to be the same like on old installations
# hadolint ignore=SC2086,DL3003
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache shadow; \
deluser www-data; \
groupmod -g 333 xfs; \
@@ -44,6 +45,8 @@ RUN set -ex; \
icu-dev \
imagemagick-dev \
imagemagick-svg \
imagemagick-heic \
imagemagick-tiff \
libevent-dev \
libjpeg-turbo-dev \
libmcrypt-dev \
@@ -115,8 +118,17 @@ RUN set -ex; \
echo 'post_max_size=${PHP_UPLOAD_LIMIT}'; \
echo 'max_execution_time=${PHP_MAX_TIME}'; \
echo 'max_input_time=${PHP_MAX_TIME}'; \
echo 'default_socket_timeout=600'; \
} > /usr/local/etc/php/conf.d/nextcloud.ini; \
\
{ \
echo 'session.save_handler = redis'; \
echo 'session.save_path = "tcp://${REDIS_HOST}:6379?auth=${REDIS_HOST_PASSWORD}"'; \
echo 'redis.session.locking_enabled = 1'; \
echo 'redis.session.lock_retries = -1'; \
echo 'redis.session.lock_wait_time = 10000'; \
} > /usr/local/etc/php/conf.d/redis-session.ini; \
\
mkdir -p /var/www/data; \
chown -R www-data:root /var/www; \
chmod -R g=u /var/www; \
@@ -188,6 +200,8 @@ RUN set -ex; \
/var/log/supervisord \
/var/run/supervisord \
; \
chown www-data:root -R /var/log/supervisord; \
chown www-data:root -R /var/run/supervisord; \
\
apk add --no-cache \
bash \
@@ -203,6 +217,8 @@ RUN set -ex; \
bind-tools \
imagemagick \
imagemagick-svg \
imagemagick-heic \
imagemagick-tiff \
coreutils; \
\
grep -q '^pm = dynamic' /usr/local/etc/php-fpm.d/www.conf; \

View File

@@ -2,12 +2,12 @@
$CONFIG = array (
'apps_paths' => array (
0 => array (
'path' => OC::$SERVERROOT.'/apps',
'path' => '/var/www/html/apps',
'url' => '/apps',
'writable' => false,
),
1 => array (
'path' => OC::$SERVERROOT.'/custom_apps',
'path' => '/var/www/html/custom_apps',
'url' => '/custom_apps',
'writable' => true,
),

View File

@@ -6,6 +6,7 @@ if (getenv('REDIS_HOST')) {
'redis' => array(
'host' => getenv('REDIS_HOST'),
'password' => (string) getenv('REDIS_HOST_PASSWORD'),
// 'dbindex' => (int) getenv('REDIS_DB_INDEX'),
),
);

View File

@@ -1,6 +1,4 @@
#!/bin/bash
set -eu
wait_for_cron() {
set -x
while [ -n "$(pgrep -f /var/www/html/cron.php)" ]; do
@@ -8,7 +6,7 @@ wait_for_cron() {
sleep 5
done
echo "Cronjob successfully exited."
set +x
exit
}
trap wait_for_cron SIGINT SIGTERM

View File

@@ -19,16 +19,12 @@ run_upgrade_if_needed_due_to_app_update() {
fi
}
echo "Configuring Redis as session handler..."
cat << REDIS_CONF > /usr/local/etc/php/conf.d/redis-session.ini
session.save_handler = redis
session.save_path = "tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}"
redis.session.locking_enabled = 1
redis.session.lock_retries = -1
# redis.session.lock_wait_time is specified in microseconds.
# Wait 10ms before retrying the lock rather than the default 2ms.
redis.session.lock_wait_time = 10000
REDIS_CONF
# Only start container if redis is accessible
# shellcheck disable=SC2153
while ! nc -z "$REDIS_HOST" "6379"; do
echo "Waiting for redis to start..."
sleep 5
done
# Check permissions in ncdata
touch "$NEXTCLOUD_DATA_DIR/this-is-a-test-file" &>/dev/null
@@ -166,8 +162,12 @@ if ! [ -f "$NEXTCLOUD_DATA_DIR/skip.update" ]; then
declare -Ag APPSTORAGE
echo "Disabling apps before the update in order to make the update procedure more safe. This can take a while..."
for app in "${NC_APPS_ARRAY[@]}"; do
APPSTORAGE[$app]=$(php /var/www/html/occ config:app:get "$app" enabled)
php /var/www/html/occ app:disable "$app"
if APPSTORAGE[$app]="$(php /var/www/html/occ config:app:get "$app" enabled)"; then
php /var/www/html/occ app:disable "$app"
else
APPSTORAGE[$app]=""
echo "Not disabling $app because the occ command to get the enabled state was failing."
fi
done
fi
@@ -223,7 +223,11 @@ if ! [ -f "$NEXTCLOUD_DATA_DIR/skip.update" ]; then
DATADIR_PERMISSION_CONF
echo "Installing with PostgreSQL database"
INSTALL_OPTIONS+=(--database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST")
# Set a default value for POSTGRES_PORT
if [ -z "$POSTGRES_PORT" ]; then
POSTGRES_PORT=5432
fi
INSTALL_OPTIONS+=(--database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST" --database-port "$POSTGRES_PORT")
echo "Starting Nextcloud installation..."
if ! php /var/www/html/occ maintenance:install "${INSTALL_OPTIONS[@]}"; then
@@ -301,19 +305,19 @@ DATADIR_PERMISSION_CONF
# Apply log settings
echo "Applying default settings..."
mkdir -p /var/www/html/data
php /var/www/html/occ config:system:set loglevel --value=2
php /var/www/html/occ config:system:set log_type --value=file
php /var/www/html/occ config:system:set loglevel --value="2" --type=integer
php /var/www/html/occ config:system:set log_type --value="file"
php /var/www/html/occ config:system:set logfile --value="/var/www/html/data/nextcloud.log"
php /var/www/html/occ config:system:set log_rotate_size --value="10485760"
php /var/www/html/occ config:system:set log_rotate_size --value="10485760" --type=integer
php /var/www/html/occ app:enable admin_audit
php /var/www/html/occ config:app:set admin_audit logfile --value="/var/www/html/data/audit.log"
php /var/www/html/occ config:system:set log.condition apps 0 --value="admin_audit"
# Apply preview settings
echo "Applying preview settings..."
php /var/www/html/occ config:system:set preview_max_x --value="2048"
php /var/www/html/occ config:system:set preview_max_y --value="2048"
php /var/www/html/occ config:system:set jpeg_quality --value="60"
php /var/www/html/occ config:system:set preview_max_x --value="2048" --type=integer
php /var/www/html/occ config:system:set preview_max_y --value="2048" --type=integer
php /var/www/html/occ config:system:set jpeg_quality --value="60" --type=integer
php /var/www/html/occ config:app:set preview jpeg_quality --value="60"
php /var/www/html/occ config:system:delete enabledPreviewProviders
php /var/www/html/occ config:system:set enabledPreviewProviders 1 --value="OC\\Preview\\Image"
@@ -333,7 +337,7 @@ DATADIR_PERMISSION_CONF
php /var/www/html/occ config:system:set mail_smtpmode --value="smtp"
php /var/www/html/occ config:system:set trashbin_retention_obligation --value="auto, 30"
php /var/www/html/occ config:system:set versions_retention_obligation --value="auto, 30"
php /var/www/html/occ config:system:set activity_expire_days --value="30"
php /var/www/html/occ config:system:set activity_expire_days --value="30" --type=integer
php /var/www/html/occ config:system:set simpleSignUpLink.shown --type=bool --value=false
php /var/www/html/occ config:system:set share_folder --value="/Shared"
# Not needed anymore with the removal of the updatenotification app:
@@ -482,6 +486,13 @@ if [ -n "$SUBSCRIPTION_KEY" ] && [ -z "$(php /var/www/html/occ config:app:get su
php /var/www/html/occ config:app:set support potential_subscription_key --value="$SUBSCRIPTION_KEY"
php /var/www/html/occ config:app:delete support last_check
fi
if [ -n "$NEXTCLOUD_DEFAULT_QUOTA" ]; then
if [ "$NEXTCLOUD_DEFAULT_QUOTA" = "unlimited" ]; then
php /var/www/html/occ config:app:delete files default_quota
else
php /var/www/html/occ config:app:set files default_quota --value="$NEXTCLOUD_DEFAULT_QUOTA"
fi
fi
# Adjusting log files to be stored on a volume
echo "Adjusting log files..."
@@ -509,6 +520,14 @@ php /var/www/html/occ maintenance:update:htaccess
# Revert dbpersistent setting to check if it fixes too many db connections
php /var/www/html/occ config:system:set dbpersistent --value=false --type=bool
if [ "$DISABLE_BRUTEFORCE_PROTECTION" = yes ]; then
php /var/www/html/occ config:system:set auth.bruteforce.protection.enabled --type=bool --value=false
php /var/www/html/occ config:system:set ratelimit.protection.enabled --type=bool --value=false
else
php /var/www/html/occ config:system:set auth.bruteforce.protection.enabled --type=bool --value=true
php /var/www/html/occ config:system:set ratelimit.protection.enabled --type=bool --value=true
fi
# Disallow creating local external storages when nothing was mounted
if [ -z "$NEXTCLOUD_MOUNT" ]; then
php /var/www/html/occ config:system:set files_external_allow_create_new_local --type=bool --value=false
@@ -543,6 +562,14 @@ php /var/www/html/occ config:system:set trusted_proxies 1 --value="::1"
if [ -n "$ADDITIONAL_TRUSTED_PROXY" ]; then
php /var/www/html/occ config:system:set trusted_proxies 2 --value="$ADDITIONAL_TRUSTED_PROXY"
fi
# Get ipv4-address of Nextcloud
IPv4_ADDRESS="$(dig nextcloud-aio-nextcloud A +short +search | head -1)"
# Bring it in CIDR notation
# shellcheck disable=SC2001
IPv4_ADDRESS="$(echo "$IPv4_ADDRESS" | sed 's|[0-9]\+$|1/32|')"
php /var/www/html/occ config:system:set trusted_proxies 10 --value="$IPv4_ADDRESS"
if [ -n "$ADDITIONAL_TRUSTED_DOMAIN" ]; then
php /var/www/html/occ config:system:set trusted_domains 2 --value="$ADDITIONAL_TRUSTED_DOMAIN"
fi
@@ -550,6 +577,11 @@ php /var/www/html/occ config:app:set notify_push base_endpoint --value="https://
# Collabora
if [ "$COLLABORA_ENABLED" = 'yes' ]; then
set -x
if echo "$COLLABORA_HOST" | grep -q "nextcloud-.*-collabora"; then
COLLABORA_HOST="$NC_DOMAIN"
fi
set +x
if ! [ -d "/var/www/html/custom_apps/richdocuments" ]; then
php /var/www/html/occ app:install richdocuments
elif [ "$(php /var/www/html/occ config:app:get richdocuments enabled)" != "yes" ]; then
@@ -557,10 +589,10 @@ if [ "$COLLABORA_ENABLED" = 'yes' ]; then
elif [ "$SKIP_UPDATE" != 1 ]; then
php /var/www/html/occ app:update richdocuments
fi
php /var/www/html/occ config:app:set richdocuments wopi_url --value="https://$NC_DOMAIN/"
php /var/www/html/occ config:app:set richdocuments wopi_url --value="https://$COLLABORA_HOST/"
# Make collabora more save
COLLABORA_IPv4_ADDRESS="$(dig "$NC_DOMAIN" A +short +search | grep '^[0-9.]\+$' | sort | head -n1)"
COLLABORA_IPv6_ADDRESS="$(dig "$NC_DOMAIN" AAAA +short +search | grep '^[0-9a-f:]\+$' | sort | head -n1)"
COLLABORA_IPv4_ADDRESS="$(dig "$COLLABORA_HOST" A +short +search | grep '^[0-9.]\+$' | sort | head -n1)"
COLLABORA_IPv6_ADDRESS="$(dig "$COLLABORA_HOST" AAAA +short +search | grep '^[0-9a-f:]\+$' | sort | head -n1)"
COLLABORA_ALLOW_LIST="$(php /var/www/html/occ config:app:get richdocuments wopi_allowlist)"
if [ -n "$COLLABORA_IPv4_ADDRESS" ]; then
if ! echo "$COLLABORA_ALLOW_LIST" | grep -q "$COLLABORA_IPv4_ADDRESS"; then
@@ -571,7 +603,7 @@ if [ "$COLLABORA_ENABLED" = 'yes' ]; then
fi
fi
else
echo "Warning: No ipv4-address found for $NC_DOMAIN."
echo "Warning: No ipv4-address found for $COLLABORA_HOST."
fi
if [ -n "$COLLABORA_IPv6_ADDRESS" ]; then
if ! echo "$COLLABORA_ALLOW_LIST" | grep -q "$COLLABORA_IPv6_ADDRESS"; then
@@ -582,7 +614,7 @@ if [ "$COLLABORA_ENABLED" = 'yes' ]; then
fi
fi
else
echo "No ipv6-address found for $NC_DOMAIN."
echo "No ipv6-address found for $COLLABORA_HOST."
fi
if [ -n "$COLLABORA_ALLOW_LIST" ]; then
PRIVATE_IP_RANGES='127.0.0.1/8,192.168.0.0/16,172.16.0.0/12,10.0.0.0/8,fd00::/8,::1'
@@ -629,6 +661,15 @@ fi
# Talk
if [ "$TALK_ENABLED" = 'yes' ]; then
set -x
if [ -z "$TALK_HOST" ] || echo "$TALK_HOST" | grep -q "nextcloud-.*-talk"; then
TALK_HOST="$NC_DOMAIN"
HPB_PATH="/standalone-signaling/"
fi
if [ -z "$TURN_DOMAIN" ]; then
TURN_DOMAIN="$TALK_HOST"
fi
set +x
if ! [ -d "/var/www/html/custom_apps/spreed" ]; then
php /var/www/html/occ app:install spreed
elif [ "$(php /var/www/html/occ config:app:get spreed enabled)" != "yes" ]; then
@@ -638,15 +679,16 @@ if [ "$TALK_ENABLED" = 'yes' ]; then
fi
# Based on https://github.com/nextcloud/spreed/issues/960#issuecomment-416993435
if [ -z "$(php /var/www/html/occ talk:turn:list --output="plain")" ]; then
php /var/www/html/occ talk:turn:add turn "$NC_DOMAIN:$TALK_PORT" "udp,tcp" --secret="$TURN_SECRET"
# shellcheck disable=SC2153
php /var/www/html/occ talk:turn:add turn "$TURN_DOMAIN:$TALK_PORT" "udp,tcp" --secret="$TURN_SECRET"
fi
STUN_SERVER="$(php /var/www/html/occ talk:stun:list --output="plain")"
if [ -z "$STUN_SERVER" ] || echo "$STUN_SERVER" | grep -oP '[a-zA-Z.:0-9]+' | grep -q "^stun.nextcloud.com:443$"; then
php /var/www/html/occ talk:stun:add "$NC_DOMAIN:$TALK_PORT"
php /var/www/html/occ talk:stun:add "$TURN_DOMAIN:$TALK_PORT"
php /var/www/html/occ talk:stun:delete "stun.nextcloud.com:443"
fi
if ! php /var/www/html/occ talk:signaling:list --output="plain" | grep -q "https://$NC_DOMAIN/standalone-signaling/"; then
php /var/www/html/occ talk:signaling:add "https://$NC_DOMAIN/standalone-signaling/" "$SIGNALING_SECRET" --verify
if ! php /var/www/html/occ talk:signaling:list --output="plain" | grep -q "https://$TALK_HOST$HPB_PATH"; then
php /var/www/html/occ talk:signaling:add "https://$TALK_HOST$HPB_PATH" "$SIGNALING_SECRET" --verify
fi
else
if [ "$REMOVE_DISABLED_APPS" = yes ] && [ -d "/var/www/html/custom_apps/spreed" ]; then

View File

@@ -1,7 +1,15 @@
#!/bin/bash
nc -z "$POSTGRES_HOST" 5432 || exit 0
# Set a default value for POSTGRES_PORT
if [ -z "$POSTGRES_PORT" ]; then
POSTGRES_PORT=5432
fi
if ! nc -z localhost 9000; then
# POSTGRES_HOST must be set in the containers env vars and POSTGRES_PORT has a default above
# shellcheck disable=SC2153
nc -z "$POSTGRES_HOST" "$POSTGRES_PORT" || exit 0
if ! nc -z 127.0.0.1 9000; then
exit 1
fi

View File

@@ -1,7 +1,14 @@
#!/bin/bash
# Set a default value for POSTGRES_PORT
if [ -z "$POSTGRES_PORT" ]; then
POSTGRES_PORT=5432
fi
# Only start container if database is accessible
while ! sudo -u www-data nc -z "$POSTGRES_HOST" 5432; do
# POSTGRES_HOST must be set in the containers env vars and POSTGRES_PORT has a default above
# shellcheck disable=SC2153
while ! sudo -u www-data nc -z "$POSTGRES_HOST" "$POSTGRES_PORT"; do
echo "Waiting for database to start..."
sleep 5
done
@@ -13,7 +20,7 @@ export POSTGRES_USER
# Fix false database connection on old instances
if [ -f "/var/www/html/config/config.php" ]; then
sleep 2
while ! sudo -u www-data psql -d "postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:5432/$POSTGRES_DB" -c "select now()"; do
while ! sudo -u www-data psql -d "postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DB" -c "select now()"; do
echo "Waiting for the database to start..."
sleep 5
done
@@ -56,7 +63,7 @@ if [ -n "$ADDITIONAL_APKS" ]; then
if ! [ -f "/additional-apks-are-installed" ]; then
# Allow to disable imagemagick without having to download it each time
if ! echo "$ADDITIONAL_APKS" | grep -q imagemagick; then
apk del imagemagick imagemagick-svg;
apk del imagemagick imagemagick-svg imagemagick-heic imagemagick-tiff;
fi
read -ra ADDITIONAL_APKS_ARRAY <<< "$ADDITIONAL_APKS"
for app in "${ADDITIONAL_APKS_ARRAY[@]}"; do
@@ -144,7 +151,7 @@ done
set -x
# shellcheck disable=SC2235
if [ "$THIS_IS_AIO" = "true" ] && ([ "$APACHE_PORT" = 443 ] || [ "$APACHE_IP_BINDING" = "127.0.0.1" ] || [ "$APACHE_IP_BINDING" = "::1" ]); then
if [ "$THIS_IS_AIO" = "true" ] && [ "$APACHE_PORT" = 443 ]; then
IPv4_ADDRESS_APACHE="$(dig nextcloud-aio-apache A +short +search | grep '^[0-9.]\+$' | sort | head -n1)"
IPv6_ADDRESS_APACHE="$(dig nextcloud-aio-apache AAAA +short +search | grep '^[0-9a-f:]\+$' | sort | head -n1)"
IPv4_ADDRESS_MASTERCONTAINER="$(dig nextcloud-aio-mastercontainer A +short +search | grep '^[0-9.]\+$' | sort | head -n1)"

View File

@@ -5,6 +5,7 @@ COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache \
ca-certificates \
netcat-openbsd \

View File

@@ -4,4 +4,4 @@ if ! nc -z "$NEXTCLOUD_HOST" 9001; then
exit 0
fi
nc -z localhost 7867 || exit 1
nc -z 127.0.0.1 7867 || exit 1

View File

@@ -44,8 +44,12 @@ fi
echo "notify-push was started"
# Set a default value for POSTGRES_PORT
if [ -z "$POSTGRES_PORT" ]; then
POSTGRES_PORT=5432
fi
# Set sensitive values as env
export DATABASE_URL="postgres://oc_$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST/$POSTGRES_DB"
export DATABASE_URL="postgres://oc_$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DB"
export REDIS_URL="redis://:$REDIS_HOST_PASSWORD@$REDIS_HOST"
# Run it

View File

@@ -4,5 +4,5 @@ FROM onlyoffice/documentserver:8.0.1.1
# USER root is probably used
HEALTHCHECK CMD nc -z localhost 80 || exit 1
HEALTHCHECK CMD nc -z 127.0.0.1 80 || exit 1
LABEL com.centurylinklabs.watchtower.enable="false"

View File

@@ -1,12 +1,13 @@
# syntax=docker/dockerfile:latest
# From https://github.com/docker-library/postgres/blob/master/15/alpine/Dockerfile
FROM postgres:15.6-alpine
FROM postgres:16.3-alpine
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh
COPY --chmod=775 init-user-db.sh /docker-entrypoint-initdb.d/init-user-db.sh
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache \
bash \
openssl \

View File

@@ -2,4 +2,4 @@
test -f "/mnt/data/backup-is-running" && exit 0
psql -d "postgresql://oc_$POSTGRES_USER:$POSTGRES_PASSWORD@localhost:5432/$POSTGRES_DB" -c "select now()" || exit 1
psql -d "postgresql://oc_$POSTGRES_USER:$POSTGRES_PASSWORD@127.0.0.1:5432/$POSTGRES_DB" -c "select now()" || exit 1

View File

@@ -85,7 +85,7 @@ if ( [ -f "$DATADIR/PG_VERSION" ] && [ "$PG_MAJOR" != "$(cat "$DATADIR/PG_VERSIO
exec docker-entrypoint.sh postgres &
# Wait for creation
while ! psql -d "postgresql://oc_$POSTGRES_USER:$POSTGRES_PASSWORD@localhost:11000/$POSTGRES_DB" -c "select now()"; do
while ! psql -d "postgresql://oc_$POSTGRES_USER:$POSTGRES_PASSWORD@127.0.0.1:11000/$POSTGRES_DB" -c "select now()"; do
echo "Waiting for the database to start."
sleep 5
done

View File

@@ -1,10 +1,11 @@
# syntax=docker/dockerfile:latest
# From https://github.com/docker-library/redis/blob/master/7.0/alpine/Dockerfile
FROM redis:7.2.4-alpine
FROM redis:7.2.5-alpine
COPY --chmod=775 start.sh /start.sh
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache openssl bash; \
\
# Give root a random password

View File

@@ -7,6 +7,7 @@ if [ "$(sysctl -n vm.overcommit_memory)" != "1" ]; then
fi
# Run redis with a password if provided
echo "Redis has started"
if [ -n "$REDIS_HOST_PASSWORD" ]; then
exec redis-server --requirepass "$REDIS_HOST_PASSWORD" --loglevel warning
else

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM python:3.12.2-alpine3.19
FROM python:3.12.4-alpine3.19
COPY --chmod=775 start.sh /start.sh
@@ -10,6 +10,7 @@ ENV SKIP_VERIFY false
ENV HPB_PATH /standalone-signaling/
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache \
ca-certificates \
tzdata \
@@ -53,5 +54,5 @@ USER recording
ENTRYPOINT ["/start.sh"]
CMD ["python", "-m", "nextcloud.talk.recording", "--config", "/conf/recording.conf"]
HEALTHCHECK CMD nc -z localhost 1234 || exit 1
HEALTHCHECK CMD nc -z 127.0.0.1 1234 || exit 1
LABEL com.centurylinklabs.watchtower.enable="false"

View File

@@ -1,10 +1,10 @@
# syntax=docker/dockerfile:latest
FROM nats:2.10.11-scratch as nats
FROM nats:2.10.16-scratch as nats
FROM eturnal/eturnal:1.12.0 AS eturnal
FROM strukturag/nextcloud-spreed-signaling:1.2.3 as signaling
FROM strukturag/nextcloud-spreed-signaling:1.3.1 as signaling
FROM alpine:3.19.1 as janus
ARG JANUS_VERSION=v0.14.1
ARG JANUS_VERSION=v0.14.2
WORKDIR /src
RUN set -ex; \
apk add --no-cache \
@@ -46,6 +46,7 @@ COPY --chmod=775 healthcheck.sh /healthcheck.sh
COPY --chmod=664 supervisord.conf /supervisord.conf
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache \
ca-certificates \
tzdata \

View File

@@ -1,11 +1,7 @@
#!/bin/bash
nc -z localhost 8081 || exit 1
nc -z localhost 8188 || exit 1
nc -z localhost 4222 || exit 1
nc -z localhost "$TALK_PORT" || exit 1
nc -z 127.0.0.1 8081 || exit 1
nc -z 127.0.0.1 8188 || exit 1
nc -z 127.0.0.1 4222 || exit 1
nc -z 127.0.0.1 "$TALK_PORT" || exit 1
eturnalctl status || exit 1
if ! nc -z "$NC_DOMAIN" "$TALK_PORT"; then
echo "Could not reach $NC_DOMAIN on port $TALK_PORT."
exit 1
fi

View File

@@ -7,7 +7,7 @@
#readtimeout = 15
# HTTP socket write timeout in seconds.
#writetimeout = 15
#writetimeout = 30
[https]
# IP and port to listen on for HTTPS requests.
@@ -18,7 +18,7 @@
#readtimeout = 15
# HTTPS socket write timeout in seconds.
#writetimeout = 15
#writetimeout = 30
# Certificate / private key to use for the HTTPS server.
certificate = /etc/nginx/ssl/server.crt
@@ -34,6 +34,12 @@ debug = false
# room and call can be subscribed.
#allowsubscribeany = false
# Comma separated list of trusted proxies (IPs or CIDR networks) that may set
# the "X-Real-Ip" or "X-Forwarded-For" headers. If both are provided, the
# "X-Real-Ip" header will take precedence (if valid).
# Leave empty to allow loopback and local addresses.
#trustedproxies =
[sessions]
# Secret value used to generate checksums of sessions. This should be a random
# string of 32 or 64 bytes.
@@ -221,6 +227,8 @@ connectionsperhost = 8
# register an account at "https://www.maxmind.com/en/geolite2/signup" for
# free. See "https://dev.maxmind.com/geoip/geoip2/geolite2/" for further
# information.
# You can also get a free GeoIP database from https://db-ip.com/ without
# registration. Provide the URL below in this case.
# Leave empty to disable GeoIP lookups.
#license =

View File

@@ -20,8 +20,10 @@ fi
set -x
IPv4_ADDRESS_TALK_RELAY="$(hostname -i | grep -oP '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | head -1)"
IPv4_ADDRESS_TALK="$(dig nextcloud-aio-talk IN A +short +search | grep '^[0-9.]\+$' | sort | head -n1)"
IPv6_ADDRESS_TALK="$(dig nextcloud-aio-talk AAAA +short +search | grep '^[0-9a-f:]\+$' | sort | head -n1)"
# shellcheck disable=SC2153
IPv4_ADDRESS_TALK="$(dig "$TALK_HOST" IN A +short +search | grep '^[0-9.]\+$' | sort | head -n1)"
# shellcheck disable=SC2153
IPv6_ADDRESS_TALK="$(dig "$TALK_HOST" AAAA +short +search | grep '^[0-9a-f:]\+$' | sort | head -n1)"
set +x
if [ -n "$IPv4_ADDRESS_TALK" ] && [ "$IPv4_ADDRESS_TALK_RELAY" = "$IPv4_ADDRESS_TALK" ]; then
@@ -56,6 +58,14 @@ TURN_CONF
# Remove empty lines so that the config is not invalid
sed -i '/""/d' /conf/eturnal.yml
if [ -z "$TALK_MAX_STREAM_BITRATE" ]; then
TALK_MAX_STREAM_BITRATE=1048576
fi
if [ -z "$TALK_MAX_SCREEN_BITRATE" ]; then
TALK_MAX_SCREEN_BITRATE=2097152
fi
# Signling
cat << SIGNALING_CONF > "/conf/signaling.conf"
[http]
@@ -80,6 +90,8 @@ connectionsperhost = 8
[backend-1]
url = https://${NC_DOMAIN}
secret = ${SIGNALING_SECRET}
maxstreambitrate = ${TALK_MAX_STREAM_BITRATE}
maxscreenbitrate = ${TALK_MAX_SCREEN_BITRATE}
[nats]
url = nats://127.0.0.1:4222
@@ -87,6 +99,8 @@ url = nats://127.0.0.1:4222
[mcu]
type = janus
url = ws://127.0.0.1:8188
maxstreambitrate = ${TALK_MAX_STREAM_BITRATE}
maxscreenbitrate = ${TALK_MAX_SCREEN_BITRATE}
SIGNALING_CONF
exec "$@"

View File

@@ -4,7 +4,9 @@ FROM containrrr/watchtower:1.7.1 as watchtower
FROM alpine:3.19.1
RUN apk add --no-cache bash
RUN apk upgrade --no-cache -a; \
apk add --no-cache bash
COPY --from=watchtower /watchtower /watchtower
COPY --chmod=775 start.sh /start.sh

View File

@@ -5,7 +5,7 @@
<name>Nextcloud All-in-One</name>
<summary>Provides a login link for admins.</summary>
<description>Add a link to the admin settings that gives access to the Nextcloud All-in-One admin interface</description>
<version>0.5.0</version>
<version>0.6.0</version>
<licence>agpl</licence>
<author>Azul</author>
<namespace>AllInOne</namespace>
@@ -13,7 +13,7 @@
<category>monitoring</category>
<bugs>https://github.com/nextcloud/all-in-one/issues</bugs>
<dependencies>
<nextcloud min-version="27" max-version="28"/>
<nextcloud min-version="28" max-version="29"/>
</dependencies>
<settings>

View File

@@ -1,11 +1,13 @@
## Caddy with geoblocking
This container bundles caddy and auto-configures it for you. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/vaultwarden by listening on `bw.$NC_DOMAIN`, if installed. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart by listening on `mail.$NC_DOMAIN`, if installed. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin by listening on `media.$NC_DOMAIN`, if installed.
This container bundles caddy and auto-configures it for you. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/vaultwarden by listening on `bw.$NC_DOMAIN`, if installed. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart by listening on `mail.$NC_DOMAIN`, if installed. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin by listening on `media.$NC_DOMAIN`, if installed. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/lldap by listening on `ldap.$NC_DOMAIN`, if installed.
### Notes
- This container is incompatible with the [npmplus](https://github.com/nextcloud/all-in-one/tree/main/community-containers/npmplus) community container. So make sure that you do not enable both at the same time!
- Make sure that no other service is using port 443 on your host as otherwise the containers will fail to start. You can check this with `sudo netstat -tulpn | grep 443` before installing AIO.
- If you want to use this with https://github.com/nextcloud/all-in-one/tree/main/community-containers/vaultwarden, make sure that you point `bw.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for vaultwarden.
- If you want to use this with https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart, make sure that you point `mail.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for stalwart.
- If you want to use this with https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart, make sure that you point `mail.your-nc-domain.com` to your server using an A, AAAA or CNAME record so that caddy can get a certificate automatically for stalwart.
- If you want to use this with https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin, make sure that you point `media.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for vaultwarden.
- If you want to use this with https://github.com/nextcloud/all-in-one/tree/main/community-containers/lldap, make sure that you point `ldap.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for vaultwarden.
- After the container was started the first time, you should see a new `nextcloud-aio-caddy` folder and inside there an `allowed-countries.txt` file when you open the files app with the default `admin` user. In there you can adjust the allowed country codes for caddy by adding them to the first line, e.g. `IT FR` would allow access from italy and france. Private ip-ranges are always allowed. Additionally, in order to activate this config, you need to get an account at https://dev.maxmind.com/geoip/geolite2-free-geolocation-data and download the `GeoLite2-Country.mmdb` and upload it with this exact name into the `nextcloud-aio-caddy` folder. Afterwards restart all containers from the AIO interface and your new config should be active!
- You can add your own Caddy configurations in `/data/caddy-imports/` inside the Caddy container (`sudo docker exec -it nextcloud-aio-caddy bash`). These will be imported on container startup.
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack

View File

@@ -10,10 +10,11 @@
"restart": "unless-stopped",
"environment": [
"TZ=%TIMEZONE%",
"API_KEY=some-super-secret-api-key"
"API_KEY=some-super-secret-api-key",
"FACE_MODEL=3"
],
"aio_variables": [
"nextcloud_memory_limit=4096M"
"nextcloud_memory_limit=2048M"
],
"nextcloud_exec_commands": [
"php /var/www/html/occ app:install facerecognition",
@@ -21,7 +22,7 @@
"php /var/www/html/occ config:system:set facerecognition.external_model_url --value nextcloud-aio-facerecognition:5000",
"php /var/www/html/occ config:system:set facerecognition.external_model_api_key --value some-super-secret-api-key",
"php /var/www/html/occ face:setup -m 5",
"php /var/www/html/occ face:setup -M 4G",
"php /var/www/html/occ face:setup -M 1G",
"php /var/www/html/occ config:app:set facerecognition analysis_image_area --value 4320000",
"php /var/www/html/occ config:system:set enabledFaceRecognitionMimetype 0 --value image/jpeg",
"php /var/www/html/occ config:system:set enabledFaceRecognitionMimetype 1 --value image/png",

View File

@@ -4,6 +4,7 @@ This container bundles fail2ban and auto-configures it for you in order to block
### Notes
- This is not working on Docker Desktop since it needs `network_mode: host` in order to work correctly.
- If you get an error like `"ip6tables v1.8.9 (legacy): can't initialize ip6tables table filter': Table does not exist (do you need to insmod?)"`, you need to enable ip6tables on your host via `sudo modprobe ip6table_filter`.
- If you get an error like `stderr: 'iptables: No chain/target/match by that name.'` and `stderr: 'ip6tables: No chain/target/match by that name.'`, you need to follow https://github.com/szaimen/aio-fail2ban/issues/9#issuecomment-2026898790 in order to resolve this.
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository

View File

@@ -5,8 +5,10 @@ This container bundles Jellyfin and auto-configures it for you.
- This container is incompatible with the [Plex](https://github.com/nextcloud/all-in-one/tree/main/community-containers/plex) community container. So make sure that you do not enable both at the same time!
- This container does not work on Docker Desktop since it needs `network_mode: host` in order to work correctly.
- After adding and starting the container, you can directly visit http://ip.address.of.server:8096/ and access your new Jellyfin instance!
- This container should usually only be run in home networks as it exposes unencrypted services like DLNA by default which can be disabld via the web interface though.
- In order to access your Jellyfin outside the local network, you have to set up your own reverse proxy. You can set up a reverse proxy following [these instructions](https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md) and [Jellyfin's networking documentation](https://jellyfin.org/docs/general/networking/#running-jellyfin-behind-a-reverse-proxy), OR use the [Caddy](https://github.com/nextcloud/all-in-one/tree/main/community-containers/caddy) community container that will automatically configure `media.$NC_DOMAIN` to redirect to your Jellyfin.
- ⚠️ After the initial start, Jellyfin shows a configuration page to set up the root password, etc. **Be careful to initialize your Jellyfin before adding the DNS record.**
- If you have a firewall like ufw configured, you might need to open all Jellyfin ports in there first in order to make it work. Especially port 8096 is important!
- The data of Jellyfin will be automatically included in AIO's backup solution!
- See [here](https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers) how to add it to the AIO stack.

View File

@@ -0,0 +1,46 @@
{
"aio_services_v1": [
{
"container_name": "nextcloud-aio-lldap",
"display_name": "Light LDAP implementation",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/lldap",
"image": "lldap/lldap",
"image_tag": "v0-alpine",
"internal_port": "17170",
"restart": "unless-stopped",
"ports": [
{
"ip_binding": "%APACHE_IP_BINDING%",
"port_number": "17170",
"protocol": "tcp"
}
],
"environment": [
"TZ=%TIMEZONE%",
"UID=65534",
"GID=65534",
"LLDAP_JWT_SECRET=%LLDAP_JWT_SECRET%",
"LLDAP_LDAP_USER_PASS=%LLDAP_LDAP_USER_PASS%",
"LLDAP_LDAP_BASE_DN=%NC_BASE_DN%"
],
"secrets": [
"LLDAP_JWT_SECRET",
"LLDAP_LDAP_USER_PASS"
],
"volumes": [
{
"source": "nextcloud_aio_lldap",
"destination": "/data",
"writeable": true
}
],
"backup_volumes": [
"nextcloud_aio_lldap"
],
"nextcloud_exec_commands": [
"php /var/www/html/occ app:install user_ldap",
"php /var/www/html/occ app:enable user_ldap"
]
}
]
}

View File

@@ -0,0 +1,93 @@
## Light LDAP server
This container bundles LLDAP server and auto-configures your Nextcloud instance for you.
### Notes
- In order to access your LLDAP web interface outside the local network, you have to set up your own reverse proxy. You can set up a reverse proxy following [these instructions](https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md) OR use the [Caddy](https://github.com/nextcloud/all-in-one/tree/main/community-containers/caddy) community container that will automatically configure `ldap.$NC_DOMAIN` to redirect to your Lldap. You need to point the reverse proxy at port 17170 of this server.
- After adding and starting the container, you can log in to the lldap web interface by using the username `admin` and the password that you can retrieve via `sudo docker inspect nextcloud-aio-lldap | grep LLDAP_JWT_SECRET`.
- To configure Nextcloud, you can use the generic configuration proposed below.
- For advanced configurations, see how to configure a client with lldap https://github.com/lldap/lldap#client-configuration
- Also, see how Nextcloud's LDAP application works https://docs.nextcloud.com/server/latest/admin_manual/configuration_user/user_auth_ldap.html
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Generic Nextcloud LDAP config
Functionality with this configuration:
- User and group management.
- Login via username (or email) and password.
- Profile picture sync.
- Synchronization of administrator accounts (via the lldap_admin group).
> For simplicity, this configuration is done via the command line (don't worry, it's very simple).
First, you need to retrieve the LLDAP admin password, this will be used later on. Which you need to type in or copy and paste:
```bash
sudo docker inspect nextcloud-aio-lldap | grep LLDAP_LDAP_USER_PASS
```
Now go into the Nextcloud container:
```bash
sudo docker exec --user www-data -it nextcloud-aio-nextcloud bash
```
Now inside the container:
```bash
# Get Base
BASE_DN="dc=${NC_DOMAIN//./,dc=}"
# Create a new empty ldap config
CONF_NAME=$(php /var/www/html/occ ldap:create-empty-config -p)
# Check that the base DN matches your domain and retrieve your configuration name
echo "Base DN: '$BASE_DN', Config name: '$CONF_NAME'"
# Set the ldap password
php /var/www/html/occ ldap:set-config $CONF_NAME ldapAgentPassword "<your-password>"
# Set the ldap config: Host and connection
php /var/www/html/occ ldap:set-config $CONF_NAME ldapAdminGroup lldap_admin
php /var/www/html/occ ldap:set-config $CONF_NAME ldapAgentName "cn=admin,ou=people,$BASE_DN"
php /var/www/html/occ ldap:set-config $CONF_NAME ldapBase "$BASE_DN"
php /var/www/html/occ ldap:set-config $CONF_NAME ldapHost "ldap://nextcloud-aio-lldap"
php /var/www/html/occ ldap:set-config $CONF_NAME ldapPort 3890
php /var/www/html/occ ldap:set-config $CONF_NAME ldapTLS 0
php /var/www/html/occ ldap:set-config $CONF_NAME turnOnPasswordChange 0
# Set the ldap config: Users
php /var/www/html/occ ldap:set-config $CONF_NAME ldapBaseUsers "ou=people,$BASE_DN"
php /var/www/html/occ ldap:set-config $CONF_NAME ldapEmailAttribute mail
php /var/www/html/occ ldap:set-config $CONF_NAME ldapGidNumber gidNumber
php /var/www/html/occ ldap:set-config $CONF_NAME ldapLoginFilter "(&(|(objectclass=person))(|(uid=%uid)(|(mailPrimaryAddress=%uid)(mail=%uid))))"
php /var/www/html/occ ldap:set-config $CONF_NAME ldapLoginFilterEmail 1
php /var/www/html/occ ldap:set-config $CONF_NAME ldapLoginFilterUsername 1
php /var/www/html/occ ldap:set-config $CONF_NAME ldapUserAvatarRule default
php /var/www/html/occ ldap:set-config $CONF_NAME ldapUserDisplayName cn
php /var/www/html/occ ldap:set-config $CONF_NAME ldapUserFilter "(|(objectclass=person))"
php /var/www/html/occ ldap:set-config $CONF_NAME ldapUserFilterMode 0
php /var/www/html/occ ldap:set-config $CONF_NAME ldapUserFilterObjectclass person
# Set the ldap config: Groups
php /var/www/html/occ ldap:set-config $CONF_NAME ldapBaseGroups "ou=groups,$BASE_DN"
php /var/www/html/occ ldap:set-config $CONF_NAME ldapGroupDisplayName cn
php /var/www/html/occ ldap:set-config $CONF_NAME ldapGroupFilter "(&(|(objectclass=groupOfUniqueNames)))"
php /var/www/html/occ ldap:set-config $CONF_NAME ldapGroupFilterMode 0
php /var/www/html/occ ldap:set-config $CONF_NAME ldapGroupFilterObjectclass groupOfUniqueNames
php /var/www/html/occ ldap:set-config $CONF_NAME ldapGroupMemberAssocAttr uniqueMember
php /var/www/html/occ ldap:set-config $CONF_NAME useMemberOfToDetectMembership 1
# Optional : Check the configuration
#php /var/www/html/occ ldap:show-config $CONF_NAME
# Test the ldap config
php /var/www/html/occ ldap:test-config $CONF_NAME
# Enable ldap config
php /var/www/html/occ ldap:set-config $CONF_NAME ldapConfigurationActive 1
# Exit the container shell
exit
```
It's done ! All you have to do is go to the Nextcloud administration interface to see the magic of LDAP.
### Repository
https://github.com/lldap/lldap
### Maintainer
https://github.com/docjyj

View File

@@ -3,12 +3,13 @@ This container bundles Local AI and auto-configures it for you.
### Notes
- This container does not work on arm64! If you add the container on arm64, it will fail to start because no image for arm64 is available!
- Make sure to have enough storage space available. This container alone needs ~14GB storage. Every model that you add to `models.yaml` will of course use additional space which adds up quite fast.
- Make sure to have enough storage space available. This container alone needs ~7GB storage. Every model that you add to `models.yaml` will of course use additional space which adds up quite fast.
- After the container was started the first time, you should see a new `nextcloud-aio-local-ai` folder when you open the files app with the default `admin` user. In there you should see a `models.yaml` config file. You can now add models in there. Please refer [here](https://github.com/go-skynet/model-gallery/blob/main/index.yaml) where you can get further urls that you can put in there. Afterwards restart all containers from the AIO interface and the models should automatically get downloaded by the local-ai container and activated.
- 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:go-skynet/model-gallery/stablediffusion.yaml
name: Stable_diffusion
# Port of OpenAI's Whisper model in C/C++
- url: github:go-skynet/model-gallery/whisper-base.yaml
@@ -18,6 +19,7 @@ This container bundles Local AI and auto-configures it for you.
- url: github:go-skynet/model-gallery/gpt4all-j.yaml
name: gpt4all-j
```
- You need to add gpt4all-j under Text Generation (Default completion model to use) in Connected Accounts in the Administration Settings in Nextcloud, the default does not work.
- Additionally after doing so, you might want to enable or disable specific features for your models in the integration_openai settings: `https://your-nc-domain.com/settings/admin/connected-accounts`
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack

View File

@@ -5,6 +5,7 @@ This container bundles Plex and auto-configures it for you.
- This container is incompatible with the [Jellyfin](https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin) community container. So make sure that you do not enable both at the same time!
- This is not working on arm64 since Plex does only provide x64 docker images.
- This is not working on Docker Desktop since it needs `network_mode: host` in order to work correctly.
- This container should usually only be run in home networks as it exposes unencrypted services like DLNA by default which can be disabld via the web interface though.
- If you have a firewall like ufw configured, you might need to open all Plex ports in there first in order to make it work. Especially port 32400 is important!
- After adding and starting the container, you need to visit http://ip.address.of.server:32400/manage in order to claim your server with a plex account
- The data of Plex will be automatically included in AIOs backup solution!

View File

@@ -2,20 +2,18 @@
This directory features containers that are built for AIO which allows to add additional functionality very easily.
## Disclaimers
⚠️ This is currently beta and not stable yet!
All containers that are in this directory are community maintained so the responsibility is on the community to keep them updated and secure. There is no guarantee that this will be the case in the future.
## How to use this?
Before adding any additional container, make sure to create a backup via the AIO interface!
Afterwards, you might want to add additional community containers to the default AIO stack. You can do so by adding `--env AIO_COMMUNITY_CONTAINERS="container1 container2"` 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 match the folder names in this directory! ⚠️⚠️⚠️ Please review the folder for documentation on each of the containers before adding them! Not reviewing the documentation for each of them first might break starting the AIO containers because e.g. fail2ban only works on Linux and not on Docker Desktop!
Afterwards, you might want to add additional community containers to the default AIO stack. You can do so by adding `--env AIO_COMMUNITY_CONTAINERS="container1 container2"` 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 match the folder names in this directory! ⚠️⚠️⚠️ Please review the folder for documentation on each of the containers before adding them! Not reviewing the documentation for each of them first might break starting the AIO containers because e.g. fail2ban only works on Linux and not on Docker Desktop! **Hint:** If the containers where running already, in order to actually start the added container, you need to click on `Stop containers` and the `Update and start containers` in order to actually start it.
## How to add containers?
Simply submit a PR by creating a new folder in this directory: https://github.com/nextcloud/all-in-one/tree/main/community-containers with the name of your container. It must include a json file with the same name and with correct syntax and a readme.md with additional information. You might get inspired by caddy, fail2ban, local-ai, libretranslate, plex, pi-hole or vaultwarden (subfolders in this directory). For a full-blown example of the json file, see https://github.com/nextcloud/all-in-one/blob/main/php/containers.json. The json-schema that it validates against can be found here: https://github.com/nextcloud/all-in-one/blob/main/php/containers-schema.json.
### Is there a list of ideas for new community containers?
Yes, see [this list](https://github.com/nextcloud/all-in-one/discussions/categories/ideas?discussions_q=is%3Aopen+category%3AIdeas+label%3A%22help+wanted%22) for already existing ideas for new community containers. Feel free to pick one up and add it to this folder by following the instructions above.
Yes, see [this list](https://github.com/nextcloud/all-in-one/discussions/categories/ideas?discussions_q=is%3Aopen+category%3AIdeas+label%3A%22help+wanted%22+sort%3Atop) for already existing ideas for new community containers. Feel free to pick one up and add it to this folder by following the instructions above.
## How to remove containers from AIOs stack?
In some cases, you might want to remove some community containers from the AIO stack again. Here is how to do this.

View File

@@ -1,3 +1,11 @@
> [!WARNING]
> The Stalwart server is under development.
>
> The stability of Stalwart services is not guaranteed.
> Do not use this feature as a main mail server without a redundancy system and without knowledge.
>
> To learn or use as a secondary server enjoy it and please report bugs at [marcoambrosini/aio-stalwart](https://github.com/marcoambrosini/aio-stalwart/issues).
## Stalwart mail server
This container bundles stalwart mail server and auto-configures it for you.
@@ -7,9 +15,8 @@ This container bundles stalwart mail server and auto-configures it for you.
- You need to configure a reverse proxy in order to run this container since stalwart needs a dedicated (sub)domain! For that, you might have a look at https://github.com/nextcloud/all-in-one/tree/main/community-containers/caddy.
- Currently, only `mail.$NC_DOMAIN` is supported as subdomain! So if Nextcloud is using `your-domain.com`, Stalwart will use `mail.your-domain.com`.
- The data of Stalwart will be automatically included in AIOs backup solution!
- After adding and starting the container, you need to run `sudo docker exec -it nextcloud-aio-stalwart configure.sh` and follow https://stalw.art/docs/install/docker/#choose-where-to-store-your-data (1. choose `Local disk using Maildir`, 2. choose `No, create a new directory for me` (or select LDAP if you have an LDAP server), 3. type in your `$NC_DOMAIN` as `domain name` and `mail.$NC_DOMAIN` as `server hostname`. 4. add `DKIM, SPF and DMARC` as advised to your DNS config, 5. Take note of the administrator credentials, 6. Now the config script should exit and automatically restart the container and enable your config.
- See https://stalw.art/docs/directory/types/memory/ how you can easily create new user accounts. (Alternatively see https://stalw.art/docs/directory/types/ldap if you have an LDAP server). You can edit the config file with `sudo docker exec -it nextcloud-aio-stalwart vi /opt/stalwart-mail/etc/config.toml`. Also, you might want to enable logging to stdout so that you can see the stalwart logs in your container logs via `sudo docker exec -it nextcloud-aio-stalwart vi /opt/stalwart-mail/etc/common/tracing.toml` (you need to restart the container afterwards with `sudo docker restart nextcloud-aio-stalwart` in order to apply the settings).
- Afterwards, you can visit the basic admin settings in `https://your-nc-domain.com/settings/admin` and add the your mail server for outgoing mails there.
- After adding and starting the container, you need to run `docker inspect nextcloud-aio-stalwart | grep STALWART_USER_PASS` to obtain the system administrator password (username: `admin`). With this information, you can log in to the web interface at `https://mail.your-domain.com/login`
- See https://stalw.art/docs/install/docker/ for next steps.
- Additionally, you might want to install and configure [snappymail](https://apps.nextcloud.com/apps/snappymail) or [mail](https://apps.nextcloud.com/apps/mail) inside Nextcloud in order to use your mail accounts for sending and retrieving mails.
- See https://stalw.art/docs/faq for further faq and docs on the project
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack

View File

@@ -5,8 +5,8 @@
"display_name": "Stalwart",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart",
"image": "marcoambrosini/aio-stalwart",
"image_tag": "v1",
"internal_port": "587",
"image_tag": "v2",
"internal_port": "10003",
"restart": "unless-stopped",
"ports": [
{
@@ -38,11 +38,20 @@
"ip_binding": "",
"port_number": "4190",
"protocol": "tcp"
},
{
"ip_binding": "%APACHE_IP_BINDING%",
"port_number": "10003",
"protocol": "tcp"
}
],
"environment": [
"TZ=%TIMEZONE%",
"NC_DOMAIN=%NC_DOMAIN%"
"NC_DOMAIN=%NC_DOMAIN%",
"STALWART_USER_PASS=%STALWART_USER_PASS%"
],
"secrets": [
"STALWART_USER_PASS"
],
"volumes": [
{

View File

@@ -0,0 +1,29 @@
> [!NOTE]
> Unless the starting script tells you, you have no action to do to update.
# UPGRADING
During a major server update, this message will be displayed:
> Your data is in an old format.
>
> Make a backup and see https://github.com/nextcloud/all-in-one/blob/main/community-containers/stalwart/upgrading.md
>
> To avoid any loss of data, Stalwart will not launch.
If there is no update, delete the `/opt/stalwart-mail/aio.lock` file from the container. Beware of data loss.
See https://github.com/stalwartlabs/mail-server/blob/main/UPGRADING.md
> [!CAUTION]
> Before each update don't forget to make a backup.
## Upgrading from 0.7.x to 0.8.x
Before upgrading, do a backup of your data !
```bash
sudo docker run --rm -v nextcloud_aio_stalwart:/opt/stalwart-mail -it --entrypoint /usr/local/bin/stalwart-mail stalwartlabs/mail-server:v0.7.3 --config /opt/stalwart-mail/etc/config.toml --export /opt/stalwart-mail/export
sudo docker run --rm -v nextcloud_aio_stalwart:/opt/stalwart-mail -it --entrypoint /usr/local/bin/stalwart-mail stalwartlabs/mail-server:v0.8.0 --config /opt/stalwart-mail/etc/config.toml --import /opt/stalwart-mail/export
sudo docker run --rm -v nextcloud_aio_stalwart:/opt/stalwart-mail -it --entrypoint /bin/rm alpine /opt/stalwart-mail/aio.lock
```

View File

@@ -12,28 +12,27 @@ services:
- 8080:8080
- 8443:8443 # Can be removed when running behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# environment: # Is needed when using any of the options below
# - AIO_DISABLE_BACKUP_SECTION=false # Setting this to true allows to hide the backup section in the AIO interface. See https://github.com/nextcloud/all-in-one#how-to-disable-the-backup-section
# - APACHE_PORT=11000 # Is needed when running behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# - APACHE_IP_BINDING=127.0.0.1 # Should be set when running behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else) that is running on the same host. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# - BORG_RETENTION_POLICY=--keep-within=7d --keep-weekly=4 --keep-monthly=6 # Allows to adjust borgs retention policy. See https://github.com/nextcloud/all-in-one#how-to-adjust-borgs-retention-policy
# - COLLABORA_SECCOMP_DISABLED=false # Setting this to true allows to disable Collabora's Seccomp feature. See https://github.com/nextcloud/all-in-one#how-to-disable-collaboras-seccomp-feature
# - NEXTCLOUD_DATADIR=/mnt/ncdata # Allows to set the host directory for Nextcloud's datadir. ⚠️⚠️⚠️ Warning: do not set or adjust this value after the initial Nextcloud installation is done! See https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir
# - NEXTCLOUD_MOUNT=/mnt/ # Allows the Nextcloud container to access the chosen directory on the host. See https://github.com/nextcloud/all-in-one#how-to-allow-the-nextcloud-container-to-access-directories-on-the-host
# - NEXTCLOUD_UPLOAD_LIMIT=10G # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-upload-limit-for-nextcloud
# - NEXTCLOUD_MAX_TIME=3600 # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-max-execution-time-for-nextcloud
# - NEXTCLOUD_MEMORY_LIMIT=512M # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-php-memory-limit-for-nextcloud
# - NEXTCLOUD_TRUSTED_CACERTS_DIR=/path/to/my/cacerts # CA certificates in this directory will be trusted by the OS of the nexcloud container (Useful e.g. for LDAPS) See See https://github.com/nextcloud/all-in-one#how-to-trust-user-defined-certification-authorities-ca
# - 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_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
# - 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
# - 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'
# AIO_DISABLE_BACKUP_SECTION: false # Setting this to true allows to hide the backup section in the AIO interface. See https://github.com/nextcloud/all-in-one#how-to-disable-the-backup-section
# APACHE_PORT: 11000 # Is needed when running behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# APACHE_IP_BINDING: 127.0.0.1 # Should be set when running behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else) that is running on the same host. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# BORG_RETENTION_POLICY: --keep-within=7d --keep-weekly=4 --keep-monthly=6 # Allows to adjust borgs retention policy. See https://github.com/nextcloud/all-in-one#how-to-adjust-borgs-retention-policy
# COLLABORA_SECCOMP_DISABLED: false # Setting this to true allows to disable Collabora's Seccomp feature. See https://github.com/nextcloud/all-in-one#how-to-disable-collaboras-seccomp-feature
# NEXTCLOUD_DATADIR: /mnt/ncdata # Allows to set the host directory for Nextcloud's datadir. ⚠️⚠️⚠️ Warning: do not set or adjust this value after the initial Nextcloud installation is done! See https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir
# NEXTCLOUD_MOUNT: /mnt/ # Allows the Nextcloud container to access the chosen directory on the host. See https://github.com/nextcloud/all-in-one#how-to-allow-the-nextcloud-container-to-access-directories-on-the-host
# NEXTCLOUD_UPLOAD_LIMIT: 10G # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-upload-limit-for-nextcloud
# NEXTCLOUD_MAX_TIME: 3600 # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-max-execution-time-for-nextcloud
# NEXTCLOUD_MEMORY_LIMIT: 512M # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-php-memory-limit-for-nextcloud
# NEXTCLOUD_TRUSTED_CACERTS_DIR: /path/to/my/cacerts # CA certificates in this directory will be trusted by the OS of the nexcloud container (Useful e.g. for LDAPS) See See https://github.com/nextcloud/all-in-one#how-to-trust-user-defined-certification-authorities-ca
# 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_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
# 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
# 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'
# networks: # Is needed when you want to create the nextcloud-aio network with ipv6-support using this file, see the network config at the bottom of the file
# - nextcloud-aio # Is needed when you want to create the nextcloud-aio network with ipv6-support using this file, see the network config at the bottom of the file
# # Uncomment the following line when using SELinux
# security_opt: ["label:disable"]
# security_opt: ["label:disable"] # Is needed when using SELinux
# # Optional: Caddy reverse proxy. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# # You can find further examples here: https://github.com/nextcloud/all-in-one/discussions/588

View File

@@ -24,6 +24,7 @@ services:
environment:
- NC_DOMAIN=${NC_DOMAIN}
- NEXTCLOUD_HOST=nextcloud-aio-nextcloud
- APACHE_HOST=nextcloud-aio-apache
- COLLABORA_HOST=nextcloud-aio-collabora
- TALK_HOST=nextcloud-aio-talk
- APACHE_PORT=${APACHE_PORT}
@@ -105,6 +106,7 @@ services:
- ${NEXTCLOUD_TRUSTED_CACERTS_DIR}:/usr/local/share/ca-certificates:ro
environment:
- POSTGRES_HOST=nextcloud-aio-database
- POSTGRES_PORT=5432
- POSTGRES_PASSWORD=${DATABASE_PASSWORD}
- POSTGRES_DB=nextcloud_database
- POSTGRES_USER=nextcloud
@@ -149,6 +151,7 @@ services:
- REMOVE_DISABLED_APPS=${REMOVE_DISABLED_APPS}
- APACHE_PORT=${APACHE_PORT}
- APACHE_IP_BINDING=${APACHE_IP_BINDING}
- IMAGINARY_SECRET=${IMAGINARY_SECRET}
stop_grace_period: 600s
restart: unless-stopped
networks:
@@ -169,6 +172,7 @@ services:
- REDIS_HOST=nextcloud-aio-redis
- REDIS_HOST_PASSWORD=${REDIS_PASSWORD}
- POSTGRES_HOST=nextcloud-aio-database
- POSTGRES_PORT=5432
- POSTGRES_PASSWORD=${DATABASE_PASSWORD}
- POSTGRES_DB=nextcloud_database
- POSTGRES_USER=nextcloud
@@ -228,6 +232,7 @@ services:
- "8081"
environment:
- NC_DOMAIN=${NC_DOMAIN}
- TALK_HOST=nextcloud-aio-talk
- TURN_SECRET=${TURN_SECRET}
- SIGNALING_SECRET=${SIGNALING_SECRET}
- TZ=${TIMEZONE}
@@ -322,6 +327,7 @@ services:
- "9000"
environment:
- TZ=${TIMEZONE}
- IMAGINARY_SECRET=${IMAGINARY_SECRET}
restart: unless-stopped
cap_add:
- SYS_NICE

View File

@@ -1,5 +1,6 @@
DATABASE_PASSWORD= # TODO! This needs to be a unique and good password!
FULLTEXTSEARCH_PASSWORD= # TODO! This needs to be a unique and good password!
IMAGINARY_SECRET= # TODO! This needs to be a unique and good password!
NC_DOMAIN=yourdomain.com # TODO! Needs to be changed to the domain that you want to use for Nextcloud.
NEXTCLOUD_PASSWORD= # TODO! This is the password of the initially created Nextcloud admin with username "admin".
ONLYOFFICE_SECRET= # TODO! This needs to be a unique and good password!

View File

@@ -3,17 +3,224 @@ It is possible to run multiple instances of AIO on one server.
There are two ways to achieve this: The normal way is creating multiple VMs, installing AIO in [reverse proxy mode](./reverse-proxy.md) in each of them and having one reverse proxy in front of them that points to each VM (you also need to [use a different `TALK_PORT`](https://github.com/nextcloud/all-in-one#how-to-adjust-the-talk-port) for each of them). The second and more advanced way is creating multiple users on the server and using docker rootless for each of them in order to install multiple instances on the same server.
Below is described more in detail how the the second way works.
## Run multiple AIO instances on the same server with docker rootless
1. Create as many linux users as you need first. The easiest way is to use `sudo adduser` and follow the setup for that. Make sure to create a strong unique password for each of them and write it down!
1. Log in as each of the users by opening a new SSH connection as the user and install docker rootless for each of them by following step 0-1 and 3-4 of the [docker rootless documentation](./docker-rootless.md) (you can skip step 2 in this case).
1. Then install AIO in reverse proxy mode by using the command that is descriebed in step 2 and 3 of the [reverse proxy documentation](./reverse-proxy.md) but use a different `APACHE_PORT` and [`TALK_PORT`](https://github.com/nextcloud/all-in-one#how-to-adjust-the-talk-port) for each instance as otherwise it will bug out. Also make sure to adjust the docker socket and `WATCHTOWER_DOCKER_SOCKET_PATH` correctly for each of them by following step 6 of the [docker rootless documentation](./docker-rootless.md). Additionally, modify `--publish 8080:8080` to a different port for each container, e.g. `8081:8080` as otherwise it will not work.<br>
1. Then install AIO in reverse proxy mode by using the command that is described in step 2 and 3 of the [reverse proxy documentation](./reverse-proxy.md) but use a different `APACHE_PORT` and [`TALK_PORT`](https://github.com/nextcloud/all-in-one#how-to-adjust-the-talk-port) for each instance as otherwise it will bug out. Also make sure to adjust the docker socket and `WATCHTOWER_DOCKER_SOCKET_PATH` correctly for each of them by following step 6 of the [docker rootless documentation](./docker-rootless.md). Additionally, modify `--publish 8080:8080` to a different port for each container, e.g. `8081:8080` as otherwise it will not work.<br>
**⚠️ Please note:** If you want to adjust the `NEXTCLOUD_DATADIR`, make sure to apply the correct permissions to the chosen path as documented at the bottom of the [docker rootless documentation](./docker-rootless.md). Also for the built-in backup to work, the target path needs to have the correct permissions as documented there, too.
1. Now install your webserver of choice on the host system. It is recommended to use caddy for this as it is by far the easiest solution. You can do so by following https://caddyserver.com/docs/install#debian-ubuntu-raspbian or below. (It needs to be installed directly on the host or on a different server in the same network).
1. Next create your Caddyfile with multiple entries and domains for the different instances like described in step 1 of the [reverse proxy documentation](./reverse-proxy.md). Obviously each domain needs to point correctly to the chosen `APACHE_PORT` that you've configured before. Then start Caddy which should automatically get the needed certificates for you if your domains are configured correctly and ports 80 and 443 are forwarded to your server.
1. Now open each of the AIO interfaces by opening `https://ip.address.of.this.server:8080` or e.g. `https://ip.address.of.this.server:8081` or as chosen during step 3 of this documentation.
1. Finally type in the domain that you've configured for each of the instances during step 5 of this documentation and you are done.
1. Please also do not forget to open/forward each chosen `TALK_PORT` UPD and TCP in your firewall/router as otherwise Talk will not work correctly!
1. Please also do not forget to open/forward each chosen `TALK_PORT` UDP and TCP in your firewall/router as otherwise Talk will not work correctly!
Now everything should be set up correctly and you should have created multiple working instances of AIO on the same server!
## Run multiple AIO instances on the same server inside their own virtual machines
This guide will walk you through creating and configuring two (or more) Debian-based VMs (with "reverse proxy mode" Nextcloud AIO installed in each VM), behind one Caddy reverse proxy, all running on one host physical machine (like a laptop or desktop PC). It's highly recommend to follow the steps in order. Steps 1 through 4 will need to be repeated. Steps 5 through 8 only need to be completed once. All commands are expected to be run as root.
<details><summary><strong>PLEASE READ: A few expectations about your network</strong></summary>
This guide assumes that you have forwarded ports 443 and 8443 to your host physical machine via your router's configuration page, and either set up Dynamic DNS or obtained a static outbound IP address from your ISP. If this is not the case, or if you are brand-new to networking, you probably should not proceed with this guide, unless you are just using it for educational purposes. Proper network setup and security is critical when it comes to keeping your data safe. You may consider hosting using a VPS instead, or choosing one of <a href="https://nextcloud.com/providers/">Nextcloud's trusted providers.</a>
</details>
<details><summary><strong>A note for VPS users</strong></summary>
If you want to do this on a VPS, and your VPS is KVM-based and provides a static IP address, you can likely benefit from this guide too! Simply replace the words "host physical machine" with "VPS" and follow along.
</details>
**Before starting:** Make sure your host physical machine has enough resources. A host machine with 8GB RAM and 100GB storage is sufficient for running two fairly minimal VMs, with 2GB RAM and 32GB storage allocated to each VM. This guide assumes you have these resources at the minimum. This is fine for just testing the setup, but you will probably want to allocate more resources to your VMs if you plan to use this for day-to-day use.
If your host machine has more than 8GB memory available, and you plan to enable any of the optional containers (Nextcloud Office, Talk, Imaginary, etc.) in any of your instances, then you should definitely allocate more memory to the VM hosting that instance. In other words, before turning on any extra features inside a particular AIO interface, make sure you've first allocated enough resources to the VM that the instance is running inside. If in doubt, the AIO interface itself gives great recommendations for extra CPU and RAM allocation.
**Additional prerequisites:** Your host physical machine needs to have virtualization enabled in it's UEFI/BIOS. It also needs a few tools installed in order to create VMs. Assuming your host machine is a bare-bones Ubuntu or Debian Linux server without a desktop environment installed, the easiest way to create VMs is to install *QEMU*, *virsh*, *virt-install*, and a few extra packages to support UEFI booting and network config ([more info](https://wiki.debian.org/KVM)). You only need to do this once. To do this, run this command (**on the host physical machine**):
<!--
```shell
# For host machines running Ubuntu Server:
apt install --no-install-recommends qemu-system libvirt-clients libvirt-daemon-system virtinst ovmf bridge-utils
```
```shell
# For host machines running Debian:
apt install --no-install-recommends qemu-system qemu-utils libvirt-clients libvirt-daemon-system virtinst ovmf bridge-utils dnsmasq-base
```
-->
```shell
# For host machines running Ubuntu Server or Debian:
apt install --no-install-recommends qemu-system qemu-utils libvirt-clients libvirt-daemon-system virtinst ovmf bridge-utils dnsmasq-base
```
**Let's begin!** This guide assumes that you have two domains where you would like to host two individual AIO instances (one instance per domain). Let's call these domains `example1.com` and `example2.com`. Therefore, we'll create two VMs named `example1-com` and `example2-com` (These are the VM names we'll use below in step 1).
**Once you're ready, follow steps 1-4 below to set up your VMs. You will configure them one at a time.**
1. Choose a name for your VM. A good choice is to name each VM the same as the domain name that will be used to access it.
2. Choose the distribution you'd like to install within the VM:
<details><summary><strong>Ubuntu Server 22.04.4 LTS</strong></summary>
<h4>Downloading the .ISO image</h4>
You must first download an .ISO image to your host machine, and then provide virt-install with the path to that image.
<!-- This step is required because Ubuntu no longer hosts their "Legacy Ubuntu Server Installer" images, meaning we can no longer pass a URL to virt-install to use as a location. -->
<pre><code># Skip this part if you've already downloaded this image
curl -o /tmp/ubuntu-22.04.4-live-server-amd64.iso https://releases.ubuntu.com/jammy/ubuntu-22.04.4-live-server-amd64.iso
</code></pre>
<em>Note: You may choose a different place to store the .ISO file, but it needs to be somewhere accessible by QEMU. "/tmp" and "/home" work well, but choosing a location like "/root" will cause the next command to fail.</em>
<h4>Creating the VM</h4>
Now create the Ubuntu Server VM (Don't forget to replace [VM_NAME]):
<pre><code>virt-install \
--name [VM_NAME] \
--virt-type kvm \
--location /tmp/ubuntu-22.04.4-live-server-amd64.iso,kernel=casper/vmlinuz,initrd=casper/initrd \
--os-variant ubuntujammy \
--disk size=32 \
--memory 2048 \
--graphics none \
--console pty,target_type=serial \
--extra-args "console=ttyS0" \
--autostart \
--boot uefi
</code></pre>
<h4>Using a different version of Ubuntu Server</h4>
To use a different Ubuntu Server release, visit <a href="https://releases.ubuntu.com">this page</a> and find the version you want. You will need to adjust the filename and URL for the curl command, and the location and os-variant for the virt-install command, accordingly.
</details>
<details><summary><strong>Debian 11</strong></summary>
<h4>Creating the VM</h4>
Create the Debian VM (Don't forget to replace [VM_NAME]):
<pre><code>virt-install \
--name [VM_NAME] \
--virt-type kvm \
--location http://deb.debian.org/debian/dists/bullseye/main/installer-amd64/ \
--os-variant debian11 \
--disk size=32 \
--memory 2048 \
--graphics none \
--console pty,target_type=serial \
--extra-args "console=ttyS0" \
--autostart \
--boot uefi
</code></pre>
</details>
<details><summary><strong>Debian 12</strong></summary>
<h4>Creating the VM</h4>
Create the Debian VM (Don't forget to replace [VM_NAME]):
<pre><code># If the os-variant "debian12" is unknown, try "debiantesting" instead
virt-install \
--name [VM_NAME] \
--virt-type kvm \
--location http://deb.debian.org/debian/dists/bookworm/main/installer-amd64/ \
--os-variant debian12 \
--disk size=32 \
--memory 2048 \
--graphics none \
--console pty,target_type=serial \
--extra-args "console=ttyS0" \
--autostart \
--boot uefi
</code></pre>
</details>
<!--To learn more about virt-install or automating this process, see <a href="https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-guest_virtual_machine_installation_overview-creating_guests_with_virt_install">this guide</a>.-->
3. Navigate through the text-based installer. Most options can remain as default, but here are some tips:
<details><summary><strong>For the Ubuntu Server installer</strong></summary>
When asked about the "type of installation", you can leave the default "Ubuntu Server" without third-party drivers. You can leave the HTTP proxy information blank. In the "Profile Configuration" section, you can set "Your servers name" (hostname) to the same value as the name you gave to your VM (for example, "example1-com"). The installer will only let you create a non-root user. Note down the password you use here! You may skip enabling Ubuntu Pro. You can allow the partitioner to use the entire disk, this only uses the virtual disk that you defined above in step 2. You'll eventually be given the option to install additional software. Although "Nextcloud" is listed here, you almost certainly do <strong>not</strong> want to select this option, since you are setting up Nextcloud AIO. You'll be asked about installing "SSH server", this is entirely optional (This lets you easily SSH into the VM in the future in case you have to perform any maintenance, but even if you do not install an SSH server, you can still log in using the "virsh console" command). Finally, disregard the "[FAILED] Failed unmounting /cdrom." message, and press return.
</details>
<details><summary><strong>For the Debian installer</strong></summary>
When asked, you can set the hostname to the same value as the name you gave to your VM (for example, "example1-com"). You can leave the domain name and HTTP proxy information blank. Allow the installer to create both a root and a non-root user. Note down the password(s) you use here! You can allow the partitioner to use the entire disk, this only uses the virtual disk that you defined above in step 2. When tasksel (Software selection) runs and asks if you want to install additional software, use spacebar and your arrow keys to un-check the "Debian desktop environment" and "GNOME" options. The "SSH server" option is entirely optional (This lets you easily SSH into the VM in the future in case you have to perform any maintenance, but even if you do not install an SSH server, you can still log in using the "virsh console" command). Make sure "standard system utilities" is also checked. Hit tab to select "Continue". Finally, disregard the warning about GRUB, allow it to install to your "primary drive" (again, it's only virtual, and this only applies to the VM- this will not affect the boot configuration of your host physical machine) and select "/dev/vda" for the bootable device.
</details>
4. Configure your new VM:
After it has finished installing, the VM will have rebooted and presented you with a login prompt. For Debian, just use `root` as the username, and enter the password you chose during the installation process. Ubuntu restricts root account access, so you'll need to first login with your non-root user, and then run `sudo su -` to elevate your privileges.
We will now run a few commands to install docker and AIO in reverse proxy mode! As with any other commands, carefully read and try your best to understand them before running them.
**Each time you reach this step and run the `docker run` command below, you'll need to increment the `TALK_PORT` value. For example: 3478, 3479, etc... You may use other values as long as they don't conflict, and make sure they are [greater than 1024](https://github.com/nextcloud/all-in-one/discussions/2517). Be sure to note down the Talk port number you've assigned to this VM/AIO instance. You will need it later if you decide to enable Nextcloud Talk.**
Run these commands (**on the VM**):
```shell
apt install -y curl
curl -fsSL https://get.docker.com | sh
# Make sure you increment the TALK_PORT value every time you run this!
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 TALK_PORT=3478 \
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
nextcloud/all-in-one:latest
```
The last command may take a few minutes. When it's finished, you should see a success message, saying "Initial startup of Nextcloud All-in-One complete!". Now exit the console session with `Ctrl + [c]`. This concludes the setup for this particular VM.
---
6. Go ahead and run through steps 1-4 again in order to set up your second VM. When you're finished, proceed down to step 6. *(Note: If you downloaded the Ubuntu .ISO image and no longer need it, you may delete it now.)*
7. Almost done! All that's left is configuring your reverse proxy. To do this, you first need to [install it](https://caddyserver.com/docs/install#debian-ubuntu-raspbian). Run (**on the host physical machine**):
```shell
apt update -y
apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
apt update -y
apt install -y caddy
```
These commands will ensure that your system is up-to-date and install the latest stable version of Caddy via it's official binary source.
8. To configure Caddy, you need to know the IP address assigned to each VM. Run (**on the host physical machine**):
```shell
virsh net-dhcp-leases default
```
This will show you the VMs you set up, and the IP address corresponding to each of them. Note down each IP and corresponding hostname.
Finally, you will configure Caddy using this information. Open the default Caddyfile with a text editor:
```shell
nano /etc/caddy/Caddyfile
```
Replace everything in this file with the following configuration. Don't forget to edit this sample configuration and substitute in your own domain names and IP addresses. `[DOMAIN_NAME_*]` should be a domain name like `example1.com`, and `[IP_ADDRESS_*]` should be a local IPv4 address like `192.168.122.225`.
```shell
# Virtual machine #1 - "example1-com"
https://[DOMAIN_NAME_1]:8443 {
reverse_proxy https://[IP_ADDRESS_1]:8080 {
transport http {
tls_insecure_skip_verify
}
}
}
https://[DOMAIN_NAME_1]:443 {
reverse_proxy [IP_ADDRESS_1]:11000
}
# Virtual machine #2 - "example2-com"
https://[DOMAIN_NAME_2]:8443 {
reverse_proxy https://[IP_ADDRESS_2]:8080 {
transport http {
tls_insecure_skip_verify
}
}
}
https://[DOMAIN_NAME_2]:443 {
reverse_proxy [IP_ADDRESS_2]:11000
}
# (Add more configurations here if you set up more than two VMs!)
```
After making this change, you'll need to restart Caddy:
```shell
systemctl restart caddy
```
9. That's it! Now, all that's left is to set up your instances through the AIO interface as usual by visiting `https://example1.com:8443` and `https://example2.com:8443` in a browser. Once you're finished going through each setup, you can access your new instances simply through their domain names. You can host as many instances with as many domain names as you want this way, as long as you have enough system resources. Enjoy!
<details><summary><strong>A few extra tips for managing this setup</strong></summary>
<ul>
<li>You can easily connect to a VM to perform maintenance using this command (<strong>on the host physical machine</strong>): <pre><code>virsh console --domain [VM_NAME]</code></pre></li>
<li>If you chose to install an SSH Server, you can SSH in using this command (<strong>on the host physical machine</strong>): <pre><code>ssh [NONROOT_USER]@[IP_ADDRESS] # By default, OpenSSH does not allow logging in as root</code></pre></li>
<li>If you mess up the configuration of a VM, you may wish to completely delete it and start fresh with a new one. <strong>THIS WILL DELETE ALL DATA ASSOCIATED WITH THE VM INCLUDING ANYTHING IN YOUR AIO DATADIR!</strong> If you are sure you would like to do this, run (<strong>on the host physical machine</strong>): <pre><code>virsh destroy --domain [VM_NAME] ; virsh undefine --nvram --domain [VM_NAME] && rm -rfi /var/lib/libvirt/images/[VM_NAME].qcow2</code></pre></li>
<li>Using Nextcloud Talk will require some extra configuration. Back when you set up your VMs, they were (by default) configured with NAT, meaning they are in their own subnet. The VMs must each instead be bridged, so that your router may directly "see" them (as if they were real, physical devices on your network), and each AIO instance inside each VM must be configured with a different Talk port (like 3478, 3479, etc.). You should have already set these port numbers (back when you first configured the VM in step 4 above), but if you still need to set (or want to change) these values, you can remove the mastercontainer and re-run the initial "docker run" command with a modified Talk port <a href="https://github.com/nextcloud/all-in-one#how-to-adjust-the-talk-port">like so</a>. Then, the Talk port for EACH instance needs to be forwarded in your router's settings DIRECTLY to the VM hosting the instance (completely bypassing your host physical machine/reverse proxy). And finally, inside an admin-privileged account (such as the default "admin" account) in each instance, you must visit <strong>https://[DOMAIN_NAME]/settings/admin/talk</strong> then find the STUN/TURN Settings, and from there set the proper values. If this is too complicated, it may be easier to use public STUN/TURN servers, but I have not tested any of this, rather I'm just sharing what I have found so far (more info available <a href="https://github.com/nextcloud/all-in-one/discussions/2517">here</a>). If you have figured this out or if any of this information is incorrect, please edit this section!</li>
<li>Configuring daily automatic backups is a bit more involved with this setup. But for the occasional manual borg backup, you can connect a physical SSD/HDD via a cheap USB SATA adapter/dock to a free USB port on your host physical machine, and then use these commands to pass the disk through to a VM of your choosing (<strong>on the host physical machine and on the VM</strong>): <pre><code>virsh attach-device --live --domain [VM_NAME] --file [USB_DEVICE_DEFINITION.xml]
virsh console --domain [VM_NAME]
# (Login to the VM with root privileges)
mkdir -p /mnt/[MOUNT_NAME]
mount /dev/disk/by-label/[DISK_NAME] /mnt/[MOUNT_NAME]</code></pre></li>
To create the XML device definition file, see <a href="https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/virtualization_administration_guide/sect-managing_guest_virtual_machines_with_virsh-attaching_and_updating_a_device_with_virsh">this short guide</a>. An SSD/HDD is recommended, but nothing is stopping you from using something as simple as a flash drive for testing if you really want. Finally, to actually perform a manual backup, make sure your disk is properly mounted and then simply use the AIO interface to perform the backup.
<li>If you want to shave off around 8-10 seconds of total boot time when you reboot your host physical machine, a simple trick is to lower the GRUB_TIMEOUT from the default five seconds to one second, on both the host physical machine and each of the VMs. You can also remove the delay, but it's generally safer to leave at least one second. (Always be extremely careful when editing GRUB config, especially on the host physical machine, as an incorrect configuration can prevent your device from booting!)</li>
</ul>
</details>

View File

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

View File

@@ -3,7 +3,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-apache
name: nextcloud-aio-apache
@@ -19,14 +19,17 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-apache
spec:
initContainers:
- name: init-volumes
{{- if or .Values.IMAGE_MIRROR_PREFIX .Values.ALPINE_IMAGE_ORG }}
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.ALPINE_IMAGE_ORG}}/alpine"
{{- else }}
image: alpine
{{- end }}
command:
- chmod
- "777"
@@ -41,6 +44,8 @@ spec:
- env:
- name: ADDITIONAL_TRUSTED_DOMAIN
value: "{{ .Values.ADDITIONAL_TRUSTED_DOMAIN }}"
- name: APACHE_HOST
value: nextcloud-aio-apache
- name: APACHE_MAX_SIZE
value: "{{ .Values.APACHE_MAX_SIZE }}"
- name: APACHE_MAX_TIME
@@ -61,7 +66,7 @@ spec:
value: nextcloud-aio-talk
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-apache:20240308_092935-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-apache:20240617_084300-latest"
name: nextcloud-aio-apache
ports:
- containerPort: {{ .Values.APACHE_PORT }}

View File

@@ -3,7 +3,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-apache
name: nextcloud-aio-apache

View File

@@ -4,7 +4,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-clamav
name: nextcloud-aio-clamav
@@ -20,14 +20,17 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-clamav
spec:
initContainers:
- name: init-subpath
{{- if or .Values.IMAGE_MIRROR_PREFIX .Values.ALPINE_IMAGE_ORG }}
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.ALPINE_IMAGE_ORG}}/alpine"
{{- else }}
image: alpine
{{- end }}
command:
- mkdir
- "-p"
@@ -37,7 +40,11 @@ spec:
- name: nextcloud-aio-clamav
mountPath: /nextcloud-aio-clamav
- name: init-volumes
{{- if or .Values.IMAGE_MIRROR_PREFIX .Values.ALPINE_IMAGE_ORG }}
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.ALPINE_IMAGE_ORG}}/alpine"
{{- else }}
image: alpine
{{- end }}
command:
- chown
- 100:100
@@ -52,7 +59,7 @@ spec:
value: "90"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-clamav:20240308_092935-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-clamav:20240617_084300-latest"
name: nextcloud-aio-clamav
ports:
- containerPort: 3310

View File

@@ -4,7 +4,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-clamav
name: nextcloud-aio-clamav

View File

@@ -4,7 +4,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-collabora
name: nextcloud-aio-collabora
@@ -18,9 +18,8 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-collabora
spec:
containers:
@@ -37,7 +36,7 @@ spec:
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
- name: server_name
value: "{{ .Values.NC_DOMAIN }}"
image: nextcloud/aio-collabora:20240308_092935-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-collabora:20240617_084300-latest"
name: nextcloud-aio-collabora
ports:
- containerPort: 9980

View File

@@ -4,7 +4,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-collabora
name: nextcloud-aio-collabora

View File

@@ -3,7 +3,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-database
name: nextcloud-aio-database
@@ -19,14 +19,17 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-database
spec:
initContainers:
- name: init-subpath
{{- if or .Values.IMAGE_MIRROR_PREFIX .Values.ALPINE_IMAGE_ORG }}
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.ALPINE_IMAGE_ORG}}/alpine"
{{- else }}
image: alpine
{{- end }}
command:
- mkdir
- "-p"
@@ -39,7 +42,11 @@ spec:
- name: nextcloud-aio-database
mountPath: /nextcloud-aio-database
- name: init-volumes
{{- if or .Values.IMAGE_MIRROR_PREFIX .Values.ALPINE_IMAGE_ORG }}
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.ALPINE_IMAGE_ORG}}/alpine"
{{- else }}
image: alpine
{{- end }}
command:
- chown
- 999:999
@@ -63,7 +70,7 @@ spec:
value: nextcloud
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-postgresql:20240308_092935-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-postgresql:20240617_084300-latest"
name: nextcloud-aio-database
ports:
- containerPort: 5432

View File

@@ -3,7 +3,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-database
name: nextcloud-aio-database

View File

@@ -4,7 +4,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-fulltextsearch
name: nextcloud-aio-fulltextsearch
@@ -20,14 +20,17 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-fulltextsearch
spec:
initContainers:
- name: init-volumes
{{- if or .Values.IMAGE_MIRROR_PREFIX .Values.ALPINE_IMAGE_ORG }}
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.ALPINE_IMAGE_ORG}}/alpine"
{{- else }}
image: alpine
{{- end }}
command:
- chmod
- "777"
@@ -57,7 +60,7 @@ spec:
value: basic
- name: xpack.security.enabled
value: "false"
image: nextcloud/aio-fulltextsearch:20240308_092935-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-fulltextsearch:20240617_084300-latest"
name: nextcloud-aio-fulltextsearch
ports:
- containerPort: 9200

View File

@@ -4,7 +4,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-fulltextsearch
name: nextcloud-aio-fulltextsearch

View File

@@ -4,7 +4,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-imaginary
name: nextcloud-aio-imaginary
@@ -18,16 +18,17 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-imaginary
spec:
containers:
- env:
- name: IMAGINARY_SECRET
value: "{{ .Values.IMAGINARY_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-imaginary:20240308_092935-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-imaginary:20240617_084300-latest"
name: nextcloud-aio-imaginary
ports:
- containerPort: 9000

View File

@@ -4,7 +4,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-imaginary
name: nextcloud-aio-imaginary

View File

@@ -3,7 +3,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-nextcloud
name: nextcloud-aio-nextcloud
@@ -19,14 +19,17 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-nextcloud
spec:
initContainers:
- name: "delete-lost-found"
{{- if or .Values.IMAGE_MIRROR_PREFIX .Values.ALPINE_IMAGE_ORG }}
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.ALPINE_IMAGE_ORG}}/alpine"
{{- else }}
image: alpine
{{- end }}
command:
- rm
- "-rf"
@@ -37,7 +40,11 @@ spec:
- name: nextcloud-aio-nextcloud
mountPath: /nextcloud-aio-nextcloud
- name: init-volumes
{{- if or .Values.IMAGE_MIRROR_PREFIX .Values.ALPINE_IMAGE_ORG }}
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.ALPINE_IMAGE_ORG}}/alpine"
{{- else }}
image: alpine
{{- end }}
command:
- chmod
- "777"
@@ -76,6 +83,8 @@ spec:
value: "{{ .Values.ADDITIONAL_TRUSTED_DOMAIN }}"
- name: SERVERINFO_TOKEN
value: "{{ .Values.SERVERINFO_TOKEN }}"
- name: NEXTCLOUD_DEFAULT_QUOTA
value: "{{ .Values.NEXTCLOUD_DEFAULT_QUOTA }}"
- name: ADDITIONAL_APKS
value: "{{ .Values.NEXTCLOUD_ADDITIONAL_APKS }}"
- name: ADDITIONAL_PHP_EXTENSIONS
@@ -104,6 +113,8 @@ spec:
value: "{{ .Values.IMAGINARY_ENABLED }}"
- name: IMAGINARY_HOST
value: nextcloud-aio-imaginary
- name: IMAGINARY_SECRET
value: "{{ .Values.IMAGINARY_SECRET }}"
- name: INSTALL_LATEST_MAJOR
value: "{{ .Values.INSTALL_LATEST_MAJOR }}"
- name: NC_DOMAIN
@@ -130,6 +141,8 @@ spec:
value: nextcloud-aio-database
- name: POSTGRES_PASSWORD
value: "{{ .Values.DATABASE_PASSWORD }}"
- name: POSTGRES_PORT
value: "5432"
- name: POSTGRES_USER
value: nextcloud
- name: RECORDING_SECRET
@@ -160,7 +173,7 @@ spec:
value: "{{ .Values.TIMEZONE }}"
- name: UPDATE_NEXTCLOUD_APPS
value: "{{ .Values.UPDATE_NEXTCLOUD_APPS }}"
image: nextcloud/aio-nextcloud:20240308_092935-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-nextcloud:20240617_084300-latest"
name: nextcloud-aio-nextcloud
ports:
- containerPort: 9000

View File

@@ -3,7 +3,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-nextcloud
name: nextcloud-aio-nextcloud

View File

@@ -3,7 +3,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-notify-push
name: nextcloud-aio-notify-push
@@ -19,14 +19,17 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-notify-push
spec:
initContainers:
- name: init-volumes
{{- if or .Values.IMAGE_MIRROR_PREFIX .Values.ALPINE_IMAGE_ORG }}
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.ALPINE_IMAGE_ORG}}/alpine"
{{- else }}
image: alpine
{{- end }}
command:
- chmod
- "777"
@@ -46,13 +49,15 @@ spec:
value: nextcloud-aio-database
- name: POSTGRES_PASSWORD
value: "{{ .Values.DATABASE_PASSWORD }}"
- name: POSTGRES_PORT
value: "5432"
- name: POSTGRES_USER
value: nextcloud
- name: REDIS_HOST
value: nextcloud-aio-redis
- name: REDIS_HOST_PASSWORD
value: "{{ .Values.REDIS_PASSWORD }}"
image: nextcloud/aio-notify-push:20240308_092935-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-notify-push:20240617_084300-latest"
name: nextcloud-aio-notify-push
ports:
- containerPort: 7867

View File

@@ -3,7 +3,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-notify-push
name: nextcloud-aio-notify-push

View File

@@ -4,7 +4,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-onlyoffice
name: nextcloud-aio-onlyoffice
@@ -20,14 +20,17 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-onlyoffice
spec:
initContainers:
- name: init-volumes
{{- if or .Values.IMAGE_MIRROR_PREFIX .Values.ALPINE_IMAGE_ORG }}
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.ALPINE_IMAGE_ORG}}/alpine"
{{- else }}
image: alpine
{{- end }}
command:
- chmod
- "777"
@@ -45,7 +48,7 @@ spec:
value: "{{ .Values.ONLYOFFICE_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-onlyoffice:20240308_092935-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-onlyoffice:20240617_084300-latest"
name: nextcloud-aio-onlyoffice
ports:
- containerPort: 80

View File

@@ -4,7 +4,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-onlyoffice
name: nextcloud-aio-onlyoffice

View File

@@ -3,7 +3,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-redis
name: nextcloud-aio-redis
@@ -19,14 +19,17 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-redis
spec:
initContainers:
- name: init-volumes
{{- if or .Values.IMAGE_MIRROR_PREFIX .Values.ALPINE_IMAGE_ORG }}
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.ALPINE_IMAGE_ORG}}/alpine"
{{- else }}
image: alpine
{{- end }}
command:
- chmod
- "777"
@@ -40,7 +43,7 @@ spec:
value: "{{ .Values.REDIS_PASSWORD }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-redis:20240308_092935-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-redis:20240617_084300-latest"
name: nextcloud-aio-redis
ports:
- containerPort: 6379

View File

@@ -3,7 +3,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-redis
name: nextcloud-aio-redis

View File

@@ -4,7 +4,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-talk
name: nextcloud-aio-talk
@@ -18,26 +18,31 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-talk
spec:
containers:
- env:
- name: TALK_MAX_STREAM_BITRATE
value: "{{ .Values.TALK_MAX_STREAM_BITRATE }}"
- name: TALK_MAX_SCREEN_BITRATE
value: "{{ .Values.TALK_MAX_SCREEN_BITRATE }}"
- name: INTERNAL_SECRET
value: "{{ .Values.TALK_INTERNAL_SECRET }}"
- name: NC_DOMAIN
value: "{{ .Values.NC_DOMAIN }}"
- name: SIGNALING_SECRET
value: "{{ .Values.SIGNALING_SECRET }}"
- name: TALK_HOST
value: nextcloud-aio-talk
- name: TALK_PORT
value: "{{ .Values.TALK_PORT }}"
- name: TURN_SECRET
value: "{{ .Values.TURN_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-talk:20240308_092935-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-talk:20240617_084300-latest"
name: nextcloud-aio-talk
ports:
- containerPort: {{ .Values.TALK_PORT }}

View File

@@ -4,7 +4,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-talk-recording
name: nextcloud-aio-talk-recording
@@ -18,9 +18,8 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-talk-recording
spec:
containers:
@@ -33,7 +32,7 @@ spec:
value: "{{ .Values.RECORDING_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-talk-recording:20240308_092935-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-talk-recording:20240617_084300-latest"
name: nextcloud-aio-talk-recording
ports:
- containerPort: 1234

View File

@@ -4,7 +4,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-talk-recording
name: nextcloud-aio-talk-recording

View File

@@ -5,7 +5,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-talk
name: nextcloud-aio-talk-public
@@ -30,7 +30,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace "{{ .Values.NAMESPACE }}"
kompose.version: 1.32.0 (765fde254)
kompose.version: 1.34.0 (cbf2835db)
labels:
io.kompose.service: nextcloud-aio-talk
name: nextcloud-aio-talk

View File

@@ -59,7 +59,11 @@ find ./ -name '*networkpolicy.yaml' -exec sed -i "s|manual-install-nextcloud-aio
cat << EOL > /tmp/initcontainers
initContainers:
- name: init-volumes
{{- if or .Values.IMAGE_MIRROR_PREFIX .Values.ALPINE_IMAGE_ORG }}
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.ALPINE_IMAGE_ORG}}/alpine"
{{- else }}
image: alpine
{{- end }}
command:
- chmod
- "777"
@@ -68,14 +72,22 @@ EOL
cat << EOL > /tmp/initcontainers.database
initContainers:
- name: init-subpath
{{- if or .Values.IMAGE_MIRROR_PREFIX .Values.ALPINE_IMAGE_ORG }}
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.ALPINE_IMAGE_ORG}}/alpine"
{{- else }}
image: alpine
{{- end }}
command:
- mkdir
- "-p"
- /nextcloud-aio-database/data
volumeMountsInitContainer:
- name: init-volumes
{{- if or .Values.IMAGE_MIRROR_PREFIX .Values.ALPINE_IMAGE_ORG }}
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.ALPINE_IMAGE_ORG}}/alpine"
{{- else }}
image: alpine
{{- end }}
command:
- chown
- 999:999
@@ -85,14 +97,22 @@ EOL
cat << EOL > /tmp/initcontainers.clamav
initContainers:
- name: init-subpath
{{- if or .Values.IMAGE_MIRROR_PREFIX .Values.ALPINE_IMAGE_ORG }}
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.ALPINE_IMAGE_ORG}}/alpine"
{{- else }}
image: alpine
{{- end }}
command:
- mkdir
- "-p"
- /nextcloud-aio-clamav/data
volumeMountsInitContainer:
- name: init-volumes
{{- if or .Values.IMAGE_MIRROR_PREFIX .Values.ALPINE_IMAGE_ORG }}
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.ALPINE_IMAGE_ORG}}/alpine"
{{- else }}
image: alpine
{{- end }}
command:
- chown
- 100:100
@@ -102,14 +122,22 @@ EOL
cat << EOL > /tmp/initcontainers.nextcloud
initContainers:
- name: "delete-lost-found"
{{- if or .Values.IMAGE_MIRROR_PREFIX .Values.ALPINE_IMAGE_ORG }}
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.ALPINE_IMAGE_ORG}}/alpine"
{{- else }}
image: alpine
{{- end }}
command:
- rm
- "-rf"
- "/nextcloud-aio-nextcloud/lost+found"
volumeMountsInitRmLostFound:
- name: init-volumes
{{- if or .Values.IMAGE_MIRROR_PREFIX .Values.ALPINE_IMAGE_ORG }}
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.ALPINE_IMAGE_ORG}}/alpine"
{{- else }}
image: alpine
{{- end }}
command:
- chmod
- "777"
@@ -260,6 +288,8 @@ cat << EOL > /tmp/additional.config
value: "{{ .Values.ADDITIONAL_TRUSTED_DOMAIN }}"
- name: SERVERINFO_TOKEN
value: "{{ .Values.SERVERINFO_TOKEN }}"
- name: NEXTCLOUD_DEFAULT_QUOTA
value: "{{ .Values.NEXTCLOUD_DEFAULT_QUOTA }}"
EOL
# shellcheck disable=SC1083
find ./ -name '*nextcloud-deployment.yaml' -exec sed -i "/^.*\- env:/r /tmp/additional.config" \{} \;
@@ -272,6 +302,18 @@ EOL
# shellcheck disable=SC1083
find ./ -name '*apache-deployment.yaml' -exec sed -i "/^.*\- env:/r /tmp/additional-apache.config" \{} \;
# Additional config
cat << EOL > /tmp/additional-talk.config
- name: TALK_MAX_STREAM_BITRATE
value: "{{ .Values.TALK_MAX_STREAM_BITRATE }}"
- name: TALK_MAX_SCREEN_BITRATE
value: "{{ .Values.TALK_MAX_SCREEN_BITRATE }}"
EOL
# shellcheck disable=SC1083
find ./ -name '*talk-deployment.yaml' -exec sed -i "/^.*\- env:/r /tmp/additional-talk.config" \{} \;
# shellcheck disable=SC1083
find ./ -name '*deployment.yaml' -exec sed -i '/image: nextcloud/s/$/"/;s|image: nextcloud/|image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/|;' \{} \;
cd ../
mkdir -p ../helm-chart/
@@ -318,6 +360,7 @@ SERVERINFO_TOKEN: # This allows to set the serverinfo app token for monit
APPS_ALLOWLIST: # This allows to configure allowed apps that will be shown in Nextcloud's Appstore. You need to enter the app-IDs of the apps here and separate them with spaces. E.g. 'files richdocuments'
ADDITIONAL_TRUSTED_PROXY: # Allows to add one additional ip-address to Nextcloud's trusted proxies and to the Office WOPI-allowlist automatically. Set it e.g. like this: 'your.public.ip-address'. You can also use an ip-range here.
ADDITIONAL_TRUSTED_DOMAIN: # Allows to add one domain to Nextcloud's trusted domains and also generates a certificate automatically for it
NEXTCLOUD_DEFAULT_QUOTA: "10 GB" # Allows to adjust the default quota that will be taken into account in Nextcloud for new users. Setting it to "unlimited" will set it to unlimited
SMTP_HOST: # (empty by default): The hostname of the SMTP server.
SMTP_SECURE: # (empty by default): Set to 'ssl' to use SSL, or 'tls' to use STARTTLS.
SMTP_PORT: # (default: '465' for SSL and '25' for non-secure connections): Optional port for the SMTP connection. Use '587' for an alternative port for STARTTLS.
@@ -326,6 +369,12 @@ SMTP_NAME: # (empty by default): The username for the authentication.
SMTP_PASSWORD: # (empty by default): The password for the authentication.
MAIL_FROM_ADDRESS: # (not set by default): Set the local-part for the 'from' field in the emails sent by Nextcloud.
MAIL_DOMAIN: # (not set by default): Set a different domain for the emails than the domain where Nextcloud is installed.
TALK_MAX_STREAM_BITRATE: "1048576" # This allows to adjust the max stream bitrate of the talk hpb
TALK_MAX_SCREEN_BITRATE: "2097152" # This allows to adjust the max stream bitrate of the talk hpb
IMAGE_MIRROR_PREFIX: # Setting this allows you to pull Nextcloud images through a mirror registry.
NEXTCLOUD_IMAGE_ORG: nextcloud # Setting this allows you to change the image's org name in case a different image needs to be used e.g. for compliance reasons.
ALPINE_IMAGE_ORG: # Setting this allows you to change the image's org name in case a different image needs to be used e.g. for compliance reasons.
ADDITIONAL_CONFIG
mv /tmp/sample.conf ../helm-chart/values.yaml

View File

@@ -1,5 +1,6 @@
DATABASE_PASSWORD: # TODO! This needs to be a unique and good password!
FULLTEXTSEARCH_PASSWORD: # TODO! This needs to be a unique and good password!
IMAGINARY_SECRET: # TODO! This needs to be a unique and good password!
NC_DOMAIN: yourdomain.com # TODO! Needs to be changed to the domain that you want to use for Nextcloud.
NEXTCLOUD_PASSWORD: # TODO! This is the password of the initially created Nextcloud admin with username admin.
ONLYOFFICE_SECRET: # TODO! This needs to be a unique and good password!
@@ -52,6 +53,7 @@ SERVERINFO_TOKEN: # This allows to set the serverinfo app token for monit
APPS_ALLOWLIST: # This allows to configure allowed apps that will be shown in Nextcloud's Appstore. You need to enter the app-IDs of the apps here and separate them with spaces. E.g. 'files richdocuments'
ADDITIONAL_TRUSTED_PROXY: # Allows to add one additional ip-address to Nextcloud's trusted proxies and to the Office WOPI-allowlist automatically. Set it e.g. like this: 'your.public.ip-address'. You can also use an ip-range here.
ADDITIONAL_TRUSTED_DOMAIN: # Allows to add one domain to Nextcloud's trusted domains and also generates a certificate automatically for it
NEXTCLOUD_DEFAULT_QUOTA: "10 GB" # Allows to adjust the default quota that will be taken into account in Nextcloud for new users. Setting it to "unlimited" will set it to unlimited
SMTP_HOST: # (empty by default): The hostname of the SMTP server.
SMTP_SECURE: # (empty by default): Set to 'ssl' to use SSL, or 'tls' to use STARTTLS.
SMTP_PORT: # (default: '465' for SSL and '25' for non-secure connections): Optional port for the SMTP connection. Use '587' for an alternative port for STARTTLS.
@@ -60,3 +62,9 @@ SMTP_NAME: # (empty by default): The username for the authentication.
SMTP_PASSWORD: # (empty by default): The password for the authentication.
MAIL_FROM_ADDRESS: # (not set by default): Set the local-part for the 'from' field in the emails sent by Nextcloud.
MAIL_DOMAIN: # (not set by default): Set a different domain for the emails than the domain where Nextcloud is installed.
TALK_MAX_STREAM_BITRATE: "1048576" # This allows to adjust the max stream bitrate of the talk hpb
TALK_MAX_SCREEN_BITRATE: "2097152" # This allows to adjust the max stream bitrate of the talk hpb
IMAGE_MIRROR_PREFIX: # Setting this allows you to pull Nextcloud images through a mirror registry.
NEXTCLOUD_IMAGE_ORG: nextcloud # Setting this allows you to change the image's org name in case a different image needs to be used e.g. for compliance reasons.
ALPINE_IMAGE_ORG: # Setting this allows you to change the image's org name in case a different image needs to be used e.g. for compliance reasons.

115
php/composer.lock generated
View File

@@ -775,20 +775,20 @@
},
{
"name": "psr/http-factory",
"version": "1.0.2",
"version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-factory.git",
"reference": "e616d01114759c4c489f93b099585439f795fe35"
"reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35",
"reference": "e616d01114759c4c489f93b099585439f795fe35",
"url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
"reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
"shasum": ""
},
"require": {
"php": ">=7.0.0",
"php": ">=7.1",
"psr/http-message": "^1.0 || ^2.0"
},
"type": "library",
@@ -812,7 +812,7 @@
"homepage": "https://www.php-fig.org/"
}
],
"description": "Common interfaces for PSR-7 HTTP message factories",
"description": "PSR-17: Common interfaces for PSR-7 HTTP message factories",
"keywords": [
"factory",
"http",
@@ -824,22 +824,22 @@
"response"
],
"support": {
"source": "https://github.com/php-fig/http-factory/tree/1.0.2"
"source": "https://github.com/php-fig/http-factory"
},
"time": "2023-04-10T20:10:41+00:00"
"time": "2024-04-15T12:06:14+00:00"
},
{
"name": "psr/http-message",
"version": "1.1",
"version": "2.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-message.git",
"reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba"
"reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/http-message/zipball/cb6ce4845ce34a8ad9e68117c10ee90a29919eba",
"reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba",
"url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71",
"reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71",
"shasum": ""
},
"require": {
@@ -848,7 +848,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.1.x-dev"
"dev-master": "2.0.x-dev"
}
},
"autoload": {
@@ -863,7 +863,7 @@
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
"homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for HTTP messages",
@@ -877,9 +877,9 @@
"response"
],
"support": {
"source": "https://github.com/php-fig/http-message/tree/1.1"
"source": "https://github.com/php-fig/http-message/tree/2.0"
},
"time": "2023-04-04T09:50:52+00:00"
"time": "2023-04-04T09:54:51+00:00"
},
{
"name": "psr/http-server-handler",
@@ -1090,30 +1090,30 @@
},
{
"name": "slim/csrf",
"version": "1.4.0",
"version": "1.5.0",
"source": {
"type": "git",
"url": "https://github.com/slimphp/Slim-Csrf.git",
"reference": "f66be9740283ed4f432535aff3623540e178013a"
"reference": "179cbcf40ee1d246d4906aefed42d3e62066974b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/slimphp/Slim-Csrf/zipball/f66be9740283ed4f432535aff3623540e178013a",
"reference": "f66be9740283ed4f432535aff3623540e178013a",
"url": "https://api.github.com/repos/slimphp/Slim-Csrf/zipball/179cbcf40ee1d246d4906aefed42d3e62066974b",
"reference": "179cbcf40ee1d246d4906aefed42d3e62066974b",
"shasum": ""
},
"require": {
"php": "^7.4 || ^8.0",
"psr/http-factory": "^1.0",
"psr/http-message": "^1.0",
"psr/http-factory": "^1.1",
"psr/http-message": "^1.0 || ^2.0",
"psr/http-server-handler": "^1.0",
"psr/http-server-middleware": "^1.0"
},
"require-dev": {
"phpspec/prophecy": "^1.18",
"phpspec/prophecy-phpunit": "^2.1",
"phpspec/prophecy": "^1.19",
"phpspec/prophecy-phpunit": "^2.2",
"phpunit/phpunit": "^9.6",
"squizlabs/php_codesniffer": "^3.8"
"squizlabs/php_codesniffer": "^3.10"
},
"type": "library",
"autoload": {
@@ -1142,9 +1142,9 @@
],
"support": {
"issues": "https://github.com/slimphp/Slim-Csrf/issues",
"source": "https://github.com/slimphp/Slim-Csrf/tree/1.4.0"
"source": "https://github.com/slimphp/Slim-Csrf/tree/1.5.0"
},
"time": "2024-01-22T09:08:27+00:00"
"time": "2024-06-08T16:37:18+00:00"
},
{
"name": "slim/slim",
@@ -1263,31 +1263,31 @@
},
{
"name": "slim/twig-view",
"version": "3.3.0",
"version": "3.4.0",
"source": {
"type": "git",
"url": "https://github.com/slimphp/Twig-View.git",
"reference": "df6dd6af6bbe28041be49c9fb8470c2e9b70cd98"
"reference": "1b351536b9a07ed90a3563ee9d71a987c5d74610"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/slimphp/Twig-View/zipball/df6dd6af6bbe28041be49c9fb8470c2e9b70cd98",
"reference": "df6dd6af6bbe28041be49c9fb8470c2e9b70cd98",
"url": "https://api.github.com/repos/slimphp/Twig-View/zipball/1b351536b9a07ed90a3563ee9d71a987c5d74610",
"reference": "1b351536b9a07ed90a3563ee9d71a987c5d74610",
"shasum": ""
},
"require": {
"php": "^7.4 || ^8.0",
"psr/http-message": "^1.0",
"slim/slim": "^4.9",
"symfony/polyfill-php81": "^1.23",
"twig/twig": "^3.3"
"psr/http-message": "^1.1 || ^2.0",
"slim/slim": "^4.12",
"symfony/polyfill-php81": "^1.29",
"twig/twig": "^3.8"
},
"require-dev": {
"phpspec/prophecy-phpunit": "^2.0",
"phpstan/phpstan": "^1.3.0",
"phpunit/phpunit": "^9.5",
"phpstan/phpstan": "^1.10.59",
"phpunit/phpunit": "^9.6",
"psr/http-factory": "^1.0",
"squizlabs/php_codesniffer": "^3.6"
"squizlabs/php_codesniffer": "^3.9"
},
"type": "library",
"autoload": {
@@ -1322,22 +1322,22 @@
],
"support": {
"issues": "https://github.com/slimphp/Twig-View/issues",
"source": "https://github.com/slimphp/Twig-View/tree/3.3.0"
"source": "https://github.com/slimphp/Twig-View/tree/3.4.0"
},
"time": "2022-01-02T05:14:45+00:00"
"time": "2024-04-28T20:36:39+00:00"
},
{
"name": "symfony/deprecation-contracts",
"version": "v3.4.0",
"version": "v3.5.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "7c3aff79d10325257a001fcf92d991f24fc967cf"
"reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf",
"reference": "7c3aff79d10325257a001fcf92d991f24fc967cf",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
"reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
"shasum": ""
},
"require": {
@@ -1346,7 +1346,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "3.4-dev"
"dev-main": "3.5-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -1375,7 +1375,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0"
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0"
},
"funding": [
{
@@ -1391,7 +1391,7 @@
"type": "tidelift"
}
],
"time": "2023-05-23T14:45:45+00:00"
"time": "2024-04-18T09:32:20+00:00"
},
{
"name": "symfony/polyfill-ctype",
@@ -1710,30 +1710,37 @@
},
{
"name": "twig/twig",
"version": "v3.8.0",
"version": "v3.10.3",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "9d15f0ac07f44dc4217883ec6ae02fd555c6f71d"
"reference": "67f29781ffafa520b0bbfbd8384674b42db04572"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/9d15f0ac07f44dc4217883ec6ae02fd555c6f71d",
"reference": "9d15f0ac07f44dc4217883ec6ae02fd555c6f71d",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/67f29781ffafa520b0bbfbd8384674b42db04572",
"reference": "67f29781ffafa520b0bbfbd8384674b42db04572",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "^1.8",
"symfony/polyfill-mbstring": "^1.3",
"symfony/polyfill-php80": "^1.22"
},
"require-dev": {
"psr/container": "^1.0|^2.0",
"symfony/phpunit-bridge": "^5.4.9|^6.3|^7.0"
"symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0"
},
"type": "library",
"autoload": {
"files": [
"src/Resources/core.php",
"src/Resources/debug.php",
"src/Resources/escaper.php",
"src/Resources/string_loader.php"
],
"psr-4": {
"Twig\\": "src/"
}
@@ -1766,7 +1773,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
"source": "https://github.com/twigphp/Twig/tree/v3.8.0"
"source": "https://github.com/twigphp/Twig/tree/v3.10.3"
},
"funding": [
{
@@ -1778,7 +1785,7 @@
"type": "tidelift"
}
],
"time": "2023-11-21T18:54:41+00:00"
"time": "2024-05-16T10:04:27+00:00"
}
],
"packages-dev": [],

View File

@@ -29,6 +29,7 @@
"environment": [
"NC_DOMAIN=%NC_DOMAIN%",
"NEXTCLOUD_HOST=nextcloud-aio-nextcloud",
"APACHE_HOST=nextcloud-aio-apache",
"COLLABORA_HOST=nextcloud-aio-collabora",
"TALK_HOST=nextcloud-aio-talk",
"APACHE_PORT=%APACHE_PORT%",
@@ -173,6 +174,7 @@
],
"environment": [
"POSTGRES_HOST=nextcloud-aio-database",
"POSTGRES_PORT=5432",
"POSTGRES_PASSWORD=%DATABASE_PASSWORD%",
"POSTGRES_DB=nextcloud_database",
"POSTGRES_USER=nextcloud",
@@ -266,6 +268,7 @@
"REDIS_HOST=nextcloud-aio-redis",
"REDIS_HOST_PASSWORD=%REDIS_PASSWORD%",
"POSTGRES_HOST=nextcloud-aio-database",
"POSTGRES_PORT=5432",
"POSTGRES_PASSWORD=%DATABASE_PASSWORD%",
"POSTGRES_DB=nextcloud_database",
"POSTGRES_USER=nextcloud"
@@ -374,6 +377,7 @@
"internal_port": "%TALK_PORT%",
"environment": [
"NC_DOMAIN=%NC_DOMAIN%",
"TALK_HOST=nextcloud-aio-talk",
"TURN_SECRET=%TURN_SECRET%",
"SIGNALING_SECRET=%SIGNALING_SECRET%",
"TZ=%TIMEZONE%",

View File

@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="5.22.2@d768d914152dbbf3486c36398802f74e80cfde48"/>
<files psalm-version="5.24.0@462c80e31c34e58cc4f750c656be3927e80e550e"/>

View File

@@ -1,17 +1,19 @@
if (document.hasFocus()) {
// hide reload button if the site reloads automatically
let list = document.getElementsByClassName("reload button");
for (let i = 0; i < list.length; i++) {
// list[i] is a node with the desired class name
list[i].style.display = 'none';
}
document.addEventListener("DOMContentLoaded", function(event) {
if (document.hasFocus()) {
// hide reload button if the site reloads automatically
let list = document.getElementsByClassName("reload button");
for (let i = 0; i < list.length; i++) {
// list[i] is a node with the desired class name
list[i].style.display = 'none';
}
// set timeout for reload
setTimeout(function(){
window.location.reload(1);
}, 5000);
} else {
window.addEventListener("beforeunload", function() {
document.getElementById('overlay').classList.add('loading')
});
}
// set timeout for reload
setTimeout(function(){
window.location.reload(1);
}, 5000);
} else {
window.addEventListener("beforeunload", function() {
document.getElementById('overlay').classList.add('loading')
});
}
});

View File

@@ -6,6 +6,7 @@ html, body {
a {
text-decoration: none;
color: #0082c9;
}
.button {
@@ -197,7 +198,7 @@ header {
.loader {
border: 16px solid #f3f3f3;
border-radius: 50%;
border-top: 16px solid #3498db;
border-top: 16px solid #0082c9;
width: 120px;
height: 120px;
-webkit-animation: spin 2s linear infinite; /* Safari */

7
php/public/timezone.js Normal file
View File

@@ -0,0 +1,7 @@
document.addEventListener("DOMContentLoaded", function(event) {
// timezone
let timezone = document.getElementById("timezone");
if (timezone) {
timezone.value = Intl.DateTimeFormat().resolvedOptions().timeZone
}
});

View File

@@ -7,7 +7,7 @@ use AIO\Data\DataConst;
use \DateTime;
class AuthManager {
private const SESSION_KEY = 'aio_authenticated';
private const string SESSION_KEY = 'aio_authenticated';
private ConfigurationManager $configurationManager;
public function __construct(ConfigurationManager $configurationManager) {

View File

@@ -13,7 +13,7 @@ class DockerController
{
private DockerActionManager $dockerActionManager;
private ContainerDefinitionFetcher $containerDefinitionFetcher;
private const TOP_CONTAINER = 'nextcloud-aio-apache';
private const string TOP_CONTAINER = 'nextcloud-aio-apache';
private ConfigurationManager $configurationManager;
public function __construct(
@@ -173,7 +173,7 @@ class DockerController
}
if (isset($request->getParsedBody()['install_latest_major'])) {
$installLatestMajor = 28;
$installLatestMajor = 29;
} else {
$installLatestMajor = "";
}

View File

@@ -305,7 +305,7 @@ class ConfigurationManager
if (empty($dnsRecordIP)) {
$record = dns_get_record($domain, DNS_AAAA);
if (!empty($record[0]['ipv6'])) {
if (isset($record[0]['ipv6']) && !empty($record[0]['ipv6'])) {
$dnsRecordIP = $record[0]['ipv6'];
}
}
@@ -386,6 +386,14 @@ class ConfigurationManager
return $config['domain'];
}
public function GetBaseDN() : string {
$domain = $this->GetDomain();
if ($domain === "") {
return "";
}
return 'dc=' . implode(',dc=', explode('.', $domain));
}
public function GetBackupMode() : string {
$config = $this->GetConfig();
if(!isset($config['backup-mode'])) {
@@ -742,7 +750,7 @@ class ConfigurationManager
// Trim all unwanted chars on both sites
$entry = trim($entry);
if ($entry !== "") {
if (!preg_match("#^/[.0-1a-zA-Z/_-]+$#", $entry) && !preg_match("#^[.0-1a-zA-Z_-]+$#", $entry)) {
if (!preg_match("#^/[.0-9a-zA-Z/_-]+$#", $entry) && !preg_match("#^[.0-9a-zA-Z_-]+$#", $entry)) {
throw new InvalidSettingConfigurationException("You entered unallowed characters! Problematic is " . $entry);
}
$validDirectories .= rtrim($entry, '/') . PHP_EOL;

View File

@@ -19,7 +19,7 @@ use http\Env\Response;
class DockerActionManager
{
private const API_VERSION = 'v1.41';
private const string API_VERSION = 'v1.41';
private \GuzzleHttp\Client $guzzleClient;
private ConfigurationManager $configurationManager;
private ContainerDefinitionFetcher $containerDefinitionFetcher;
@@ -44,7 +44,7 @@ class DockerActionManager
}
private function BuildApiUrl(string $url) : string {
return sprintf('http://localhost/%s/%s', self::API_VERSION, $url);
return sprintf('http://127.0.0.1/%s/%s', self::API_VERSION, $url);
}
private function BuildImageName(Container $container) : string {
@@ -223,12 +223,12 @@ class DockerActionManager
public function CreateContainer(Container $container) : void {
$volumes = [];
foreach ($container->GetVolumes()->GetVolumes() as $volume) {
// NEXTCLOUD_MOUNT gets added via bind-mount later on
if ($container->GetIdentifier() === 'nextcloud-aio-nextcloud') {
if ($volume->name === $this->configurationManager->GetNextcloudMount()) {
continue;
}
}
// // NEXTCLOUD_MOUNT gets added via bind-mount later on
// if ($container->GetIdentifier() === 'nextcloud-aio-nextcloud') {
// if ($volume->name === $this->configurationManager->GetNextcloudMount()) {
// continue;
// }
// }
$volumeEntry = $volume->name . ':' . $volume->mountPoint;
if ($volume->isWritable) {
@@ -283,6 +283,8 @@ class DockerActionManager
if($out[1] === 'NC_DOMAIN') {
$replacements[1] = $this->configurationManager->GetDomain();
} elseif($out[1] === 'NC_BASE_DN') {
$replacements[1] = $this->configurationManager->GetBaseDN();
} elseif ($out[1] === 'AIO_TOKEN') {
$replacements[1] = $this->configurationManager->GetToken();
} elseif ($out[1] === 'BORGBACKUP_MODE') {
@@ -558,14 +560,14 @@ class DockerActionManager
} elseif ($container->GetIdentifier() === 'nextcloud-aio-talk') {
// This is needed due to a bug in libwebsockets which cannot handle unlimited ulimits
$requestBody['HostConfig']['Ulimits'] = [["Name" => "nofile", "Hard" => 200000, "Soft" => 200000]];
// Special things for the nextcloud container which should not be exposed in the containers.json
} elseif ($container->GetIdentifier() === 'nextcloud-aio-nextcloud') {
foreach ($container->GetVolumes()->GetVolumes() as $volume) {
if ($volume->name !== $this->configurationManager->GetNextcloudMount()) {
continue;
}
$mounts[] = ["Type" => "bind", "Source" => $volume->name, "Target" => $volume->mountPoint, "ReadOnly" => !$volume->isWritable, "BindOptions" => [ "Propagation" => "rshared"]];
}
// // Special things for the nextcloud container which should not be exposed in the containers.json
// } elseif ($container->GetIdentifier() === 'nextcloud-aio-nextcloud') {
// foreach ($container->GetVolumes()->GetVolumes() as $volume) {
// if ($volume->name !== $this->configurationManager->GetNextcloudMount()) {
// continue;
// }
// $mounts[] = ["Type" => "bind", "Source" => $volume->name, "Target" => $volume->mountPoint, "ReadOnly" => !$volume->isWritable, "BindOptions" => [ "Propagation" => "rshared"]];
// }
// Special things for the caddy community container
} elseif ($container->GetIdentifier() === 'nextcloud-aio-caddy') {
$requestBody['HostConfig']['ExtraHosts'] = ['host.docker.internal:host-gateway'];
@@ -879,7 +881,7 @@ class DockerActionManager
} catch (RequestException $e) {
// 409 is undocumented and gets thrown if the network already exists.
if ($e->getCode() !== 409) {
throw $e;
throw new \Exception("Could not create the nextcloud-aio network: " . $e->getMessage());
}
}

View File

@@ -16,11 +16,14 @@
</header>
<div class="content">
<h1>Nextcloud AIO v8.0.0</h1>
<h1>Nextcloud AIO v9.0.1</h1>
{# Add 2nd tab warning #}
<script type="text/javascript" src="second-tab-warning.js"></script>
{# timezone-prefill #}
<script type="text/javascript" src="timezone.js"></script>
{% set isAnyRunning = false %}
{% set isAnyRestarting = false %}
{% set isWatchtowerRunning = false %}
@@ -57,25 +60,26 @@
{% if is_daily_backup_running == true %}
<span class="status running"></span> Daily backup currently running. (<a href="/api/docker/logs?id=nextcloud-aio-mastercontainer" target="_blank" rel="noopener">Logs</a>)<br /><br />
{% if automatic_updates == true %}
It will update your containers, the mastercontainer and on saturdays your Nextcloud apps if the backup is successful.<br /><br />
This will update your containers, the mastercontainer and, on Saturdays, your Nextcloud apps if the backup is successful.<br /><br />
{% if is_mastercontainer_update_available == true %}
Since the mastercontainer gets updated, it will restart the container which will make it unavailable for a moment. (<a href="/api/docker/logs?id=nextcloud-aio-watchtower" target="_blank" rel="noopener">Logs</a>)<br /><br />
When the mastercontainer is updated it will restart, making it unavailable for a moment. (<a href="/api/docker/logs?id=nextcloud-aio-watchtower" target="_blank" rel="noopener">Logs</a>)<br /><br />
{% endif %}
{% endif %}
{% if has_update_available == false %}
The whole process should not take more than a few minutes.<br /><br />
{% elseif automatic_updates == true %}
The whole process can take a while because your containers get updated.<br /><br />
The whole process can take a while as your containers will be updated.<br /><br />
{% endif %}
<a href="" class="button reload">Reload ↻</a><br/>
<a href="" class="button reload">Reload ↻</a><br/><br/>
If the daily bacckup should be stuck somehow, you can make it unstuck by running <strong>sudo docker exec nextcloud-aio-mastercontainer rm /mnt/docker-aio-config/data/daily_backup_running</strong> and afterwards reloading this interface.<br /><br />
{% elseif isWatchtowerRunning == true %}
<span class="status running"></span> Mastercontainer update currently running. It will restart the mastercontainer soon which will make it unavailable for a moment. Please wait until that's done. (<a href="/api/docker/logs?id=nextcloud-aio-watchtower" target="_blank" rel="noopener">Logs</a>)<br /><br />
<span class="status running"></span> Mastercontainer update currently running. Once the update is complete the mastercontainer will restart, making it unavailable for a moment. Please wait until it's done. (<a href="/api/docker/logs?id=nextcloud-aio-watchtower" target="_blank" rel="noopener">Logs</a>)<br /><br />
<a href="" class="button reload">Reload ↻</a><br/>
{% else %}
{% if is_backup_container_running == false and domain == "" %}
{% if isDomaincheckRunning == false %}
<h2>Domaincheck container is not running</h2>
This is not expected. Most likely this happened because port {{ apache_port }} is already in use on your server. You can check the mastercontainer logs and domaincheck container logs for further clues. You should be able to resolve this by adjusting the APACHE_PORT by following the <b><a href="https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md">reverse proxy documentation</a></b>. Advice: have a detailed look at the changed docker run command for AIO.
This is not expected. Most likely this happened because port {{ apache_port }} is already in use on your server. You can check the mastercontainer logs and domaincheck container logs for further clues. You should be able to resolve this by adjusting the APACHE_PORT by following the <strong><a href="https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md">reverse proxy documentation</a></strong>. Advice: have a detailed look at the changed docker run command for AIO.
{% elseif is_mastercontainer_update_available == true %}
<h2>Mastercontainer update</h2>
⚠️ A mastercontainer update is available. Please click on the button below to update it. Afterwards, you will be able to proceed with the setup.<br><br>
@@ -91,13 +95,13 @@
{{ include('includes/aio-config.twig') }}
<h2>New AIO instance</h2>
{% if apache_port == '443' %}
AIO is currently in "normal mode" which means that it handles the TLS proxying itself. This also means that it cannot be installed behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else). If you want to run AIO behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else), see the <b><a href="https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md">reverse proxy documentation</a></b>. Advice: have a detailed look at the changed docker run command for AIO.<br><br>
AIO is currently in "normal mode" which means that it handles the TLS proxying itself. This also means that it cannot be installed behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else). If you want to run AIO behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else), see the <strong><a href="https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md">reverse proxy documentation</a></strong>. Advice: have a detailed look at the changed docker run command for AIO.<br><br>
{% else %}
AIO is currently in "reverse proxy mode" which means that it can be installed behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else) and does not do the TLS proxying itself.<br><br>
{% endif %}
Please type in the domain into the input field below that will be used for Nextcloud in order to create a new AIO instance.<br><br />
Please type the domain that will be used for Nextcloud below in order to create a new AIO instance.<br><br />
{% if skip_domain_validation == true %}
<b>Please note:</b> The domain validation is disabled so any domain will be accepted here! So make sure that you do not make a typo here as you will not be able to change it afterwards!<br><br>
<strong>Please note:</strong> The domain validation is disabled so any domain will be accepted here! Make sure you do not make a typo here as you will not be able to change it afterwards!<br><br>
{% endif %}
<form method="POST" action="/api/configuration" class="xhr">
<input type="text" name="domain" value="{{ domain }}" placeholder="nextcloud.yourdomain.com"/>
@@ -106,17 +110,17 @@
<input class="button" type="submit" value="Submit domain" />
</form>
{% if skip_domain_validation == false %}
Make sure that this server is reachable on port 443 (port 443/tcp is open/forwarded in your firewall/router and 443/udp as well if you want to enable http3) and that you've correctly set up the DNS config for the domain that you enter (set the A record to your public ipv4-address and if you need ipv6, set the AAAA record to your public ipv6-address. A CNAME record if of course also possible). You should see hints on what went wrong if your domain does not get accepted in the top right corner.<br><br>
Make sure that this server is reachable on port 443 (port 443/tcp is open/forwarded in your firewall/router and 443/udp as well if you want to enable http3) and that you've correctly set up the DNS config for the domain that you enter (set the A record to your public ipv4-address and if you need ipv6, set the AAAA record to your public ipv6-address. A CNAME record is, of course, also possible). You should see hints on what went wrong in the top right corner if your domain is not accepted.<br><br>
<details>
<summary>Click here for further hints</summary><br />
If you should not have a domain yet, you can get one for free e.g. from duckdns.org and others.<br><br>
If you do not have a domain yet, you can get one for free e.g. from duckdns.org and others.<br><br>
If you have a dynamic public IP-address, you can use e.g. <a href="https://ddclient.net/">DDclient</a> with a compatible domain provider for DNS updates.<br /><br/>
If you only want to install AIO locally without exposing it to the public internet or if you cannot do so, feel free to follow <a href="https://github.com/nextcloud/all-in-one/blob/main/local-instance.md">this documentation</a>.<br><br>
If you should be using Cloudflare Proxy for your domain, make sure to disable the Proxy feature temporarily as it might block the domain validation attempts.<br /><br/>
{% if apache_port != '443' %}
If you run into issues getting your domain accepted, see <a href="https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#6-how-to-debug-things">these steps</a> for how to debug things. <br /><br/>
If you run into issues with your domain being accepted, see <a href="https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#6-how-to-debug-things">these steps</a> for how to debug things. <br /><br/>
{% endif %}
<b>Hint:</b> If the domain validation fails but you are completely sure that you've configured everything correctly, you may skip the domain validation by following <a href="https://github.com/nextcloud/all-in-one#how-to-skip-the-domain-validation">this documentation</a>.<br />
<strong>Hint:</strong> If the domain validation fails but you are completely sure that you've configured everything correctly, you may skip the domain validation by following <a href="https://github.com/nextcloud/all-in-one#how-to-skip-the-domain-validation">this documentation</a>.<br />
</details>
{% endif %}
@@ -130,12 +134,12 @@
{% if backup_exit_code > 0 %}
<span class="status error"></span> Last {{ borg_backup_mode }} failed! (<a href="/api/docker/logs?id=nextcloud-aio-borgbackup" target="_blank" rel="noopener">Logs</a>)<br /><br />
{% if borg_backup_mode == 'test' %}
Please adjust the path and/or the password in order to make it work!<br><br>
Please adjust the path and/or the encryption password in order to make it work!<br><br>
{% elseif borg_backup_mode == 'check' %}
The backup archive seems to be corrupt. Please try to use a different intact backup archive or try to fix it by following <a href="https://borgbackup.readthedocs.io/en/stable/faq.html#i-get-an-integrityerror-or-similar-what-now"><b>this documentation</b></a><br><br>
The backup archive seems to be corrupt. Please try to use a different intact backup archive or try to fix it by following <a href="https://borgbackup.readthedocs.io/en/stable/faq.html#i-get-an-integrityerror-or-similar-what-now"><strong>this documentation</strong></a><br><br>
<details>
<summary>Reveal repair option</summary><br />
Below is the option to repair the integrity of your backup. <b>Please note:</b> Please only use this after you have read the documentation above! (It will run the command 'borg check --repair' for you.)<br><br>
Below is the option to repair the integrity of your backup. <strong>Please note:</strong> Please only use this after you have read the documentation above! (It will run the command 'borg check --repair' for you.)<br><br>
<form method="POST" action="/api/docker/backup-check-repair" class="xhr">
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
@@ -146,14 +150,15 @@
{% elseif backup_exit_code == 0 %}
<span class="status success"></span> Last {{ borg_backup_mode }} successful! (<a href="/api/docker/logs?id=nextcloud-aio-borgbackup" target="_blank" rel="noopener">Logs</a>)<br /><br />
{% if borg_backup_mode == 'test' %}
Feel free to check the integrity of the backup archive below before starting the restore process in order to make double-sure that the restore will work. This can take a long time though depending on the size of the backup archive and is thus not required.<br><br>
Feel free to check the integrity of the backup archive below before starting the restore process in order to make ensure that the restore will work. This can take a long time though depending on the size of the backup archive and is thus not required.<br><br>
<form method="POST" action="/api/docker/backup-check" class="xhr">
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
<input class="button" type="submit" value="Check backup integrity"/><br/>
</form>
{% endif %}
Choose the backup that you want to restore and click on the button below to restore the selected backup. This will restore the whole AIO instance from backup. Please not that the current AIO password will be kept and the AIO password not restored from backup!<br><br>
Choose the backup that you want to restore and click on the button below to restore the selected backup. This will restore the whole AIO instance. Please note that the current AIO passphrase will be kept and the previous AIO passphrase will not be restored from backup!<br><br>
<strong>Please note:</strong> If the backup that you want to restore contained any <a href="https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers">community container</a>, but you did not specify the same community containers via environmental variable while creating this new AIO instance, you need to restore the same backup a second time after this attempt so that the community container data is also correctly restored.<br><br>
<form method="POST" action="/api/docker/restore" class="xhr" id="restore_selection">
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
@@ -168,44 +173,46 @@
{% elseif borg_backup_mode == 'restore' %}
{% if backup_exit_code > 0 %}
<span class="status error"></span> Last restore failed! (<a href="/api/docker/logs?id=nextcloud-aio-borgbackup" target="_blank" rel="noopener">Logs</a>)<br /><br />
Somehow the restore failed which is unexpected! Please adjust the path and password, test it and try to restore again!
The restore process has unexpectedly failed! Please adjust the path and encryption password, test it and try to restore again!
{% endif %}
{% endif %}
{% endif %}
{% if borg_backup_host_location == '' or borg_restore_password == '' or borg_backup_mode not in ['test', 'check', ''] or backup_exit_code > 0 %}
Please enter the location of the backup archive on your host and the password of the backup archive below:<br><br>
Please enter the location of the backup archive on your host and the encryption password of the backup archive below:<br><br>
<form method="POST" action="/api/configuration" class="xhr">
<input type="text" name="borg_restore_host_location" value="{{borg_backup_host_location}}" placeholder="/mnt/backup"/>
<input type="text" name="borg_restore_password" value="{{borg_restore_password}}" placeholder="enter the borg password"/>
<input type="text" name="borg_restore_password" value="{{borg_restore_password}}" placeholder="encryption password"/>
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
<input class="button" type="submit" value="Submit location and password" />
<input class="button" type="submit" value="Submit location and encryption password" />
</form>
{{ include('includes/backup-dirs.twig') }}
⚠️ Please note that the backup archive must be located in a subfolder of the folder that you enter here and the subfolder which contains the archive must be named 'borg'. Otherwise will the backup container not find the backup archive!<br><br>
⚠️ Please note that the backup archive must be located in a subfolder of the folder that you enter here and the subfolder which contains the archive must be named 'borg', or the backup container will not be able to find the backup archive!<br><br>
{% endif %}
{% else %}
<b>Everything set!</b> Click on the button below to test the path and password:<br/><br/>
<strong>Everything set!</strong> Click on the button below to test the path and encryption password:<br/><br/>
<form method="POST" action="/api/docker/backup-test" class="xhr">
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
<input class="button" type="submit" value="Test path and password"/><br/>
<input class="button" type="submit" value="Test path and encryption password"/><br/>
</form>
{% endif %}
{% endif %}
<h2>How to reset the AIO instance?</h2>
If something should be going wrong, for example during the initial installation, you can reset the instance by following <a href="https://github.com/nextcloud/all-in-one#how-to-properly-reset-the-instance">this documentation</a>.<br><br>
{% endif %}
{% if was_start_button_clicked == true %}
{% if current_channel starts with 'latest' or current_channel starts with 'beta' or current_channel starts with 'develop' %}
You are running the <a href="https://github.com/nextcloud/all-in-one#how-to-switch-the-channel"><b>{{ current_channel }}</b></a> channel. (<a href="/api/docker/logs?id=nextcloud-aio-mastercontainer" target="_blank" rel="noopener">Logs</a>)<br><br>
You are running the <a href="https://github.com/nextcloud/all-in-one#how-to-switch-the-channel"><strong>{{ current_channel }}</strong></a> channel. (<a href="/api/docker/logs?id=nextcloud-aio-mastercontainer" target="_blank" rel="noopener">Logs</a>)<br><br>
{% else %}
No channel was found. This means that AIO is not able to update itself and its component and will also not be able to report about updates. Updates need to be done externally.
{% endif %}
{% endif %}
{% if is_backup_container_running == true %}
<span class="status running"></span> Backup container is currently running. (<a href="/api/docker/logs?id=nextcloud-aio-borgbackup" target="_blank" rel="noopener">Logs</a>)<br /><br />
<span class="status running"></span> Backup container is currently running: {{ borg_backup_mode }} (<a href="/api/docker/logs?id=nextcloud-aio-borgbackup" target="_blank" rel="noopener">Logs</a>)<br /><br />
<a href="" class="button reload">Reload ↻</a><br/><br>
{% endif %}
@@ -216,25 +223,25 @@
<details>
<summary>Click here to reveal the initial Nextcloud credentials</summary><br />
{% endif %}
Initial Nextcloud username: <b>admin</b><br />
Initial Nextcloud username: <strong>admin</strong><br />
Initial Nextcloud password:
{% if borg_backup_host_location != '' %}
{# nextcloud_password needs to be duplicated due to a bug in Firefox. See https://github.com/nextcloud/all-in-one/issues/638. #}
<b>{{ nextcloud_password }}</b><br /></details><br />
<strong>{{ nextcloud_password }}</strong><br /></details><br />
{% else %}
<b>{{ nextcloud_password }}</b><br><br>
<strong>{{ nextcloud_password }}</strong><br><br>
{% endif %}
<a href="https://{{ domain }}" class="button" target="_blank" rel="noopener">Open your Nextcloud ↗</a><br/><br>
{% if borg_backup_host_location == '' %}
If your Nextcloud does not open when clicking the button above, see <b><a href="https://github.com/nextcloud/all-in-one/discussions/2105">this documentation</a></b><br><br>
If your Nextcloud does not open when clicking the button above, see <strong><a href="https://github.com/nextcloud/all-in-one/discussions/2105">this documentation</a></strong><br><br>
{% endif %}
{% else %}
{% if isAnyRestarting == false %}
<span class="status running"></span> Containers are currently starting.<br /><br />
<span class="status running"></span> Containers are currently starting. You might inspect the container logs by clicking on <strong>Starting</strong> next to each container for further details.<br /><br />
<a href="" class="button reload">Reload ↻</a><br/><br>
{% else %}
It seems like at least one container is currently restarting which means it is not able to start correctly.<br><br>
To break out this endless loop, you can stop the containers below and investigate the issue by having a look at the container logs before starting them again.<br><br>
It seems at least one container was not able to start correctly and is currently restarting.<br><br>
To break this endless loop, you can stop the containers below and investigate the issue in the container logs before starting the containers again.<br><br>
<form method="POST" action="/api/docker/stop" class="xhr">
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
@@ -284,15 +291,15 @@
{% if has_update_available == true %}
{% if is_mastercontainer_update_available == false %}
⚠️ Container updates are available. Click on <b>Stop containers</b> and <b>Start and update containers</b> to update them. You should consider creating a backup first.<br><br>
⚠️ Container updates are available. Click on <strong>Stop containers</strong> and <strong>Start and update containers</strong> to update them. You should consider creating a backup first.<br><br>
{% endif %}
{% else %}
{% if is_mastercontainer_update_available == false %}
Your containers are up-to-date.<br><br>
{% if newMajorVersion != '' and isAnyRunning == true and isApacheStarting != true %}
<details>
<summary>Note about <b>Nextcloud {{ newMajorVersion }}</b></summary><br>
If you haven't upgraded to Nextcloud {{ newMajorVersion }} yet and want to do that now, feel free to follow <b><a href="https://github.com/nextcloud/all-in-one/discussions/2692">this documentation</a></b><br/>
<summary>Note about <strong>Nextcloud {{ newMajorVersion }}</strong></summary><br>
If you haven't upgraded to Nextcloud {{ newMajorVersion }} yet and want to do that now, feel free to follow <strong><a href="https://github.com/nextcloud/all-in-one/discussions/4542">this documentation</a></strong><br/>
</details><br>
{% endif %}
{% endif %}
@@ -302,13 +309,13 @@
{% if isAnyRunning == true %}
{% if isApacheStarting != true %}
{% if is_mastercontainer_update_available == true %}
⚠️ A mastercontainer update is available. Please click on the button below to stop your containers in order to be able to update the mastercontainer.<br /><br />
⚠️ A mastercontainer update is available. Please click on the button below to stop your containers in order to update the mastercontainer.<br /><br />
{% if current_channel starts with 'latest' %}
You can find the changelog <a href="https://github.com/nextcloud/all-in-one/releases/latest"><b>here</b></a><br><br>
You can find the changelog <a href="https://github.com/nextcloud/all-in-one/releases/latest"><strong>here</strong></a><br><br>
{% elseif current_channel starts with 'beta' %}
You can find the changelog <a href="https://github.com/nextcloud/all-in-one/releases"><b>here</b></a><br><br>
You can find the changelog <a href="https://github.com/nextcloud/all-in-one/releases"><strong>here</strong></a><br><br>
{% elseif current_channel starts with 'develop' %}
You can find all changes <a href="https://github.com/nextcloud-releases/all-in-one/commits/main"><b>here</b></a><br><br>
You can find all changes <a href="https://github.com/nextcloud-releases/all-in-one/commits/main"><strong>here</strong></a><br><br>
{% endif %}
{% endif %}
<form method="POST" action="/api/docker/stop" class="xhr">
@@ -319,10 +326,10 @@
{% endif %}
{% else %}
{% if isBackupOrRestoreRunning == true %}
Restore or Backup currently running. Cannot start the containers until that's done.<br /><br />
Restore or Backup currently running. Cannot start the containers until Restore or Backup is complete.<br /><br />
{% else %}
{% if was_start_button_clicked == false %}
<br>Clicking on the button below will download all docker containers and start them. This can take a lot of time depending on your internet connection. Since the overall size is a few GB, this will take around 5-10 min or more. So be aware and patient!<br><br>
<br>Clicking on the button below will download all docker containers and start them. This can take a long time depending on your internet connection. Since the overall size is a few GB, this can take around 5-10 min or more. Please be patient!<br><br>
{% endif %}
{% if is_mastercontainer_update_available == true %}
⚠️ A mastercontainer update is available. Please click on the button below to update it.<br><br>
@@ -366,7 +373,7 @@
{% else %}
{% if is_backup_container_running == false and borg_backup_host_location == "" and isApacheStarting != true %}
<h2>Backup and restore</h2>
Please type in the directory where backups will get created on the host system below. In best case make sure that you choose a location on a separate drive and not on your root drive.<br><br>
Please enter the directory path below where backups will be created on the host system. It's best to choose a location on a separate drive and not on your root drive.<br><br>
<form method="POST" action="/api/configuration" class="xhr">
<input type="text" name="borg_backup_host_location" placeholder="/mnt/backup"/>
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
@@ -385,10 +392,10 @@
{% if backup_exit_code > 0 %}
<span class="status error"></span> Last {{ borg_backup_mode }} failed! (<a href="/api/docker/logs?id=nextcloud-aio-borgbackup" target="_blank" rel="noopener">Logs</a>)<br /><br />
{% if borg_backup_mode == "check" %}
The backup check was not successful which might points towards a corrupt archive (look at the logs). If that should be the case, you can try to fix it by following <a href="https://borgbackup.readthedocs.io/en/stable/faq.html#i-get-an-integrityerror-or-similar-what-now"><b>this documentation</b></a><br /><br />
The backup check was not successful. This might indicate a corrupt archive (look at the logs). If that should be the case, you can try to fix it by following <a href="https://borgbackup.readthedocs.io/en/stable/faq.html#i-get-an-integrityerror-or-similar-what-now"><strong>this documentation</strong></a><br /><br />
<details>
<summary>Reveal repair option</summary><br />
Below is the option to repair the integrity of your backup. <b>Please note:</b> Please only use this after you have read the documentation above! (It will run the command 'borg check --repair' for you.)<br><br>
Below is the option to repair the integrity of your backup. <strong>Please note:</strong> Please only use this after you have read the documentation above! (It will run the command 'borg check --repair' for you.)<br><br>
<form method="POST" action="/api/docker/backup-check-repair" class="xhr">
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
@@ -397,7 +404,7 @@
</details><br />
{% endif %}
{% if has_backup_run_once == false %}
You may change the backup path again since the initial backup was not successful. After submitting the new value, you need to click on <b>Create Backup</b> for testing the new value.<br /><br />
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.<br /><br />
<form method="POST" action="/api/configuration" class="xhr">
<input type="text" value="{{borg_backup_host_location}}" name="borg_backup_host_location" placeholder="/mnt/backup" />
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
@@ -417,19 +424,19 @@
{% if is_backup_container_running == false and isApacheStarting == false %}
{% if has_backup_run_once == true %}
<details>
<summary>Click here to reveal all backup options (it also includes an option for automatic updates)</summary><br />
<summary>Click here to reveal all backup options (including an option for automatic updates)</summary><br />
{% endif %}
<h3>Backup information</h3>
This is your encryption password for backups: <b>{{ borgbackup_password }}</b><br /><br/>
Please save it at a safe place since you won't be able to restore from backup if you lose this password! <br /><br/>
Backed up will get all important data of your Nextcloud AIO instance like the database, your files and configuration files of the mastercontainer and else. <br /><br/>
The backup itself uses a tool that is called <a href="https://github.com/borgbackup/borg#what-is-borgbackup"><b>BorgBackup</b></a> which is a well-known server backup tool that efficiently backs up your files and encrypts them on the fly. <br /><br/>
This is your encryption password for backups: <strong>{{ borgbackup_password }}</strong><br /><br/>
Please save this password in a safe place. You won't be able to restore from backup if you lose this password! <br /><br/>
All important data from your Nextcloud AIO instance such as the database, your files and the mastercontainer's configuration files, will be backed up.<br /><br/>
The backup uses a tool called <a href="https://github.com/borgbackup/borg#what-is-borgbackup"><strong>BorgBackup</strong></a>, a well-known server backup tool that efficiently backs up your files and encrypts them on the fly. <br /><br/>
By using this tool, backups are incremental, differential, compressed and encrypted so only the first backup will take a while. Further backups should be fast as only changes are taken into account.<br /><br/>
Backups get created in the following directory on the host: <b>{{ borg_backup_host_location }}/borg</b> <br /><br/>
Be aware that this solution does not back up files and folders that are mounted into Nextcloud using the external storage app - but you can add further Docker volumes and host paths that you want to back up after the initial backup is done.<br><br>
Regarding backup retention, see <b><a href="https://github.com/nextcloud/all-in-one#how-to-adjust-borgs-retention-policy">this</a></b>.<br><br>
Daily backups can get enabled after the initial backup is done. Enabling this also allows to enable an option that allows to update all containers, Nextcloud and its apps automatically.<br><br>
For further documentation and options on this backup solution refer to <b><a href="https://github.com/nextcloud/all-in-one#backup-solution">this section</a></b> and below.<br>
Backups will be created in the following directory on the host: <strong>{{ borg_backup_host_location }}/borg</strong> <br /><br/>
Be aware that this solution does not backup files and folders that are mounted into Nextcloud using the external storage app, but you can add further Docker volumes and host paths that you want to back up after the initial backup is done.<br><br>
For information about backup retention, see <strong><a href="https://github.com/nextcloud/all-in-one#how-to-adjust-borgs-retention-policy">this</a></strong>.<br><br>
Daily backups can be enabled after the initial backup is done. Enabling this also allows you to enable an option to update all containers, Nextcloud, and its apps automatically.<br><br>
For further documentation and options on this backup solution refer to <strong><a href="https://github.com/nextcloud/all-in-one#backup-solution">this section</a></strong> and below.<br>
{% if isApacheStarting != true %}
<h3>Backup creation</h3>
@@ -442,7 +449,7 @@
{% if has_backup_run_once == false %}
<h3>Reset backup host location</h3>
If the configured backup host location <b>{{ borg_backup_host_location }}</b> is wrong, you can reset it by clicking on the button below.<br><br/>
If the configured backup host location <strong>{{ borg_backup_host_location }}</strong> is wrong, you can reset it by clicking on the button below.<br><br/>
<form method="POST" action="/api/configuration" class="xhr">
<input type="hidden" name="delete_borg_backup_host_location" value="yes"/>
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
@@ -453,7 +460,7 @@
{% if has_backup_run_once == true %}
<h3>Backup check</h3>
Click on the button below to perform a backup integrity check. This is an option that verifies that your backup is intact but it shouldn't be needed in most situations.<br><br/>
Click on the button below to perform a backup integrity check. This is an option that verifies that your backup is intact. It shouldn't be needed in most situations.<br><br/>
<form method="POST" action="/api/docker/backup-check" class="xhr">
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
@@ -461,7 +468,7 @@
</form>
<h3>Backup restore</h3>
Choose the backup that you want to restore and click on the button below to restore the selected backup. This will overwrite all your files with the state of the backup so you should consider creating a backup first. It also makes sense to run an integrity check before restoring your files but is not mandatory since it shouldn't be needed in most situations. Please note that this will not restore additionally chosen backup directories! The restore process should be pretty fast as rsync is used to restore the chosen backup which only transfers changed files and deletes additional ones.<br><br>
Choose the backup that you want to restore and click on the button below to restore the selected backup. This will overwrite all your files with the chosen backup so you should consider creating a backup first. You can run an integrity check before restoring your files but this shouldn't be needed in most situations. Please note that this will not restore additionally chosen backup directories! The restore process should be pretty fast as rsync, which only transfers changed files, is used to restore the chosen backup.<br><br>
<form method="POST" action="/api/docker/restore" class="xhr" id="restore_selection">
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
@@ -475,7 +482,7 @@
<h3>Daily backup and automatic updates</h3>
{% if daily_backup_time == "" %}
By entering a time below, you can enable daily backups. It will create them at the entered time in 24h format. E.g. <b>04:00</b> will create backups at 4 am UTC and <b>16:00</b> at 4 pm UTC. For creating the backup, it will stop the containers and start them back up after the backup is done.<br><br/>
By entering a time below, you can enable daily backups. It will create them at the entered time in 24h format. E.g. <strong>04:00</strong> will create backups at 4 am UTC and <strong>16:00</strong> at 4 pm UTC. When creating the backup, containers will be stopped and restarted after the backup is complete.<br><br/>
<form method="POST" action="/api/configuration" class="xhr">
<input type="text" name="daily_backup_time" value="04:00" placeholder="04:00"/>
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
@@ -485,29 +492,29 @@
<input type="checkbox" id="success_notification" name="success_notification" checked="checked"><label for="success_notification">Send notifications about successful backups (notifications about unsuccessful backups will always be sent)</label><br>
</form>
{% else %}
Daily backups will be created at <b>{{ daily_backup_time }} UTC</b> which includes a notification about the result of the backup.
Daily backups will be created at <strong>{{ daily_backup_time }} UTC</strong>. A notification about the result of the backup will be sent.
{% if automatic_updates == true %}
Also your containers, the mastercontainer and on saturdays your Nextcloud apps will be automatically updated.
Also your containers, the mastercontainer and, on Saturdays, your Nextcloud apps will be automatically updated.
{% endif %}
To change your backup time, first disable Daily Backups and then re-enable them with your new backup time.<br><br/>
To change your backup time first disable Daily Backups, then enter your new backup time, and then re-enable them.<br><br/>
<form method="POST" action="/api/configuration" class="xhr">
<input type="hidden" name="delete_daily_backup_time" value="yes"/>
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
<input class="button" type="submit" value="Disable daily backups" />
<input class="button" type="submit" value="Disable or change daily backups" />
</form>
{% endif %}
<h3>Back up additional directories and docker volumes of your host</h3>
Below, you can enter directories and docker volumes of your host that will backed up additionally into the same borg backup archive.<br><br>
Below you can enter directories and docker volumes of your host that will be backed up into the same borg backup archive.<br><br>
<form method="POST" action="/api/configuration" class="xhr">
<textarea id="additional_backup_directories" name="additional_backup_directories" rows="4" cols="50" placeholder="/directory/on/the/host&#10;my_custom_docker_volume">{{ additional_backup_directories }}</textarea>
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
<input class="button" type="submit" value="Submit additional backup locations" /><br>
</form>
Each line and entry needs to start with a slash or letter/digit. Allowed are only <b>a-z</b>, <b>A-Z</b>, <b>.</b>, <b>0-9</b>, <b>_</b>, <b>-</b>, and <b>/</b>. If the entry begins with a letter/digit are slashes not supported. Two valid entries are <b>/directory/on/the/host</b> and <b>my_custom_docker_volume</b>. You need to make sure yourself that all given directories exist. Otherwise the backup container will fail starting!<br><br/>
Make sure to specify all storages that you want to back up separately since storages will not be mounted recursively. E.g. providing <b>/</b> as additional backup directory will only back up files and folders that are stored on the root partition and not on the EFI partition or any other. Excluded by the backup will be caches and a few other directories. You should make sure to stop all services before the backup can run correctly if you want to back up the root partition. For automating this see <a href="https://github.com/nextcloud/all-in-one#how-to-stopstartupdate-containers-or-trigger-the-daily-backup-from-a-script-externally">this documentation</a><br><br/>
Each line and entry needs to start with a slash or letter/digit. Only <strong>a-z</strong>, <strong>A-Z</strong>, <strong>.</strong>, <strong>0-9</strong>, <strong>_</strong>, <strong>-</strong>, and <strong>/</strong> are allowed. If the entry begins with a letter/digit slashes are not supported. Two valid entries are <strong>/directory/on/the/host</strong> and <strong>my_custom_docker_volume</strong>. You need to make sure that all given directories exist or the backup container will fail to start!<br><br/>
Be sure to individually specify all storage that you want to back up as storage will not be mounted recursively. E.g. providing <strong>/</strong> as additional backup directory will only back up files and folders that are stored on the root partition and not on the EFI partition or any other. Excluded by the backup will be caches and a few other directories. If you want to back up the root partition you should make sure to stop all services before the backup so it can run correctly. For automating this see <a href="https://github.com/nextcloud/all-in-one#how-to-stopstartupdate-containers-or-trigger-the-daily-backup-from-a-script-externally">this documentation</a><br><br/>
Please note that the chosen directories/volumes will not be restored when you restore your instance, so this would need to be done manually. <br><br>
{% if additional_backup_directories != "" %}
This option is currently set. You can disable it again by clearing the field and submitting your changes.<br><br>
@@ -525,29 +532,29 @@
{% if is_backup_container_running == false %}
{% if isApacheStarting == false %}
<h2>AIO password change</h2>
<h2>AIO passphrase change</h2>
<details>
<summary>Click here to change your AIO password</summary><br />
You can change your AIO password below:<br><br />
<summary>Click here to change your AIO passphrase</summary><br />
You can change your AIO passphrase below:<br><br />
<form method="POST" action="/api/configuration" class="xhr">
<input type="password" autocomplete="current-password" name="current-master-password" placeholder="Your current AIO password" id="current-master-password" oninput="showPassword('current-master-password')">
<input type="password" autocomplete="new-password" name="new-master-password" placeholder="Your new AIO password" id="new-master-password" oninput="showPassword('new-master-password')">
<input type="password" autocomplete="current-password" name="current-master-password" placeholder="Your current AIO passphrase" id="current-master-password" oninput="showPassword('current-master-password')">
<input type="password" autocomplete="new-password" name="new-master-password" placeholder="Your new AIO passphrase" id="new-master-password" oninput="showPassword('new-master-password')">
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
<input class="button" type="submit" value="Submit password change" />
<input class="button" type="submit" value="Submit passphrase change" />
</form>
The new password needs to be at least 24 characters long. Allowed characters are the <a href="https://en.wikipedia.org/wiki/Latin_alphabet#/media/File:Abecedarium.png"><b>latin characters</b></a> <b>a-z</b>, <b>A-Z</b>, <b>0-9</b> and <b>spaces</b>.<br>
The new passphrase needs to be at least 24 characters long. Allowed characters are the <a href="https://en.wikipedia.org/wiki/Latin_alphabet#/media/File:Abecedarium.png"><strong>latin characters</strong></a> <strong>a-z</strong>, <strong>A-Z</strong>, <strong>0-9</strong> and <strong>spaces</strong>.<br>
</details>
{% endif %}
{% endif %}
{% endif %}
{% if is_backup_container_running == false %}
<h2>Optional containers</h2>
In this section you can enable or disable optional containers. There are further community containers available that are not listed below. See <b><a href="https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers">this documentation</a></b> how to add them.<br><br>
In this section you can enable or disable optional containers. There are further community containers available that are not listed below. See <strong><a href="https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers">this documentation</a></strong> how to add them.<br><br>
{% if isAnyRunning == true %}
<b>Please note:</b> You can enable or disable them when your containers are stopped.<br><br>
<strong>Please note:</strong> You can enable or disable the options below only when your containers are stopped.<br><br>
{% else %}
<b>Please note:</b> Make sure to save your changes by clicking on the button <b>Save changes</b> that is positioned below the list of optional containers. The changes will not be auto-saved.<br><br>
<strong>Please note:</strong> Make sure to save your changes by clicking <strong>Save changes</strong> below the list of optional containers. The changes will not be auto-saved.<br><br>
{% endif %}
<form id="options-form" method="POST" action="/api/configuration" class="xhr">
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
@@ -566,7 +573,7 @@
{% if is_fulltextsearch_enabled == true %}
<input type="checkbox" id="fulltextsearch" name="fulltextsearch" checked="checked"><label for="fulltextsearch">Fulltextsearch (needs ~1GB additional RAM)</label><br>
{% else %}
<input type="checkbox" id="fulltextsearch" name="fulltextsearch"><label for="fulltextsearch">Fulltextsearch (needs ~1GB additional RAM. <b>Please note:</b> the initial indexing can take a long time during which Nextcloud will be unavailable)</label><br><br>
<input type="checkbox" id="fulltextsearch" name="fulltextsearch"><label for="fulltextsearch">Fulltextsearch (needs ~1GB additional RAM. <strong>Please note:</strong> the initial indexing can take a long time during which Nextcloud will be unavailable)</label><br><br>
{% endif %}
{% if is_imaginary_enabled == true %}
<input type="checkbox" id="imaginary" name="imaginary" checked="checked"><label for="imaginary">Imaginary (for previews of heic, heif, illustrator, pdf, svg, tiff and webp. Imaginary is currently <a href="https://github.com/nextcloud/server/issues/34262">incompatible with server-side-encryption</a>)</label><br><br>
@@ -596,7 +603,7 @@
<input id="options-form-submit" class="button" type="submit" value="Save changes" />
<script type="text/javascript" src="options-form-submit.js"></script>
</form>
<b>Minimal system requirements:</b> When any optional container is enabled, at least 2GB RAM, a dual-core CPU and 40GB system storage are required. When enabling ClamAV, Nextcloud Talk Recording-server or Fulltextsearch, at least 3GB RAM are required. For Talk Recording-server additional 2 vCPUs are required. When enabling everything, at least 5GB RAM and a quad-core CPU are required. Recommended are at least 1GB more RAM than the minimal requirement. For further advices and recommendations see <b><a href="https://github.com/nextcloud/all-in-one/discussions/1335">this documentation</a></b><br>
<strong>Minimal system requirements:</strong> When any optional container is enabled, at least 2GB RAM, a dual-core CPU and 40GB system storage are required. When enabling ClamAV, Nextcloud Talk Recording-server or Fulltextsearch, at least 3GB RAM are required. For Talk Recording-server additional 2 vCPUs are required. When enabling everything, at least 5GB RAM and a quad-core CPU are required. Recommended are at least 1GB more RAM than the minimal requirement. For further advices and recommendations see <strong><a href="https://github.com/nextcloud/all-in-one/discussions/1335">this documentation</a></strong><br>
{% if isAnyRunning == true or is_x64_platform == false %}
<script type="text/javascript" src="disable-clamav.js"></script>
{% endif %}
@@ -621,9 +628,9 @@
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
<input class="button" type="submit" value="Submit collabora dictionaries" />
</form>
You need to make sure that the dictionaries that you enter are valid. An example is <b>de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru</b>.<br><br>
You need to make sure that the dictionaries that you enter are valid. An example is <strong>de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru</strong>.<br><br>
{% else %}
The dictionaries for Collabora are currently set to <b>{{ collabora_dictionaries }}</b>. You can reset them again by clicking on the button below.<br><br/>
The dictionaries for Collabora are currently set to <strong>{{ collabora_dictionaries }}</strong>. You can reset them again by clicking on the button below.<br><br/>
<form method="POST" action="/api/configuration" class="xhr">
<input type="hidden" name="delete_collabora_dictionaries" value="yes"/>
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
@@ -636,22 +643,22 @@
<h2>Timezone change</h2>
{% if isAnyRunning == true %}
{% if timezone != "" %}
The timezone for Nextcloud is currently set to <b>{{ timezone }}</b>.<br><br>
The timezone for Nextcloud is currently set to <strong>{{ timezone }}</strong>.<br><br>
{% endif %}
<b>Please note:</b> You can change the timezone when your containers are stopped.<br><br>
<strong>Please note:</strong> You can change the timezone when your containers are stopped.<br><br>
{% else %}
{% if timezone == "" %}
In order to get the correct time values for certain Nextcloud features, it makes sense to set the timezone for Nextcloud to the one that your users mainly use. Please note that this setting does not apply to the mastercontainer and any backup option.<br><br>
To get the correct time values for certain Nextcloud features, set the timezone for Nextcloud to the one that your users mainly use. Please note that this setting does not apply to the mastercontainer and any backup option.<br><br>
You can configure the timezone for Nextcloud below:<br><br>
<form method="POST" action="/api/configuration" class="xhr">
<input type="text" name="timezone" placeholder="Europe/Berlin" />
<input type="text" id="timezone" name="timezone" placeholder="Europe/Berlin" />
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
<input class="button" type="submit" value="Submit timezone" onclick="return confirm('Are you sure that this is a valid timezone? Please double check by following the wikipedia article and checking the correct column since if not, it will break the startup since the database will not get correctly initialized and you will end in a startup loop.')" />
<input class="button" type="submit" value="Submit timezone" onclick="return confirm('Are you sure that this is a valid timezone? Please double check by following the wikipedia article and checking the correct column. If the timezone is not valid, it will break the startup since the database will not be correctly initialized and you will end up in a startup loop.')" />
</form>
You need to make sure that the timezone that you enter is valid. An example is <b>Europe/Berlin</b>. You can get valid values by looking at the 'TZ identifier' column of this list: <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List"><b>click here</b></a>. The default is <b>Etc/UTC</b> if nothing is entered.<br><br>
You need to make sure that the timezone that you enter is valid. An example is <strong>Europe/Berlin</strong>. You can get valid values by looking at the 'TZ identifier' column of this list: <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List"><strong>click here</strong></a>. The default is <strong>Etc/UTC</strong> if nothing is entered.<br><br>
{% else %}
The timezone for Nextcloud is currently set to <b>{{ timezone }}</b>. You can reset the timezone again by clicking on the button below.<br><br/>
The timezone for Nextcloud is currently set to <strong>{{ timezone }}</strong>. You can change the timezone by clicking on the button below.<br><br/>
<form method="POST" action="/api/configuration" class="xhr">
<input type="hidden" name="delete_timezone" value="yes"/>
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">

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