Compare commits

..

135 Commits

Author SHA1 Message Date
Simon L.
f039901993 fix whiteboard
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-28 13:03:43 +01:00
Simon L.
417d36644f talk: add set x for easier debugging
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-28 12:42:33 +01:00
Simon L.
92f0f2bc44 try to fix whiteboard
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-28 12:36:47 +01:00
Simon L.
39595d632c Merge pull request #5983 from nextcloud/enh/noid/fix-whiteboard
whiteboard: add tmpfs in app as this seems to be required now
2025-01-28 12:18:52 +01:00
Simon L.
365e8f6f79 whiteboard: add tmpfs in app as this seems to be required now
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-28 12:16:51 +01:00
Simon L.
a87d7b3aa9 scrutiny does not allow init
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-28 11:49:35 +01:00
Simon L.
1542c894c1 fix formatting of password in aio-interface
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-28 11:48:06 +01:00
Simon L.
21dfc131ad fix showing ui-secret in aio-interface
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-28 11:11:41 +01:00
Simon L.
6f2ae6258f increase to 10.5.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-28 10:46:39 +01:00
Simon L.
1eebe6fd60 Merge pull request #5945 from nextcloud/enh/5938/show-secret-in-interface
containers-schema: allow to specify ui-secret and show in aio interface
2025-01-28 10:36:50 +01:00
Simon L.
0a1fba8c3b nextcloud: updates3.config.php
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-28 10:16:00 +01:00
Simon L.
63aee30ed4 Merge pull request #5977 from nextcloud/enh/5973/add-talk-recording-note
aio-interface: add note that talk-recording only works on x86
2025-01-27 15:21:16 +01:00
Simon L.
f3dff2f780 address review
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-27 13:52:54 +01:00
Simon L.
4cd8ac0ab7 aio-interface: add note that talk-recording only works on x86
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-27 13:51:51 +01:00
Simon L.
ae261cbb17 Merge pull request #5966 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.4.2-24
build(deps): bump clamav/clamav from 1.4.2-23 to 1.4.2-24 in /Containers/clamav
2025-01-27 07:45:21 +01:00
dependabot[bot]
0f15fb194d build(deps): bump clamav/clamav in /Containers/clamav
Bumps clamav/clamav from 1.4.2-23 to 1.4.2-24.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 05:07:55 +00:00
Simon L.
28aecab211 Update wording
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-25 02:36:39 +01:00
Simon L.
de49af4806 add empty line
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-25 02:29:23 +01:00
Simon L.
a07b3b8ccb some more adjustments
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-25 02:28:35 +01:00
Simon L.
ac54fce522 fix details
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-25 02:05:27 +01:00
Simon L.
cc171c4c9e Merge pull request #5955 from nextcloud/enh/noid/tailscale-promotion
make Tailscale even more prominent
2025-01-25 01:17:09 +01:00
Simon L.
4aef95a87a make Tailscale even more prominent
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-24 23:47:09 +01:00
Simon L.
2efeff2b96 address review
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-24 13:34:14 +01:00
Simon L.
25e597a123 Merge pull request #5951 from nextcloud/dependabot/docker/Containers/talk/nats-2.10.25-scratch
build(deps): bump nats from 2.10.24-scratch to 2.10.25-scratch in /Containers/talk
2025-01-24 13:18:25 +01:00
Simon L.
f8f32a9a5d Merge pull request #5950 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-27.5.1-cli
build(deps): bump docker from 27.5.0-cli to 27.5.1-cli in /Containers/mastercontainer
2025-01-24 13:18:12 +01:00
Simon L.
8f8a37c38f Merge pull request #5949 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-24.04.12.1.1
build(deps): bump collabora/code from 24.04.11.3.1 to 24.04.12.1.1 in /Containers/collabora
2025-01-24 13:17:58 +01:00
Simon L.
955908cc83 Merge pull request #5948 from nextcloud/dependabot/docker/Containers/apache/httpd-2.4.63-alpine3.21
build(deps): bump httpd from 2.4.62-alpine3.21 to 2.4.63-alpine3.21 in /Containers/apache
2025-01-24 13:17:45 +01:00
dependabot[bot]
2b4f65a0aa build(deps): bump nats in /Containers/talk
Bumps nats from 2.10.24-scratch to 2.10.25-scratch.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-24 04:58:35 +00:00
dependabot[bot]
85821b467b build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 27.5.0-cli to 27.5.1-cli.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-24 04:58:18 +00:00
dependabot[bot]
afab39dca9 build(deps): bump collabora/code in /Containers/collabora
Bumps collabora/code from 24.04.11.3.1 to 24.04.12.1.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-24 04:57:54 +00:00
dependabot[bot]
dee3773bf3 build(deps): bump httpd in /Containers/apache
Bumps httpd from 2.4.62-alpine3.21 to 2.4.63-alpine3.21.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-24 04:57:37 +00:00
Simon L.
04ef45667f containers-schema: allow to specify ui-secret and show in aio interface
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-23 16:41:43 +01:00
Simon L.
bc358f32b1 Merge pull request #5936 from nextcloud/enh/noid/disable-ipv6-for-talk
talk: automatically bind ipv4 only if ipv6 is disabled
2025-01-23 15:30:26 +01:00
Simon L.
1fb631cc51 add note regarding scalable variant
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-23 14:18:58 +01:00
Simon L.
00a2e88c22 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>
2025-01-23 11:22:07 +01:00
Simon L.
5ff6292e24 Merge pull request #5942 from nextcloud/dependabot/docker/Containers/talk/strukturag/nextcloud-spreed-signaling-2.0.2
build(deps): bump strukturag/nextcloud-spreed-signaling from 2.0.1 to 2.0.2 in /Containers/talk
2025-01-23 08:41:18 +01:00
Simon L.
e7bb4be145 Merge pull request #5941 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.4.2-23
build(deps): bump clamav/clamav from 1.4.1-22 to 1.4.2-23 in /Containers/clamav
2025-01-23 08:40:57 +01:00
dependabot[bot]
96a577b093 build(deps): bump strukturag/nextcloud-spreed-signaling
Bumps strukturag/nextcloud-spreed-signaling from 2.0.1 to 2.0.2.

