Compare commits

...

83 Commits

Author SHA1 Message Date
Simon L.
1fea550764 Merge pull request #6022 from nextcloud/Anvil5465-patch-2
Allow Jellyfin write access to NEXTCLOUD_MOUNT
2025-02-17 17:21:29 +01:00
Anvil5465
c684ce206c Allow Jellyfin write access to NEXTCLOUD_MOUNT
Signed-off-by: Anvil5465 <119350594+Anvil5465@users.noreply.github.com>
2025-02-17 17:20:27 +01:00
Simon L.
62c4cd4188 increase to 10.6.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-02-17 11:53:14 +01:00
Simon L.
c9a0cd4f7e Merge pull request #6054 from nextcloud/enh/noid/hub-10
aio-interface: show checkbox for hub 10
2025-02-17 11:52:21 +01:00
Simon L.
b60db87321 aio-interface: show checkbox for hub 10
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-02-17 11:50:52 +01:00
Simon L.
37b7e22851 Merge pull request #6009 from nextcloud/enh/4751/allow-to-exclude-datadir
borg: allow to exclude datadir and preview folder from backup via `.noaiobackup` file
2025-02-17 11:25:33 +01:00
Simon L.
dd4031c761 Merge pull request #6005 from nextcloud/enh/5311/allow-adjust-es-java-options
FTS: allow to adjust the ES_JAVA_OPTS
2025-02-17 11:20:35 +01:00
Simon L.
cca7eef06b FTS: allow to adjust the ES_JAVA_OPTS
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-02-17 11:19:10 +01:00
Simon L.
7849d06b3e Merge pull request #6051 from nextcloud/dependabot/docker/Containers/watchtower/alpine-3.21.3
build(deps): bump alpine from 3.21.2 to 3.21.3 in /Containers/watchtower
2025-02-17 11:10:06 +01:00
Simon L.
c41ed2b31f Merge pull request #6050 from nextcloud/dependabot/docker/Containers/talk/alpine-3.21.3
build(deps): bump alpine from 3.21.2 to 3.21.3 in /Containers/talk
2025-02-17 11:09:50 +01:00
Simon L.
b83a772060 Merge pull request #6049 from nextcloud/dependabot/docker/Containers/notify-push/alpine-3.21.3
build(deps): bump alpine from 3.21.2 to 3.21.3 in /Containers/notify-push
2025-02-17 11:09:34 +01:00
Simon L.
e3984f87a1 Merge pull request #6048 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.3.17-fpm-alpine3.21
build(deps): bump php from 8.3.16-fpm-alpine3.21 to 8.3.17-fpm-alpine3.21 in /Containers/nextcloud
2025-02-17 11:09:14 +01:00
Simon L.
a817b8b903 Merge pull request #6047 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.3.17-fpm-alpine3.21
build(deps): bump php from 8.3.16-fpm-alpine3.21 to 8.3.17-fpm-alpine3.21 in /Containers/mastercontainer
2025-02-17 11:09:00 +01:00
Simon L.
da2d6f9a16 Merge pull request #6046 from nextcloud/dependabot/docker/Containers/imaginary/alpine-3.21.3
build(deps): bump alpine from 3.21.2 to 3.21.3 in /Containers/imaginary
2025-02-17 11:08:45 +01:00
Simon L.
280114b7c1 Merge pull request #6045 from nextcloud/dependabot/docker/Containers/domaincheck/alpine-3.21.3
build(deps): bump alpine from 3.21.2 to 3.21.3 in /Containers/domaincheck
2025-02-17 11:08:29 +01:00
Simon L.
8db30147ab Merge pull request #6044 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.4.2-27
build(deps): bump clamav/clamav from 1.4.2-26 to 1.4.2-27 in /Containers/clamav
2025-02-17 11:08:15 +01:00
Simon L.
5533ea7d13 Merge pull request #6043 from nextcloud/dependabot/docker/Containers/borgbackup/alpine-3.21.3
build(deps): bump alpine from 3.21.2 to 3.21.3 in /Containers/borgbackup
2025-02-17 11:07:58 +01:00
dependabot[bot]
50050574c7 build(deps): bump alpine from 3.21.2 to 3.21.3 in /Containers/watchtower
Bumps alpine from 3.21.2 to 3.21.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 05:01:02 +00:00
dependabot[bot]
dd74c9b3af build(deps): bump alpine from 3.21.2 to 3.21.3 in /Containers/talk
Bumps alpine from 3.21.2 to 3.21.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 05:00:45 +00:00
dependabot[bot]
c58c789f58 build(deps): bump alpine in /Containers/notify-push
Bumps alpine from 3.21.2 to 3.21.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 05:00:28 +00:00
dependabot[bot]
c4a332eab1 build(deps): bump php in /Containers/nextcloud
Bumps php from 8.3.16-fpm-alpine3.21 to 8.3.17-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-02-17 05:00:25 +00:00
dependabot[bot]
07bfea3b6c build(deps): bump php in /Containers/mastercontainer
Bumps php from 8.3.16-fpm-alpine3.21 to 8.3.17-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-02-17 05:00:04 +00:00
dependabot[bot]
7cf6486c52 build(deps): bump alpine from 3.21.2 to 3.21.3 in /Containers/imaginary
Bumps alpine from 3.21.2 to 3.21.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 04:59:54 +00:00
dependabot[bot]
847fe97e47 build(deps): bump alpine in /Containers/domaincheck
Bumps alpine from 3.21.2 to 3.21.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 04:59:49 +00:00
dependabot[bot]
da23586441 build(deps): bump clamav/clamav in /Containers/clamav
Bumps clamav/clamav from 1.4.2-26 to 1.4.2-27.

---
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-02-17 04:59:43 +00:00
dependabot[bot]
db77606f55 build(deps): bump alpine from 3.21.2 to 3.21.3 in /Containers/borgbackup
Bumps alpine from 3.21.2 to 3.21.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 04:59:41 +00:00
Simon L.
ddf90f8b1d Merge pull request #6039 from nextcloud/nextcloud-container-update
Nextcloud dependency update
2025-02-14 13:42:55 +01:00
Simon L.
f68dbb678e Merge pull request #6038 from nextcloud/aio-dependency-update
PHP dependency updates
2025-02-14 13:42:34 +01:00
szaimen
52b8f7bccb nextcloud-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-14 12:11:15 +00:00
szaimen
afba1368ea php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-14 12:02:55 +00:00
Simon L.
0b3d0d7ca3 Merge pull request #6034 from nextcloud/aio-dependency-update
PHP dependency updates
2025-02-13 13:30:35 +01:00
szaimen
aa94662aa7 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-13 12:03:05 +00:00
Simon L.
ff7fdb5864 Merge pull request #6033 from nextcloud/dependabot/docker/Containers/imaginary/golang-1.24.0-alpine3.21
build(deps): bump golang from 1.23.6-alpine3.21 to 1.24.0-alpine3.21 in /Containers/imaginary
2025-02-13 07:36:26 +01:00
dependabot[bot]
b1f14ea187 build(deps): bump golang in /Containers/imaginary
Bumps golang from 1.23.6-alpine3.21 to 1.24.0-alpine3.21.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-13 04:16:57 +00:00
Simon L.
cfca4f6ad7 Merge pull request #6031 from nextcloud/aio-dependency-update
PHP dependency updates
2025-02-12 13:11:27 +01:00
Simon L.
db1b0189c5 Merge pull request #6032 from nextcloud/aio-yaml-update
Yaml updates
2025-02-12 13:11:08 +01:00
szaimen
1ea7f48f9f Yaml updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-12 12:03:12 +00:00
szaimen
4f86b0ad0a php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-12 12:03:01 +00:00
Simon L.
2112916255 Merge pull request #6030 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.17.2
build(deps): bump elasticsearch from 8.17.1 to 8.17.2 in /Containers/fulltextsearch
2025-02-12 07:43:43 +01:00
dependabot[bot]
f9fe028f77 build(deps): bump elasticsearch in /Containers/fulltextsearch
Bumps elasticsearch from 8.17.1 to 8.17.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-12 04:43:19 +00:00
Simon L.
12efc88bc8 Merge pull request #5987 from nextcloud/aio-dependency-update
PHP dependency updates
2025-02-11 14:36:36 +01:00
Simon L.
37c299188c Merge pull request #6015 from nextcloud/dependabot/docker/Containers/imaginary/golang-1.23.6-alpine3.21
build(deps): bump golang from 1.23.5-alpine3.21 to 1.23.6-alpine3.21 in /Containers/imaginary
2025-02-11 14:35:43 +01:00
Simon L.
b87b3f7efe update OO
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-02-11 14:35:11 +01:00
Simon L.
9397f12a75 Merge pull request #6027 from nextcloud/enh/noid/add-retention-policy-chapter
readme: add chapter how to adjust version and trashbin retention policy
2025-02-11 14:34:17 +01:00
Simon L.
b3d8cf78fb readme: add chapter how to adjust version and trashbin retention policy
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-02-11 14:32:47 +01:00
Simon L.
41ca74b2f6 Merge pull request #6023 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-24.04.12.3.1
build(deps): bump collabora/code from 24.04.12.2.1 to 24.04.12.3.1 in /Containers/collabora
2025-02-11 14:26:40 +01:00
Simon L.
d8d40c0026 Merge pull request #6021 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.4.2-26
build(deps): bump clamav/clamav from 1.4.2-25 to 1.4.2-26 in /Containers/clamav
2025-02-11 14:26:27 +01:00
Simon L.
0d29399e46 Merge pull request #6026 from nextcloud/enh/noid/add-note-about-manual-upgrade
manual-upgrade: add note that method 1 seems to be currently broken
2025-02-11 14:24:32 +01:00
Simon L.
4b219fa692 Merge pull request #6025 from nextcloud/enh/6024/add-tz-to-notify-push
notify-push: add timezone to container
2025-02-11 14:24:18 +01:00
Simon L.
6170e699c5 manual-upgrade: add note that method 1 seems to be currently broken
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-02-11 14:23:03 +01:00
Simon L.
abec1ef102 notify-push: add timezone to container
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-02-11 10:11:38 +01:00
dependabot[bot]
b340152d80 build(deps): bump collabora/code in /Containers/collabora
Bumps collabora/code from 24.04.12.2.1 to 24.04.12.3.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-11 04:45:11 +00:00
dependabot[bot]
ee5db17004 build(deps): bump clamav/clamav in /Containers/clamav
Bumps clamav/clamav from 1.4.2-25 to 1.4.2-26.

