Compare commits

...

40 Commits

Author SHA1 Message Date
Simon L.
5c242195a8 Merge pull request #7621 from nextcloud/aio-helm-update
Helm Chart updates
2026-02-18 13:43:43 +01:00
szaimen
3f0abf2b31 Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-18 12:43:05 +00:00
Simon L.
6b20209886 Merge pull request #7606 from nextcloud/enh/7567/install-docs-unraid
readme: add install docs for unraid
2026-02-17 16:52:42 +01:00
Simon L.
410dc0e489 Merge pull request #7607 from nextcloud/enh/7601/add-extra-hosts-guide
readme: add guide how to add extra hosts to the containers
2026-02-17 15:19:37 +01:00
Simon L.
cf507d6159 Merge pull request #7616 from th0rgall/patch-1
Docs: clarify filtering of archives during borg backup pruning
2026-02-17 15:06:29 +01:00
Thor Galle
91152877c9 Apply suggestion from @szaimen
Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: Thor Galle <thorgalle@gmail.com>
2026-02-17 15:03:17 +01:00
Simon L.
4da3a06458 address review
Co-authored-by: Pablo Zmdl <57864086+pabzm@users.noreply.github.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-02-17 13:20:53 +01:00
Thor Galle
b70b5f6486 Fix typo
Signed-off-by: Thor Galle <thorgalle@gmail.com>
2026-02-17 10:28:26 +01:00
Thor Galle
e4f34da3bb Docs: clarify filtering of archives during borg backup pruning
Clarify the retention policy adjustment instructions by mentioning to not include the '-a' or '--glob-archives' option.

I recently included in the retention policy env variable, and it lead to a pruning error due to the duplicate `-a` ... `--glob-archives` options. I added it because I didn't know that AIO already filtered archives in the borg repo during pruning, and I was worried that it would prune out other non-Nextcloud-AIO backups in the repo. I added a very similar glob myself, so just omitting what I added was the solution for my problem.

As an alternative to this edit, I was thinking that Nextcloud AIO's default filtering behavior could be clarified elsewhere is a positive way.

Two ideas:

1. Modify the start of the retention policy FAQ, like:
   
   After a backup, AIO prunes your borg archives with the `--glob-archives '*_*-nextcloud-aio'` option, so that it does not affect archives unrelated to AIO. The built-in retention policy is `--keep-within=7d --keep-weekly=4 --keep-monthly=6`. [...]
   
2. Or perhaps, there can be another FAQ question about backups, like "Will Nextcloud AIO touch other backups in my borg repository?" or "Can I use my borg repository for backups unrelated to Nextcloud AIO?", with the answer:

   No/Yes, AIO internally uses the borg `--glob-archives '*_*-nextcloud-aio'` option to only prune AIO archives, so Nextcloud AIO will not affect archives/backups unrelated to AIO. Be careful that other systems don't prune your AIO archives, however.

