Compare commits

...

209 Commits

Author SHA1 Message Date
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
Simon L
d55723dbea add missing indices on new installation
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-08 11:47:05 +01:00
Simon L
97b3f8465a increase to 8.0.0
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-08 10:50:24 +01:00
Simon L
f14a271bbc Merge pull request #4343 from p1gp1g/flushpackets
Disable Apache proxy buffering
2024-03-08 10:42:00 +01:00
Simon L
0eda1f9e9c Merge pull request #4344 from nextcloud/aio-helm-update
Helm Chart updates
2024-03-08 10:36:08 +01:00
szaimen
224feef3e3 Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-08 09:34:27 +00:00
S1m
1acdfe05e1 Disable Apache proxy buffering 2024-03-08 08:47:06 +01:00
Simon L
a915227029 add fpt configure
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-06 15:05:14 +01:00
Simon L
8f670a2939 Merge pull request #4337 from nextcloud/dependabot/docker/Containers/imaginary/golang-1.22.1-alpine3.18
Bump golang from 1.22.0-alpine3.18 to 1.22.1-alpine3.18 in /Containers/imaginary
2024-03-06 14:27:41 +01:00
Simon L
d1e5e3e28f Merge pull request #4336 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-23.05.9.3.1
Bump collabora/code from 23.05.9.2.1 to 23.05.9.3.1 in /Containers/collabora
2024-03-06 14:27:20 +01:00
dependabot[bot]
e13d6d73e5 Bump golang in /Containers/imaginary
Bumps golang from 1.22.0-alpine3.18 to 1.22.1-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-03-06 12:38:23 +00:00
dependabot[bot]
78c1a63dfe Bump collabora/code in /Containers/collabora
Bumps collabora/code from 23.05.9.2.1 to 23.05.9.3.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-06 12:15:37 +00:00
Simon L
17a19f0bae Merge pull request #4334 from robeatoz/add-comment-to-temporary-psql-user-ncadmin
Add note ncadmin is a temporary PostgreSQL user
2024-03-05 16:56:44 +01:00
Simon L
2978ba98c5 add one log to imaginary container so that one know that it has started
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-05 15:57:04 +01:00
Robert Zilke
0ee7928181 Add note ncadmin is a temporary PostgreSQL user 2024-03-05 15:17:24 +01:00
Simon L
27c783da9c Merge pull request #4332 from AiroPi/patch-1
Add informations about custom caddy rules.
2024-03-05 11:47:33 +01:00
Pıεяяε
48c0b74c4f add sudo to the docker command
Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: Pıεяяε <47398145+AiroPi@users.noreply.github.com>
2024-03-05 11:15:23 +01:00
Pıεяяε
faff549b53 Add informations about custom caddy rules.
Add some "documentation" on how to add custom caddy rules with the caddy community container.

Signed-off-by: Pıεяяε <47398145+AiroPi@users.noreply.github.com>
2024-03-04 20:02:30 +01:00
Simon L
8380ee5262 Merge pull request #4330 from nextcloud/imaginary-container-update
Imaginary update
2024-03-04 14:22:16 +01:00
Simon L
d750d7cfd5 Merge pull request #4329 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.3.0-41
Bump clamav/clamav from 1.3.0-40 to 1.3.0-41 in /Containers/clamav
2024-03-04 14:21:57 +01:00
szaimen
05facb91a1 imaginary-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-04 13:04:33 +00:00
dependabot[bot]
6a0432177a Bump clamav/clamav from 1.3.0-40 to 1.3.0-41 in /Containers/clamav
Bumps clamav/clamav from 1.3.0-40 to 1.3.0-41.

---
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-04 12:29:52 +00:00
Simon L
e945d5b58b Merge pull request #3906 from nextcloud/enh/noid/update-local-ai
[breaking] - update aio-local-ai to v2
2024-03-04 12:54:25 +01:00
Simon L
e7f98c0957 Merge pull request #4267 from AiroPi/main
Add a jellyfin community-container
2024-03-04 12:47:04 +01:00
Simon L
cc6486ae2f Merge pull request #4326 from nextcloud/enh/4267/caddy-host-network
caddy community container - allow to access host.docker.internal
2024-03-04 12:43:05 +01:00
Simon L
64b1951f4f Merge pull request #4314 from nextcloud/enh/4298/namespace-improvement
helm - only add namespace if it is not default
2024-03-04 12:20:36 +01:00
Simon L
78b0e0042b Merge pull request #4325 from nextcloud/enh/2591/add-imaginary-key
secure imaginary with imaginary_key
2024-03-04 12:05:35 +01:00
Simon L
2416b85f9d caddy community container - allow to access host.docker.internal
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-04 12:04:05 +01:00
Simon L
fd3f6d9018 secure imaginary with imaginary_key
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-04 11:48:21 +01:00
Simon L
6bc2d1d6ae Merge pull request #4324 from nextcloud/enh/noid/set-maintenance-window
nextcloud - set maintenance_window_start
2024-03-04 11:27:09 +01:00
Simon L
75eb2fd7aa nextcloud - set maintenance_window_start
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-04 11:25:30 +01:00
Simon L
edb70a1471 Merge pull request #4323 from nextcloud/enh/4123/drop-proxy-sendcl
apache - drop SetEnv proxy-sendcl 1
2024-03-04 11:19:37 +01:00
Simon L
c844b4dbef apache - drop SetEnv proxy-sendcl 1
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-04 11:18:29 +01:00
Simon L
b866fe25db address review
Signed-off-by: Simon L <szaimen@e.mail.de>