---
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-02-10 04:43:37 +00:00
szaimen
3c83570360 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-07 12:06:53 +00:00
Simon L.
db81abed09 Merge pull request #6018 from nextcloud/dependabot/docker/Containers/talk-recording/python-3.13.2-alpine3.21
build(deps): bump python from 3.13.1-alpine3.21 to 3.13.2-alpine3.21 in /Containers/talk-recording
2025-02-07 09:58:01 +01:00
dependabot[bot]
3a19de9e65 build(deps): bump python in /Containers/talk-recording
Bumps python from 3.13.1-alpine3.21 to 3.13.2-alpine3.21.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-07 05:02:37 +00:00
dependabot[bot]
75f00d4e7e build(deps): bump golang in /Containers/imaginary
Bumps golang from 1.23.5-alpine3.21 to 1.23.6-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-02-06 04:48:12 +00:00
Simon L.
965f8611a1 Merge pull request #6013 from nextcloud/enh/scrutiny/improve-docs
scrutiny-cc: improve documentation
2025-02-05 13:51:22 +01:00
Simon L.
4a00eb9347 scrutiny-cc: improve documentation
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-02-05 13:48:54 +01:00
Simon L.
13afcd944a borg: allow to exclude datadir and preview folder from backup via .noaiobackup file
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-02-04 19:52:55 +01:00
Simon L.
69ea9d1a72 adjust detail
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-02-04 17:29:10 +01:00
Simon L.
d0374e4b47 Merge pull request #6004 from nextcloud/enh/noid/add-toc
readme: add TOC
2025-02-04 17:22:52 +01:00
Simon L.
7b65109126 readme: add TOC
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-02-04 17:19:55 +01:00
Simon L.
32dc801885 Merge pull request #5998 from nextcloud/enh/noid/add-further-ui-secrets
also add ui-secret to pi-hole and vaultwarden
2025-02-04 12:07:55 +01:00
Simon L.
f87f8187ee Merge pull request #5990 from nextcloud/enh/noid/adjust-message
run-exec-commands.sh. adjust message when waiting for container
2025-02-04 12:07:07 +01:00
Simon L.
2c71c2307b Merge pull request #5989 from nextcloud/dependabot/docker/Containers/docker-socket-proxy/haproxy-3.1.3-alpine
build(deps): bump haproxy from 3.1.2-alpine to 3.1.3-alpine in /Containers/docker-socket-proxy
2025-02-04 12:06:02 +01:00
Simon L.
88fd732743 Merge pull request #5992 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-24.04.12.2.1
build(deps): bump collabora/code from 24.04.12.1.1 to 24.04.12.2.1 in /Containers/collabora
2025-02-04 12:05:46 +01:00
Simon L.
eb1753b2a2 Merge pull request #5999 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.4.2-25
build(deps): bump clamav/clamav from 1.4.2-24 to 1.4.2-25 in /Containers/clamav
2025-02-04 12:05:30 +01:00
Simon L.
953cf4437d Merge pull request #6003 from nextcloud/aio-helm-update
Helm Chart updates
2025-02-04 12:04:25 +01:00
Simon L.
a0752a22f6 Merge pull request #6001 from nextcloud/Anvil5465-patch-2
jellyseerr-cc: eliminate tini errors
2025-02-04 12:03:47 +01:00
szaimen
cefdec414e Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-04 11:00:55 +00:00
Anvil5465
f2987232da Update jellyseerr.json
Eliminate tini errors

Signed-off-by: Anvil5465 <119350594+Anvil5465@users.noreply.github.com>
2025-02-03 20:29:04 -05:00
Simon L.
67d294ced7 Merge pull request #5997 from nextcloud/Anvil5465-patch-2
jellyseer-cc: Update readme.md
2025-02-03 11:02:33 +01:00
dependabot[bot]
033c8b6798 build(deps): bump clamav/clamav in /Containers/clamav
Bumps clamav/clamav from 1.4.2-24 to 1.4.2-25.

---
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-02-03 04:52:11 +00:00
Simon L.
13da99fa91 also add ui-secret to pi-hole and vaultwarden
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-02-02 14:51:11 +01:00
Anvil5465
844dcd068b Update readme.md
Recommendation to enable CSRF protection when using with the caddy container

Signed-off-by: Anvil5465 <119350594+Anvil5465@users.noreply.github.com>
2025-02-02 08:47:02 -05:00
Anvil5465
1b3b385238 Update readme.md
Add requirement for proxy support setting with fail2ban

Signed-off-by: Anvil5465 <119350594+Anvil5465@users.noreply.github.com>
2025-02-02 08:40:36 -05:00
dependabot[bot]
8bac3fd2fe build(deps): bump collabora/code in /Containers/collabora
Bumps collabora/code from 24.04.12.1.1 to 24.04.12.2.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-31 05:09:47 +00:00
Simon L.
ee3d2a4db7 run-exec-commands.sh. adjust message when waiting for container
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-30 11:36:12 +01:00
dependabot[bot]
f3ed548add build(deps): bump haproxy in /Containers/docker-socket-proxy
Bumps haproxy from 3.1.2-alpine to 3.1.3-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-30 04:24:44 +00:00
Simon L.
3a2b1a2efe fix space
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-01-29 10:28:36 +01:00
Simon L.
768545a1d8 Merge pull request #5984 from nextcloud/aio-yaml-update
Yaml updates
2025-01-28 14:00:32 +01:00
szaimen
bd09fc02b8 Yaml updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-28 12:32:17 +00:00
54 changed files with 264 additions and 94 deletions

View File

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

View File