Signed-off-by: Thor Galle <thorgalle@gmail.com>
2026-02-17 10:21:40 +01:00
Simon L.
8fef1b084e Merge pull request #7610 from nextcloud/dependabot/github_actions/dot-github/workflows/astral-sh/setup-uv-7.3.0
build(deps): bump astral-sh/setup-uv from 7.2.1 to 7.3.0 in /.github/workflows
2026-02-16 16:18:36 +01:00
dependabot[bot]
636554ee50 build(deps): bump astral-sh/setup-uv in /.github/workflows
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 7.2.1 to 7.3.0.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](803947b9bd...eac588ad8d)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 7.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-16 13:07:55 +00:00
Simon L.
c44a3533a5 Merge pull request #7604 from nextcloud/enh/noid/point-out-more-features
readme: point out some more default features
2026-02-16 13:07:52 +01:00
Simon L.
c1a435b077 readme: add install docs for unraid
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-02-16 12:18:35 +01:00
Simon L.
ec762a8a66 readme: add guide how to add extra hosts to the containers
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-02-16 12:01:07 +01:00
Simon L.
c1bf30980c readme: point out some more default features
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-02-16 10:53:13 +01:00
Simon L.
58e5d8534b add githubstatus check also to deploying to beta instructions
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-02-13 11:48:21 +01:00
Simon L.
4d7ab6c453 increase to 12.7.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-02-13 10:57:39 +01:00
Simon L.
bdda7c2178 Merge pull request #7541 from nextcloud/enh/noid/use-strict-types-in-php
add `declare(strict_types=1);` to all php files
2026-02-13 10:54:23 +01:00
Simon L.
6e0569678d Merge pull request #7556 from nextcloud/enh/noid/del-openssl
redis and apache: delete openssl after using it
2026-02-13 10:54:08 +01:00
Simon L.
590694c638 Merge pull request #7564 from nextcloud/enh/noid/change-order-of-items
office-selector: change order of points for OO
2026-02-13 10:53:48 +01:00
Simon L.
fe4f568d02 Merge pull request #7578 from nextcloud/enh/noid/fix-bug-with-fts
fix bug with FTS not being able to enable it anymore
2026-02-13 10:53:34 +01:00
Simon L.
4cf066cfce Merge pull request #7584 from nextcloud/enh/noid/offer-checkbox-new-hub-release
aio-interface: offer checkbox to install the new hub release
2026-02-13 10:53:26 +01:00
Simon L.
225918320a Merge pull request #7587 from nextcloud/enh/7572/show-version-state
aio-interface: show which containers have an update available
2026-02-13 10:52:57 +01:00
Simon L.
7e5d8a20d2 aio-interface: show which containers have an update available
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-02-13 10:09:13 +01:00
Simon L.
974f443455 Merge pull request #7585 from nextcloud/revert-7485-enh/noid/more-strict-check
Revert "mastercontainer: make check for correct volume name more strict"
2026-02-13 09:59:52 +01:00
Simon L.
e3e1ddf983 Revert "mastercontainer: make check for correct volume name more strict"
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-02-13 09:51:54 +01:00
Simon L.
94bb848352 Merge pull request #7579 from nextcloud/nextcloud-container-update
Nextcloud dependency update
2026-02-13 09:34:38 +01:00
Simon L.
70aa75ef06 Merge pull request #7583 from nextcloud/dependabot/docker/Containers/postgresql/postgres-17.8-alpine
build(deps): bump postgres from 17.7-alpine to 17.8-alpine in /Containers/postgresql
2026-02-13 09:34:14 +01:00
Simon L.
e70af15e81 Merge pull request #7582 from nextcloud/dependabot/docker/Containers/docker-socket-proxy/haproxy-3.3.3-alpine
build(deps): bump haproxy from 3.3.2-alpine to 3.3.3-alpine in /Containers/docker-socket-proxy
2026-02-13 09:34:01 +01:00
Simon L.
9652e39be2 aio-interface: offer checkbox to install the new hub release
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-02-13 09:33:03 +01:00
dependabot[bot]
053cf7cbbe build(deps): bump postgres in /Containers/postgresql
Bumps postgres from 17.7-alpine to 17.8-alpine.

---
updated-dependencies:
- dependency-name: postgres
  dependency-version: 17.8-alpine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-13 04:08:48 +00:00