Co-authored-by: Richard Steinmetz <richard@steinmetz.cloud>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-03-04 11:16:23 +01:00
Simon L
973d503212 Merge pull request #4322 from nextcloud/enh/3888/remove-upgrade-hint
remove 28 upgrade hint from AIO interface
2024-03-04 11:10:31 +01:00
Simon L
fea71433c8 remove upgrade hint from AIO interface
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-04 11:08:08 +01:00
Simon L
45e87ca05a Merge pull request #4320 from nextcloud/enh/2534/update-to-php8.2
update nextcloud container to php8.2
2024-03-04 11:06:36 +01:00
Simon L
15e69ec433 Merge pull request #4321 from nextcloud/enh/3888/update-nc
update Nextcloud to 28.0.3
2024-03-04 11:05:36 +01:00
Simon L
b54ff9503a update Nextcloud to 28.0.3
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-04 11:04:22 +01:00
Simon L
995fca1ba6 update nextcloud container to php8.2
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-04 11:01:11 +01:00
Simon L
4c7f842cb2 Merge pull request #4318 from nextcloud/enh/4265/update-mastercontainer
update mastercontainer to php8.3
2024-03-04 10:56:14 +01:00
Simon L
f7eaa74768 Merge pull request #4316 from nextcloud/enh/3888/increase-aio-version
increase version of aio app
2024-03-04 10:55:59 +01:00
Simon L
b5469ad372 update mastercontainer to php8.3
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-04 10:49:42 +01:00
Simon L
48f6d8317a increase version of aio app
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-04 10:40:23 +01:00
Simon L
f0bf35e57c helm - only add namespace if it is not default
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-04 10:36:52 +01:00
Simon L
d8e3c83afc Merge pull request #4312 from nextcloud/enh/4297/adjust-strategy
helm chart - adjust strategy to recreate
2024-03-04 10:12:34 +01:00
Simon L
1f2920633d helm chart - adjust strategy to recreate
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-04 10:11:37 +01:00
Simon L
7254120e6c Merge pull request #4302 from FaySmash/patch-1
Fixed replace statement
2024-03-02 00:51:40 +01:00
FaySmash
0808ab7dca Fixed replace statement
Signed-off-by: FaySmash <30392780+FaySmash@users.noreply.github.com>
2024-03-01 19:46:59 +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
Pıεяяε
99a0069460 Updated README for Jellyfin, Plex, and Caddy
- Added incompatibilities between Jellyfin and Plex.
- Included note about Caddy handling `media.$NC_DOMAIN`.
- Added information about setting up a reverse proxy.
- Included security notice for Jellyfin initial setup.

Signed-off-by: Pıεяяε <47398145+AiroPi@users.noreply.github.com>
2024-02-23 16:39:34 +00:00
Pıεяяε
187d86619a Change Plex to Jellyfin in the readme
Oops, my copy/paste is spotted

Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: Pıεяяε <47398145+AiroPi@users.noreply.github.com>
2024-02-23 16:39:34 +00:00
AiroPi
9ac868f636 Add jellyfin community-container
Signed-off-by: AiroPi <47398145+AiroPi@users.noreply.github.com>
Signed-off-by: Pıεяяε <47398145+AiroPi@users.noreply.github.com>
2024-02-23 16:39:34 +00:00
Simon L
c603b17625 [breaking] - update aio-local-ai to v2
Breaking because they no longer ship Arm64 images and thus it can no longer run on arm64 and would fail to start in that case.
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-08 14:43:46 +01:00
76 changed files with 623 additions and 145 deletions

1
.gitattributes vendored Normal file
View File

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

View File

@@ -13,7 +13,7 @@ jobs:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: 8.2
php-version: 8.3
extensions: apcu
- name: Run dependency update script
run: |

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

@@ -27,16 +27,16 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: [ "8.2" ]
php-versions: [ "8.3" ]
name: php-lint
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

@@ -17,10 +17,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up php8.2
- name: Set up php
uses: shivammathur/setup-php@v2
with:
php-version: 8.2
php-version: 8.3
extensions: apcu
coverage: none

View File

@@ -12,10 +12,10 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up php8.2
- name: Set up php
uses: shivammathur/setup-php@v2
with:
php-version: 8.2
php-version: 8.3
extensions: apcu
coverage: none

View File

@@ -23,15 +23,15 @@ 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.2
php-version: 8.3
extensions: apcu
coverage: none
ini-file: development

View File

@@ -29,7 +29,7 @@ jobs:
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v2
with:
php-version: 8.2
php-version: 8.3
extensions: apcu
coverage: none

View File

@@ -1,7 +1,7 @@
# syntax=docker/dockerfile:latest
FROM caddy:2.7.6-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

@@ -14,6 +14,9 @@ Listen 8000
SetHandler "proxy:fcgi://${NEXTCLOUD_HOST}:9000"
</FilesMatch>
<Proxy "fcgi://${NEXTCLOUD_HOST}:9000" flushpackets=on>
</Proxy>
# Enable Brotli compression for js, css and svg files - other plain files are compressed by Nextcloud by default
<IfModule mod_brotli.c>
AddOutputFilterByType BROTLI_COMPRESS text/javascript application/javascript application/x-javascript text/css image/svg+xml

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-40
FROM clamav/clamav:1.3.1-49
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,15 @@
# 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.2.1
FROM collabora/code:24.04.1.4.1
USER root
ARG DEBIAN_FRONTEND noninteractive
# hadolint ignore=DL3008
RUN set -ex; \
\
apt-get update; \
export DEBIAN_FRONTEND=noninteractive; \
apt-get upgrade -y; \
apt-get install -y --no-install-recommends \
tzdata \
netcat-openbsd \

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,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; \

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.13.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 \
; \

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM golang:1.22.0-alpine3.18 as go
FROM golang:1.22.2-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 \
@@ -23,9 +24,11 @@ RUN set -ex; \
vips-magick \
vips-heif \
vips-jxl \
vips-poppler
vips-poppler \
bash
COPY --from=go /go/bin/imaginary /usr/local/bin/imaginary
COPY --chmod=775 start.sh /start.sh
ENV PORT 9000
@@ -33,7 +36,7 @@ USER nobody
# https://github.com/h2non/imaginary#memory-issues
ENV MALLOC_ARENA_MAX=2
ENTRYPOINT ["imaginary", "-return-size", "-max-allowed-resolution", "222.2"]
ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD nc -z localhost "$PORT" || exit 1
LABEL com.centurylinklabs.watchtower.enable="false"

View File

@@ -0,0 +1,8 @@
#!/bin/bash
echo "Imaginary has started"
if [ -z "$IMAGINARY_SECRET" ]; then
imaginary -return-size -max-allowed-resolution 222.2 "$@"
else
imaginary -return-size -max-allowed-resolution 222.2 -key "$IMAGINARY_SECRET" "$@"
fi

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.0-cli as docker
# Caddy is a requirement
FROM caddy:2.7.6-alpine as caddy
# From https://github.com/docker-library/php/blob/master/8.2/alpine3.19/fpm/Dockerfile
FROM php:8.2.16-fpm-alpine3.19
# From https://github.com/docker-library/php/blob/master/8.3/alpine3.19/fpm/Dockerfile
FROM php:8.3.6-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