@@ -185,13 +185,27 @@ if [ "$BORG_MODE" = backup ]; then
# Borg options
# auto,zstd compression seems to has the best ratio based on:
# https://forum.level1techs.com/t/optimal-compression-for-borg-backups/145870/6
BORG_OPTS=(-v --stats --compression "auto,zstd" --exclude-caches)
BORG_OPTS=(-v --stats --compression "auto,zstd")
if [ "$NEW_REPOSITORY" = 1 ]; then
BORG_OPTS+=(--progress)
fi
# Exclude the nextcloud log and audit log for GDPR reasons
BORG_EXCLUDE=(--exclude "/nextcloud_aio_volumes/nextcloud_aio_nextcloud/data/nextcloud.log*" --exclude "/nextcloud_aio_volumes/nextcloud_aio_nextcloud/data/audit.log")
BORG_INCLUDE=()
# Exclude datadir if .noaiobackup file was found
# shellcheck disable=SC2144
if [ -f "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/.noaiobackup" ]; then
BORG_EXCLUDE+=(--exclude "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/")
BORG_INCLUDE+=(--pattern="+/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/.noaiobackup")
echo "⚠️⚠️⚠️ '.noaiobackup' file was found in Nextclouds data directory. Excluding the data directory from backup!"
# Exclude preview folder if .noaiobackup file was found
elif [ -f /nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/appdata_*/preview/.noaiobackup ]; then
BORG_EXCLUDE+=(--exclude "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/appdata_*/preview/")
BORG_INCLUDE+=(--pattern="+/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/appdata_*/preview/.noaiobackup")
echo "⚠️⚠️⚠️ '.noaiobackup' file was found in the preview directory. Excluding the preview directory from backup!"
fi
# Make sure that there is always a borg.config file before creating a new backup
if ! [ -f "/nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/borg.config" ]; then
@@ -203,7 +217,7 @@ if [ "$BORG_MODE" = backup ]; then
# Create the backup
echo "Starting the backup..."
get_start_time
if ! borg create "${BORG_OPTS[@]}" "${BORG_EXCLUDE[@]}" "::$CURRENT_DATE-nextcloud-aio" "/nextcloud_aio_volumes/" --exclude-from /borg_excludes; then
if ! borg create "${BORG_OPTS[@]}" "${BORG_INCLUDE[@]}" "${BORG_EXCLUDE[@]}" "::$CURRENT_DATE-nextcloud-aio" "/nextcloud_aio_volumes/" --exclude-from /borg_excludes; then
echo "Deleting the failed backup archive..."
borg delete --stats "::$CURRENT_DATE-nextcloud-aio"
echo "Backup failed!"
@@ -320,16 +334,30 @@ if [ "$BORG_MODE" = restore ]; then
fi
echo "Restoring '$SELECTED_ARCHIVE'..."
# Exclude previews from restore if selected to speed up process
ADDITIONAL_RSYNC_EXCLUDES=()
ADDITIONAL_BORG_EXCLUDES=()
ADDITIONAL_FIND_EXCLUDES=()
if [ -n "$RESTORE_EXCLUDE_PREVIEWS" ]; then
# Exclude datadir if .noaiobackup file was found
# shellcheck disable=SC2144
if [ -f "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/.noaiobackup" ]; then
# Keep these 3 in sync. Beware, the pattern syntax and the paths differ
ADDITIONAL_RSYNC_EXCLUDES=(--exclude "nextcloud_aio_nextcloud_data/**")
ADDITIONAL_BORG_EXCLUDES=(--exclude "sh:nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/**")
ADDITIONAL_FIND_EXCLUDES=(-o -regex 'nextcloud_aio_volumes/nextcloud_aio_nextcloud_data\(/.*\)?')
echo "⚠️⚠️⚠️ '.noaiobackup' file was found in Nextclouds data directory. Excluding the data directory from restore!"
echo "You might run into problems due to this afterwards as potentially this makes the directory go out of sync with the database."
echo "You might be able to fix this by running 'occ files:scan --all' and 'occ maintenance:repair' and 'occ files:scan-app-data' after the restore."
echo "See https://github.com/nextcloud/all-in-one#how-to-run-occ-commands"
# Exclude previews from restore if selected to speed up process or exclude preview folder if .noaiobackup file was found
elif [ -n "$RESTORE_EXCLUDE_PREVIEWS" ] || [ -f /nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/appdata_*/preview/.noaiobackup ]; then
# Keep these 3 in sync. Beware, the pattern syntax and the paths differ
ADDITIONAL_RSYNC_EXCLUDES=(--exclude "nextcloud_aio_nextcloud_data/appdata_*/preview/**")
ADDITIONAL_BORG_EXCLUDES=(--exclude "sh:nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/appdata_*/preview/**")
ADDITIONAL_FIND_EXCLUDES=(-o -regex 'nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/appdata_[^/]*/preview\(/.*\)?')
echo "Excluding previews from restore"
echo "⚠️⚠️⚠️ Excluding previews from restore!"
echo "You might run into problems due to this afterwards as potentially this makes the directory go out of sync with the database."
echo "You might be able to fix this by running 'occ files:scan-app-data preview' after the restore."
echo "See https://github.com/nextcloud/all-in-one#how-to-run-occ-commands"
fi
# Save Additional Backup dirs

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.2-24
FROM clamav/clamav:1.4.2-27
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.12.1.1
FROM collabora/code:24.04.12.3.1
USER root
ARG DEBIAN_FRONTEND=noninteractive

View File

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

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM alpine:3.21.2
FROM alpine:3.21.3
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.1
FROM elasticsearch:8.17.2
USER root
@@ -22,3 +22,4 @@ USER 1000:0
HEALTHCHECK --interval=10s --timeout=5s --start-period=1m --retries=5 CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false"
ENV ES_JAVA_OPTS="-Xms512M -Xmx512M"

View File

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

View File

@@ -6,7 +6,7 @@ FROM docker:27.5.1-cli AS docker
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.16-fpm-alpine3.21
FROM php:8.3.17-fpm-alpine3.21
EXPOSE 80
EXPOSE 8080

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM php:8.3.16-fpm-alpine3.21
FROM php:8.3.17-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.5
ENV NEXTCLOUD_VERSION=30.0.6
ENV AIO_TOKEN=123456
ENV AIO_URL=localhost
# AIO settings end # Do not remove or change this line!

View File

@@ -30,4 +30,4 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
if ($sse_c_key) {
$CONFIG['objectstore']['arguments']['sse_c_key'] = $sse_c_key;
}
}
}

View File

@@ -2,7 +2,7 @@
# Wait until the apache container is ready
while ! nc -z "$APACHE_HOST" "$APACHE_PORT"; do
echo "Waiting for Apache to become available..."
echo "Waiting for $APACHE_HOST to become available..."
sleep 15
done

View File

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

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# From https://github.com/ONLYOFFICE/Docker-DocumentServer/blob/master/Dockerfile
FROM onlyoffice/documentserver:8.2.2.1
FROM onlyoffice/documentserver:8.3.0.1
# USER root is probably used

View File

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

View File

@@ -2,7 +2,7 @@
FROM nats:2.10.25-scratch AS nats
FROM eturnal/eturnal:1.12.1 AS eturnal
FROM strukturag/nextcloud-spreed-signaling:2.0.2 AS signaling
FROM alpine:3.21.2 AS janus
FROM alpine:3.21.3 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.2
FROM alpine:3.21.3
ENV ETURNAL_ETC_DIR="/conf"
COPY --from=janus --chmod=777 --chown=1000:1000 /usr/local /usr/local
COPY --from=eturnal --chmod=777 --chown=1000:1000 /opt/eturnal /opt/eturnal

View File

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

View File

