mirror of
https://github.com/nextcloud/all-in-one.git
synced 2026-05-22 19:30:11 +00:00
Compare commits
40 Commits
copilot/fi
...
helm-chart
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5c242195a8 | ||
|
|
3f0abf2b31 | ||
|
|
6b20209886 | ||
|
|
410dc0e489 | ||
|
|
cf507d6159 | ||
|
|
91152877c9 | ||
|
|
4da3a06458 | ||
|
|
b70b5f6486 | ||
|
|
e4f34da3bb | ||
|
|
8fef1b084e | ||
|
|
636554ee50 | ||
|
|
c44a3533a5 | ||
|
|
c1a435b077 | ||
|
|
ec762a8a66 | ||
|
|
c1bf30980c | ||
|
|
58e5d8534b | ||
|
|
4d7ab6c453 | ||
|
|
bdda7c2178 | ||
|
|
6e0569678d | ||
|
|
590694c638 | ||
|
|
fe4f568d02 | ||
|
|
4cf066cfce | ||
|
|
225918320a | ||
|
|
7e5d8a20d2 | ||
|
|
974f443455 | ||
|
|
e3e1ddf983 | ||
|
|
94bb848352 | ||
|
|
70aa75ef06 | ||
|
|
e70af15e81 | ||
|
|
9652e39be2 | ||
|
|
053cf7cbbe | ||
|
|
d25b2e85ef | ||
|
|
bfcddbab73 | ||
|
|
da0775863d | ||
|
|
dd989ee87f | ||
|
|
ffd71ba47e | ||
|
|
fd01a9a70b | ||
|
|
14d6579893 | ||
|
|
270302d74f | ||
|
|
eba86c3ad1 |
2
.github/workflows/lint-yaml.yml
vendored
2
.github/workflows/lint-yaml.yml
vendored
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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!
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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`.
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO\Auth;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO\Auth;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO\Container;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO\Container;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO\Container;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO\Container;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO\Container;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO\Container;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO\Container;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO\Container;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO\Container;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO\Controller;
|
||||
|
||||
|
||||
@@ -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 = '';
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO\Controller;
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO\Data;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO\Data;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO\Docker;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO\Docker;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO\Docker;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO\Middleware;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO\Twig;
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AIO\Twig;
|
||||
|
||||
|
||||
@@ -17,6 +17,9 @@
|
||||
{% if c.documentation != '' %}
|
||||
(<a target="_blank" href="{{ c.documentation }}">docs</a>)
|
||||
{% endif %}
|
||||
{% if c.GetUpdateState().value == 'different' %}
|
||||
⚠️ Update available
|
||||
{% endif %}
|
||||
</span>
|
||||
{% if c.GetUiSecret() != '' %}
|
||||
<details>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -1 +1 @@
|
||||
12.6.1
|
||||
12.7.0
|
||||
|
||||
@@ -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();">
|
||||
|
||||
38
readme.md
38
readme.md
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user