---
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>
2025-01-23 04:42:08 +00:00
dependabot[bot]
16a5c1c04f build(deps): bump clamav/clamav in /Containers/clamav
Bumps clamav/clamav from 1.4.1-22 to 1.4.2-23.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-23 04:41:11 +00:00
Simon L.
0e10cfd20b move community containers to top as one of the main feature
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-22 20:47:48 +01:00
Simon L.
895f4b82e3 talk: automatically bind ipv4 only if ipv6 is disabled
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-22 16:51:55 +01:00
Simon L.
d1b37c1216 Merge pull request #5929 from nextcloud/enh/3549/add-scrutiny
add scrutiny community container
2025-01-22 13:47:32 +01:00
Simon L.
4def229eea add scrutiny community container
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-22 13:43:18 +01:00
Simon L.
28cc905db1 Merge pull request #4902 from nextcloud/enh/3889/add-makemkv
community-containers: add makemkv
2025-01-22 12:19:22 +01:00
Simon L.
1e55e776b4 Merge pull request #5889 from nextcloud/enh/noid/add-backup-viewer
add borgbackup-viewer community container
2025-01-22 12:18:58 +01:00
Simon L.
7468386397 add borgbackup-viewer community container
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-22 12:17:55 +01:00
Simon L.
bfc5f40448 community-containers: add makemkv
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-22 12:17:02 +01:00
Simon L.
499c51add1 Merge pull request #5899 from thoschaefer/fix/onlyoffice_custom_port
Support custom port for onlyoffice
2025-01-22 12:11:23 +01:00
Simon L.
6333b59d2d Merge pull request #5927 from nextcloud/enh/5925/improve-wording
aio-interface: update wording for entering the domain
2025-01-22 11:44:29 +01:00
Simon L.
3e4133da82 Merge pull request #5921 from nextcloud/enh/noid/apache-add-docs
apache: add docs to aio interface
2025-01-22 11:44:12 +01:00
Simon L.
7bd36f9999 Merge pull request #5920 from nextcloud/enh/5913/improve-logging
DockerActionManager and DockerController: improve the logging
2025-01-22 11:43:59 +01:00
Simon L.
f4f9c3630a Merge pull request #5895 from nextcloud/enh/noid/improve-check
improve check for auth.docker.io
2025-01-22 11:40:59 +01:00
Simon L.
42898dbf7a Merge pull request #5935 from nextcloud/aio-helm-update
Helm Chart updates
2025-01-22 11:11:48 +01:00
szaimen
521f9fd0e0 Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-22 10:10:18 +00:00
Anvil5465
0d86e36ff6 Add Jellyseerr Community Container (#5911)
Signed-off-by: Anvil5465 <119350594+Anvil5465@users.noreply.github.com>
Co-authored-by: Simon L. <szaimen@e.mail.de>
2025-01-22 11:07:39 +01:00
Simon L.
c238e815fa fix chellcheck
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-22 11:04:52 +01:00
Simon L.
f8e55119dd Merge pull request #5934 from nextcloud/dependabot/docker/Containers/whiteboard/nextcloud-releases/whiteboard-v1.0.5
build(deps): bump nextcloud-releases/whiteboard from v1.0.4 to v1.0.5 in /Containers/whiteboard
2025-01-22 10:59:09 +01:00
Simon L.
0b0322bec0 Merge pull request #5933 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.17.1
build(deps): bump elasticsearch from 8.17.0 to 8.17.1 in /Containers/fulltextsearch
2025-01-22 10:58:39 +01:00
Simon L.
b0a3b8b9a7 Merge pull request #5918 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.3.16-fpm-alpine3.21
build(deps): bump php from 8.3.15-fpm-alpine3.21 to 8.3.16-fpm-alpine3.21 in /Containers/nextcloud
2025-01-22 10:58:22 +01:00
Simon L.
f9b324cae1 Merge pull request #5917 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.3.16-fpm-alpine3.21
build(deps): bump php from 8.3.15-fpm-alpine3.21 to 8.3.16-fpm-alpine3.21 in /Containers/mastercontainer
2025-01-22 10:58:10 +01:00
Simon L.
468197172c Merge pull request #5916 from nextcloud/dependabot/docker/Containers/imaginary/golang-1.23.5-alpine3.21
build(deps): bump golang from 1.23.4-alpine3.21 to 1.23.5-alpine3.21 in /Containers/imaginary
2025-01-22 10:57:47 +01:00
Simon L.
431ee81083 Merge pull request #5915 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-24.04.11.3.1
build(deps): bump collabora/code from 24.04.11.2.1 to 24.04.11.3.1 in /Containers/collabora
2025-01-22 10:57:34 +01:00
Simon L.
7c7170c079 Merge pull request #5914 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.4.1-22
build(deps): bump clamav/clamav from 1.4.1-21 to 1.4.1-22 in /Containers/clamav
2025-01-22 10:57:23 +01:00
Simon L.
56304aae46 Merge pull request #5894 from nextcloud/aio-dependency-update
PHP dependency updates
2025-01-22 10:57:10 +01:00
dependabot[bot]
3fb8ae5b91 build(deps): bump nextcloud-releases/whiteboard
Bumps nextcloud-releases/whiteboard from v1.0.4 to v1.0.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-22 04:46:59 +00:00
dependabot[bot]
a9cf1e960c build(deps): bump php in /Containers/mastercontainer
Bumps php from 8.3.15-fpm-alpine3.21 to 8.3.16-fpm-alpine3.21.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-22 04:46:26 +00:00
dependabot[bot]
278d449bc2 build(deps): bump php in /Containers/nextcloud
Bumps php from 8.3.15-fpm-alpine3.21 to 8.3.16-fpm-alpine3.21.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-22 04:46:12 +00:00
dependabot[bot]
e6c42f0bf8 build(deps): bump elasticsearch in /Containers/fulltextsearch
Bumps elasticsearch from 8.17.0 to 8.17.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-22 04:46:06 +00:00
Simon L.
03b846b3f4 aio-interface: update wording for entering the domain
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-21 14:49:56 +01:00
szaimen
d6a9f92aee php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-21 12:02:54 +00:00
Simon L.
c578a6e3f3 DockerActionManager: improve the logging
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-21 12:30:01 +01:00
Simon L.
35ff787d77 Merge pull request #5923 from nextcloud/szaimen-patch-1
Update dependabot.yml
2025-01-20 16:36:41 +01:00
Simon L.
666b5ef341 Update dependabot.yml
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-20 15:25:33 +01:00
Simon L.
282588169a Merge pull request #5922 from nextcloud/dependabot/github_actions/helm/chart-releaser-action-1.7.0
build(deps): bump helm/chart-releaser-action from 1.6.0 to 1.7.0
2025-01-20 15:12:26 +01:00
dependabot[bot]
db5bfa7936 build(deps): bump helm/chart-releaser-action from 1.6.0 to 1.7.0
Bumps [helm/chart-releaser-action](https://github.com/helm/chart-releaser-action) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/helm/chart-releaser-action/releases)
- [Commits](https://github.com/helm/chart-releaser-action/compare/v1.6.0...v1.7.0)

---
updated-dependencies:
- dependency-name: helm/chart-releaser-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 13:06:32 +00:00
Simon L.
ec3895beef apache: add docs to aio interface
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-20 13:37:43 +01:00
dependabot[bot]
1be5749102 build(deps): bump golang in /Containers/imaginary
Bumps golang from 1.23.4-alpine3.21 to 1.23.5-alpine3.21.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 05:02:15 +00:00
dependabot[bot]
572dfd634f build(deps): bump collabora/code in /Containers/collabora
Bumps collabora/code from 24.04.11.2.1 to 24.04.11.3.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 05:02:07 +00:00
dependabot[bot]
497d6d1191 build(deps): bump clamav/clamav in /Containers/clamav
Bumps clamav/clamav from 1.4.1-21 to 1.4.1-22.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 05:02:05 +00:00
Simon L.
2992198d9b Merge pull request #5910 from gdk22/main
Improve the readme by clarifying that the NC instance can be restored by the backup data
2025-01-19 22:17:44 +01:00
Gerald Krause
da07aaa887 Improved the readme by clarifying that the NC instance can be restored by the backup data
Signed-off-by: Gerald Krause <geedeekay@justmail.de>

Signed-off-by: Gerald Krause <geedeekay@justmail.de>
2025-01-19 20:28:58 +01:00
Simon L.
a8e9f6f91e Merge pull request #5909 from nextcloud/npmplus-community-container-readme
Update NPMplus community container readme.md
2025-01-19 15:27:35 +01:00
Zoey
b16dfd83ce Update NPMplus community container readme.md
Signed-off-by: Zoey <zoey@z0ey.de>
2025-01-19 14:25:51 +01:00
Thorsten Schaefer
a425f5b49b Support custom port for onlyoffice
Signed-off-by: Thorsten Schaefer <github@npath.de>
2025-01-17 19:07:37 +01:00
Simon L.
1ad0fcf1b6 improve check for auth.docker.io
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-17 13:52:33 +01:00
Simon L.
1630867fb3 Merge pull request #5890 from nextcloud/nextcloud-container-update
Nextcloud dependency update
2025-01-17 12:34:14 +01:00
szaimen
23755a0371 nextcloud-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-16 19:45:00 +00:00
Simon L.
c19ba34cdf Merge pull request #5881 from nextcloud/enh/noid/add-jellyfin
fail2ban-cc: add jellyfin
2025-01-16 12:33:21 +01:00
Simon L.
784da23323 Merge pull request #5888 from nextcloud/enh/5268/check-auth.docker.io-reachable
mastercontainer: check if auth.docker.io is reachable during startup
2025-01-16 12:33:13 +01:00
Simon L.
5d2cc65aa0 Merge pull request #5885 from nextcloud/enh/noid/add-further-hint-to-debug-section
rp-docs: add info about hairpin-nat and local dns-record in debug section
2025-01-16 12:31:49 +01:00
Simon L.
02cc5f04ca mastercontainer: check if auth.docker.io is reachable during startup
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-16 10:45:49 +01:00
Simon L.
22fdaa57ce rp-docs: add info about hairpin-nat and local dns-record in debug section
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-15 15:36:43 +01:00
Simon L.
276cd7d9d8 fail2ban-cc: add jellyfin
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-15 13:48:06 +01:00
Simon L.
bdff564e2e Merge pull request #5880 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-27.5.0-cli
build(deps): bump docker from 27.4.1-cli to 27.5.0-cli in /Containers/mastercontainer
2025-01-15 09:33:09 +01:00
Simon L.
409777cb7a Merge pull request #5879 from nextcloud/dependabot/docker/Containers/docker-socket-proxy/haproxy-3.1.2-alpine
build(deps): bump haproxy from 3.1.1-alpine to 3.1.2-alpine in /Containers/docker-socket-proxy
2025-01-15 09:32:45 +01:00
dependabot[bot]
96ea32405d build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 27.4.1-cli to 27.5.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>
2025-01-15 05:13:02 +00:00
dependabot[bot]
a8f6e7a336 build(deps): bump haproxy in /Containers/docker-socket-proxy
Bumps haproxy from 3.1.1-alpine to 3.1.2-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-15 05:12:46 +00:00
Simon L.
b6ad2782e4 Merge pull request #5870 from nextcloud/enh/noid/allow-configure-redis-user
allow to configure redis user
2025-01-14 14:46:49 +01:00
Simon L.
b786415cfb Revert changes to notify-push and whiteboard
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-14 14:39:32 +01:00
Simon L.
4acc9d8f41 add idea
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-14 14:26:59 +01:00
Simon L.
d2242b2eba Merge pull request #5877 from nextcloud/imaginary-container-update
Imaginary update
2025-01-14 14:07:02 +01:00
szaimen
2148b60fc0 imaginary-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-14 12:02:59 +00:00
Simon L.
d971f86f0c increase to 10.4.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-14 11:51:42 +01:00
Simon L.
baa653d711 Merge pull request #5876 from nextcloud/aio-helm-update
Helm Chart updates
2025-01-14 11:47:21 +01:00
szaimen
f658318df0 Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-14 10:42:41 +00:00
pailloM
ce7a10e4c0 add calcardbackup community container (#5864)
Signed-off-by: PailloM <paillomams@gmx.com>
Signed-off-by: pailloM <56462552+pailloM@users.noreply.github.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
Co-authored-by: Simon L. <szaimen@e.mail.de>
2025-01-14 10:43:36 +01:00
Simon L.
4f5d257af5 Merge pull request #5862 from nextcloud/enh/noid/remove-networks
containers-schema and containers.json: remove networks from definition
2025-01-14 10:33:08 +01:00
Simon L.
93fcf2783c Merge pull request #5861 from nextcloud/enh/noid/improve-domain-validation
domain-validation: improve the notice about the private ip-address
2025-01-14 10:32:31 +01:00
Simon L.
3199b84934 Merge pull request #5843 from nextcloud/enh/noid/adjust-app-api-logic
nextcloud-entrypoint:  adjust logic around app api app
2025-01-14 10:32:01 +01:00
Simon L.
cdf39556c1 Merge pull request #5868 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.4.1-21
build(deps): bump clamav/clamav from 1.4.1-20 to 1.4.1-21 in /Containers/clamav
2025-01-14 10:30:10 +01:00
Simon L.
fd38942b2b Merge pull request #5860 from nextcloud/dependabot/docker/Containers/watchtower/alpine-3.21.2
build(deps): bump alpine from 3.21.1 to 3.21.2 in /Containers/watchtower
2025-01-14 10:29:54 +01:00
Simon L.
b0058954a1 Merge pull request #5859 from nextcloud/dependabot/docker/Containers/talk/alpine-3.21.2
build(deps): bump alpine from 3.21.1 to 3.21.2 in /Containers/talk
2025-01-14 10:29:43 +01:00
Simon L.
560674d3f0 Merge pull request #5858 from nextcloud/dependabot/docker/Containers/notify-push/alpine-3.21.2
build(deps): bump alpine from 3.21.1 to 3.21.2 in /Containers/notify-push
2025-01-14 10:29:31 +01:00
Simon L.
3a6b54057b Merge pull request #5857 from nextcloud/dependabot/docker/Containers/mastercontainer/caddy-2.9.1-alpine
build(deps): bump caddy from 2.8.4-alpine to 2.9.1-alpine in /Containers/mastercontainer
2025-01-14 10:29:20 +01:00
Simon L.
9408d145c9 Merge pull request #5856 from nextcloud/dependabot/docker/Containers/imaginary/alpine-3.21.2
build(deps): bump alpine from 3.21.1 to 3.21.2 in /Containers/imaginary
2025-01-14 10:29:08 +01:00
Simon L.
8d51f16d38 Merge pull request #5855 from nextcloud/dependabot/docker/Containers/domaincheck/alpine-3.21.2
build(deps): bump alpine from 3.21.1 to 3.21.2 in /Containers/domaincheck
2025-01-14 10:28:57 +01:00
Simon L.
63e971c32b Merge pull request #5854 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-24.04.11.2.1
build(deps): bump collabora/code from 24.04.11.1.1 to 24.04.11.2.1 in /Containers/collabora
2025-01-14 10:28:45 +01:00
Simon L.
f152b41037 Merge pull request #5853 from nextcloud/dependabot/docker/Containers/borgbackup/alpine-3.21.2
build(deps): bump alpine from 3.21.1 to 3.21.2 in /Containers/borgbackup
2025-01-14 10:28:32 +01:00
Simon L.
70136188b9 Merge pull request #5852 from nextcloud/dependabot/docker/Containers/apache/caddy-2.9.1-alpine
build(deps): bump caddy from 2.8.4-alpine to 2.9.1-alpine in /Containers/apache
2025-01-14 10:28:20 +01:00
Simon L.
2fc2be363a nextcloud: allow to configure redis user
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-13 16:56:33 +01:00
dependabot[bot]
76ccf69a05 build(deps): bump clamav/clamav in /Containers/clamav
Bumps clamav/clamav from 1.4.1-20 to 1.4.1-21.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 04:34:09 +00:00
Simon L.
b046294801 containers-schema and containers.json: remove networks from definition
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-10 23:12:12 +01:00
Simon L.
41a867e7f2 domain-validation: improve the notice about the private ip-address
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-10 23:09:12 +01:00
dependabot[bot]
75ea7c4f27 build(deps): bump alpine from 3.21.1 to 3.21.2 in /Containers/watchtower
Bumps alpine from 3.21.1 to 3.21.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-10 04:34:34 +00:00
dependabot[bot]
4b8dd232c5 build(deps): bump alpine from 3.21.1 to 3.21.2 in /Containers/talk
Bumps alpine from 3.21.1 to 3.21.2.

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-10 04:34:12 +00:00
dependabot[bot]
16f764941e build(deps): bump caddy in /Containers/mastercontainer
Bumps caddy from 2.8.4-alpine to 2.9.1-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-10 04:34:02 +00:00
dependabot[bot]
d6d0086a66 build(deps): bump alpine from 3.21.1 to 3.21.2 in /Containers/imaginary
Bumps alpine from 3.21.1 to 3.21.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-10 04:33:53 +00:00
dependabot[bot]
c06a52e2be build(deps): bump alpine in /Containers/domaincheck
Bumps alpine from 3.21.1 to 3.21.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-10 04:33:46 +00:00
dependabot[bot]
1ec07aeabd build(deps): bump collabora/code in /Containers/collabora
Bumps collabora/code from 24.04.11.1.1 to 24.04.11.2.1.

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-10 04:33:39 +00:00
dependabot[bot]
ea789d2dca build(deps): bump caddy in /Containers/apache
Bumps caddy from 2.8.4-alpine to 2.9.1-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-10 04:33:25 +00:00
Simon L.
f2a5b2bdc7 nextcloud-entrypoint: adjust logic around app api app
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-07 15:26:08 +01:00
Simon L.
c1f1207a0e Merge pull request #5842 from nextcloud/aio-yaml-update
Yaml updates
2025-01-07 13:22:12 +01:00
szaimen
1ef6769941 Yaml updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-07 12:03:30 +00:00
78 changed files with 577 additions and 153 deletions

View File

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

View File

@@ -41,7 +41,7 @@ jobs:
helm lint ./nextcloud-aio-helm-chart
- name: Run chart-releaser
uses: helm/chart-releaser-action@v1.6.0
uses: helm/chart-releaser-action@v1.7.0
with:
mark_as_latest: false
charts_dir: .

View File

@@ -40,7 +40,7 @@ https://{$ADDITIONAL_TRUSTED_DOMAIN}:443,
route /onlyoffice/* {
uri strip_prefix /onlyoffice
reverse_proxy {$ONLYOFFICE_HOST}:80 {
header_up X-Forwarded-Host {http.request.host}/onlyoffice
header_up X-Forwarded-Host {http.request.hostport}/onlyoffice
header_up X-Forwarded-Proto https
}
}

View File

@@ -1,8 +1,8 @@
# syntax=docker/dockerfile:latest
FROM caddy:2.8.4-alpine AS caddy
FROM caddy:2.9.1-alpine AS caddy
# From https://github.com/docker-library/httpd/blob/master/2.4/alpine/Dockerfile
FROM httpd:2.4.62-alpine3.21
FROM httpd:2.4.63-alpine3.21
COPY --from=caddy /usr/bin/caddy /usr/bin/caddy

View File

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

View File

@@ -521,7 +521,7 @@ if [ "$BORG_MODE" = check ]; then
# Perform the check
if ! borg check -v --verify-data; then
echo "Some errors were found while checking the backup integrity!"
echo "Check the AIO interface for advices on how to proceed now!"
echo "Check the AIO interface for advice on how to proceed now!"
exit 1
fi

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# Probably from this file: https://github.com/Cisco-Talos/clamav-docker/blob/main/clamav/1.3/alpine/Dockerfile
FROM clamav/clamav:1.4.1-20
FROM clamav/clamav:1.4.2-24
COPY clamav.conf /clamav.conf
COPY --chmod=775 start.script /start.script

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# From a file located probably somewhere here: https://github.com/CollaboraOnline/online/tree/master/docker
FROM collabora/code:24.04.11.1.1
FROM collabora/code:24.04.12.1.1
USER root
ARG DEBIAN_FRONTEND=noninteractive

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -283,6 +283,15 @@ if [ "$?" = 6 ]; then
exit 1
fi
# Check if auth.docker.io is reachable
# Solves issues like https://github.com/nextcloud/all-in-one/discussions/5268
if ! curl https://auth.docker.io/token 2>&1 | grep -q token; then
print_red "Could not reach https://auth.docker.io."
echo "Most likely is something blocking access to it."
echo "You should be able to fix this by using https://github.com/nextcloud/all-in-one/tree/main/manual-install"
exit 1
fi
# Check that no changes have been made to timezone settings since AIO only supports running in Etc/UTC timezone
if [ -n "$TZ" ]; then
print_red "The environmental variable TZ has been set which is not supported by AIO since it only supports running in the default Etc/UTC timezone!"

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM php:8.3.15-fpm-alpine3.21
FROM php:8.3.16-fpm-alpine3.21
ENV PHP_MEMORY_LIMIT=512M
ENV PHP_UPLOAD_LIMIT=16G
@@ -8,7 +8,7 @@ ENV SOURCE_LOCATION=/usr/src/nextcloud
ENV REDIS_DB_INDEX=0
# AIO settings start # Do not remove or change this line!
ENV NEXTCLOUD_VERSION=30.0.4
ENV NEXTCLOUD_VERSION=30.0.5
ENV AIO_TOKEN=123456
ENV AIO_URL=localhost
# AIO settings end # Do not remove or change this line!
@@ -147,7 +147,7 @@ RUN set -ex; \
\
{ \
echo 'session.save_handler = redis'; \
echo 'session.save_path = "tcp://${REDIS_HOST}:6379/${REDIS_DB_INDEX}?auth=${REDIS_HOST_PASSWORD}"'; \
echo 'session.save_path = "tcp://${REDIS_HOST}:6379?database=${REDIS_DB_INDEX}${REDIS_USER_AUTH}&auth[]=${REDIS_HOST_PASSWORD}"'; \
echo 'redis.session.locking_enabled = 1'; \
echo 'redis.session.lock_retries = -1'; \
echo 'redis.session.lock_wait_time = 10000'; \

View File

@@ -18,4 +18,8 @@ if (getenv('REDIS_HOST')) {
if (getenv('REDIS_DB_INDEX')) {
$CONFIG['redis']['dbindex'] = (int) getenv('REDIS_DB_INDEX');
}
if (getenv('REDIS_USER_AUTH') !== false) {
$CONFIG['redis']['user'] = str_replace("&auth[]=", "", getenv('REDIS_USER_AUTH'));
}
}

View File

@@ -11,7 +11,6 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
'bucket' => getenv('OBJECTSTORE_S3_BUCKET'),
'key' => getenv('OBJECTSTORE_S3_KEY') ?: '',
'secret' => getenv('OBJECTSTORE_S3_SECRET') ?: '',
'sse_c_key' => getenv('OBJECTSTORE_S3_SSE_C_KEY') ?: '',
'region' => getenv('OBJECTSTORE_S3_REGION') ?: '',
'hostname' => getenv('OBJECTSTORE_S3_HOST') ?: '',
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
@@ -26,4 +25,9 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
)
)
);
$sse_c_key = getenv('OBJECTSTORE_S3_SSE_C_KEY');
if ($sse_c_key) {
$CONFIG['objectstore']['arguments']['sse_c_key'] = $sse_c_key;
}
}

View File

@@ -864,17 +864,20 @@ else
fi
# Docker socket proxy
# app_api is a shipped app
if [ -d "/var/www/html/custom_apps/app_api" ]; then
php /var/www/html/occ app:disable app_api
rm -r "/var/www/html/custom_apps/app_api"
fi
if [ "$DOCKER_SOCKET_PROXY_ENABLED" = 'yes' ]; then
if ! [ -d "/var/www/html/custom_apps/app_api" ]; then
php /var/www/html/occ app:install app_api
elif [ "$(php /var/www/html/occ config:app:get app_api enabled)" != "yes" ]; then
if [ "$(php /var/www/html/occ config:app:get app_api enabled)" != "yes" ]; then
php /var/www/html/occ app:enable app_api
elif [ "$SKIP_UPDATE" != 1 ]; then
php /var/www/html/occ app:update app_api
fi
else
if [ "$REMOVE_DISABLED_APPS" = yes ] && [ -d "/var/www/html/custom_apps/app_api" ]; then
php /var/www/html/occ app:remove app_api
if [ "$REMOVE_DISABLED_APPS" = yes ]; then
if [ "$(php /var/www/html/occ config:app:get app_api enabled)" != "no" ]; then
php /var/www/html/occ app:disable app_api
fi
fi
fi

View File

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

View File

@@ -62,7 +62,7 @@ fi
# Set sensitive values as env
export DATABASE_URL="$DATABASE_TYPE://oc_$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DB"
export REDIS_URL="redis://:$REDIS_HOST_PASSWORD@$REDIS_HOST/$REDIS_DB_INDEX"
export REDIS_URL="redis://$REDIS_USER:$REDIS_HOST_PASSWORD@$REDIS_HOST/$REDIS_DB_INDEX"
# Run it
/nextcloud/custom_apps/notify_push/bin/"$CPU_ARCH"/notify_push \

View File

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

View File

@@ -30,14 +30,23 @@ if [ -n "$IPv4_ADDRESS_TALK" ] && [ "$IPv4_ADDRESS_TALK_RELAY" = "$IPv4_ADDRESS_
IPv4_ADDRESS_TALK=""
fi
set -x
IP_BINDING="::"
if grep -q "1" /sys/module/ipv6/parameters/disable \
|| grep -q "1" /proc/sys/net/ipv6/conf/all/disable_ipv6 \
|| grep -q "1" /proc/sys/net/ipv6/conf/default/disable_ipv6; then
IP_BINDING="0.0.0.0"
fi
set +x
# Turn
cat << TURN_CONF > "/conf/eturnal.yml"
eturnal:
listen:
- ip: "::"
- ip: "$IP_BINDING"
port: $TALK_PORT
transport: udp
- ip: "::"
- ip: "$IP_BINDING"
port: $TALK_PORT
transport: tcp
log_dir: stdout

View File

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

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# Probably from this file: https://github.com/nextcloud/whiteboard/blob/main/Dockerfile
FROM ghcr.io/nextcloud-releases/whiteboard:v1.0.4
FROM ghcr.io/nextcloud-releases/whiteboard:v1.0.5
USER root
RUN set -ex; \
@@ -13,6 +13,8 @@ COPY --chmod=775 healthcheck.sh /healthcheck.sh
HEALTHCHECK CMD /healthcheck.sh
WORKDIR /tmp
ENTRYPOINT ["/start.sh"]
LABEL com.centurylinklabs.watchtower.enable="false"

View File

@@ -11,7 +11,7 @@ if [ -z "$REDIS_DB_INDEX" ]; then
REDIS_DB_INDEX=0
fi
export REDIS_URL="redis://:$REDIS_HOST_PASSWORD@$REDIS_HOST/$REDIS_DB_INDEX"
export REDIS_URL="redis://$REDIS_USER:$REDIS_HOST_PASSWORD@$REDIS_HOST/$REDIS_DB_INDEX"
# Run it
exec npm run server:start
exec npm --prefix /app run server:start

View File

@@ -0,0 +1,71 @@
{
"aio_services_v1": [
{
"container_name": "nextcloud-aio-borgbackup-viewer",
"image_tag": "v1",
"display_name": "Borg Backup Viewer",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/borgbackup-viewer",
"image": "szaimen/aio-borgbackup-viewer",
"internal_port": "5801",
"ports": [
{
"ip_binding": "",
"port_number": "5801",
"protocol": "tcp"
}
],
"environment": [
"BORG_HOST_ID=nextcloud-aio-borgbackup-viewer",
"WEB_AUTHENTICATION_USERNAME=nextcloud",
"WEB_AUTHENTICATION_PASSWORD=%BORGBACKUP_VIEWER_PASSWORD%",
"WEB_LISTENING_PORT=5801",
"BORG_PASSPHRASE=%BORGBACKUP_PASSWORD%",
"BORG_REPO=/mnt/borgbackup/borg"
],
"secrets": [
"BORGBACKUP_VIEWER_PASSWORD",
"BORGBACKUP_PASSWORD"
],
"ui_secret": "BORGBACKUP_VIEWER_PASSWORD",
"volumes": [
{
"source": "nextcloud_aio_backup_cache",
"destination": "/root",
"writeable": true
},
{
"source": "%NEXTCLOUD_DATADIR%",
"destination": "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data",
"writeable": true
},
{
"source": "nextcloud_aio_mastercontainer",
"destination": "/nextcloud_aio_volumes/nextcloud_aio_mastercontainer",
"writeable": true
},
{
"source": "%BORGBACKUP_HOST_LOCATION%",
"destination": "/mnt/borgbackup",
"writeable": true
},
{
"source": "nextcloud_aio_elasticsearch",
"destination": "/nextcloud_aio_volumes/nextcloud_aio_elasticsearch",
"writeable": true
},
{
"source": "nextcloud_aio_redis",
"destination": "/mnt/redis",
"writeable": true
}
],
"devices": [
"/dev/fuse"
],
"cap_add": [
"SYS_ADMIN"
],
"apparmor_unconfined": true
}
]
}

View File

@@ -0,0 +1,17 @@
## Borgbackup Viewer
This container allows to view the local borg repository in a web session. It also allows you to restore files and folders from the backup by using desktop programs in a web browser.
### Notes
- After adding and starting the container, you need to visit `https://ip.address.of.this.server:5801` in order to log in with the user `nextcloud` and the password that you can see next to the container in the AIO interface. (The web page uses a self-signed certificate, so you need to accept the warning).
- Then, you should see a terminal. There type in `borg mount /mnt/borgbackup/borg /tmp/borg` to mount the backup archive at `/tmp/borg` inside the container. Afterwards type in `nautilus /tmp/borg` which will show a file explorer and allows you to see all the files. You can then copy files and folders back to their initial mountpoints inside `/nextcloud_aio_volumes/`, `/host_mounts/` and `/docker_volumes/`. ⚠️ Be very carefully while doing that as can break your instance!
- After you are done with the operation, click on the terminal in the background and press `[CTRL]+[c]` multiple times to close any open application. Then run `umount /tmp/borg` to unmount the mountpoint correctly.
- You can also delete specific archives by running `borg list`, delete a specific archive e.g. via `borg delete --stats --progress "::20220223_174237-nextcloud-aio"` and compact the archives via `borg compact`. After doing so, make sure to update the backup archives list in the AIO interface! You can do so by clicking on the `Check backup integrity` button or `Create backup` button.
- ⚠️ After you are done doing your operations, remove the container for better security again from the stack: https://github.com/nextcloud/all-in-one/tree/main/community-containers#how-to-remove-containers-from-aios-stack
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository
https://github.com/szaimen/aio-borgbackup-viewer
### Maintainer
https://github.com/szaimen

View File

@@ -9,6 +9,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/jellyfin, make sure that you point `media.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for jellyfin.
- If you want to use this with https://github.com/nextcloud/all-in-one/tree/main/community-containers/lldap, make sure that you point `ldap.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for lldap.
- If you want to use this with https://github.com/nextcloud/all-in-one/tree/main/community-containers/nocodb, make sure that you point `tables.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for nocodb.
- If you want to use this with https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyseerr, make sure that you point `requests.your-nc-domain.com` to your server using a cname record so that caddy can get a certificate automatically for jellyseerr.
- After the container was started the first time, you should see a new `nextcloud-aio-caddy` folder and inside there an `allowed-countries.txt` file when you open the files app with the default `admin` user. In there you can adjust the allowed country codes for caddy by adding them to the first line, e.g. `IT FR` would allow access from italy and france. Private ip-ranges are always allowed. Additionally, in order to activate this config, you need to get an account at https://dev.maxmind.com/geoip/geolite2-free-geolocation-data and download the `GeoLite2-Country.mmdb` and upload it with this exact name into the `nextcloud-aio-caddy` folder. Afterwards restart all containers from the AIO interface and your new config should be active!
- You can add your own Caddy configurations in `/data/caddy-imports/` inside the Caddy container (`sudo docker exec -it nextcloud-aio-caddy bash`). These will be imported on container startup.
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack

View File

@@ -0,0 +1,37 @@
{
"aio_services_v1": [
{
"container_name": "nextcloud-aio-calcardbackup",
"display_name": "Calendar and contacts backup",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/calcardbackup",
"image": "waja/calcardbackup",
"image_tag": "latest",
"restart": "unless-stopped",
"environment": [
"CRON_TIME=0 0 * * *",
"INIT_BACKUP=yes",
"BACKUP_DIR=/backup",
"NC_DIR=/nextcloud",
"NC_HOST=%NC_DOMAIN%",
"DB_HOST=nextcloud-aio-database",
"DB_PORT=5432",
"CALCARD_OPTS=-ltm 5"
],
"volumes": [
{
"source": "nextcloud_aio_calcardbackup",
"destination": "/backup",
"writeable": true
},
{
"source": "nextcloud_aio_nextcloud",
"destination": "/nextcloud",
"writeable": false
}
],
"backup_volumes": [
"nextcloud_aio_calcardbackup"
]
}
]
}

View File

@@ -0,0 +1,15 @@
## calcardbackup
This container packages calcardbackup which is a tool that exports calendars and addressbooks from Nextcloud to .ics and .vcf files and saves them to a compressed file.
### Notes
- Backups will be created at 00:00 CEST every day. Make sure that this does not conflict with the configured daily backups inside AIO.
- All the exports will be included in AIOs backup solution
- You can find the exports in the nextcloud_aio_calcardbackup volume
- 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/waja/docker-calcardbackup
### Maintainer
https://github.com/pailloM

View File

@@ -25,6 +25,16 @@
"source": "nextcloud_aio_vaultwarden_logs",
"destination": "/vaultwarden",
"writeable": false
},
{
"source": "nextcloud_aio_jellyfin",
"destination": "/jellyfin",
"writeable": false
},
{
"source": "nextcloud_aio_jellyseerr",
"destination": "/jellyseerr",
"writeable": false
}
]
}

View File

@@ -1,5 +1,5 @@
## Fail2ban
This container bundles fail2ban and auto-configures it for you in order to block ip-addresses automatically. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/vaultwarden, if installed.
This container bundles fail2ban and auto-configures it for you in order to block ip-addresses automatically. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/vaultwarden, https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin, and https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyseerr, if installed.
### Notes
- 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`.

View File

@@ -8,6 +8,7 @@ This container bundles Jellyfin and auto-configures it for you.
- 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!
- If you want to secure the installation with fail2ban, you might want to check out https://github.com/nextcloud/all-in-one/tree/main/community-containers/fail2ban
- The data of Jellyfin will be automatically included in AIO's backup solution!
- See [here](https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers) how to add it to the AIO stack.

View File

@@ -0,0 +1,34 @@
{
"aio_services_v1": [
{
"container_name": "nextcloud-aio-jellyseerr",
"display_name": "Jellyseerr",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyseerr",
"image": "fallenbagel/jellyseerr",
"image_tag": "latest",
"internal_port": "5055",
"restart": "unless-stopped",
"ports": [
{
"ip_binding": "%APACHE_IP_BINDING%",
"port_number": "5055",
"protocol": "tcp"
}
],
"environment": [
"PORT=5055",
"TZ=%TIMEZONE%"
],
"volumes": [
{
"source": "nextcloud_aio_jellyseerr",
"destination": "/app/config",
"writeable": true
}
],
"backup_volumes": [
"nextcloud_aio_jellyseerr"
]
}
]
}

View File

@@ -0,0 +1,16 @@
## Jellyseerr
This container bundles Jellyseerr and auto-configures it for you.
### Notes
- This container is only intended to be used inside home networks as it uses http for its management page by default.
- After adding and starting the container, you can directly visit `http://ip.address.of.server:5055` and access your new Jellyseerr instance, which can be used to manage Plex, Jellyfin, and Emby.
- In order to access your Jellyseerr 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 [Jellyseerr's reverse proxy documentation.](https://docs.jellyseerr.dev/extending-jellyseerr/reverse-proxy), OR use the Caddy community container that will automatically configure requests.$NC_DOMAIN to redirect to your Jellyseerr.
- If you want to secure the installation with fail2ban, you might want to check out https://github.com/nextcloud/all-in-one/tree/main/community-containers/fail2ban
- The config of Jellyseerr 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/Fallenbagel/jellyseerr
### Maintainer
https://github.com/Anvil5465

View File

@@ -27,6 +27,7 @@
"LLDAP_JWT_SECRET",
"LLDAP_LDAP_USER_PASS"
],
"ui_secret": "LLDAP_JWT_SECRET",
"volumes": [
{
"source": "nextcloud_aio_lldap",

View File

@@ -3,7 +3,7 @@ This container bundles LLDAP server and auto-configures your Nextcloud instance
### Notes
- In order to access your LLDAP web interface outside the local network, you have to set up your own reverse proxy. You can set up a reverse proxy following [these instructions](https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md) OR use the [Caddy](https://github.com/nextcloud/all-in-one/tree/main/community-containers/caddy) community container that will automatically configure `ldap.$NC_DOMAIN` to redirect to your Lldap. You need to point the reverse proxy at port 17170 of this server.
- After adding and starting the container, you can log in to the lldap web interface by using the username `admin` and the password that you can retrieve via `sudo docker inspect nextcloud-aio-lldap | grep LLDAP_JWT_SECRET`.
- After adding and starting the container, you can log in to the lldap web interface by using the username `admin` and the secret that you can see next to the container in the AIO interface.
- To configure Nextcloud, you can use the generic configuration proposed below.
- For advanced configurations, see how to configure a client with lldap https://github.com/lldap/lldap#client-configuration
- Also, see how Nextcloud's LDAP application works https://docs.nextcloud.com/server/latest/admin_manual/configuration_user/user_auth_ldap.html

View File

@@ -0,0 +1,59 @@
{
"aio_services_v1": [
{
"container_name": "nextcloud-aio-makekv",
"display_name": "MakeMKV",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/makemkv",
"image": "jlesage/makemkv",
"image_tag": "latest",
"internal_port": "5802",
"restart": "unless-stopped",
"ports": [
{
"ip_binding": "",
"port_number": "5802",
"protocol": "tcp"
}
],
"volumes": [
{
"source": "nextcloud_aio_makemkv",
"destination": "/config",
"writeable": true
},
{
"source": "%NEXTCLOUD_DATADIR%",
"destination": "/storage",
"writeable": false
},
{
"source": "%NEXTCLOUD_MOUNT%",
"destination": "/output",
"writeable": true
},
{
"source": "/dev",
"destination": "/dev",
"writeable": false
}
],
"environment": [
"TZ=%TIMEZONE%",
"SECURE_CONNECTION=1",
"WEB_AUTHENTICATION=1",
"USER_ID=33",
"GROUP_ID=33",
"WEB_AUTHENTICATION_USERNAME=makemkv",
"WEB_AUTHENTICATION_PASSWORD=%MAKEMKV_PASSWORD%",
"WEB_LISTENING_PORT=5802"
],
"secrets": [
"MAKEMKV_PASSWORD"
],
"ui_secret": "MAKEMKV_PASSWORD",
"backup_volumes": [
"nextcloud_aio_makemkv"
]
}
]
}

View File

@@ -0,0 +1,20 @@
## MakeMKV
This container bundles MakeMKV and auto-configures it for you.
### Notes
- This container should only be run in home networks
- ⚠️ This container mounts all devices from the host inside the container in order to be able to access the external DVD/Blu-ray drives which is a security issue. However no better solution was found for the time being.
- This container only works on Linux and not on Docker-Desktop.
- This container requires the [`NEXTCLOUD_MOUNT` variable in AIO to be set](https://github.com/nextcloud/all-in-one?tab=readme-ov-file#how-to-allow-the-nextcloud-container-to-access-directories-on-the-host). Otherwise the output will not be saved correctly..
- After adding and starting the container, you need to visit `https://internal.ip.of.server:5802` in order to log in with the `makemkv` user and the password that you can see next to the container in the AIO interface. (The web page uses a self-signed certificate, so you need to accept the warning).
- After the first login, you can adjust the `/output` directory in the MakeMKV settings to a subdirectory of the root of your chosen `NEXTCLOUD_MOUNT`. (by default `NEXTCLOUD_MOUNT` is mounted to `/output` inside the container. Thus all data is written to the root of it)
- The configured `NEXTCLOUD_DATADIR` is getting mounted to `/storage` inside the container.
- The config data of MakeMKV will be automatically included in AIOs backup solution!
- ⚠️ After you are done doing your operations, remove the container for better security again from the stack: https://github.com/nextcloud/all-in-one/tree/main/community-containers#how-to-remove-containers-from-aios-stack
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository
https://github.com/jlesage/docker-makemkv
### Maintainer
https://github.com/szaimen

View File

@@ -28,6 +28,7 @@
"NOCODB_JWT_SECRET",
"NOCODB_USER_PASS"
],
"ui_secret": "NOCODB_USER_PASS",
"volumes": [
{
"source": "nextcloud_aio_nocodb",

View File

@@ -17,7 +17,7 @@ This is an alternative of **Airtable**.
- You need to configure a reverse proxy in order to run this container since nocodb needs a dedicated (sub)domain! For that, you might have a look at https://github.com/nextcloud/all-in-one/tree/main/community-containers/caddy.
- Currently, only `tables.$NC_DOMAIN` is supported as subdomain! So if Nextcloud is using `your-domain.com`, nocodb will use `tables.your-domain.com`.
- The data of NocoDb will be automatically included in AIOs backup solution!
- After adding and starting the container, you need to run `docker inspect nextcloud-aio-nocodb | grep NC_ADMIN_PASS` to obtain the system administrator password (username: `admin@noco.db`). With this information, you can log in to the web interface at `https://tables.$NC_DOMAIN/#/signin`
- After adding and starting the container, you can log in to the web interface at `https://tables.$NC_DOMAIN/#/signin` with the username `admin@noco.db` and the password that you can see in the AIO interface next to the container.
- See https://docs.nocodb.com/ for usage of NocoDb
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack

View File

@@ -3,7 +3,6 @@ This container contains a fork of the Nginx Proxy Manager, which is a WebUI for
### Notes
- This container is incompatible with the [caddy](https://github.com/nextcloud/all-in-one/tree/main/community-containers/caddy) community container. So make sure that you do not enable both at the same time!
- You can ignore the NPM configuration of the reverse-proxy.md. The NPMplus fork already contains the changes of the advanced tab.
- Make sure that no other service is using port `443 (tcp/upd)` or `81 (tcp)` on your host as otherwise the containers will fail to start. You can check this with `sudo netstat -tulpn | grep "443\|81"` before installing AIO.
- Please change the default login data first, after you can read inside the logs that the default config for AIO is created and there are no errors.
- After the container was started the first time, please check the logs for errors. Then you can open NPMplus on `https://<ip>:81` and change the password.
@@ -11,7 +10,7 @@ This container contains a fork of the Nginx Proxy Manager, which is a WebUI for
- If you want to use NPMplus behind a domain and outside localhost just create a new proxy host inside the NPMplus which proxies to `https`, `127.0.0.1` and port `81` - all other settings should be the same as for the AIO host.
- If you want to set env options from this [compose.yaml](https://github.com/ZoeyVid/NPMplus/blob/develop/compose.yaml), please set them inside the `.env` file which you can find in the `nextcloud_aio_npmplus` volume
- The data (certs, configs, etc.) of NPMplus will be automatically included in AIOs backup solution!
- **Important:** you always need to enable https for your hosts, since `DISABLE_HTTP` is set to true
- **Important:** you always need to enable https for your hosts, since `DISABLE_HTTP` is set to true by default
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository and Documentation

View File

@@ -0,0 +1,15 @@
## Scrutiny
This container bundles Scrutiny and auto-configures it for you.
### Notes
- This container should only be run in home networks
- ⚠️ This container mounts all devices from the host inside the container in order to be able to access the drives and smartctl stats which is a security issue. However no better solution was found for the time being.
- This container only works on Linux and not on Docker-Desktop.
- After adding and starting the container, you need to visit `http://internal.ip.of.server:8000` which will show the dashboard for your drives.
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository
https://github.com/szaimen/aio-scrutiny
### Maintainer
https://github.com/szaimen

View File

@@ -0,0 +1,56 @@
{
"aio_services_v1": [
{
"container_name": "nextcloud-aio-scrutiny",
"display_name": "Scrutiny",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/scrutiny",
"image": "szaimen/aio-scrutiny",
"image_tag": "v1",
"internal_port": "8000",
"init": false,
"restart": "unless-stopped",
"ports": [
{
"ip_binding": "",
"port_number": "8000",
"protocol": "tcp"
}
],
"cap_add": [
"SYS_RAWIO",
"SYS_ADMIN"
],
"environment": [
"TZ=%TIMEZONE%",
"SCRUTINY_WEB_LISTEN_PORT=8000",
"COLLECTOR_API_ENDPOINT=http://127.0.0.1:8000"
],
"volumes": [
{
"source": "nextcloud_aio_scrutiny",
"destination": "/opt/scrutiny/config",
"writeable": true
},
{
"source": "nextcloud_aio_scrutiny_db",
"destination": "/opt/scrutiny/influxdb",
"writeable": true
},
{
"source": "/run/udev",
"destination": "/run/udev",
"writeable": false
},
{
"source": "/dev",
"destination": "/dev",
"writeable": false
}
],
"backup_volumes": [
"nextcloud_aio_scrutiny",
"nextcloud_aio_scrutiny_db"
]
}
]
}

View File

@@ -53,6 +53,7 @@
"secrets": [
"STALWART_USER_PASS"
],
"ui_secret": "STALWART_USER_PASS",
"volumes": [
{
"source": "nextcloud_aio_stalwart",

View File

@@ -38,6 +38,7 @@ services:
# security_opt: ["label:disable"] # Is needed when using SELinux
# # Optional: Caddy reverse proxy. See https://github.com/nextcloud/all-in-one/discussions/575
# # Alternatively, use Tailscale if you don't have a domain yet. See https://github.com/nextcloud/all-in-one/discussions/5439
# # Hint: You need to uncomment APACHE_PORT: 11000 above, adjust cloud.example.com to your domain and uncomment the necessary docker volumes at the bottom of this file in order to make it work
# # You can find further examples here: https://github.com/nextcloud/all-in-one/discussions/588
# caddy:

View File

@@ -2,14 +2,17 @@
It is possible due to several reasons that you do not want or cannot open Nextcloud to the public internet. Perhaps you were hoping to access AIO directly from an `ip.add.r.ess` (unsupported) or without a valid domain. However, AIO requires a valid certificate to work correctly. Below is discussed how you can achieve both: Having a valid certificate for Nextcloud and only using it locally.
### Content
- [1. The recommended way](#1-the-recommended-way)
- [2. Use the ACME DNS-challenge](#2-use-the-acme-dns-challenge)
- [3. Use Cloudflare](#3-use-cloudflare)
- [4. Buy a certificate and use that](#4-buy-a-certificate-and-use-that)
- [5. Tailscale network](#5-tailscale-network)
- [1. Tailscale](#1-tailscale)
- [2. The normal way](#2-the-normal-way)
- [3. Use the ACME DNS-challenge](#3-use-the-acme-dns-challenge)
- [4. Use Cloudflare](#4-use-cloudflare)
- [5. Buy a certificate and use that](#5-buy-a-certificate-and-use-that)
## 1. The recommended way
The recommended way is the following:
## 1. Tailscale
This is the recommended way. For a reverse proxy example guide for Tailscale, see this guide by @flll: https://github.com/nextcloud/all-in-one/discussions/5439
## 2. The normal way
The normal way is the following:
1. Set up your domain correctly to point to your home network
1. Set up a reverse proxy by following the [reverse proxy documentation](./reverse-proxy.md) but only open port 80 (which is needed for the ACME challenge to work - however no real traffic will use this port).
1. Set up a local DNS-server like a pi-hole and configure it to be your local DNS-server for the whole network. Then in the Pi-hole interface, add a custom DNS-record for your domain and overwrite the A-record (and possibly the AAAA-record, too) to point to the private ip-address of your reverse proxy (see https://github.com/nextcloud/all-in-one#how-can-i-access-nextcloud-locally)
@@ -18,14 +21,11 @@ The recommended way is the following:
**Hint:** You may have a look at [this video](https://youtu.be/zk-y2wVkY4c) for a more complete but possibly outdated example.
## 2. Use the ACME DNS-challenge
## 3. Use the ACME DNS-challenge
You can alternatively use the ACME DNS-challenge to get a valid certificate for Nextcloud. Here is described how to set it up: https://github.com/nextcloud/all-in-one#how-to-get-nextcloud-running-using-the-acme-dns-challenge
## 3. Use Cloudflare
## 4. Use Cloudflare
If you do not have any control over the network, you may think about using Cloudflare Tunnel to get a valid certificate for your Nextcloud. However it will be opened to the public internet then. See https://github.com/nextcloud/all-in-one#how-to-run-nextcloud-behind-a-cloudflare-tunnel how to set this up.
## 4. Buy a certificate and use that
## 5. Buy a certificate and use that
If none of the above ways work for you, you may simply buy a certificate from an issuer for your domain. You then download the certificate onto your server, configure AIO in [reverse proxy mode](./reverse-proxy.md) and use the certificate for your domain in your reverse proxy config.
## 5. Tailscale network
For a reverse proxy example guide for Tailscale, see this guide by @flll: https://github.com/nextcloud/all-in-one/discussions/5439

View File

@@ -6,11 +6,13 @@ You can run the containers that are build for AIO with docker-compose. This come
- You can run it without a container having access to the docker socket
- You can modify all values on your own
- You can run the containers with docker swarm
- You can run this in environments where access to docker.io is not possible. See [this issue](https://github.com/nextcloud/all-in-one/discussions/5268).
### Disadvantages
- You lose the AIO interface
- You lose update notifications and automatic updates
- You lose all AIO backup and restore features
- You lose the built-in [Docker Socket Proxy container](https://github.com/nextcloud/docker-socket-proxy#readme) (needed for [Nextcloud App API](https://github.com/nextcloud/app_api#nextcloud-appapi))
- You lose all community containers: https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers
- **You need to know what you are doing, especially when modifying the compose.yaml file**
- For updating, you need to strictly follow the at the bottom described update routine

View File

@@ -37,5 +37,5 @@ NEXTCLOUD_STARTUP_APPS="deck twofactor_totp tasks calendar contacts notes"
NEXTCLOUD_TRUSTED_CACERTS_DIR=/usr/local/share/ca-certificates/my-custom-ca # Nextcloud container will trust all the Certification Authorities, whose certificates are included in the given directory.
NEXTCLOUD_UPLOAD_LIMIT=16G # This allows to change the upload limit of the Nextcloud container
REMOVE_DISABLED_APPS=yes # Setting this to no keep Nextcloud apps that are disabled via their switch and not uninstall them if they should be installed in Nextcloud.
TALK_PORT=3478 # This allows to adjust the port that the talk container is using.
TALK_PORT=3478 # This allows to adjust the port that the talk container is using. It should be set to something higher than 1024! Otherwise it might not work!
UPDATE_NEXTCLOUD_APPS="no" # When setting to "yes" (with quotes), it will automatically update all installed Nextcloud apps upon container startup on saturdays.

View File

@@ -14,6 +14,7 @@ cat /tmp/containers.json
OUTPUT="$(cat /tmp/containers.json)"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[].internal_port)')"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[].secrets)')"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[].ui_secrets)')"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[].devices)')"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[].enable_nvidia_gpu)')"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[].backup_volumes)')"

View File

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

View File

@@ -1,5 +1,8 @@
# Nextcloud AIO Helm-chart
> [!NOTE]
> For an enterprise-ready and scalable deployment method based on Helm Charts (also available for Podman), please [contact Nextcloud GmbH](https://nextcloud.com/enterprise/).
You can run the containers that are build for AIO with Kubernetes using this Helm chart. This comes with a few downsides, that are discussed below.
### Advantages

View File

@@ -61,7 +61,21 @@ spec:
value: "{{ .Values.TIMEZONE }}"
- name: WHITEBOARD_HOST
value: nextcloud-aio-whiteboard
image: nextcloud/aio-apache:20250106_094420
image: nextcloud/aio-apache:20250122_091948
readinessProbe:
exec:
command:
- /healthcheck.sh
failureThreshold: 3
periodSeconds: 30
timeoutSeconds: 30
livenessProbe:
exec:
command:
- /healthcheck.sh
failureThreshold: 3
periodSeconds: 30
timeoutSeconds: 30
name: nextcloud-aio-apache
ports:
- containerPort: {{ .Values.APACHE_PORT }}

View File

@@ -61,7 +61,7 @@ spec:
value: "{{ .Values.NEXTCLOUD_UPLOAD_LIMIT }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-clamav:20250106_094420
image: nextcloud/aio-clamav:20250122_091948
readinessProbe:
exec:
command:

View File

@@ -34,7 +34,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 --o:net.post_allow.host[0]=.+
- name: server_name
value: "{{ .Values.NC_DOMAIN }}"
image: nextcloud/aio-collabora:20250106_094420
image: nextcloud/aio-collabora:20250122_091948
readinessProbe:
exec:
command:

View File

@@ -64,7 +64,7 @@ spec:
value: nextcloud
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-postgresql:20250106_094420
image: nextcloud/aio-postgresql:20250122_091948
readinessProbe:
exec:
command:

View File

@@ -54,7 +54,7 @@ spec:
value: basic
- name: xpack.security.enabled
value: "false"
image: nextcloud/aio-fulltextsearch:20250106_094420
image: nextcloud/aio-fulltextsearch:20250122_091948
readinessProbe:
exec:
command:

View File

@@ -38,7 +38,7 @@ spec:
value: "{{ .Values.IMAGINARY_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-imaginary:20250106_094420
image: nextcloud/aio-imaginary:20250122_091948
readinessProbe:
exec:
command:

View File

@@ -180,7 +180,7 @@ spec:
value: "{{ .Values.WHITEBOARD_ENABLED }}"
- name: WHITEBOARD_SECRET
value: "{{ .Values.WHITEBOARD_SECRET }}"
image: nextcloud/aio-nextcloud:20250106_094420
image: nextcloud/aio-nextcloud:20250122_091948
{{- if eq (.Values.RPSS_ENABLED | default "no") "yes" }} # AIO-config - do not change this comment!
securityContext:
# The items below only work in container context

View File

@@ -53,7 +53,7 @@ spec:
value: nextcloud-aio-redis
- name: REDIS_HOST_PASSWORD
value: "{{ .Values.REDIS_PASSWORD }}"
image: nextcloud/aio-notify-push:20250106_094420
image: nextcloud/aio-notify-push:20250122_091948
readinessProbe:
exec:
command:

View File

@@ -42,7 +42,7 @@ spec:
value: "{{ .Values.ONLYOFFICE_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-onlyoffice:20250106_094420
image: nextcloud/aio-onlyoffice:20250122_091948
readinessProbe:
exec:
command:

View File

@@ -39,7 +39,7 @@ spec:
value: "{{ .Values.REDIS_PASSWORD }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-redis:20250106_094420
image: nextcloud/aio-redis:20250122_091948
readinessProbe:
exec:
command:

View File

@@ -52,7 +52,7 @@ spec:
value: "{{ .Values.TURN_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-talk:20250106_094420
image: nextcloud/aio-talk:20250122_091948
readinessProbe:
exec:
command:

View File

@@ -44,7 +44,7 @@ spec:
value: "{{ .Values.RECORDING_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-talk-recording:20250106_094420
image: nextcloud/aio-talk-recording:20250122_091948
readinessProbe:
exec:
command:

View File

@@ -46,7 +46,7 @@ spec:
value: redis
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-whiteboard:20250106_094420
image: nextcloud/aio-whiteboard:20250122_091948
readinessProbe:
exec:
command:

View File

@@ -34,7 +34,7 @@ NEXTCLOUD_STARTUP_APPS: deck twofactor_totp tasks calendar contacts notes
NEXTCLOUD_TRUSTED_CACERTS_DIR: # Setting this to any value allows to automatically import root certificates into the Nextcloud container
NEXTCLOUD_UPLOAD_LIMIT: 16G # This allows to change the upload limit of the Nextcloud container
REMOVE_DISABLED_APPS: yes # Setting this to no keep Nextcloud apps that are disabled via their switch and not uninstall them if they should be installed in Nextcloud.
TALK_PORT: 3478 # This allows to adjust the port that the talk container is using.
TALK_PORT: 3478 # This allows to adjust the port that the talk container is using. It should be set to something higher than 1024! Otherwise it might not work!
UPDATE_NEXTCLOUD_APPS: no # When setting to yes (with quotes), it will automatically update all installed Nextcloud apps upon container startup on saturdays.
STORAGE_CLASS: # By setting this, you can adjust the storage class for your volumes

12
php/composer.lock generated
View File

@@ -502,16 +502,16 @@
},
{
"name": "php-di/invoker",
"version": "2.3.4",
"version": "2.3.6",
"source": {
"type": "git",
"url": "https://github.com/PHP-DI/Invoker.git",
"reference": "33234b32dafa8eb69202f950a1fc92055ed76a86"
"reference": "59f15608528d8a8838d69b422a919fd6b16aa576"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHP-DI/Invoker/zipball/33234b32dafa8eb69202f950a1fc92055ed76a86",
"reference": "33234b32dafa8eb69202f950a1fc92055ed76a86",
"url": "https://api.github.com/repos/PHP-DI/Invoker/zipball/59f15608528d8a8838d69b422a919fd6b16aa576",
"reference": "59f15608528d8a8838d69b422a919fd6b16aa576",
"shasum": ""
},
"require": {
@@ -545,7 +545,7 @@
],
"support": {
"issues": "https://github.com/PHP-DI/Invoker/issues",
"source": "https://github.com/PHP-DI/Invoker/tree/2.3.4"
"source": "https://github.com/PHP-DI/Invoker/tree/2.3.6"
},
"funding": [
{
@@ -553,7 +553,7 @@
"type": "github"
}
],
"time": "2023-09-08T09:24:21+00:00"
"time": "2025-01-17T12:49:27+00:00"
},
{
"name": "php-di/php-di",

View File

@@ -145,6 +145,10 @@
"pattern": "^[A-Z_]+$"
}
},
"ui_secret": {
"type": "string",
"pattern": "^[A-Z_]+$"
},
"image_tag": {
"type": "string",
"pattern": "^([a-z0-9.-]+|%AIO_CHANNEL%)$"
@@ -187,13 +191,6 @@
"pattern": "^[a-z-]+$"
}
},
"networks": {
"type": "array",
"items": {
"type": "string",
"pattern": "^nextcloud-aio$"
}
},
"read_only": {
"type": "boolean"
},
@@ -220,7 +217,7 @@
},
"source": {
"type": "string",
"pattern": "^((nextcloud_aio_[a-z_]+)|(%[A-Z_]+%))$"
"pattern": "^((nextcloud_aio_[a-z_]+)|(%[A-Z_]+%)|(/dev)|(/run/udev))$"
},
"writeable": {
"type": "boolean"

View File

@@ -3,6 +3,7 @@
{
"container_name": "nextcloud-aio-apache",
"image_tag": "%AIO_CHANNEL%",
"documentation": "https://github.com/nextcloud/all-in-one/discussions/2105",
"depends_on": [
"nextcloud-aio-onlyoffice",
"nextcloud-aio-collabora",
@@ -67,9 +68,6 @@
"nextcloud_aio_nextcloud",
"nextcloud_aio_apache"
],
"networks": [
"nextcloud-aio"
],
"read_only": true,
"tmpfs": [
"/var/log/supervisord",
@@ -130,9 +128,6 @@
"nextcloud_aio_database",
"nextcloud_aio_database_dump"
],
"networks": [
"nextcloud-aio"
],
"read_only": true,
"tmpfs": [
"/var/run/postgresql"
@@ -268,9 +263,6 @@
"backup_volumes": [
"nextcloud_aio_nextcloud"
],
"networks": [
"nextcloud-aio"
],
"cap_drop": [
"NET_RAW"
]
@@ -317,9 +309,6 @@
"POSTGRES_USER=nextcloud"
],
"restart": "unless-stopped",
"networks": [
"nextcloud-aio"
],
"read_only": true,
"cap_drop": [
"NET_RAW"
@@ -361,9 +350,6 @@
"RECORDING_SECRET"
],
"restart": "unless-stopped",
"networks": [
"nextcloud-aio"
],
"read_only": true,
"cap_drop": [
"NET_RAW"
@@ -404,9 +390,6 @@
"profiles": [
"collabora"
],
"networks": [
"nextcloud-aio"
],
"cap_add": [
"MKNOD",
"SYS_ADMIN"
@@ -466,9 +449,6 @@
"talk",
"talk-recording"
],
"networks": [
"nextcloud-aio"
],
"read_only": true,
"tmpfs": [
"/var/log/supervisord",
@@ -526,9 +506,6 @@
"/dev/dri"
],
"enable_nvidia_gpu": true,
"networks": [
"nextcloud-aio"
],
"read_only": true,
"tmpfs": [
"/conf"
@@ -690,9 +667,6 @@
"profiles": [
"clamav"
],
"networks": [
"nextcloud-aio"
],
"read_only": true,
"tmpfs": [
"/var/lock",
@@ -745,9 +719,6 @@
"profiles": [
"onlyoffice"
],
"networks": [
"nextcloud-aio"
],
"cap_drop": [
"NET_RAW"
]
@@ -785,9 +756,6 @@
"profiles": [
"imaginary"
],
"networks": [
"nextcloud-aio"
],
"read_only": true,
"tmpfs": [
"/tmp"
@@ -838,9 +806,6 @@
"profiles": [
"fulltextsearch"
],
"networks": [
"nextcloud-aio"
],
"secrets": [
"FULLTEXTSEARCH_PASSWORD"
],
@@ -892,6 +857,9 @@
"expose": [
"3002"
],
"tmpfs": [
"/tmp"
],
"internal_port": "3002",
"environment": [
"TZ=%TIMEZONE%",
@@ -899,7 +867,8 @@
"JWT_SECRET_KEY=%WHITEBOARD_SECRET%",
"STORAGE_STRATEGY=redis",
"REDIS_HOST=nextcloud-aio-redis",
"REDIS_HOST_PASSWORD=%REDIS_PASSWORD%"
"REDIS_HOST_PASSWORD=%REDIS_PASSWORD%",
"BACKUP_DIR=/tmp"
],
"secrets": [
"WHITEBOARD_SECRET",
@@ -910,9 +879,6 @@
"whiteboard"
],
"read_only": true,
"networks": [
"nextcloud-aio"
],
"cap_drop": [
"NET_RAW"
]

View File

@@ -21,6 +21,7 @@ readonly class Container {
private array $dependsOn,
/** @var string[] */
private array $secrets,
private string $uiSecret,
/** @var string[] */
private array $devices,
private bool $enableNvidiaGpu,
@@ -85,6 +86,10 @@ readonly class Container {
return $this->secrets;
}
public function GetUiSecret() : string {
return $this->dockerActionManager->GetAndGenerateSecretWrapper($this->uiSecret);
}
public function GetTmpfs() : array {
return $this->tmpfs;
}

View File

@@ -244,6 +244,11 @@ readonly class ContainerDefinitionFetcher {
$secrets = $entry['secrets'];
}
$uiSecret = '';
if (isset($entry['ui_secret'])) {
$uiSecret = $entry['ui_secret'];
}
$devices = [];
if (isset($entry['devices'])) {
$devices = $entry['devices'];
@@ -316,6 +321,7 @@ readonly class ContainerDefinitionFetcher {
$variables,
$dependsOn,
$secrets,
$uiSecret,
$devices,
$enableNvidiaGpu,
$capAdd,

View File

@@ -46,7 +46,7 @@ readonly class DockerController {
if ($pullImage) {
if (!$this->dockerActionManager->isDockerHubReachable($container)) {
$pullImage = false;
error_log('Not pulling the image for the ' . $container->GetContainerName() . ' container because docker hub does not seem to be reachable.');
error_log('Not pulling the ' . $container->GetContainerName() . ' image for the ' . $container->GetIdentifier() . ' container because docker hub does not seem to be reachable.');
}
}

View File

@@ -33,6 +33,10 @@ class ConfigurationManager
}
public function GetAndGenerateSecret(string $secretId) : string {
if ($secretId === '') {
return '';
}
$config = $this->GetConfig();
if(!isset($config['secrets'][$secretId])) {
$config['secrets'][$secretId] = bin2hex(random_bytes(24));
@@ -210,7 +214,7 @@ class ConfigurationManager
}
public function SetFulltextsearchEnabledState(int $value) : void {
# Elasticsearch does not work on kernels without seccomp anymore. See https://github.com/nextcloud/all-in-one/discussions/5768
// Elasticsearch does not work on kernels without seccomp anymore. See https://github.com/nextcloud/all-in-one/discussions/5768
if ($this->GetCollaboraSeccompDisabledState() === 'true') {
$value = 0;
}
@@ -281,6 +285,12 @@ class ConfigurationManager
if (!$this->isTalkEnabled()) {
$value = 0;
}
// Currently only works on x64. See https://github.com/nextcloud/nextcloud-talk-recording/issues/17
if (!$this->isx64Platform()) {
$value = 0;
}
$config = $this->GetConfig();
$config['isTalkRecordingEnabled'] = $value;
$this->WriteConfig($config);
@@ -340,9 +350,9 @@ class ConfigurationManager
if (!filter_var($dnsRecordIP, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {
if ($port === '443') {
throw new InvalidSettingConfigurationException("It seems like the ip-address of the domain is set to an internal or reserved ip-address. This is not supported. (It was found to be set to '" . $dnsRecordIP . "'). Please set it to a public ip-address so that the domain validation can work!");
throw new InvalidSettingConfigurationException("It seems like the ip-address of the domain is set to an internal or reserved ip-address. This is not supported by the domain validation. (It was found to be set to '" . $dnsRecordIP . "'). Please set it to a public ip-address so that the domain validation can work or skip the domain validation!");
} else {
error_log("It seems like the ip-address of " . $domain . " is set to an internal or reserved ip-address. (It was found to be set to '" . $dnsRecordIP . "')");
error_log("Info: It seems like the ip-address of " . $domain . " is set to an internal or reserved ip-address. (It was found to be set to '" . $dnsRecordIP . "')");
}
}

View File

@@ -167,7 +167,7 @@ readonly class DockerActionManager {
try {
$this->guzzleClient->post($url);
} catch (RequestException $e) {
throw new \Exception("Could not start container " . $container->GetIdentifier() . ": " . $e->getMessage());
throw new \Exception("Could not start container " . $container->GetIdentifier() . ": " . $e->getResponse()?->getBody()->getContents());
}
}
@@ -541,19 +541,23 @@ readonly class DockerActionManager {
$mounts = [];
// Special things for the backup container which should not be exposed in the containers.json
if ($container->GetIdentifier() === 'nextcloud-aio-borgbackup') {
if (str_starts_with($container->GetIdentifier(), 'nextcloud-aio-borgbackup')) {
// Additional backup directories
foreach ($this->getAllBackupVolumes() as $additionalBackupVolumes) {
if ($additionalBackupVolumes !== '') {
$mounts[] = ["Type" => "volume", "Source" => $additionalBackupVolumes, "Target" => "/nextcloud_aio_volumes/" . $additionalBackupVolumes, "ReadOnly" => false];
}
}
// Make volumes read only in case of borgbackup container. The viewer makes them writeable
$isReadOnly = $container->GetIdentifier() === 'nextcloud-aio-borgbackup';
foreach ($this->configurationManager->GetAdditionalBackupDirectoriesArray() as $additionalBackupDirectories) {
if ($additionalBackupDirectories !== '') {
if (!str_starts_with($additionalBackupDirectories, '/')) {
$mounts[] = ["Type" => "volume", "Source" => $additionalBackupDirectories, "Target" => "/docker_volumes/" . $additionalBackupDirectories, "ReadOnly" => true];
$mounts[] = ["Type" => "volume", "Source" => $additionalBackupDirectories, "Target" => "/docker_volumes/" . $additionalBackupDirectories, "ReadOnly" => $isReadOnly];
} else {
$mounts[] = ["Type" => "bind", "Source" => $additionalBackupDirectories, "Target" => "/host_mounts" . $additionalBackupDirectories, "ReadOnly" => true, "BindOptions" => ["NonRecursive" => true]];
$mounts[] = ["Type" => "bind", "Source" => $additionalBackupDirectories, "Target" => "/host_mounts" . $additionalBackupDirectories, "ReadOnly" => $isReadOnly, "BindOptions" => ["NonRecursive" => true]];
}
}
}
@@ -588,7 +592,7 @@ readonly class DockerActionManager {
]
);
} catch (RequestException $e) {
throw new \Exception("Could not create container " . $container->GetIdentifier() . ": " . $e->getMessage());
throw new \Exception("Could not create container " . $container->GetIdentifier() . ": " . $e->getResponse()?->getBody()->getContents());
}
}
@@ -623,7 +627,7 @@ readonly class DockerActionManager {
try {
$this->guzzleClient->post($url);
} catch (RequestException $e) {
$message = "Could not pull image " . $imageName . ". Please run 'sudo docker exec -it nextcloud-aio-mastercontainer docker pull " . $imageName . "' in order to find out why it failed.";
$message = "Could not pull image " . $imageName . ": " . $e->getResponse()?->getBody()->getContents();
if ($imageIsThere === false) {
throw new \Exception($message);
} else {
@@ -883,7 +887,7 @@ readonly class DockerActionManager {
} catch (RequestException $e) {
// 409 is undocumented and gets thrown if the network already exists.
if ($e->getCode() !== 409) {
throw new \Exception("Could not create the nextcloud-aio network: " . $e->getMessage());
throw new \Exception("Could not create the nextcloud-aio network: " . $e->getResponse()?->getBody()->getContents());
}
}
}
@@ -1028,6 +1032,10 @@ readonly class DockerActionManager {
}
}
public function GetAndGenerateSecretWrapper(string $secretId) : string {
return $this->configurationManager->GetAndGenerateSecret($secretId);
}
public function isNextcloudImageOutdated() : bool {
$createdTime = $this->GetCreatedTimeOfNextcloudImage();

View File

@@ -17,7 +17,7 @@
<div class="container">
<main>
<h1>Nextcloud AIO v10.3.0</h1>
<h1>Nextcloud AIO v10.5.0</h1>
{# Add 2nd tab warning #}
<script type="text/javascript" src="second-tab-warning.js"></script>
@@ -101,7 +101,7 @@
{% else %}
<p>AIO is currently in "reverse proxy mode" which means that it can be installed behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else) and does not do the TLS proxying itself.</p>
{% endif %}
<p>Please type the domain that will be used for Nextcloud below in order to create a new AIO instance.</p>
<p>Please type the domain that will be used for Nextcloud.</p>
{% if skip_domain_validation == true %}
<p><strong>Please note:</strong> The domain validation is disabled so any domain will be accepted here! Make sure you do not make a typo here as you will not be able to change it afterwards!</p>
{% endif %}
@@ -115,7 +115,7 @@
<p>Make sure that this server is reachable on port 443 (port 443/tcp is open/forwarded in your firewall/router and 443/udp as well if you want to enable http3) and that you've correctly set up the DNS config for the domain that you enter (set the A record to your public ipv4-address and if you need ipv6, set the AAAA record to your public ipv6-address. A CNAME record is, of course, also possible). You should see hints on what went wrong in the top right corner if your domain is not accepted.</p>
<details>
<summary>Click here for further hints</summary>
<p>If you do not have a domain yet, you can get one for free e.g. from duckdns.org and others.</p>
<p>If you do not have a domain yet, you can get one for free e.g. from duckdns.org and others. Recommended is to use <a href="https://github.com/nextcloud/all-in-one/discussions/5439">Tailscale</a></p>
<p>If you have a dynamic public IP-address, you can use e.g. <a href="https://ddclient.net/">DDclient</a> with a compatible domain provider for DNS updates.</p>
<p>If you only want to install AIO locally without exposing it to the public internet or if you cannot do so, feel free to follow <a href="https://github.com/nextcloud/all-in-one/blob/main/local-instance.md">this documentation</a>.</p>
<p>If you should be using Cloudflare Proxy for your domain, make sure to disable the Proxy feature temporarily as it might block the domain validation attempts.</p>
@@ -282,6 +282,9 @@
{% if container.GetDocumentation() != '' %}
(<a href="{{ container.GetDocumentation() }}">docs</a>)
{% endif %}
{% if container.GetUiSecret() != '' %}
(password: {{ container.GetUiSecret() }})
{% endif %}
</span>
{% elseif container.GetRunningState().value == 'running' %}
<span class="status success"></span>
@@ -289,6 +292,9 @@
{% if container.GetDocumentation() != '' %}
(<a href="{{ container.GetDocumentation() }}">docs</a>)
{% endif %}
{% if container.GetUiSecret() != '' %}
(password: {{ container.GetUiSecret() }})
{% endif %}
</span>
{% else %}
<span class="status error"></span>
@@ -296,6 +302,9 @@
{% if container.GetDocumentation() != '' %}
(<a href="{{ container.GetDocumentation() }}">docs</a>)
{% endif %}
{% if container.GetUiSecret() != '' %}
(password: {{ container.GetUiSecret() }})
{% endif %}
</span>
{% endif %}
</li>
@@ -504,6 +513,9 @@
{% endif %}
{% if has_backup_run_once == true %}
<h3>Backup Viewer</h3>
<p>There is now a community container that allows to access your backups in a web session. See <a href="https://github.com/nextcloud/all-in-one/tree/main/community-containers/borgbackup-viewer"><strong>this documentation</strong></a>.</p>
<h3>Backup check</h3>
<p>Click on the button below to perform a backup integrity check. This is an option that verifies that your backup is intact. It shouldn't be needed in most situations.</p>
<form method="POST" action="/api/docker/backup-check" class="xhr">

View File

@@ -21,7 +21,7 @@
data-initial-state="false"
{% endif %}
>
<label for="clamav">ClamAV (Antivirus backend for Nextcloud, only supported on x64, needs ~1GB additional RAM)</label>
<label for="clamav">ClamAV (Antivirus backend for Nextcloud, only supported on x86_64, needs ~1GB additional RAM)</label>
</p>
<p>
<input
@@ -96,7 +96,7 @@
data-initial-state="false"
{% endif %}
>
<label for="talk-recording">Nextcloud Talk Recording-server (needs Nextcloud Talk being enabled and ~1GB additional RAM and ~2 additional vCPUs)</label>
<label for="talk-recording">Nextcloud Talk Recording-server (needs Nextcloud Talk being enabled and ~1GB additional RAM and ~2 additional vCPUs, currently <a href="https://github.com/nextcloud/nextcloud-talk-recording/issues/17">only works on x86_64</a>)</label>
</p>
{% if is_onlyoffice_enabled == true %}
<p>
@@ -145,7 +145,7 @@
<input id="options-form-submit" type="submit" value="Save changes" />
<script type="text/javascript" src="options-form-submit.js?v3"></script>
</form>
<p><strong>Minimal system requirements:</strong> When any optional container is enabled, at least 2GB RAM, a dual-core CPU and 40GB system storage are required. When enabling ClamAV, Nextcloud Talk Recording-server or Fulltextsearch, at least 3GB RAM are required. For Talk Recording-server additional 2 vCPUs are required. When enabling everything, at least 5GB RAM and a quad-core CPU are required. Recommended are at least 1GB more RAM than the minimal requirement. For further advices and recommendations see <strong><a href="https://github.com/nextcloud/all-in-one/discussions/1335">this documentation</a></strong></p>
<p><strong>Minimal system requirements:</strong> When any optional container is enabled, at least 2GB RAM, a dual-core CPU and 40GB system storage are required. When enabling ClamAV, Nextcloud Talk Recording-server or Fulltextsearch, at least 3GB RAM are required. For Talk Recording-server additional 2 vCPUs are required. When enabling everything, at least 5GB RAM and a quad-core CPU are required. Recommended are at least 1GB more RAM than the minimal requirement. For further advice and recommendations see <strong><a href="https://github.com/nextcloud/all-in-one/discussions/1335">this documentation</a></strong></p>
{% if isAnyRunning == true or is_x64_platform == false %}
<script type="text/javascript" src="disable-clamav.js"></script>
{% endif %}

View File

@@ -13,6 +13,7 @@ Included are:
- Fulltextsearch (optional)
- Whiteboard (optional)
- Docker Socket Proxy (optional, needed for [Nextcloud App API](https://github.com/cloud-py-api/app_api#nextcloud-appapi))
- [Community containers](https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers)
<details><summary>And much more:</summary>
- Simple web interface included that enables easy installation and maintenance
@@ -27,7 +28,7 @@ Included are:
- A+ security in Nextcloud security scan
- Ready to be used behind existing [Reverse proxies](https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md)
- Can be used behind [Cloudflare Tunnel](https://github.com/nextcloud/all-in-one#how-to-run-nextcloud-behind-a-cloudflare-tunnel)
- Can be used inside [Tailscale network](https://github.com/nextcloud/all-in-one/discussions/5439)
- Can be used via [Tailscale](https://github.com/nextcloud/all-in-one/discussions/5439)
- Ready for big file uploads up to 10 GB on public links, [adjustable](https://github.com/nextcloud/all-in-one#how-to-adjust-the-upload-limit-for-nextcloud) (logged in users can upload much bigger files using the webinterface or the mobile/desktop clients since chunking is used in that case)
- PHP and web server timeouts set to 3600s, [adjustable](https://github.com/nextcloud/all-in-one#how-to-adjust-the-max-execution-time-for-nextcloud) (important for big file uploads)
- Defaults to a max of 512 MB RAM per PHP process, [adjustable](https://github.com/nextcloud/all-in-one#how-to-adjust-the-php-memory-limit-for-nextcloud)
@@ -46,7 +47,6 @@ Included are:
- Possibility included to [permanently add additional PHP extensions into the Nextcloud container](https://github.com/nextcloud/all-in-one#how-to-add-php-extensions-permanently-to-the-nextcloud-container) without having to build your own Docker image
- Possibility included to [pass the needed device for hardware transcoding](https://github.com/nextcloud/all-in-one#how-to-enable-hardware-acceleration-for-nextcloud) to the Nextcloud container
- Possibility included to [store all docker related files on a separate drive](https://github.com/nextcloud/all-in-one#how-to-store-the-filesinstallation-on-a-separate-drive)
- [Additional features can be added very easily](https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers)
- [LDAP can be used as user backend for Nextcloud](https://github.com/nextcloud/all-in-one/tree/main#ldap)
- Migration from any former Nextcloud installation to AIO is possible. See [this documentation](https://github.com/nextcloud/all-in-one/blob/main/migration.md)
- [Fail2Ban can be added](https://github.com/nextcloud/all-in-one#fail2ban)
@@ -232,6 +232,7 @@ On older TrueNAS SCALE releases with Kubernetes environment, there are two ways
Another but untested way is to install Portainer on your TrueNAS SCALE from here https://truecharts.org/charts/stable/portainer/installation-notes and add the Helm-chart repository https://nextcloud.github.io/all-in-one/ into Portainer by following https://docs.portainer.io/user/kubernetes/helm. More docs on AIOs Helm Chart are available here: https://github.com/nextcloud/all-in-one/tree/main/nextcloud-aio-helm-chart#nextcloud-aio-helm-chart.
### Notes on Cloudflare (proxy/tunnel)
Since Cloudflare Proxy/Tunnel comes with a lot of limitations which are listed below, it is rather recommended to switch to [Tailscale](https://github.com/nextcloud/all-in-one/discussions/5439) if possible.
- Cloudflare Proxy and Cloudflare Tunnel both require Cloudflare to perform TLS termination on their side and thus decrypt all the traffic on their infrastructure. This is a privacy concern and you will need to look for other solutions if it's unacceptable for you.
- Using Cloudflare Tunnel might potentially slow down Nextcloud since local access via the configured domain is not possible because TLS termination is in that case offloaded to Cloudflare's infrastructure. There is no way to disable this behavior in Cloudflare Tunnel.
- It is known that the domain validation may not work correctly behind Cloudflare since Cloudflare might block the validation attempt. You can simply skip it in that case by following: https://github.com/nextcloud/all-in-one#how-to-skip-the-domain-validation
@@ -248,7 +249,7 @@ Another but untested way is to install Portainer on your TrueNAS SCALE from here
### How to run Nextcloud behind a Cloudflare Tunnel?
Although it does not seems like it is the case but from AIO perspective a Cloudflare Tunnel works like a reverse proxy. So please follow the [reverse proxy documentation](./reverse-proxy.md) where is documented how to make it run behind a Cloudflare Tunnel. However please see the [caveats](https://github.com/nextcloud/all-in-one#notes-on-cloudflare-proxytunnel) before proceeding.
### How to run Nextcloud inside a Tailscale network?
### How to run Nextcloud via Tailscale?
For a reverse proxy example guide for Tailscale, see this guide by @flll: https://github.com/nextcloud/all-in-one/discussions/5439
### Disrecommended VPS providers
@@ -273,22 +274,22 @@ You can install AIO in reverse proxy mode where is also documented how to get it
If you do not want to open Nextcloud to the public internet, you may have a look at the following documentation on how to set it up locally: [local-instance.md](./local-instance.md), but keep in mind you're still required to have https working properly.
### Can I use an ip-address for Nextcloud instead of a domain?
No and it will not be added. If you only want to run it locally, you may have a look at the following documentation: [local-instance.md](./local-instance.md) for configuration without a traditional domain. Or, [consider using NextcloudPi](nextcloudpi.com) for ip-address access locally (it bundles fewer features than AIO).
No and it will not be added. If you only want to run it locally, you may have a look at the following documentation: [local-instance.md](./local-instance.md). Recommended is to use [Tailscale](https://github.com/nextcloud/all-in-one/discussions/5439).
### Can I run AIO offline or in an airgapped system?
No. This is not possible and will not be added due to multiple reasons: update checks, app installs via app-store, downloading additional docker images on demand and more.
### Are self-signed certificates supported for Nextcloud?
No and they will not be. If you want to run it locally, without opening Nextcloud to the public internet, please have a look at the [local instance documentation](./local-instance.md).
No and they will not be. If you want to run it locally, without opening Nextcloud to the public internet, please have a look at the [local instance documentation](./local-instance.md). Recommended is to use [Tailscale](https://github.com/nextcloud/all-in-one/discussions/5439).
### Can I use AIO with multiple domains?
No and it will not be added. However you can use [this feature](https://github.com/nextcloud/all-in-one/blob/main/multiple-instances.md) in order to create multiple AIO instances, one for each domain.
### Are other ports than the default 443 for Nextcloud supported?
No and they will not be. Please use a dedicated domain for Nextcloud and set it up correctly by following the [reverse proxy documentation](./reverse-proxy.md). If port 443 and/or 80 is blocked for you, you may use the a Cloudflare Tunnel if you want to publish it online. You could also use the ACME DNS-challenge to get a valid certificate. However in all cases the Nextcloud interface will redirect you to port 443.
No and they will not be. If port 443 and/or 80 is blocked for you, you may use [Tailscale](https://github.com/nextcloud/all-in-one/discussions/5439) if you want to publish it online. If you already run a different service on port 443, please use a dedicated domain for Nextcloud and set it up correctly by following the [reverse proxy documentation](./reverse-proxy.md). However in all cases the Nextcloud interface will redirect you to port 443.
### Can I run Nextcloud in a subdirectory on my domain?
No and it will not be added. Please use a dedicated (sub-)domain for Nextcloud and set it up correctly by following the [reverse proxy documentation](./reverse-proxy.md).
No and it will not be added. Please use a dedicated (sub-)domain for Nextcloud and set it up correctly by following the [reverse proxy documentation](./reverse-proxy.md). Alternatively, you may use [Tailscale](https://github.com/nextcloud/all-in-one/discussions/5439) if you want to publish it online.
### How can I access Nextcloud locally?
Please note that local access is not possible if you are running AIO behind Cloudflare Tunnel since TLS proxying is in that case offloaded to Cloudflares infrastructure. You can fix this by setting up your own reverse proxy that handles TLS proxying locally and will make the steps below work.
@@ -429,7 +430,7 @@ Be aware that this solution does not back up files and folders that are mounted
---
#### What is getting backed up by AIO's backup solution?
Backed up will get all important data of your Nextcloud AIO instance like the database, your files and configuration files of the mastercontainer and else. Files and folders that are mounted into Nextcloud using the external storage app are not getting backed up. There is currently no way to exclude the data directory because it would require hacks like running files:scan and would make the backup solution much more unreliable (since the database and your files/folders need to stay in sync). If you still don't want your datadirectory to be backed up, see https://github.com/nextcloud/all-in-one#how-to-enable-automatic-updates-without-creating-a-backup-beforehand for options (there is a hint what needs to be backed up in which order).
Backed up will get all important data of your Nextcloud AIO instance required to restore the instance, like the database, your files and configuration files of the mastercontainer and else. Files and folders that are mounted into Nextcloud using the external storage app are not getting backed up. There is currently no way to exclude the data directory because it would require hacks like running files:scan and would make the backup solution much more unreliable (since the database and your files/folders need to stay in sync). If you still don't want your datadirectory to be backed up, see https://github.com/nextcloud/all-in-one#how-to-enable-automatic-updates-without-creating-a-backup-beforehand for options (there is a hint what needs to be backed up in which order).
#### How to adjust borgs retention policy?
The built-in borg-based backup solution has by default a retention policy of `--keep-within=7d --keep-weekly=4 --keep-monthly=6`. See https://borgbackup.readthedocs.io/en/stable/usage/prune.html for what these values mean. You can adjust the retention policy by providing `--env BORG_RETENTION_POLICY="--keep-within=7d --keep-weekly=4 --keep-monthly=6"` to the docker run command of the mastercontainer (but before the last line `nextcloud/all-in-one:latest`! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) and customize the value to your fitting. ⚠️ Please make sure that this value is valid, otherwise backup pruning will bug out!
@@ -493,6 +494,9 @@ In this example, it would mount `E:\your\backup\path` into the volume so for a d
#### Pro-tip: Backup archives access
You can open the BorgBackup archives on your host by following these steps:<br>
(instructions for Ubuntu Desktop)
Alternatively, there is now a community container that allows to access your backups in a web session: https://github.com/nextcloud/all-in-one/tree/main/community-containers/borgbackup-viewer.
```bash
# Install borgbackup on the host
sudo apt update && sudo apt install borgbackup
@@ -520,6 +524,9 @@ sudo umount /tmp/borg
#### Delete backup archives manually
You can delete BorgBackup archives on your host manually by following these steps:<br>
(instructions for Debian based OS' like Ubuntu)
Alternatively, there is now a community container that allows to access your backups in a web session: https://github.com/nextcloud/all-in-one/tree/main/community-containers/borgbackup-viewer.
```bash
# Install borgbackup on the host
sudo apt update && sudo apt install borgbackup

View File

@@ -3,6 +3,9 @@
> [!NOTE]
> Please note that AIO comes secured with TLS out-of-the-box. So you don't need to necessarily set up your own reverse proxy if you only want to run Nextcloud AIO which is much easier. See [the normal readme](https://github.com/nextcloud/all-in-one?tab=readme-ov-file#how-to-use-this) in that case. However if port 443 should already be used because you already run a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else), you need to follow this reverse proxy documentation to set up Nextcloud AIO.
> [!TIP]
> If you don't have a domain yet, [Tailscale is recommended](https://github.com/nextcloud/all-in-one/discussions/5439). If you don't have a reverse proxy yet, [Caddy is recommended](https://github.com/nextcloud/all-in-one/discussions/575).
## Introduction
In order to run Nextcloud behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else), you need to:
1. add a specific config to your web server or reverse proxy. [See the documentation below.](#1-configure-the-reverse-proxy)
@@ -920,5 +923,6 @@ If something does not work, follow the steps below:
1. If you use Cloudflare, you might need to skip the domain validation anyways since it is known that Cloudflare might block the validation attempts. In that case, see the last option below!
1. If your reverse proxy is configured to use the host network (as recommended in the above docs) or running on the host, make sure that you've configured your firewall to open port 443 (and 80)!
1. Check if you have a public IPv4- and public IPv6-address. If you only have a public IPv6-address (e.g. due to DS-Lite), make sure to enable IPv6 in Docker and your whole networking infrastructure (e.g. also by adding an AAAA DNS-entry to your domain)!
1. [Enable Hairpin NAT in your router](https://github.com/nextcloud/all-in-one/discussions/5849) or [set up a local DNS server and add a custom dns-record](https://github.com/nextcloud/all-in-one#how-can-i-access-nextcloud-locally) that allows the server to reach itself locally
1. Try to configure everything from scratch - if it still does not work by following https://github.com/nextcloud/all-in-one#how-to-properly-reset-the-instance.
1. As last resort, you may disable the domain validation by adding `--env SKIP_DOMAIN_VALIDATION=true` to the docker run command. But only use this if you are completely sure that you've correctly configured everything!