dependabot[bot]
d25b2e85ef build(deps): bump haproxy in /Containers/docker-socket-proxy
Bumps haproxy from 3.3.2-alpine to 3.3.3-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-13 04:07:57 +00:00
szaimen
bfcddbab73 nextcloud-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-12 12:24:27 +00:00
Simon L.
da0775863d fix bug with FTS not being able to enable it anymore
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-02-12 10:22:02 +01:00
Simon L.
dd989ee87f Merge pull request #7576 from nextcloud/automated/noid/psalm-baseline-update
[Automated] Update psalm-baseline.xml
2026-02-12 10:02:12 +01:00
nextcloud-command
ffd71ba47e Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2026-02-12 04:47:28 +00:00
Simon L.
fd01a9a70b office-selector: change order of points for OO
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-02-09 10:48:11 +01:00
Simon L.
14d6579893 redis and apache: delete openssl after using it
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-02-06 17:23:02 +01:00
Simon L.
270302d74f domain-validator: adjust querying the domain parameter
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-02-03 16:51:54 +01:00
Simon L.
eba86c3ad1 add declare(strict_types=1); to all php files
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-02-03 13:25:53 +01:00
54 changed files with 104 additions and 41 deletions

View File

@@ -36,7 +36,7 @@ jobs:
line-length: warning
- name: Install the latest version of uv
uses: astral-sh/setup-uv@803947b9bd8e9f986429fa0c5a41c367cd732b41 # v7.2.1
uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
- name: Check GitHub actions
run: uvx zizmor --min-severity medium .github/workflows/*.yml

View File

@@ -79,7 +79,8 @@ RUN set -ex; \
chmod 777 -R /usr/local/apache2/logs; \
rm -rf /usr/local/apache2/cgi-bin/; \
\
echo "root:$(openssl rand -base64 12)" | chpasswd
echo "root:$(openssl rand -base64 12)" | chpasswd; \
apk --no-cache del openssl
USER 33

View File

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

View File

@@ -166,7 +166,7 @@ elif ! sudo -E -u www-data docker volume ls --format "{{.Name}}" | grep -q "^nex
print_red "It seems like you did not give the mastercontainer volume the correct name? (The 'nextcloud_aio_mastercontainer' volume was not found.)
Using a different name is not supported since the built-in backup solution will not work in that case!"
exit 1
elif ! sudo -E -u www-data docker inspect nextcloud-aio-mastercontainer --format '{{.Mounts}}' | grep -q " nextcloud_aio_mastercontainer "; then
elif ! sudo -E -u www-data docker inspect nextcloud-aio-mastercontainer | grep -q "nextcloud_aio_mastercontainer"; then
print_red "It seems like you did not attach the 'nextcloud_aio_mastercontainer' volume to the mastercontainer?
This is not supported since the built-in backup solution will not work in that case!"
exit 1

View File

@@ -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=32.0.5
ENV NEXTCLOUD_VERSION=32.0.6
ENV AIO_TOKEN=123456
ENV AIO_URL=localhost
# AIO settings end # Do not remove or change this line!

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# From https://github.com/docker-library/postgres/blob/master/17/alpine3.23/Dockerfile
FROM postgres:17.7-alpine
FROM postgres:17.8-alpine
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh

View File

@@ -10,6 +10,7 @@ RUN set -ex; \
\
# Give root a random password
echo "root:$(openssl rand -base64 12)" | chpasswd; \
apk --no-cache del openssl; \
\
# Get rid of unused binaries
rm -f /usr/local/bin/gosu;

View File

@@ -33,6 +33,7 @@ There is a testing-VM available for the maintainer of AIO that allows for some f
Additionally, there are now E2E tests available that can be run via https://github.com/nextcloud/all-in-one/actions/workflows/playwright.yml
## How to promote builds from develop to beta
1. Verify that GitHub Services are running correctly: https://www.githubstatus.com/
1. Verify that no job is running here: https://github.com/nextcloud-releases/all-in-one/actions/workflows/build_images.yml
2. Go to https://github.com/nextcloud-releases/all-in-one/actions/workflows/promote-to-beta.yml, click on `Run workflow`.

View File

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

View File

@@ -61,7 +61,7 @@ spec:
value: "{{ .Values.TIMEZONE }}"
- name: WHITEBOARD_HOST
value: nextcloud-aio-whiteboard
image: ghcr.io/nextcloud-releases/aio-apache:20260211_141900
image: ghcr.io/nextcloud-releases/aio-apache:20260218_123804
readinessProbe:
exec:
command:

View File

@@ -36,7 +36,7 @@ spec:
{{- end }}
initContainers:
- name: init-subpath
image: ghcr.io/nextcloud-releases/aio-alpine:20260211_141900
image: ghcr.io/nextcloud-releases/aio-alpine:20260218_123804
command:
- mkdir
- "-p"
@@ -59,7 +59,7 @@ spec:
value: "{{ .Values.NEXTCLOUD_UPLOAD_LIMIT }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-clamav:20260211_141900
image: ghcr.io/nextcloud-releases/aio-clamav:20260218_123804
readinessProbe:
exec:
command:

View File

@@ -36,9 +36,9 @@ spec:
- name: server_name
value: "{{ .Values.NC_DOMAIN }}"
{{- if contains "--o:support_key=" (join " " (.Values.ADDITIONAL_COLLABORA_OPTIONS | default list)) }}
image: ghcr.io/nextcloud-releases/aio-collabora-online:20260211_141900
image: ghcr.io/nextcloud-releases/aio-collabora-online:20260218_123804
{{- else }}
image: ghcr.io/nextcloud-releases/aio-collabora:20260211_141900
image: ghcr.io/nextcloud-releases/aio-collabora:20260218_123804
{{- end }}
readinessProbe:
exec:

View File

@@ -35,7 +35,7 @@ spec:
{{- end }}
initContainers:
- name: init-subpath
image: ghcr.io/nextcloud-releases/aio-alpine:20260211_141900
image: ghcr.io/nextcloud-releases/aio-alpine:20260218_123804
command:
- mkdir
- "-p"
@@ -64,7 +64,7 @@ spec:
value: nextcloud
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-postgresql:20260211_141900
image: ghcr.io/nextcloud-releases/aio-postgresql:20260218_123804
readinessProbe:
exec:
command:

View File

@@ -24,7 +24,7 @@ spec:
spec:
initContainers:
- name: init-volumes
image: ghcr.io/nextcloud-releases/aio-alpine:20260211_141900
image: ghcr.io/nextcloud-releases/aio-alpine:20260218_123804
command:
- chmod
- "777"
@@ -54,7 +54,7 @@ spec:
value: basic
- name: xpack.security.enabled
value: "false"
image: ghcr.io/nextcloud-releases/aio-fulltextsearch:20260211_141900
image: ghcr.io/nextcloud-releases/aio-fulltextsearch:20260218_123804
readinessProbe:
exec:
command:

View File

@@ -38,7 +38,7 @@ spec:
value: "{{ .Values.IMAGINARY_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-imaginary:20260211_141900
image: ghcr.io/nextcloud-releases/aio-imaginary:20260218_123804
readinessProbe:
exec:
command:

View File

@@ -38,7 +38,7 @@ spec:
# AIO settings start # Do not remove or change this line!
initContainers:
- name: init-volumes
image: ghcr.io/nextcloud-releases/aio-alpine:20260211_141900
image: ghcr.io/nextcloud-releases/aio-alpine:20260218_123804
command:
- chmod
- "777"
@@ -190,7 +190,7 @@ spec:
value: "{{ .Values.WHITEBOARD_ENABLED }}"
- name: WHITEBOARD_SECRET
value: "{{ .Values.WHITEBOARD_SECRET }}"
image: ghcr.io/nextcloud-releases/aio-nextcloud:20260211_141900
image: ghcr.io/nextcloud-releases/aio-nextcloud:20260218_123804
{{- 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

@@ -57,7 +57,7 @@ spec:
value: "6379"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-notify-push:20260211_141900
image: ghcr.io/nextcloud-releases/aio-notify-push:20260218_123804
readinessProbe:
exec:
command:

View File

@@ -24,7 +24,7 @@ spec:
spec:
initContainers:
- name: init-volumes
image: ghcr.io/nextcloud-releases/aio-alpine:20260211_141900
image: ghcr.io/nextcloud-releases/aio-alpine:20260218_123804
command:
- chmod
- "777"
@@ -42,7 +42,7 @@ spec:
value: "{{ .Values.ONLYOFFICE_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-onlyoffice:20260211_141900
image: ghcr.io/nextcloud-releases/aio-onlyoffice:20260218_123804
readinessProbe:
exec:
command:

View File

@@ -39,7 +39,7 @@ spec:
value: "{{ .Values.REDIS_PASSWORD }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-redis:20260211_141900
image: ghcr.io/nextcloud-releases/aio-redis:20260218_123804
readinessProbe:
exec:
command:

View File

@@ -52,7 +52,7 @@ spec:
value: "{{ .Values.TURN_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-talk:20260211_141900
image: ghcr.io/nextcloud-releases/aio-talk:20260218_123804
readinessProbe:
exec:
command:

View File

@@ -44,7 +44,7 @@ spec:
value: "{{ .Values.RECORDING_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-talk-recording:20260211_141900
image: ghcr.io/nextcloud-releases/aio-talk-recording:20260218_123804
readinessProbe:
exec:
command:

View File

@@ -50,7 +50,7 @@ spec:
value: redis
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: ghcr.io/nextcloud-releases/aio-whiteboard:20260211_141900
image: ghcr.io/nextcloud-releases/aio-whiteboard:20260218_123804
readinessProbe:
exec:
command:

View File

@@ -1,6 +1,10 @@
<?php
declare(strict_types=1);
$domain = $_GET['domain'] ?? '';
$domain = '';
if (isset($_GET['domain']) && is_string($_GET['domain'])) {
$domain = $_GET['domain'];
}
if (!str_contains($domain, '.')) {
http_response_code(400);

View File

@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="6.14.3@d0b040a91f280f071c1abcb1b77ce3822058725a"/>
<files psalm-version="6.15.1@28dc127af1b5aecd52314f6f645bafc10d0e11f9"/>

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Auth;

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Auth;

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Container;

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Container;

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Container;

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Container;

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Container;

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Container;

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Container;

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Container;

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Container;

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO;

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Controller;

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Controller;
@@ -178,7 +179,7 @@ readonly class DockerController {
}
if (isset($request->getParsedBody()['install_latest_major'])) {
$installLatestMajor = '32';
$installLatestMajor = '33';
} else {
$installLatestMajor = '';
}

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Controller;

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Data;
@@ -114,7 +115,7 @@ class ConfigurationManager
// Type-cast because old configs could have 1/0 for this key.
get => (bool) $this->get('isFulltextsearchEnabled', false);
// Elasticsearch does not work on kernels without seccomp anymore. See https://github.com/nextcloud/all-in-one/discussions/5768
set { $this->set('isFulltextsearchEnabled', ($this->collaboraSeccompDisabled && $value)); }
set { $this->set('isFulltextsearchEnabled', (!$this->collaboraSeccompDisabled && $value)); }
}
public string $domain {

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Data;

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Data;

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO;

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Docker;

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Docker;

View File

@@ -1,5 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Docker;

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Middleware;

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Twig;

View File

@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace AIO\Twig;

View File

@@ -17,6 +17,9 @@
{% if c.documentation != '' %}
(<a target="_blank" href="{{ c.documentation }}">docs</a>)
{% endif %}
{% if c.GetUpdateState().value == 'different' %}
⚠️&nbsp;Update&nbsp;available
{% endif %}
</span>
{% if c.GetUiSecret() != '' %}
<details>

View File

@@ -37,7 +37,8 @@
{% 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 newMajorVersionString = '' %}
{% set newMajorVersionString = '26 Winter' %}
{% set oldMajorVersionString = '25 Autumn' %}
{% if is_backup_container_running == true %}
{% if borg_backup_mode == 'backup' or borg_backup_mode == 'restore' %}
@@ -297,7 +298,7 @@
{% if newMajorVersionString != '' and isAnyRunning == true and isApacheStarting != true %}
<details>
<summary>Note about <strong>Nextcloud Hub {{ newMajorVersionString }}</strong></summary>
<p>If you haven't upgraded to Nextcloud Hub {{ newMajorVersionString }} yet and want to do that now, feel free to follow <strong><a target="_blank" href="https://github.com/nextcloud/all-in-one/discussions/6865">this documentation</a></strong></p>
<p>If you haven't upgraded to Nextcloud Hub {{ newMajorVersionString }} yet and want to do that now, feel free to follow <strong><a target="_blank" href="https://github.com/nextcloud/all-in-one/discussions/7523">this documentation</a></strong></p>
</details>
{% endif %}
{% endif %}
@@ -343,7 +344,7 @@
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
<input id="base_path" type="hidden" name="base_path" value="">
{% if newMajorVersionString != '' %}
<input type="checkbox" id="install_latest_major" name="install_latest_major"><label for="install_latest_major">Install Nextcloud Hub {{ newMajorVersionString }} (if unchecked, Nextcloud Hub 10 will get installed)</label><br>
<input type="checkbox" id="install_latest_major" name="install_latest_major"><label for="install_latest_major">Install Nextcloud Hub {{ newMajorVersionString }} (if unchecked, Nextcloud Hub {{ oldMajorVersionString }} will get installed)</label><br>
{% endif %}
<input type="submit" value="Download and start containers" />
</form>

View File

@@ -1 +1 @@
12.6.1
12.7.0

View File

@@ -72,8 +72,8 @@
<li>Good Nextcloud integration</li>
<li>Open core</li>
<li>Best performance</li>
<li>Limited ODF compatibility</li>
<li>Best Microsoft compatibility</li>
<li>Limited ODF compatibility</li>
</ul>
{% if isAnyRunning == false %}
<a href="https://www.onlyoffice.com/" target="_blank" class="office-learn-more" onclick="event.stopPropagation();">

View File

@@ -7,7 +7,9 @@ The official Nextcloud installation method. Nextcloud AIO provides easy deployme
Included are:
- Nextcloud
- High performance backend for Nextcloud Files
- High performance backend for Nextcloud Files (Client Push)
- Redis & APCU for performant caching
- PostgreSQL as database
- Nextcloud Office (optional)
- High performance backend for Nextcloud Talk and TURN-server (optional)
- Nextcloud Talk Recording-server (optional)
@@ -88,9 +90,10 @@ Included are:
## How to use this?
The steps below are written for Linux. For platform-specific guidance see:
- macOS: [How to run AIO on macOS](#how-to-run-aio-on-macos)
- Windows: [How to run AIO on Windows](#how-to-run-aio-on-windows)
- Synology DSM: [How to run AIO on Synology DSM](#how-to-run-aio-on-synology-dsm)
- macOS: [How to run AIO on macOS?](#how-to-run-aio-on-macos)
- Windows: [How to run AIO on Windows?](#how-to-run-aio-on-windows)
- Unraid: [How to run AIO on Unraid?](#how-to-run-aio-on-unraid)
- Synology DSM: [How to run AIO on Synology DSM?](#how-to-run-aio-on-synology-dsm)
- TrueNAS SCALE: [Can I run AIO on TrueNAS SCALE?](#can-i-run-aio-on-truenas-scale)
> [!IMPORTANT]
@@ -203,6 +206,7 @@ https://your-domain-that-points-to-this-server.tld:8443
- [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 overwrite the local DNS resolution for some domains or add extra hosts to the containers?](#how-to-overwrite-the-local-dns-resolution-for-some-domains-or-add-extra-hosts-to-the-containers)
- [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)
- [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)
@@ -237,6 +241,7 @@ https://your-domain-that-points-to-this-server.tld:8443
- [Guides](#guides)
- [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 Unraid?](#how-to-run-aio-on-unraid)
- [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)
@@ -375,6 +380,12 @@ Now that this is out of the way, the recommended way how to access Nextcloud loc
- https://dockerlabs.collabnix.com/intermediate/networking/Configuring_DNS.html
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/pi-hole
### How to overwrite the local DNS resolution for some domains or add extra hosts to the containers?
For some use cases, you might need to overwrite the local DNS resolution of some domains inside the containers. On Linux, you can do so either by using a local DNS server as described in the section above and add a local DNS entry into the dns server and make your containers use that DNS server.
On Linux, depending on your network and docker configuration, it might also work to simply edit the `/etc/hosts` file. Add your custom entry like `172.18.0.1 mail.example.com` as additional line to the file and restart docker which should automatically push the entry to all docker containers.
### How to skip the domain validation?
If you are completely sure that you've configured everything correctly and are not able to pass the domain validation, you may skip the domain validation by adding `--env SKIP_DOMAIN_VALIDATION=true` to the docker run command of the mastercontainer (but before the last line `ghcr.io/nextcloud-releases/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).
@@ -598,6 +609,23 @@ Also, you may be interested in adjusting Nextcloud's Datadir to store the files
> [!NOTE]
> Almost all commands in this project's documentation use `sudo docker ...`. Since `sudo` is not available on Windows, you simply remove `sudo` from the commands and they should work.
### How to run AIO on Unraid?
Generally on Unraid, before installing Nextcloud AIO, you should make sure to specify a directory for all docker related files instead of using the default docker image before continuing the installation process. See this guide for more details: https://forums.unraid.net/topic/103924-how-to-turn-my-docker-file-to-a-docker-folder/#comment-962317
Additionally, you might need to create a custom user script to start all sibling containers of AIO automatically whenever the server reboots (since the docker plugin in Unraid does not respect the normal docker restart-policy that is configured for all AIO containers). See the User scripts docs: https://docs.unraid.net/unraid-os/using-unraid-to/run-docker-containers/managing-and-customizing-containers/#user-scripts-plugin. You would need to use a script like the one below and use the schedule option `@reboot` to start the containers automatically.
```bash
#!/bin/bash
# Wait 120 seconds for other server components to start correctly
sleep 120
# Execute the actual command
docker exec --env START_CONTAINERS=1 nextcloud-aio-mastercontainer /daily-backup.sh`
```
Apart from that, the installation of AIO should work like on "normal" Linux. So refer to the Linux instructions for installation.
### How to run AIO on Synology DSM
On Synology, there are two things different in comparison to Linux: instead of using `--volume /var/run/docker.sock:/var/run/docker.sock:ro`, you need to use `--volume /volume1/docker/docker.sock:/var/run/docker.sock:ro` to run it. You also need to add `--env WATCHTOWER_DOCKER_SOCKET_PATH="/volume1/docker/docker.sock"`to the docker run command of the mastercontainer (but before the last line `ghcr.io/nextcloud-releases/all-in-one:latest`). Additionally, you likely need to adjust the internally used api version. See [this documentation](#how-to-adjust-the-internally-used-docker-api-version). Apart from that it should work and behave the same like on Linux. Obviously the Synology Docker GUI will not work with that so you will need to either use SSH or create a user-defined script task in the task scheduler as the user 'root' in order to run the command.
@@ -854,7 +882,7 @@ Be aware that this solution does not back up files and folders that are mounted
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 `ghcr.io/nextcloud-releases/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!
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 `ghcr.io/nextcloud-releases/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! Also, don't include the `-a` or `--glob-archives` option, since AIO already provides it and you can't override it. See https://github.com/nextcloud/all-in-one/pull/7616
### How to migrate from AIO to AIO?
If you have the borg backup feature enabled, you can copy it over to the new host and restore from the backup. This guide assumes the new installation data dir will be on `/mnt/datadir`, you can adjust the steps if it's elsewhere.