@@ -25,7 +25,7 @@
{
"source": "%NEXTCLOUD_MOUNT%",
"destination": "%NEXTCLOUD_MOUNT%",
"writeable": false
"writeable": true
}
],
"devices": [

View File

@@ -8,6 +8,7 @@
"image_tag": "latest",
"internal_port": "5055",
"restart": "unless-stopped",
"init": false,
"ports": [
{
"ip_binding": "%APACHE_IP_BINDING%",

View File

@@ -4,8 +4,8 @@ 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
- 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. Note that it is recommended to [enable CSRF protection in Jellyseerr](https://docs.jellyseerr.dev/using-jellyseerr/settings/general#enable-csrf-protection) for added security if you plan to use Jellyseerr outside the local network, but make sure to read up on it and understand the caveats first.
- 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. Note that [enabling the proxy support option in Jellyseerr](https://docs.jellyseerr.dev/using-jellyseerr/settings/general#enable-proxy-support) is required for this to work properly.
- 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.

View File

@@ -48,6 +48,7 @@
"nextcloud_aio_pihole",
"nextcloud_aio_pihole_dnsmasq"
],
"ui_secret": "PIHOLE_WEBPASSWORD",
"secrets": [
"PIHOLE_WEBPASSWORD"
]

View File

@@ -6,7 +6,7 @@ This container bundles pi-hole and auto-configures it for you.
- Make sure that no dns server is already running by checking with `sudo netstat -tulpn | grep 53`. Otherwise the container will not be able to start!
- The DHCP functionality of Pi-hole has been disabled!
- The data of pi-hole will be automatically included in AIOs backup solution!
- After adding and starting the container, you can visit `http://ip.address.of.this.server:8573/admin` in order to log in with the admin key that you can retrieve when running `sudo docker inspect nextcloud-aio-pihole | grep WEBPASSWORD`. There you can configure the pi-hole setup. Also you can add local dns records.
- After adding and starting the container, you can visit `http://ip.address.of.this.server:8573/admin` in order to log in with the admin key that you can see next to the container in the AIO interface. There you can configure the pi-hole setup. Also you can add local dns records.
- You can configure your home network now to use pi-hole as its dns server by configuring your router.
- Additionally, you can configure the docker daemon to use that by editing `/etc/docker/daemon.json` and adding ` { "dns" : [ "ip.address.of.this.server" , "8.8.8.8" ] } `.
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack

View File

@@ -1,11 +1,12 @@
## Scrutiny
This container bundles Scrutiny and auto-configures it for you.
This container bundles Scrutiny which is a frontend for SMART stats 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.
- It currently does not support sending notifications as no good solution was found yet that makes this possible. See https://github.com/szaimen/aio-scrutiny/issues/3
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository

View File

@@ -6,7 +6,7 @@ This container bundles vaultwarden and auto-configures it for you.
- Currently, only `bw.$NC_DOMAIN` is supported as subdomain! So if Nextcloud is using `your-domain.com`, vaultwarden will use `bw.your-domain.com`. The reverse proxy and domain must be configured accordingly!
- 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 Vaultwarden will be automatically included in AIOs backup solution!
- After adding and starting the container, you need to visit `https://bw.your-domain.com/admin` in order to log in with the admin key that you can retrieve when running `sudo docker inspect nextcloud-aio-vaultwarden | grep ADMIN_TOKEN`. There you can configure smtp first and then invite users via mail. After this is done, you might disable the admin panel via the reverse proxy by blocking connections to the subdirectory.
- After adding and starting the container, you need to visit `https://bw.your-domain.com/admin` in order to log in with the admin key that you can see next to the container in the AIO interface. There you can configure smtp first and then invite users via mail. After this is done, you might disable the admin panel via the reverse proxy by blocking connections to the subdirectory.
- If using the caddy community container, the vaultwarden admin interface can be disabled by creating a `block-vaultwarden-admin` file in the `nextcloud-aio-caddy` folder when you open the Nextcloud files app with the default `admin` user. Afterwards restart all containers from the AIO interface and the admin interface should be disabled! You can unlock the admin interface by removing the file again and afterwards restarting the containers via the AIO interface.
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack

View File

@@ -40,6 +40,7 @@
"backup_volumes": [
"nextcloud_aio_vaultwarden"
],
"ui_secret": "VAULTWARDEN_ADMIN_TOKEN",
"secrets": [
"VAULTWARDEN_ADMIN_TOKEN"
]

View File

@@ -20,6 +20,7 @@ services:
# APACHE_ADDITIONAL_NETWORK: frontend_net # (Optional) Connect the apache container to an additional docker network. Needed when behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else) running in a different docker network on same server. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# BORG_RETENTION_POLICY: --keep-within=7d --keep-weekly=4 --keep-monthly=6 # Allows to adjust borgs retention policy. See https://github.com/nextcloud/all-in-one#how-to-adjust-borgs-retention-policy
# COLLABORA_SECCOMP_DISABLED: false # Setting this to true allows to disable Collabora's Seccomp feature. See https://github.com/nextcloud/all-in-one#how-to-disable-collaboras-seccomp-feature
# FULLTEXTSEARCH_JAVA_OPTIONS: "-Xms1024M -Xmx1024M" # Allows to adjust the fulltextsearch java options. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-fulltextsearch-java-options
# NEXTCLOUD_DATADIR: /mnt/ncdata # Allows to set the host directory for Nextcloud's datadir. ⚠️⚠️⚠️ Warning: do not set or adjust this value after the initial Nextcloud installation is done! See https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir
# NEXTCLOUD_MOUNT: /mnt/ # Allows the Nextcloud container to access the chosen directory on the host. See https://github.com/nextcloud/all-in-one#how-to-allow-the-nextcloud-container-to-access-directories-on-the-host
# NEXTCLOUD_UPLOAD_LIMIT: 16G # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-upload-limit-for-nextcloud

View File

@@ -202,6 +202,7 @@ services:
environment:
- NC_DOMAIN
- NEXTCLOUD_HOST=nextcloud-aio-nextcloud
- TZ=${TIMEZONE}
- REDIS_HOST=nextcloud-aio-redis
- REDIS_HOST_PASSWORD=${REDIS_PASSWORD}
- POSTGRES_HOST=nextcloud-aio-database
@@ -429,7 +430,7 @@ services:
- "9200"
environment:
- TZ=${TIMEZONE}
- ES_JAVA_OPTS=-Xms512M -Xmx512M
- ES_JAVA_OPTS=${FULLTEXTSEARCH_JAVA_OPTIONS}
- bootstrap.memory_lock=true
- cluster.name=nextcloud-aio
- discovery.type=single-node
@@ -459,6 +460,8 @@ services:
retries: 3
expose:
- "3002"
tmpfs:
- /tmp
environment:
- TZ=${TIMEZONE}
- NEXTCLOUD_URL=https://${NC_DOMAIN}
@@ -466,6 +469,7 @@ services:
- STORAGE_STRATEGY=redis
- REDIS_HOST=nextcloud-aio-redis
- REDIS_HOST_PASSWORD=${REDIS_PASSWORD}
- BACKUP_DIR=/tmp
restart: unless-stopped
profiles:
- whiteboard

View File

@@ -26,6 +26,7 @@ APACHE_MAX_SIZE=17179869184 # This needs to be an integer and in sync w
APACHE_PORT=443 # Changing this to a different value than 443 will allow you to run it behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else).
COLLABORA_DICTIONARIES="de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru" # You can change this in order to enable other dictionaries for collabora
COLLABORA_SECCOMP_POLICY=--o:security.seccomp=true # Changing the value to false allows to disable the seccomp feature of the Collabora container.
FULLTEXTSEARCH_JAVA_OPTIONS="-Xms512M -Xmx512M" # Allows to adjust the fulltextsearch java options.
INSTALL_LATEST_MAJOR=no # Setting this to yes will install the latest Major Nextcloud version upon the first installation
NEXTCLOUD_ADDITIONAL_APKS=imagemagick # This allows to add additional packages to the Nextcloud container permanently. Default is imagemagick but can be overwritten by modifying this value.
NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS=imagick # This allows to add additional php extensions to the Nextcloud container permanently. Default is imagick but can be overwritten by modifying this value.

View File

@@ -93,6 +93,7 @@ sed -i 's|NC_DOMAIN=|NC_DOMAIN=yourdomain.com # TODO! Needs to be chang
sed -i 's|NEXTCLOUD_PASSWORD=|NEXTCLOUD_PASSWORD= # TODO! This is the password of the initially created Nextcloud admin with username "admin".|' sample.conf
sed -i 's|TIMEZONE=|TIMEZONE=Europe/Berlin # TODO! This is the timezone that your containers will use.|' sample.conf
sed -i 's|COLLABORA_SECCOMP_POLICY=|COLLABORA_SECCOMP_POLICY=--o:security.seccomp=true # Changing the value to false allows to disable the seccomp feature of the Collabora container.|' sample.conf
sed -i 's|FULLTEXTSEARCH_JAVA_OPTIONS=|FULLTEXTSEARCH_JAVA_OPTIONS="-Xms512M -Xmx512M" # Allows to adjust the fulltextsearch java options.|' sample.conf
sed -i 's|NEXTCLOUD_STARTUP_APPS=|NEXTCLOUD_STARTUP_APPS="deck twofactor_totp tasks calendar contacts notes" # Allows to modify the Nextcloud apps that are installed on starting AIO the first time|' sample.conf
sed -i 's|NEXTCLOUD_ADDITIONAL_APKS=|NEXTCLOUD_ADDITIONAL_APKS=imagemagick # This allows to add additional packages to the Nextcloud container permanently. Default is imagemagick but can be overwritten by modifying this value.|' sample.conf
sed -i 's|NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS=|NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS=imagick # This allows to add additional php extensions to the Nextcloud container permanently. Default is imagick but can be overwritten by modifying this value.|' sample.conf

View File

@@ -7,7 +7,11 @@ The only way to fix this on your side is upgrading regularly (e.g. by enabling d
---
## Method 1
## Method 1 using `assaflavie/runlike`
> [!Warning]
> Please note that this method is apparently currently broken. See https://help.nextcloud.com/t/manual-upgrade-keeps-failing/217164/10
> So please refer to method 2 using Portainer.
1. Start all containers from the AIO interface
- Now, it will report that Nextcloud is restarting because it is not able to start due to the above mentioned problem
@@ -54,14 +58,11 @@ The only way to fix this on your side is upgrading regularly (e.g. by enabling d
---
## Method 2
## Method 2 using Portainer
#### *Approach using portainer if method 1 does not work for you*
Prerequisite: have all containers from AIO interface running.
<details>
<summary>Click to expand</summary>
##### 1. Install portainer if not installed:
```bash
docker volume create portainer_data
@@ -119,5 +120,3 @@ docker rm portainer
docker volume rm portainer_data
```
- Make sure you close port 9443 on your firewall and delete any necessary reverse proxy hosts.
</details>

View File

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

View File

@@ -61,7 +61,7 @@ spec:
value: "{{ .Values.TIMEZONE }}"
- name: WHITEBOARD_HOST
value: nextcloud-aio-whiteboard
image: nextcloud/aio-apache:20250122_091948
image: nextcloud/aio-apache:20250204_102259
readinessProbe:
exec:
command:

View File

@@ -61,7 +61,7 @@ spec:
value: "{{ .Values.NEXTCLOUD_UPLOAD_LIMIT }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-clamav:20250122_091948
image: nextcloud/aio-clamav:20250204_102259
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:20250122_091948
image: nextcloud/aio-collabora:20250204_102259
readinessProbe:
exec:
command:

View File

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

View File

@@ -35,7 +35,7 @@ spec:
containers:
- env:
- name: ES_JAVA_OPTS
value: -Xms512M -Xmx512M
value: "{{ .Values.FULLTEXTSEARCH_JAVA_OPTIONS | default "-Xms512M -Xmx512M" }}"
- name: FULLTEXTSEARCH_PASSWORD
value: "{{ .Values.FULLTEXTSEARCH_PASSWORD }}"
- name: TZ
@@ -54,7 +54,7 @@ spec:
value: basic
- name: xpack.security.enabled
value: "false"
image: nextcloud/aio-fulltextsearch:20250122_091948
image: nextcloud/aio-fulltextsearch:20250204_102259
readinessProbe:
exec:
command:

View File

@@ -38,7 +38,7 @@ spec:
value: "{{ .Values.IMAGINARY_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-imaginary:20250122_091948
image: nextcloud/aio-imaginary:20250204_102259
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:20250122_091948
image: nextcloud/aio-nextcloud:20250204_102259
{{- 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:20250122_091948
image: nextcloud/aio-notify-push:20250204_102259
readinessProbe:
exec:
command:

View File

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

View File

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

View File

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

View File

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

View File

@@ -34,6 +34,8 @@ spec:
{{- end }}
containers:
- env:
- name: BACKUP_DIR
value: /tmp
- name: JWT_SECRET_KEY
value: "{{ .Values.WHITEBOARD_SECRET }}"
- name: NEXTCLOUD_URL
@@ -46,7 +48,7 @@ spec:
value: redis
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-whiteboard:20250122_091948
image: nextcloud/aio-whiteboard:20250204_102259
readinessProbe:
exec:
command:

View File

@@ -306,6 +306,8 @@ cat << EOL > /tmp/additional.config
EOL
# shellcheck disable=SC1083
find ./ -name '*nextcloud-deployment.yaml' -exec sed -i "/^.*\- env:/r /tmp/additional.config" \{} \;
# shellcheck disable=SC1083
find ./ -name '*fulltextsearch-deployment.yaml' -exec sed -i 's/{{ .Values.FULLTEXTSEARCH_JAVA_OPTIONS }}/{{ .Values.FULLTEXTSEARCH_JAVA_OPTIONS | default "-Xms512M -Xmx512M" }}/' \{} \;
# Additional config
cat << EOL > /tmp/additional-apache.config

View File

@@ -25,6 +25,7 @@ APACHE_MAX_SIZE: "17179869184" # This needs to be an integer and in syn
APACHE_PORT: 443 # Changing this to a different value than 443 will allow you to run it behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else).
COLLABORA_DICTIONARIES: de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru # You can change this in order to enable other dictionaries for collabora
COLLABORA_SECCOMP_POLICY: --o:security.seccomp=true # Changing the value to false allows to disable the seccomp feature of the Collabora container.
FULLTEXTSEARCH_JAVA_OPTIONS: -Xms512M -Xmx512M # Allows to adjust the fulltextsearch java options.
INSTALL_LATEST_MAJOR: no # Setting this to yes will install the latest Major Nextcloud version upon the first installation
NEXTCLOUD_ADDITIONAL_APKS: imagemagick # This allows to add additional packages to the Nextcloud container permanently. Default is imagemagick but can be overwritten by modifying this value.
NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS: imagick # This allows to add additional php extensions to the Nextcloud container permanently. Default is imagick but can be overwritten by modifying this value.

69
php/composer.lock generated
View File

@@ -391,32 +391,32 @@
},
{
"name": "laravel/serializable-closure",
"version": "v1.3.7",
"version": "v2.0.3",
"source": {
"type": "git",
"url": "https://github.com/laravel/serializable-closure.git",
"reference": "4f48ade902b94323ca3be7646db16209ec76be3d"
"reference": "f379c13663245f7aa4512a7869f62eb14095f23f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/4f48ade902b94323ca3be7646db16209ec76be3d",
"reference": "4f48ade902b94323ca3be7646db16209ec76be3d",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/f379c13663245f7aa4512a7869f62eb14095f23f",
"reference": "f379c13663245f7aa4512a7869f62eb14095f23f",
"shasum": ""
},
"require": {
"php": "^7.3|^8.0"
"php": "^8.1"
},
"require-dev": {
"illuminate/support": "^8.0|^9.0|^10.0|^11.0",
"nesbot/carbon": "^2.61|^3.0",
"pestphp/pest": "^1.21.3",
"phpstan/phpstan": "^1.8.2",
"symfony/var-dumper": "^5.4.11|^6.2.0|^7.0.0"
"illuminate/support": "^10.0|^11.0|^12.0",
"nesbot/carbon": "^2.67|^3.0",
"pestphp/pest": "^2.36|^3.0",
"phpstan/phpstan": "^2.0",
"symfony/var-dumper": "^6.2.0|^7.0.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.x-dev"
"dev-master": "2.x-dev"
}
},
"autoload": {
@@ -448,7 +448,7 @@
"issues": "https://github.com/laravel/serializable-closure/issues",
"source": "https://github.com/laravel/serializable-closure"
},
"time": "2024-11-14T18:34:49+00:00"
"time": "2025-02-11T15:03:05+00:00"
},
{
"name": "nikic/fast-route",
@@ -557,20 +557,20 @@
},
{
"name": "php-di/php-di",
"version": "7.0.7",
"version": "7.0.8",
"source": {
"type": "git",
"url": "https://github.com/PHP-DI/PHP-DI.git",
"reference": "e87435e3c0e8f22977adc5af0d5cdcc467e15cf1"
"reference": "98ddc81f8f768a2ad39e4cbe737285eaeabe577a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/e87435e3c0e8f22977adc5af0d5cdcc467e15cf1",
"reference": "e87435e3c0e8f22977adc5af0d5cdcc467e15cf1",
"url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/98ddc81f8f768a2ad39e4cbe737285eaeabe577a",
"reference": "98ddc81f8f768a2ad39e4cbe737285eaeabe577a",
"shasum": ""
},
"require": {
"laravel/serializable-closure": "^1.0",
"laravel/serializable-closure": "^1.0 || ^2.0",
"php": ">=8.0",
"php-di/invoker": "^2.0",
"psr/container": "^1.1 || ^2.0"
@@ -582,7 +582,7 @@
"friendsofphp/php-cs-fixer": "^3",
"friendsofphp/proxy-manager-lts": "^1",
"mnapoli/phpunit-easymock": "^1.3",
"phpunit/phpunit": "^9.5",
"phpunit/phpunit": "^9.6",
"vimeo/psalm": "^4.6"
},
"suggest": {
@@ -614,7 +614,7 @@
],
"support": {
"issues": "https://github.com/PHP-DI/PHP-DI/issues",
"source": "https://github.com/PHP-DI/PHP-DI/tree/7.0.7"
"source": "https://github.com/PHP-DI/PHP-DI/tree/7.0.8"
},
"funding": [
{
@@ -626,7 +626,7 @@
"type": "tidelift"
}
],
"time": "2024-07-21T15:55:45+00:00"
"time": "2025-01-28T21:02:46+00:00"
},
{
"name": "php-di/slim-bridge",
@@ -1633,24 +1633,23 @@
},
{
"name": "twig/twig",
"version": "v3.18.0",
"version": "v3.20.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "acffa88cc2b40dbe42eaf3a5025d6c0d4600cc50"
"reference": "3468920399451a384bef53cf7996965f7cd40183"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/acffa88cc2b40dbe42eaf3a5025d6c0d4600cc50",
"reference": "acffa88cc2b40dbe42eaf3a5025d6c0d4600cc50",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/3468920399451a384bef53cf7996965f7cd40183",
"reference": "3468920399451a384bef53cf7996965f7cd40183",
"shasum": ""
},
"require": {
"php": ">=8.0.2",
"php": ">=8.1.0",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "^1.8",
"symfony/polyfill-mbstring": "^1.3",
"symfony/polyfill-php81": "^1.29"
"symfony/polyfill-mbstring": "^1.3"
},
"require-dev": {
"phpstan/phpstan": "^2.0",
@@ -1697,7 +1696,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
"source": "https://github.com/twigphp/Twig/tree/v3.18.0"
"source": "https://github.com/twigphp/Twig/tree/v3.20.0"
},
"funding": [
{
@@ -1709,7 +1708,7 @@
"type": "tidelift"
}
],
"time": "2024-12-29T10:51:50+00:00"
"time": "2025-02-13T08:34:43+00:00"
}
],
"packages-dev": [
@@ -2700,16 +2699,16 @@
},
{
"name": "phpstan/phpdoc-parser",
"version": "2.0.0",
"version": "2.0.1",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
"reference": "c00d78fb6b29658347f9d37ebe104bffadf36299"
"reference": "72e51f7c32c5aef7c8b462195b8c599b11199893"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/c00d78fb6b29658347f9d37ebe104bffadf36299",
"reference": "c00d78fb6b29658347f9d37ebe104bffadf36299",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/72e51f7c32c5aef7c8b462195b8c599b11199893",
"reference": "72e51f7c32c5aef7c8b462195b8c599b11199893",
"shasum": ""
},
"require": {
@@ -2741,9 +2740,9 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
"source": "https://github.com/phpstan/phpdoc-parser/tree/2.0.0"
"source": "https://github.com/phpstan/phpdoc-parser/tree/2.0.1"
},
"time": "2024-10-13T11:29:49+00:00"
"time": "2025-02-13T12:25:43+00:00"
},
{
"name": "sebastian/diff",

View File

@@ -300,6 +300,7 @@
"environment": [
"NC_DOMAIN=%NC_DOMAIN%",
"NEXTCLOUD_HOST=nextcloud-aio-nextcloud",
"TZ=%TIMEZONE%",
"REDIS_HOST=nextcloud-aio-redis",
"REDIS_HOST_PASSWORD=%REDIS_PASSWORD%",
"POSTGRES_HOST=nextcloud-aio-database",
@@ -785,7 +786,7 @@
"internal_port": "9200",
"environment": [
"TZ=%TIMEZONE%",
"ES_JAVA_OPTS=-Xms512M -Xmx512M",
"ES_JAVA_OPTS=%FULLTEXTSEARCH_JAVA_OPTIONS%",
"bootstrap.memory_lock=true",
"cluster.name=nextcloud-aio",
"discovery.type=single-node",

View File

@@ -171,7 +171,7 @@ readonly class DockerController {
}
if (isset($request->getParsedBody()['install_latest_major'])) {
$installLatestMajor = 30;
$installLatestMajor = 31;
} else {
$installLatestMajor = "";
}

View File

@@ -714,6 +714,13 @@ class ConfigurationManager
return $this->GetEnvironmentalVariableOrConfig($envVariableName, $configName, $defaultValue);
}
public function GetFulltextsearchJavaOptions() : string {
$envVariableName = 'FULLTEXTSEARCH_JAVA_OPTIONS';
$configName = 'fulltextsearch_java_options';
$defaultValue = '-Xms512M -Xmx512M';
return $this->GetEnvironmentalVariableOrConfig($envVariableName, $configName, $defaultValue);
}
public function GetDockerSocketPath() : string {
$envVariableName = 'WATCHTOWER_DOCKER_SOCKET_PATH';
$configName = 'docker_socket_path';

View File

@@ -357,6 +357,8 @@ readonly class DockerActionManager {
$replacements[1] = $this->configurationManager->GetNextcloudMaxTime();
} elseif ($out[1] === 'BORG_RETENTION_POLICY') {
$replacements[1] = $this->configurationManager->GetBorgRetentionPolicy();
} elseif ($out[1] === 'FULLTEXTSEARCH_JAVA_OPTIONS') {
$replacements[1] = $this->configurationManager->GetFulltextsearchJavaOptions();
} elseif ($out[1] === 'NEXTCLOUD_TRUSTED_CACERTS_DIR') {
$replacements[1] = $this->configurationManager->GetTrustedCacertsDir();
} elseif ($out[1] === 'ADDITIONAL_DIRECTORIES_BACKUP') {

View File

@@ -17,7 +17,7 @@
<div class="container">
<main>
<h1>Nextcloud AIO v10.5.0</h1>
<h1>Nextcloud AIO v10.6.0</h1>
{# Add 2nd tab warning #}
<script type="text/javascript" src="second-tab-warning.js"></script>
@@ -33,7 +33,7 @@
{% set isBackupOrRestoreRunning = false %}
{% set isApacheStarting = false %}
{# Setting newMajorVersion to '' will hide corresponding options/elements, can be set to an integer like 26 in order to show corresponding elements. If set, also increase installLatestMajor in https://github.com/nextcloud/all-in-one/blob/main/php/src/Controller/DockerController.php #}
{% set newMajorVersion = '' %}
{% set newMajorVersion = 31 %}
{% if is_backup_container_running == true %}
{% if borg_backup_mode == 'backup' or borg_backup_mode == 'restore' %}
@@ -322,7 +322,7 @@
{% if newMajorVersion != '' and isAnyRunning == true and isApacheStarting != true %}
<details>
<summary>Note about <strong>Nextcloud Hub {{ newMajorVersion - 21 }}</strong></summary>
<p>If you haven't upgraded to Nextcloud Hub {{ newMajorVersion - 21 }} yet and want to do that now, feel free to follow <strong><a href="https://github.com/nextcloud/all-in-one/discussions/5133">this documentation</a></strong></p>
<p>If you haven't upgraded to Nextcloud Hub {{ newMajorVersion - 21 }} yet and want to do that now, feel free to follow <strong><a href="https://github.com/nextcloud/all-in-one/discussions/6053">this documentation</a></strong></p>
</details>
{% endif %}
{% endif %}

118
readme.md
View File

@@ -138,6 +138,103 @@ If your firewall/router has port 80 and 8443 open/forwarded and you point a doma
5. Please do not forget to open port `3478/TCP` and `3478/UDP` in your firewall/router for the Talk container!
## FAQ
- [Where can I find additional documentation?](#where-can-i-find-additional-documentation)
- [How does it work?](#how-does-it-work)
- [How to contribute?](#how-to-contribute)
- [How many users are possible?](#how-many-users-are-possible)
- [Are reverse proxies supported?](#are-reverse-proxies-supported)
- [Which CPU architectures are supported?](#which-cpu-architectures-are-supported)
- [Which ports are mandatory to be open in your firewall/router?](#which-ports-are-mandatory-to-be-open-in-your-firewallrouter)
- [Explanation of used ports:](#explanation-of-used-ports)
- [How to run AIO on macOS?](#how-to-run-aio-on-macos)
- [How to run AIO on Windows?](#how-to-run-aio-on-windows)
- [How to run AIO on Synology DSM](#how-to-run-aio-on-synology-dsm)
- [How to run AIO with Portainer?](#how-to-run-aio-with-portainer)
- [Can I run AIO on TrueNAS SCALE?](#can-i-run-aio-on-truenas-scale)
- [Notes on Cloudflare (proxy/tunnel)](#notes-on-cloudflare-proxytunnel)
- [How to run Nextcloud behind a Cloudflare Tunnel?](#how-to-run-nextcloud-behind-a-cloudflare-tunnel)
- [How to run Nextcloud via Tailscale?](#how-to-run-nextcloud-via-tailscale)
- [Disrecommended VPS providers](#disrecommended-vps-providers)
- [Recommended VPS](#recommended-vps)
- [Note on storage options](#note-on-storage-options)
- [How to get Nextcloud running using the ACME DNS-challenge?](#how-to-get-nextcloud-running-using-the-acme-dns-challenge)
- [How to run Nextcloud locally? No domain wanted, or wanting intranet access within your LAN.](#how-to-run-nextcloud-locally-no-domain-wanted-or-wanting-intranet-access-within-your-lan)
- [Can I use an ip-address for Nextcloud instead of a domain?](#can-i-use-an-ip-address-for-nextcloud-instead-of-a-domain)
- [Can I run AIO offline or in an airgapped system?](#can-i-run-aio-offline-or-in-an-airgapped-system)
- [Are self-signed certificates supported for Nextcloud?](#are-self-signed-certificates-supported-for-nextcloud)
- [Can I use AIO with multiple domains?](#can-i-use-aio-with-multiple-domains)
- [Are other ports than the default 443 for Nextcloud supported?](#are-other-ports-than-the-default-443-for-nextcloud-supported)
- [Can I run Nextcloud in a subdirectory on my domain?](#can-i-run-nextcloud-in-a-subdirectory-on-my-domain)
- [How can I access Nextcloud locally?](#how-can-i-access-nextcloud-locally)
- [How to skip the domain validation?](#how-to-skip-the-domain-validation)
- [How to resolve firewall problems with Fedora Linux, RHEL OS, CentOS, SUSE Linux and others?](#how-to-resolve-firewall-problems-with-fedora-linux-rhel-os-centos-suse-linux-and-others)
- [Are there known problems when SELinux is enabled?](#are-there-known-problems-when-selinux-is-enabled)
- [How to run `occ` commands?](#how-to-run-occ-commands)
- [How to resolve `Security & setup warnings displays the "missing default phone region" after initial install`?](#how-to-resolve-security--setup-warnings-displays-the-missing-default-phone-region-after-initial-install)
- [How to run multiple AIO instances on one server?](#how-to-run-multiple-aio-instances-on-one-server)
- [Bruteforce protection FAQ](#bruteforce-protection-faq)
- [Update policy](#update-policy)
- [How to switch the channel?](#how-to-switch-the-channel)
- [How to update the containers?](#how-to-update-the-containers)
- [How often are update notifications sent?](#how-often-are-update-notifications-sent)
- [How to easily log in to the AIO interface?](#how-to-easily-log-in-to-the-aio-interface)
- [How to change the domain?](#how-to-change-the-domain)
- [How to properly reset the instance?](#how-to-properly-reset-the-instance)
- [Backup solution](#backup-solution)
- [What is getting backed up by AIO's backup solution?](#what-is-getting-backed-up-by-aios-backup-solution)
- [How to adjust borgs retention policy?](#how-to-adjust-borgs-retention-policy)
- [How to migrate from AIO to AIO?](#how-to-migrate-from-aio-to-aio)
- [Are remote borg backups supported?](#are-remote-borg-backups-supported)
- [Failure of the backup container in LXC containers](#failure-of-the-backup-container-in-lxc-containers)
- [How to create the backup volume on Windows?](#how-to-create-the-backup-volume-on-windows)
- [Pro-tip: Backup archives access](#pro-tip-backup-archives-access)
- [Delete backup archives manually](#delete-backup-archives-manually)
- [Sync local backups regularly to another drive](#sync-local-backups-regularly-to-another-drive)
- [How to exclude Nextcloud's data directory or the preview folder from backup?](#how-to-exclude-nextclouds-data-directory-or-the-preview-folder-from-backup)
- [How to stop/start/update containers or trigger the daily backup from a script externally?](#how-to-stopstartupdate-containers-or-trigger-the-daily-backup-from-a-script-externally)
- [How to disable the backup section?](#how-to-disable-the-backup-section)
- [How to change the default location of Nextcloud's Datadir?](#how-to-change-the-default-location-of-nextclouds-datadir)
- [Can I use a CIFS/SMB share as Nextcloud's datadir?](#can-i-use-a-cifssmb-share-as-nextclouds-datadir)
- [How to allow the Nextcloud container to access directories on the host?](#how-to-allow-the-nextcloud-container-to-access-directories-on-the-host)
- [How to adjust the Talk port?](#how-to-adjust-the-talk-port)
- [How to adjust the upload limit for Nextcloud?](#how-to-adjust-the-upload-limit-for-nextcloud)
- [How to adjust the max execution time for Nextcloud?](#how-to-adjust-the-max-execution-time-for-nextcloud)
- [How to adjust the PHP memory limit for Nextcloud?](#how-to-adjust-the-php-memory-limit-for-nextcloud)
- [What can I do to fix the internal or reserved ip-address error?](#what-can-i-do-to-fix-the-internal-or-reserved-ip-address-error)
- [Can I run this with Docker swarm?](#can-i-run-this-with-docker-swarm)
- [Can I run this with Kubernetes?](#can-i-run-this-with-kubernetes)
- [How to run this with Docker rootless?](#can-i-run-this-with-podman-instead-of-docker)
- [How to change the Nextcloud apps that are installed on the first startup?](#how-to-change-the-nextcloud-apps-that-are-installed-on-the-first-startup)
- [How to add OS packages permanently to the Nextcloud container?](#how-to-add-os-packages-permanently-to-the-nextcloud-container)
- [How to add PHP extensions permanently to the Nextcloud container?](#how-to-add-php-extensions-permanently-to-the-nextcloud-container)
- [What about the pdlib PHP extension for the facerecognition app?](#what-about-the-pdlib-php-extension-for-the-facerecognition-app)
- [How to enable hardware acceleration for Nextcloud?](#how-to-enable-hardware-acceleration-for-nextcloud)
- [With open source drivers MESA for AMD, Intel and **new** drivers `Nouveau` for Nvidia](#with-open-source-drivers-mesa-for-amd-intel-and-new-drivers-nouveau-for-nvidia)
- [With proprietary drivers for Nvidia :warning: BETA](#with-proprietary-drivers-for-nvidia-warning-beta)
- [How to keep disabled apps?](#how-to-keep-disabled-apps)
- [Huge docker logs](#huge-docker-logs)
- [Access/Edit Nextcloud files/folders manually](#accessedit-nextcloud-filesfolders-manually)
- [How to store the files/installation on a separate drive?](#how-to-store-the-filesinstallation-on-a-separate-drive)
- [How to edit Nextclouds config.php file with a texteditor?](#how-to-edit-nextclouds-configphp-file-with-a-texteditor)
- [How to change default files by creating a custom skeleton directory?](#how-to-change-default-files-by-creating-a-custom-skeleton-directory)
- [How to adjust the version retention policy and trashbin retention policy?](#how-to-adjust-the-version-retention-policy-and-trashbin-retention-policy)
- [Fail2ban](#fail2ban)
- [LDAP](#ldap)
- [Netdata](#netdata)
- [USER_SQL](#user_sql)
- [phpMyAdmin, Adminer or pgAdmin](#phpmyadmin-adminer-or-pgadmin)
- [Mail server](#mail-server)
- [How to migrate from an already existing Nextcloud installation to Nextcloud AIO?](#how-to-migrate-from-an-already-existing-nextcloud-installation-to-nextcloud-aio)
- [Requirements for integrating new containers](#requirements-for-integrating-new-containers)
- [How to trust user-defined Certification Authorities (CA)?](#how-to-trust-user-defined-certification-authorities-ca)
- [How to disable Collabora's Seccomp feature?](#how-to-disable-collaboras-seccomp-feature)
- [How to adjust the Fulltextsearch Java options?](#how-to-adjust-the-fulltextsearch-java-options)
- [How to enable automatic updates without creating a backup beforehand?](#how-to-enable-automatic-updates-without-creating-a-backup-beforehand)
- [Securing the AIO interface from unauthorized ACME challenges](#securing-the-aio-interface-from-unauthorized-acme-challenges)
### Where can I find additional documentation?
Some of the documentation is available on [GitHub Discussions](https://github.com/nextcloud/all-in-one/discussions/categories/wiki).
### How does it work?
Nextcloud AIO is inspired by projects like Portainer that manage the docker daemon by talking to it through the docker socket directly. This concept allows a user to install only one container with a single command that does the heavy lifting of creating and managing all containers that are needed in order to provide a Nextcloud installation with most features included. It also makes updating a breeze and is not bound to the host system (and its slow updates) anymore as everything is in containers. Additionally, it is very easy to handle from a user perspective because a simple interface for managing your Nextcloud AIO installation is provided.
@@ -655,6 +752,19 @@ Afterwards apply the correct permissions with `sudo chown root:root /root/backup
1. Add the following new line to the crontab if not already present: `0 20 * * 7 /root/backup-script.sh` which will run the script at 20:00 on Sundays each week.
1. save and close the crontab (when using nano are the shortcuts for this `Ctrl + o` -> `Enter` and close the editor with `Ctrl + x`).
#### How to exclude Nextcloud's data directory or the preview folder from backup?
In order to speed up the backups and to keep the backup archives small, you might want to exclude Nextcloud's data directory or its preview folder from backup.
> [!WARNING]
> However please note that you will run into problems if the database and the data directory or preview folder get out of sync. **So please only read further, if you have an additional external backup of the data directory!** See [this guide](#how-to-enable-automatic-updates-without-creating-a-backup-beforehand) for example.
> [!TIP]
> A better option is to use the external storage app inside Nextcloud as the data connected via the external storage app is not backed up by AIO's backup solution. See [this documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/external_storage_configuration_gui.html) on how to configure the app.
If you still want to proceed, you can exclude the data directory by simply creating a `.noaiobackup` file in the root directory of the specified `NEXTCLOUD_DATADIR` target. The same logic is implemented for the preview folder that is located inside the data directory, inside the `appdata_*/preview` folder. So simply create a `.noaiobackup` file in there if you want to exclude the preview folder.
After doing a restore via the AIO interface, you might run into problems due to the data directory and database being out of sync. You might be able to fix this by running `occ files:scan --all` and `occ maintenance:repair` and `occ files:scan-app-data`. See https://github.com/nextcloud/all-in-one#how-to-run-occ-commands. If only the preview folder is excluded, the command `occ files:scan-app-data preview` should be used.
### How to stop/start/update containers or trigger the daily backup from a script externally?
> [!WARNING]
> The below script will only work after the initial setup of AIO. So you will always need to first visit the AIO interface, type in your domain and start the containers the first time or restore an older AIO instance from its borg backup before you can use the script.
@@ -832,6 +942,9 @@ You can edit Nextclouds config.php file directly from the host with your favorit
### How to change default files by creating a custom skeleton directory?
All users see a set of [default files and folders](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/default_files_configuration.html) as dictated by Nextcloud's configuration. To change these default files and folders a custom skeleton directory must first be created; this can be accomplished by copying your skeleton files `sudo docker cp --follow-link /path/to/nextcloud/skeleton/ nextcloud-aio-nextcloud:/mnt/ncdata/skeleton/`, applying the correct permissions with `sudo docker exec nextcloud-aio-nextcloud chown -R 33:0 /mnt/ncdata/skeleton/` and `sudo docker exec nextcloud-aio-nextcloud chmod -R 750 /mnt/ncdata/skeleton/` and setting the skeleton directory option with `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:system:set skeletondirectory --value="/mnt/ncdata/skeleton"`. Further information is available in the Nextcloud documentation on [configuration parameters for the skeleton directory](https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/config_sample_php_parameters.html#skeletondirectory).
### How to adjust the version retention policy and trashbin retention policy?
By default, AIO sets the `versions_retention_obligation` and `versions_retention_obligation` both to `auto, 30` which means that versions and items in the trashbin get deleted after 30 days. If you want to change this, see https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/file_versioning.html.
### Fail2ban
You can configure your server to block certain ip-addresses using fail2ban as bruteforce protection. Here is how to set it up: https://docs.nextcloud.com/server/stable/admin_manual/installation/harden_server.html#setup-fail2ban. The logpath of AIO is by default `/var/lib/docker/volumes/nextcloud_aio_nextcloud/_data/data/nextcloud.log`. Do not forget to add `chain=DOCKER-USER` to your nextcloud jail config (`nextcloud.local`) otherwise the nextcloud service running on docker will still be accessible even if the IP is banned. Also, you may change the blocked ports to cover all AIO ports: by default `80,443,8080,8443,3478` (see [this](https://github.com/nextcloud/all-in-one#explanation-of-used-ports)). Apart from that there is now a community container that can be added to the AIO stack: https://github.com/nextcloud/all-in-one/tree/main/community-containers/fail2ban
@@ -876,7 +989,10 @@ When using `docker run`, the environmental variable can be set with `--env NEXTC
In order for the value to be valid, the path should start with `/` and not end with `/` and point to an existing **directory**. Pointing the variable directly to a certificate **file** will not work and may also break things.
### How to disable Collabora's Seccomp feature?
The Collabora container enables Seccomp by default, which is a security feature of the Linux kernel. On systems without this kernel feature enabled, you need to provide `--env COLLABORA_SECCOMP_DISABLED=true` to the initial docker run command in order to make it work.
The Collabora container enables Seccomp by default, which is a security feature of the Linux kernel. On systems without this kernel feature enabled, you need to provide `--env COLLABORA_SECCOMP_DISABLED=true` to the initial docker run command in order to make it work. 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.
### How to adjust the Fulltextsearch Java options?
The Fulltextsearch Java options are by default set to `-Xms512M -Xmx512M` which might not be enough on some systems. You can adjust this by adding e.g. `--env FULLTEXTSEARCH_JAVA_OPTIONS="-Xms1024M -Xmx1024M"` to the initial docker run command. 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.
### How to enable automatic updates without creating a backup beforehand?
If you have an external backup solution, you might want to enable automatic updates without creating a backup first. However note that doing this is disrecommended since you will not be able to easily create and restore a backup from the AIO interface anymore and you need to make sure to shut down all the containers properly before creating the backup, e.g. by stopping them from the AIO interface first.

View File

@@ -12,6 +12,7 @@
- [ ] When starting the mastercontainer with `--env NEXTCLOUD_MEMORY_LIMIT=1024M` it should change Nextclouds PHP memory limit to 1024M. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-php-memory-limit-for-nextcloud for allowed values.
- [ ] When starting the mastercontainer with `--env NEXTCLOUD_MAX_TIME=4000` it should change Nextclouds upload max time 4000s. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-max-execution-time-for-nextcloud for allowed values.
- [ ] When starting the mastercontainer with `--env BORG_RETENTION_POLICY="--keep-within=1d --keep-weekly=1 --keep-monthly=1"` it should change borgs retention policy to the defined one. This can be checked when creating a backup and looking at the logs.
- [ ] When starting the mastercontainer with `--env FULLTEXTSEARCH_JAVA_OPTIONS="-Xms1024M -Xmx1024M"` it should change Elasticsearchs `ES_JAVA_OPTS` options to the defined one. This can be checked by checking the `ES_JAVA_OPTS` variable for the nextcloud-aio-fulltextsearch container.
- [ ] When starting the mastercontainer with `--env WATCHTOWER_DOCKER_SOCKET_PATH="$XDG_RUNTIME_DIR/docker.sock"` it should map `$XDG_RUNTIME_DIR/docker.sock` to `/var/run/docker.sock` inside the watchtower container which allow to update the mastercontainer on docker rootless.
- [ ] When starting the mastercontainer with `--env AIO_DISABLE_BACKUP_SECTION=true` it should hide the backup section that gets shown after AIO is set up (everything of [020-backup-and-restore](./020-backup-and-restore.md)) and simply show that the backup section is disabled.
- [ ] When starting the mastercontainer with `--env NEXTCLOUD_TRUSTED_CACERTS_DIR=/path/to/my/cacerts`, the resulting nextcloud container should trust all the Certification Authorities, whose certificates are included in the directory `/path/to/my/cacerts` on the host.