@@ -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"
@@ -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.1.27-fpm-alpine3.19
FROM php:8.2.18-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 27.1.7
ENV NEXTCLOUD_VERSION 28.0.5
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 \
@@ -58,6 +61,7 @@ RUN set -ex; \
; \
\
docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp; \
docker-php-ext-configure ftp --with-openssl-dir=/usr; \
docker-php-ext-configure ldap; \
docker-php-ext-install -j "$(nproc)" \
bcmath \
@@ -116,6 +120,14 @@ RUN set -ex; \
echo 'max_input_time=${PHP_MAX_TIME}'; \
} > /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; \
@@ -169,6 +181,7 @@ RUN set -ex; \
bz2 \
imap \
pgsql \
ftp \
; \
pecl install smbclient; \
docker-php-ext-enable smbclient; \
@@ -186,6 +199,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 \
@@ -201,6 +216,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,17 +19,6 @@ 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
# Check permissions in ncdata
touch "$NEXTCLOUD_DATA_DIR/this-is-a-test-file" &>/dev/null
if ! [ -f "$NEXTCLOUD_DATA_DIR/this-is-a-test-file" ]; then
@@ -327,6 +316,8 @@ DATADIR_PERMISSION_CONF
# Apply other settings
echo "Applying other settings..."
# Add missing indices after new installation because they seem to be missing on new installation
php /var/www/html/occ db:add-missing-indices
php /var/www/html/occ config:system:set upgrade.disable-web --type=bool --value=true
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"
@@ -490,6 +481,10 @@ php /var/www/html/occ config:system:set updatedirectory --value="/nc-updater"
if [ -n "$SERVERINFO_TOKEN" ] && [ -z "$(php /var/www/html/occ config:app:get serverinfo token)" ]; then
php /var/www/html/occ config:app:set serverinfo token --value="$SERVERINFO_TOKEN"
fi
# Set maintenance window so that no warning is shown in the admin overview
if [ -z "$(php /var/www/html/occ config:system:get maintenance_window_start)" ]; then
php /var/www/html/occ config:system:set maintenance_window_start --type=int --value=100
fi
# Apply network settings
echo "Applying network settings..."
@@ -503,6 +498,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
@@ -537,6 +540,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
@@ -544,6 +555,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
@@ -551,10 +567,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
@@ -565,7 +581,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
@@ -576,7 +592,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'
@@ -623,6 +639,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
@@ -632,15 +657,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
@@ -699,6 +725,7 @@ fi
if [ "$IMAGINARY_ENABLED" = 'yes' ]; then
php /var/www/html/occ config:system:set enabledPreviewProviders 0 --value="OC\\Preview\\Imaginary"
php /var/www/html/occ config:system:set preview_imaginary_url --value="http://$IMAGINARY_HOST:9000"
php /var/www/html/occ config:system:set preview_imaginary_key --value="$IMAGINARY_SECRET"
else
if [ -n "$(php /var/www/html/occ config:system:get preview_imaginary_url)" ]; then
php /var/www/html/occ config:system:delete enabledPreviewProviders 0

View File

@@ -56,7 +56,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

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

@@ -7,6 +7,7 @@ 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

@@ -5,6 +5,7 @@ FROM redis:7.2.4-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

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM python:3.12.2-alpine3.19
FROM python:3.12.3-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 \

View File

@@ -1,10 +1,10 @@
# syntax=docker/dockerfile:latest
FROM nats:2.10.11-scratch as nats
FROM nats:2.10.14-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.2.4 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

@@ -221,6 +221,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

@@ -56,6 +56,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 +88,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 +97,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.4.0</version>
<version>0.5.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="26" max-version="27"/>
<nextcloud min-version="27" max-version="28"/>
</dependencies>
<settings>

View File

@@ -1,5 +1,5 @@
## 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.
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!
@@ -7,6 +7,7 @@ This container bundles caddy and auto-configures it for you. It also covers http
- 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.
- 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
### Repository

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

@@ -0,0 +1,39 @@
{
"aio_services_v1": [
{
"container_name": "nextcloud-aio-jellyfin",
"display_name": "Jellyfin",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin",
"image": "jellyfin/jellyfin",
"image_tag": "latest",
"internal_port": "host",
"restart": "unless-stopped",
"environment": [
"TZ=%TIMEZONE%"
],
"volumes": [
{
"source": "nextcloud_aio_jellyfin",
"destination": "/config",
"writeable": true
},
{
"source": "%NEXTCLOUD_DATADIR%",
"destination": "/media",
"writeable": false
},
{
"source": "%NEXTCLOUD_MOUNT%",
"destination": "%NEXTCLOUD_MOUNT%",
"writeable": false
}
],
"devices": [
"/dev/dri"
],
"backup_volumes": [
"nextcloud_aio_jellyfin"
]
}
]
}

View File

@@ -0,0 +1,20 @@
## Jellyfin
This container bundles Jellyfin and auto-configures it for you.
### Notes
- 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.
### Repository
https://github.com/jellyfin/jellyfin
### Maintainer
https://github.com/airopi

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,70 @@
## 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 password that you can retrieve via `sudo docker inspect nextcloud-aio-lldap | grep LLDAP_JWT_SECRET`.
- Also, you need to run the following script one time in order to activate the ldap config in nextcloud so that Nextcloud uses lldap as user backend. You can see a [nextcloud example configuration provide by LLDAP](https://github.com/lldap/lldap/blob/main/example_configs/nextcloud.md)<br>
First, you need to retrieve the LLDAP admin password via `sudo docker inspect nextcloud-aio-lldap | grep LLDAP_LDAP_USER_PASS`. This will be used later on which you need to type in or copy and paste.
```bash
# Now go into the container
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)
# Set the ldap password
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapAgentPassword "<your-password>"
# Set the ldap config
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapAgentName "uid=ro_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" ldapBaseGroups "$BASE_DN"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapBaseUsers "$BASE_DN"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapCacheTTL 600
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapConfigurationActive 1
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapEmailAttribute "mail"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapExperiencedAdmin 0
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapGidNumber "gidNumber"
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" ldapGroupFilterGroups ""
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" ldapHost "nextcloud-aio-lldap"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapLoginFilterAttributes "uid"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapLoginFilterEmail 0
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapLoginFilterUsername 1
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapMatchingRuleInChainState "unknown"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapNestedGroups 0
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapPagingSize 500
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" ldapUserAvatarRule "default"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapUserDisplayName "displayname"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapUserFilter "(&(objectClass=person)(uid=%uid))"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapUserFilterMode 1
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapUserFilterObjectclass "person"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapUuidGroupAttribute "auto"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapUuidUserAttribute "auto"
php /var/www/html/occ ldap:set-config "$CONF_NAME" turnOnPasswordChange 0
# Test the ldap config
php /var/www/html/occ ldap:test-config "$NAME"
# Exit the container shell
exit
```
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository
https://github.com/lldap/lldap
### Maintainer
https://github.com/docjyj

View File

@@ -5,7 +5,7 @@
"display_name": "Local AI",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/local-ai",
"image": "szaimen/aio-local-ai",
"image_tag": "v1",
"image_tag": "v2",
"internal_port": "8080",
"restart": "unless-stopped",
"environment": [

View File

@@ -2,7 +2,8 @@
This container bundles Local AI and auto-configures it for you.
### Notes
- Make sure to have enough storage space available. This container alone needs ~14GB storage on x64, on arm64 only ~4GB. Every model that you add to `models.yaml` will of course use additional space which adds up quite fast.
- 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.
- 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

View File

@@ -2,8 +2,10 @@
This container bundles Plex and auto-configures it for you.
### Notes
- 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

@@ -9,13 +9,13 @@ All containers that are in this directory are community maintained so the respon
## 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

@@ -149,6 +149,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:
@@ -322,6 +323,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

@@ -33,7 +33,7 @@ The procedure for migrating the files and the database works like this:
```
1. Create a new database by running:
```
export PG_USER="ncadmin"
export PG_USER="ncadmin" # This is a temporary user that gets created for the dump but is then overwritten by the correct one later on
export PG_PASSWORD="my-temporary-password"
export PG_DATABASE="nextcloud_db"
sudo -u postgres psql <<END
@@ -69,7 +69,7 @@ The procedure for migrating the files and the database works like this:
1. Now save the file by pressing `[CTRL] + [o]` then `[ENTER]` and close nano by pressing `[CTRL] + [x]`
1. In order to make sure that everything is good, you can now run `grep "/your/old/datadir" database-dump.sql` which should not bring up further results.<br>
1. **Please note:** Unfortunately it is not possible to import a database dump from a former database owner with the name `nextcloud`. You can check if that is the case with this command: `grep "Name: oc_appconfig; Type: TABLE; Schema: public; Owner:" database-dump.sql | grep -oP 'Owner:.*$' | sed 's|Owner:||;s| ||g'`. If it returns `nextcloud`, you need to rename the owner in the dump file manually. A command like the following should work, however please note that it is possible that it will overwrite wrong lines. You can thus first check which lines it will change with `grep "Owner: nextcloud$" database-dump.sql`. If only correct looking lines get returned, feel free to change them with `sed -i 's|Owner: nextcloud$|Owner: ncadmin|' database-dump.sql`.
The same applies for the second statement, check with `grep " OWNER TO nextcloud;$" database-dump.sql` and replace with `sed -i 's| OWNER TO nextcloud;$| OWNER TO ncadmin;$|' database-dump.sql`.
The same applies for the second statement, check with `grep " OWNER TO nextcloud;$" database-dump.sql` and replace with `sed -i 's| OWNER TO nextcloud;$| OWNER TO ncadmin;|' database-dump.sql`.
1. Next, copy the database dump into the correct place and prepare the database container which will import from the database dump automatically the next container start:
```
sudo docker run --rm --volume nextcloud_aio_database_dump:/mnt/data:rw alpine rm /mnt/data/database-dump.sql

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.0
version: 8.2.0
apiVersion: v2
keywords:
- latest

View File

@@ -13,6 +13,8 @@ spec:
selector:
matchLabels:
io.kompose.service: nextcloud-aio-apache
strategy:
type: Recreate
template:
metadata:
annotations:
@@ -24,7 +26,11 @@ spec:
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"
@@ -59,13 +65,17 @@ spec:
value: nextcloud-aio-talk
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-apache:20240228_172209-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-apache:20240424_101241-latest"
name: nextcloud-aio-apache
ports:
- containerPort: {{ .Values.APACHE_PORT }}
protocol: TCP
- containerPort: {{ .Values.APACHE_PORT }}
protocol: UDP
securityContext:
capabilities:
drop:
- NET_RAW
volumeMounts:
- mountPath: /var/www/html
name: nextcloud-aio-nextcloud

View File

@@ -14,6 +14,8 @@ spec:
selector:
matchLabels:
io.kompose.service: nextcloud-aio-clamav
strategy:
type: Recreate
template:
metadata:
annotations:
@@ -25,7 +27,11 @@ spec:
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"
@@ -35,7 +41,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
@@ -50,11 +60,15 @@ spec:
value: "90"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-clamav:20240228_172209-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-clamav:20240424_101241-latest"
name: nextcloud-aio-clamav
ports:
- containerPort: 3310
protocol: TCP
securityContext:
capabilities:
drop:
- NET_RAW
volumeMounts:
- mountPath: /var/lib/clamav
subPath: data

View File

@@ -37,7 +37,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:20240228_172209-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-collabora:20240424_101241-latest"
name: nextcloud-aio-collabora
ports:
- containerPort: 9980
@@ -46,4 +46,6 @@ spec:
capabilities:
add:
- MKNOD
drop:
- NET_RAW
{{- end }}

View File

@@ -13,6 +13,8 @@ spec:
selector:
matchLabels:
io.kompose.service: nextcloud-aio-database
strategy:
type: Recreate
template:
metadata:
annotations:
@@ -24,7 +26,11 @@ spec:
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 +43,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
@@ -61,11 +71,15 @@ spec:
value: nextcloud
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-postgresql:20240228_172209-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-postgresql:20240424_101241-latest"
name: nextcloud-aio-database
ports:
- containerPort: 5432
protocol: TCP
securityContext:
capabilities:
drop:
- NET_RAW
volumeMounts:
- mountPath: /var/lib/postgresql/data
subPath: data

View File

@@ -14,6 +14,8 @@ spec:
selector:
matchLabels:
io.kompose.service: nextcloud-aio-fulltextsearch
strategy:
type: Recreate
template:
metadata:
annotations:
@@ -25,7 +27,11 @@ spec:
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"
@@ -55,11 +61,15 @@ spec:
value: basic
- name: xpack.security.enabled
value: "false"
image: nextcloud/aio-fulltextsearch:20240228_172209-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-fulltextsearch:20240424_101241-latest"
name: nextcloud-aio-fulltextsearch
ports:
- containerPort: 9200
protocol: TCP
securityContext:
capabilities:
drop:
- NET_RAW
volumeMounts:
- mountPath: /usr/share/elasticsearch/data
name: nextcloud-aio-elasticsearch

View File

@@ -25,9 +25,11 @@ spec:
spec:
containers:
- env:
- name: IMAGINARY_SECRET
value: "{{ .Values.IMAGINARY_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-imaginary:20240228_172209-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-imaginary:20240424_101241-latest"
name: nextcloud-aio-imaginary
ports:
- containerPort: 9000
@@ -36,4 +38,6 @@ spec:
capabilities:
add:
- SYS_NICE
drop:
- NET_RAW
{{- end }}

View File

@@ -1,5 +1,7 @@
{{- if ne .Values.NAMESPACE "default" }}
apiVersion: v1
kind: Namespace
metadata:
name: "{{ .Values.NAMESPACE }}"
namespace: "{{ .Values.NAMESPACE }}"
{{- end }}

View File

@@ -13,6 +13,8 @@ spec:
selector:
matchLabels:
io.kompose.service: nextcloud-aio-nextcloud
strategy:
type: Recreate
template:
metadata:
annotations:
@@ -24,7 +26,11 @@ spec:
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"
@@ -35,7 +41,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"
@@ -102,6 +112,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
@@ -158,13 +170,17 @@ spec:
value: "{{ .Values.TIMEZONE }}"
- name: UPDATE_NEXTCLOUD_APPS
value: "{{ .Values.UPDATE_NEXTCLOUD_APPS }}"
image: nextcloud/aio-nextcloud:20240228_172209-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-nextcloud:20240424_101241-latest"
name: nextcloud-aio-nextcloud
ports:
- containerPort: 9000
protocol: TCP
- containerPort: 9001
protocol: TCP
securityContext:
capabilities:
drop:
- NET_RAW
volumeMounts:
- mountPath: /var/www/html
name: nextcloud-aio-nextcloud

View File

@@ -13,6 +13,8 @@ spec:
selector:
matchLabels:
io.kompose.service: nextcloud-aio-notify-push
strategy:
type: Recreate
template:
metadata:
annotations:
@@ -24,7 +26,11 @@ spec:
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"
@@ -50,11 +56,15 @@ spec:
value: nextcloud-aio-redis
- name: REDIS_HOST_PASSWORD
value: "{{ .Values.REDIS_PASSWORD }}"
image: nextcloud/aio-notify-push:20240228_172209-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-notify-push:20240424_101241-latest"
name: nextcloud-aio-notify-push
ports:
- containerPort: 7867
protocol: TCP
securityContext:
capabilities:
drop:
- NET_RAW
volumeMounts:
- mountPath: /nextcloud
name: nextcloud-aio-nextcloud

View File

@@ -14,6 +14,8 @@ spec:
selector:
matchLabels:
io.kompose.service: nextcloud-aio-onlyoffice
strategy:
type: Recreate
template:
metadata:
annotations:
@@ -25,7 +27,11 @@ spec:
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"
@@ -43,11 +49,15 @@ spec:
value: "{{ .Values.ONLYOFFICE_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-onlyoffice:20240228_172209-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-onlyoffice:20240424_101241-latest"
name: nextcloud-aio-onlyoffice
ports:
- containerPort: 80
protocol: TCP
securityContext:
capabilities:
drop:
- NET_RAW
volumeMounts:
- mountPath: /var/lib/onlyoffice
name: nextcloud-aio-onlyoffice

View File

@@ -13,6 +13,8 @@ spec:
selector:
matchLabels:
io.kompose.service: nextcloud-aio-redis
strategy:
type: Recreate
template:
metadata:
annotations:
@@ -24,7 +26,11 @@ spec:
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"
@@ -38,11 +44,15 @@ spec:
value: "{{ .Values.REDIS_PASSWORD }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-redis:20240228_172209-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-redis:20240424_101241-latest"
name: nextcloud-aio-redis
ports:
- containerPort: 6379
protocol: TCP
securityContext:
capabilities:
drop:
- NET_RAW
volumeMounts:
- mountPath: /data
name: nextcloud-aio-redis

View File

@@ -25,6 +25,10 @@ spec:
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
@@ -37,7 +41,7 @@ spec:
value: "{{ .Values.TURN_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-talk:20240228_172209-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-talk:20240424_101241-latest"
name: nextcloud-aio-talk
ports:
- containerPort: {{ .Values.TALK_PORT }}
@@ -46,4 +50,8 @@ spec:
protocol: UDP
- containerPort: 8081
protocol: TCP
securityContext:
capabilities:
drop:
- NET_RAW
{{- end }}

View File

@@ -33,9 +33,13 @@ spec:
value: "{{ .Values.RECORDING_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-talk-recording:20240228_172209-latest
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-talk-recording:20240424_101241-latest"
name: nextcloud-aio-talk-recording
ports:
- containerPort: 1234
protocol: TCP
securityContext:
capabilities:
drop:
- NET_RAW
{{- end }}

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"
@@ -214,14 +242,14 @@ find ./ -name '*service.yaml' -exec sed -i "/^spec:/a\ \ ipFamilyPolicy: PreferD
# shellcheck disable=SC1083
find ./ -name '*.yaml' -exec sed -i "s|'{{|\"{{|g;s|}}'|}}\"|g" \{} \;
# shellcheck disable=SC1083
find ./ -name '*.yaml' -exec sed -i "/type: Recreate/d" \{} \;
# shellcheck disable=SC1083
find ./ -name '*.yaml' -exec sed -i "/strategy:/d" \{} \;
# shellcheck disable=SC1083
find ./ \( -not -name '*service.yaml' -name '*.yaml' \) -exec sed -i "/^status:/d" \{} \;
# shellcheck disable=SC1083
find ./ \( -not -name '*persistentvolumeclaim.yaml' -name '*.yaml' \) -exec sed -i "/resources:/d" \{} \;
# shellcheck disable=SC1083
find ./ -name "*namespace.yaml" -exec sed -i "1i\\{{- if ne .Values.NAMESPACE \"default\" }}" \{} \;
# shellcheck disable=SC1083
find ./ -name "*namespace.yaml" -exec sed -i "$ a {{- end }}" \{} \;
# shellcheck disable=SC1083
find ./ -name '*.yaml' -exec sed -i "/creationTimestamp: null/d" \{} \;
VOLUMES="$(find ./ -name '*persistentvolumeclaim.yaml' | sed 's|-persistentvolumeclaim.yaml||g;s|.*nextcloud-aio-||g' | sort)"
mapfile -t VOLUMES <<< "$VOLUMES"
@@ -272,6 +300,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/
@@ -326,6 +366,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!
@@ -60,3 +61,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.

View File

@@ -5,7 +5,7 @@
}
},
"require": {
"php": "8.2.*",
"php": "8.3.*",
"ext-json": "*",
"ext-sodium": "*",
"ext-curl": "*",
@@ -22,6 +22,6 @@
"psalm": "psalm --threads=1",
"psalm:update-baseline": "psalm --threads=1 --update-baseline",
"lint": "find . -name \\*.php -not -path './vendor/*' -exec php -l {} \\;",
"php-deprecation-detector": "find . -name \\*.php -not -path './vendor/*' -exec phpdd scan {} -n -t 8.2 \\;"
"php-deprecation-detector": "find . -name \\*.php -not -path './vendor/*' -exec phpdd scan {} -n -t 8.3 \\;"
}
}

49
php/composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "b0074cfbf6b5cde6d6d2207286ad2e85",
"content-hash": "4dcdd3b6df3f2041895d4db74bd45102",
"packages": [
{
"name": "guzzlehttp/guzzle",
@@ -1148,16 +1148,16 @@
},
{
"name": "slim/slim",
"version": "4.12.0",
"version": "4.13.0",
"source": {
"type": "git",
"url": "https://github.com/slimphp/Slim.git",
"reference": "e9e99c2b24398b967841c6c4c3048622cc7e2b18"
"reference": "038fd5713d5a41636fdff0e8dcceedecdd17fc17"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/slimphp/Slim/zipball/e9e99c2b24398b967841c6c4c3048622cc7e2b18",
"reference": "e9e99c2b24398b967841c6c4c3048622cc7e2b18",
"url": "https://api.github.com/repos/slimphp/Slim/zipball/038fd5713d5a41636fdff0e8dcceedecdd17fc17",
"reference": "038fd5713d5a41636fdff0e8dcceedecdd17fc17",
"shasum": ""
},
"require": {
@@ -1166,7 +1166,7 @@
"php": "^7.4 || ^8.0",
"psr/container": "^1.0 || ^2.0",
"psr/http-factory": "^1.0",
"psr/http-message": "^1.1",
"psr/http-message": "^1.1 || ^2.0",
"psr/http-server-handler": "^1.0",
"psr/http-server-middleware": "^1.0",
"psr/log": "^1.1 || ^2.0 || ^3.0"
@@ -1174,19 +1174,19 @@
"require-dev": {
"adriansuter/php-autoload-override": "^1.4",
"ext-simplexml": "*",
"guzzlehttp/psr7": "^2.5",
"guzzlehttp/psr7": "^2.6",
"httpsoft/http-message": "^1.1",
"httpsoft/http-server-request": "^1.1",
"laminas/laminas-diactoros": "^2.17",
"laminas/laminas-diactoros": "^2.17 || ^3",
"nyholm/psr7": "^1.8",
"nyholm/psr7-server": "^1.0",
"phpspec/prophecy": "^1.17",
"phpspec/prophecy-phpunit": "^2.0",
"nyholm/psr7-server": "^1.1",
"phpspec/prophecy": "^1.19",
"phpspec/prophecy-phpunit": "^2.1",
"phpstan/phpstan": "^1.10",
"phpunit/phpunit": "^9.6",
"slim/http": "^1.3",
"slim/psr7": "^1.6",
"squizlabs/php_codesniffer": "^3.7"
"squizlabs/php_codesniffer": "^3.9"
},
"suggest": {
"ext-simplexml": "Needed to support XML format in BodyParsingMiddleware",
@@ -1259,7 +1259,7 @@
"type": "tidelift"
}
],
"time": "2023-07-23T04:54:29+00:00"
"time": "2024-03-03T21:25:30+00:00"
},
{
"name": "slim/twig-view",
@@ -1710,30 +1710,37 @@
},
{
"name": "twig/twig",
"version": "v3.8.0",
"version": "v3.9.3",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "9d15f0ac07f44dc4217883ec6ae02fd555c6f71d"
"reference": "a842d75fed59cdbcbd3a3ad7fb9eb768fc350d58"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/9d15f0ac07f44dc4217883ec6ae02fd555c6f71d",
"reference": "9d15f0ac07f44dc4217883ec6ae02fd555c6f71d",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/a842d75fed59cdbcbd3a3ad7fb9eb768fc350d58",
"reference": "a842d75fed59cdbcbd3a3ad7fb9eb768fc350d58",
"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.9.3"
},
"funding": [
{
@@ -1778,7 +1785,7 @@
"type": "tidelift"
}
],
"time": "2023-11-21T18:54:41+00:00"
"time": "2024-04-18T11:59:33+00:00"
}
],
"packages-dev": [],
@@ -1788,7 +1795,7 @@
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
"php": "8.2.*",
"php": "8.3.*",
"ext-json": "*",
"ext-sodium": "*",
"ext-curl": "*",

View File

@@ -146,7 +146,8 @@
"NEXTCLOUD_PASSWORD",
"TURN_SECRET",
"SIGNALING_SECRET",
"FULLTEXTSEARCH_PASSWORD"
"FULLTEXTSEARCH_PASSWORD",
"IMAGINARY_SECRET"
],
"volumes": [
{
@@ -220,7 +221,8 @@
"APACHE_PORT=%APACHE_PORT%",
"APACHE_IP_BINDING=%APACHE_IP_BINDING%",
"ADDITIONAL_TRUSTED_PROXY=%CADDY_IP_ADDRESS%",
"THIS_IS_AIO=true"
"THIS_IS_AIO=true",
"IMAGINARY_SECRET=%IMAGINARY_SECRET%"
],
"stop_grace_period": 600,
"restart": "unless-stopped",
@@ -646,7 +648,8 @@
],
"internal_port": "9000",
"environment": [
"TZ=%TIMEZONE%"
"TZ=%TIMEZONE%",
"IMAGINARY_SECRET=%IMAGINARY_SECRET%"
],
"restart": "unless-stopped",
"cap_add": [
@@ -664,6 +667,9 @@
"read_only": true,
"tmpfs": [
"/tmp"
],
"secrets": [
"IMAGINARY_SECRET"
]
},
{

View File

@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="5.22.2@d768d914152dbbf3486c36398802f74e80cfde48"/>
<files psalm-version="5.23.1@8471a896ccea3526b26d082f4461eeea467f10a4"/>

View File

@@ -173,7 +173,7 @@ class DockerController
}
if (isset($request->getParsedBody()['install_latest_major'])) {
$installLatestMajor = 28;
$installLatestMajor = 29;
} else {
$installLatestMajor = "";
}

View File

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

@@ -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') {
@@ -566,6 +568,9 @@ class DockerActionManager
}
$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'];
}
if (count($mounts) > 0) {
@@ -876,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,7 +16,7 @@
</header>
<div class="content">
<h1>Nextcloud AIO v7.13.1</h1>
<h1>Nextcloud AIO v8.2.1</h1>
{# Add 2nd tab warning #}
<script type="text/javascript" src="second-tab-warning.js"></script>
@@ -28,7 +28,7 @@
{% set isBackupOrRestoreRunning = false %}
{% set isApacheStarting = false %}
{# Setting newMajorVersion to '' will hide corresponding options/elements, can be set to an integer like 26 in order to show corresponding elements. If set, also increase installLatestMajor in https://github.com/nextcloud/all-in-one/blob/main/php/src/Controller/DockerController.php #}
{% set newMajorVersion = 28 %}
{% set newMajorVersion = 29 %}
{% if is_backup_container_running == true %}
{% if borg_backup_mode == 'backup' or borg_backup_mode == 'restore' %}
@@ -153,7 +153,7 @@
<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 from backup. Please note that the current AIO password will be kept and the previous AIO password will not be restored from 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}}">
@@ -292,7 +292,7 @@
{% 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/>
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/4542">this documentation</a></b><br/>
</details><br>
{% endif %}
{% endif %}
@@ -494,7 +494,7 @@
<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 %}

View File

@@ -119,7 +119,8 @@ The following instructions are meant for installations without a web server or r
Note: You may be interested in adjusting Nextclouds datadir to store the files in a different location than the default docker volume. See [this documentation](https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir) on how to do it.
3. After the initial startup, you should be able to open the Nextcloud AIO Interface now on port 8080 of this server.<br>
E.g. `https://ip.address.of.this.server:8080`<br><br>
E.g. `https://ip.address.of.this.server:8080`<br>
⚠️ **Important:** do always use an ip-address if you access this port and not a domain as HSTS might block access to it later! (It is also expected that this port uses a self-signed certificate due to security concerns which you need to accept in your browser)<br><br>
If your firewall/router has port 80 and 8443 open/forwarded and you point a domain to your server, you can get a valid certificate automatically by opening the Nextcloud AIO Interface via:<br>
`https://your-domain-that-points-to-this-server.tld:8443`
4. Please do not forget to open port `3478/TCP` and `3478/UDP` in your firewall/router for the Talk container!
@@ -143,7 +144,7 @@ Only those (if you access the Mastercontainer Interface internally via port 8080
- `3478/TCP` and `3478/UDP` for the Talk container
### Explanation of used ports:
- `8080/TCP`: Mastercontainer Interface with self-signed certificate (works always, also if only access via IP-address is possible, e.g. `https://ip.address.of.this.server:8080/`)
- `8080/TCP`: Mastercontainer Interface with self-signed certificate (works always, also if only access via IP-address is possible, e.g. `https://ip.address.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! (It is also expected that this port uses a self-signed certificate due to security concerns which you need to accept in your browser)
- `80/TCP`: redirects to Nextcloud (is used for getting the certificate via ACME http-challenge for the Mastercontainer)
- `8443/TCP`: Mastercontainer Interface with valid certificate (only works if port 80 and 8443 are open/forwarded in your firewall/router and you point a domain to your server. It generates a valid certificate then automatically and access via e.g. `https://public.domain.com:8443/` is possible.)
- `443/TCP`: will be used by the Apache container later on and needs to be open/forwarded in your firewall/router
@@ -322,6 +323,11 @@ If your Nextcloud is running and you are logged in as admin in your Nextcloud, y
If you set up a new AIO instance, you need to enter a domain. Currently there is no way to change this domain afterwards from the AIO interface. So in order to change it, you need to edit the configuration.json manually using `sudo docker run -it --rm --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config:rw alpine sh -c "apk add --no-cache nano && nano /mnt/docker-aio-config/data/configuration.json"`, substitute each occurrence of your old domain with your new domain and save and write out the file. Afterwards restart your containers from the AIO interface and everything should work as expected if the new domain is correctly configured.<br>
If you are running AIO behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else), you need to obviously also change the domain in your reverse proxy config.
Additionally, after restarting the containers, you need to open the admin settings and update some values manually that cannot be changed automatically. Here is a list of some known places:
- `https://your-nc-domain.com/settings/admin/talk` for Turn/Stun server and Signaling Server if you enabled Talk via the AIO interface
- `https://your-nc-domain.com/settings/admin/theming` for the theming URL
- `https://your-nc-domain.com/settings/admin/app_api` for the deploy daemon if you enabled the App API via the AIO interface
### How to properly reset the instance?
If something goes unexpected routes during the initial installation, you might want to reset the AIO installation to be able to start from scratch.
@@ -386,6 +392,7 @@ Not directly but you have multiple options to achieve this:
- Mount a network FS like SSHFS, SMB or NFS in the directory that you enter in AIO as backup directory
- Use rsync or rclone for syncing the borg backup archive that AIO creates locally to a remote target (make sure to lock the backup archive correctly before starting the sync; search for "aio-lockfile"; you can find a local example script here: https://github.com/nextcloud/all-in-one#sync-the-backup-regularly-to-another-drive)
- You can find a well written guide that uses rclone and e.g. BorgBase for remote backups here: https://github.com/nextcloud/all-in-one/discussions/2247
- Here is another one that utilizes borgmatic and BorgBase for remote backups: https://github.com/nextcloud/all-in-one/discussions/4391
- create your own backup solution using a script and borg, borgmatic or any other to backup tool for backing up to a remote target (make sure to stop and start the AIO containers correctly following https://github.com/nextcloud/all-in-one#how-to-enable-automatic-updates-without-creating-a-backup-beforehand)
---
@@ -707,7 +714,7 @@ All users see a set of [default files and folders](https://docs.nextcloud.com/se
You can configure your server to block certain ip-addresses using fail2ban as bruteforce protection. Here is how to set it up: https://docs.nextcloud.com/server/stable/admin_manual/installation/harden_server.html#setup-fail2ban. The logpath of AIO is by default `/var/lib/docker/volumes/nextcloud_aio_nextcloud/_data/data/nextcloud.log`. Do not forget to add `chain=DOCKER-USER` to your nextcloud jail config (`nextcloud.local`) otherwise the nextcloud service running on docker will still be accessible even if the IP is banned. Also, you may change the blocked ports to cover all AIO ports: by default `80,443,8080,8443,3478` (see [this](https://github.com/nextcloud/all-in-one#explanation-of-used-ports)). Apart from that there is now a community container that can be added to the AIO stack: https://github.com/nextcloud/all-in-one/tree/main/community-containers/fail2ban
### LDAP
It is possible to connect to an existing LDAP server. You need to make sure that the LDAP server is reachable from the Nextcloud container. Then you can enable the LDAP app and configure LDAP in Nextcloud manually. If you don't have a LDAP server yet, recommended is to use this docker container: https://hub.docker.com/r/nitnelave/lldap. Make sure here as well that Nextcloud can talk to the LDAP server. The easiest way is by adding the LDAP docker container to the docker network `nextcloud-aio`. Then you can connect to the LDAP container by its name from the Nextcloud container. Apart from that there is now a way for the community to add containers: https://github.com/nextcloud/all-in-one/discussions/406#discussioncomment-7133555
It is possible to connect to an existing LDAP server. You need to make sure that the LDAP server is reachable from the Nextcloud container. Then you can enable the LDAP app and configure LDAP in Nextcloud manually. If you don't have a LDAP server yet, recommended is to use this docker container: https://hub.docker.com/r/nitnelave/lldap. Make sure here as well that Nextcloud can talk to the LDAP server. The easiest way is by adding the LDAP docker container to the docker network `nextcloud-aio`. Then you can connect to the LDAP container by its name from the Nextcloud container. There is now a community container which allows to easily add LLDAP to AIO: https://github.com/nextcloud/all-in-one/tree/main/community-containers/lldap
### Netdata
Netdata allows you to monitor your server using a GUI. You can install it by following https://learn.netdata.cloud/docs/agent/packaging/docker#create-a-new-netdata-agent-container. Apart from that there is now a way for the community to add containers: https://github.com/nextcloud/all-in-one/discussions/392#discussioncomment-7133563

View File

@@ -1,5 +1,7 @@
# Reverse Proxy Documentation
**Note:** The maintainers of AIO noticed that this documentation is not easy. All contributions that improve this are very welcome!
A [reverse proxy](https://en.wikipedia.org/wiki/Reverse_proxy) is basically a web server that enables computers on the internet to access a service in a [private subnet](https://en.wikipedia.org/wiki/Private_network).
**Please note:** Publishing the AIO interface with a valid certificate to the public internet is **not** the goal of this documentation! Instead, the main goal is to publish Nextcloud with a valid certificate to the public internet which is **not** running inside the mastercontainer but in a different container! If you need a valid certificate for the AIO interface, see [point 5](#5-optional-get-a-valid-certificate-for-the-aio-interface).
@@ -102,6 +104,10 @@ Add this as a new Apache site config:
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305
SSLHonorCipherOrder off
SSLSessionTickets off
# If running apache on a subdomain (eg. nextcloud.example.com) of a domain that already has an wildcard ssl certificate from certbot on this machine,
# the <your-nc-domain> in the below lines should be replaced with just the domain (eg. example.com), not the subdomain.
# In this case the subdomain should already be secured without additional actions
SSLCertificateFile /etc/letsencrypt/live/<your-nc-domain>/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/<your-nc-domain>/privkey.pem
@@ -357,6 +363,9 @@ server {
proxy_set_header Connection $connection_upgrade;
}
# If running nginx on a subdomain (eg. nextcloud.example.com) of a domain that already has an wildcard ssl certificate from certbot on this machine,
# the <your-nc-domain> in the below lines should be replaced with just the domain (eg. example.com), not the subdomain.
# In this case the subdomain should already be secured without additional actions
ssl_certificate /etc/letsencrypt/live/<your-nc-domain>/fullchain.pem; # managed by certbot on host machine
ssl_certificate_key /etc/letsencrypt/live/<your-nc-domain>/privkey.pem; # managed by certbot on host machine
@@ -699,7 +708,9 @@ Simply translate the docker run command into a docker-compose file. You can have
Use this environment variable during the initial startup of the mastercontainer to make the apache container only listen on localhost: `--env APACHE_IP_BINDING=127.0.0.1`. **Attention:** This is only recommended to be set if you use `localhost` in your reverse proxy config to connect to your AIO instance. If you use an ip-address instead of localhost, you should set it to `0.0.0.0`.
## 4. Open the AIO interface.
After starting AIO, you should be able to access the AIO Interface via `https://ip.address.of.the.host:8080`. Enter your domain that you've entered in the reverse proxy config and you should be done. Please do not forget to open/forward port `3478/TCP` and `3478/UDP` in your firewall/router for the Talk container!
After starting AIO, you should be able to access the AIO Interface via `https://ip.address.of.the.host:8080`.<br>
⚠️ **Important:** do always use an ip-address if you access this port and not a domain as HSTS might block access to it later! (It is also expected that this port uses a self-signed certificate due to security concerns which you need to accept in your browser)<br>
Enter your domain in the AIO interface that you've used in the reverse proxy config and you should be done. Please do not forget to open/forward port `3478/TCP` and `3478/UDP` in your firewall/router for the Talk container!
## 5. Optional: get a valid certificate for the AIO interface