mirror of
https://github.com/nextcloud/all-in-one.git
synced 2026-05-22 03:10:16 +00:00
Compare commits
64 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0fc19bb19b | ||
|
|
c8f942e834 | ||
|
|
5c50af06e0 | ||
|
|
c8c150e4cd | ||
|
|
fe49c7873e | ||
|
|
a68223265f | ||
|
|
3f1c2384b7 | ||
|
|
0696622ddc | ||
|
|
73197960c3 | ||
|
|
137defad9b | ||
|
|
47f0b75fcb | ||
|
|
e0d16725d4 | ||
|
|
307b0ab4ae | ||
|
|
b8995a98a3 | ||
|
|
f4b5dbe005 | ||
|
|
6f47512c59 | ||
|
|
8103aebb58 | ||
|
|
a7a5e849fa | ||
|
|
ed0365c597 | ||
|
|
7b60313eaa | ||
|
|
5b5f49b00b | ||
|
|
1c4fa05601 | ||
|
|
a47be369e9 | ||
|
|
da0c3acb05 | ||
|
|
0ec6fd1117 | ||
|
|
0c76d14fcb | ||
|
|
3146735cc0 | ||
|
|
0508331fb4 | ||
|
|
d55b13f974 | ||
|
|
0a5fecad4b | ||
|
|
9f5710917d | ||
|
|
cc0ff39357 | ||
|
|
d01af0a5fb | ||
|
|
9550135e3a | ||
|
|
f49de27ca3 | ||
|
|
ae00778180 | ||
|
|
fd033ff328 | ||
|
|
417af36b5f | ||
|
|
9255ff4387 | ||
|
|
71b932e910 | ||
|
|
d495c1910e | ||
|
|
b05d22aa81 | ||
|
|
5564f8be5f | ||
|
|
b82943046d | ||
|
|
ca0af37eaa | ||
|
|
72fe74da71 | ||
|
|
45a3f6ad36 | ||
|
|
9d9ef6e4b8 | ||
|
|
23f7b405ce | ||
|
|
25c31323c6 | ||
|
|
7ce74e36e6 | ||
|
|
ec20ff8318 | ||
|
|
4eed6b6f38 | ||
|
|
b6b5d59228 | ||
|
|
30cdddebb8 | ||
|
|
2a2df5b12b | ||
|
|
3345e9a357 | ||
|
|
4f25a8ff10 | ||
|
|
a5c44aae9a | ||
|
|
1b8d80b204 | ||
|
|
6dac917936 | ||
|
|
df40236217 | ||
|
|
855a1d00dc | ||
|
|
3dd5407301 |
2
.github/workflows/dependency-updates.yml
vendored
2
.github/workflows/dependency-updates.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2
|
||||
- uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2
|
||||
with:
|
||||
php-version: 8.3
|
||||
extensions: apcu
|
||||
|
||||
2
.github/workflows/helm-release.yml
vendored
2
.github/workflows/helm-release.yml
vendored
@@ -16,7 +16,7 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Turnstyle
|
||||
uses: softprops/turnstyle@25dcee5c3fcb84375f3a3f93a3c97ed0d42cfcdc # v2
|
||||
uses: softprops/turnstyle@f9f8ef3f634144b126a09ea5b3bfe51ddebc700f # v2
|
||||
with:
|
||||
continue-after-seconds: 180
|
||||
env:
|
||||
|
||||
2
.github/workflows/lint-php.yml
vendored
2
.github/workflows/lint-php.yml
vendored
@@ -36,7 +36,7 @@ jobs:
|
||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||
|
||||
- name: Set up php ${{ matrix.php-versions }}
|
||||
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2
|
||||
uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
coverage: none
|
||||
|
||||
6
.github/workflows/nextcloud-update.yml
vendored
6
.github/workflows/nextcloud-update.yml
vendored
@@ -60,12 +60,6 @@ jobs:
|
||||
)"
|
||||
sed -i "s|\(pecl install[^;]*imagick-\)[0-9.]*|\1$imagick_version|" ./Containers/nextcloud/Dockerfile
|
||||
|
||||
# Imagick git-commit-hash from HEAD
|
||||
imagick_commit_hash="$(
|
||||
git ls-remote https://github.com/imagick/imagick.git HEAD | awk '{print $1}'
|
||||
)"
|
||||
sed -i "s/\(ARG IMAGICK_COMMIT_HASH=\)[a-fA-F0-9]*$/\1$imagick_commit_hash/" ./Containers/nextcloud/Dockerfile
|
||||
|
||||
# Igbinary
|
||||
igbinary_version="$(
|
||||
git ls-remote --tags https://github.com/igbinary/igbinary.git \
|
||||
|
||||
@@ -18,7 +18,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up php
|
||||
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2
|
||||
uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2
|
||||
with:
|
||||
php-version: 8.3
|
||||
extensions: apcu
|
||||
|
||||
2
.github/workflows/psalm-update-baseline.yml
vendored
2
.github/workflows/psalm-update-baseline.yml
vendored
@@ -13,7 +13,7 @@ jobs:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up php
|
||||
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2
|
||||
uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2
|
||||
with:
|
||||
php-version: 8.3
|
||||
extensions: apcu
|
||||
|
||||
2
.github/workflows/psalm.yml
vendored
2
.github/workflows/psalm.yml
vendored
@@ -29,7 +29,7 @@ jobs:
|
||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||
|
||||
- name: Set up php
|
||||
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2
|
||||
uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2
|
||||
with:
|
||||
php-version: 8.3
|
||||
extensions: apcu
|
||||
|
||||
2
.github/workflows/twig-lint.yml
vendored
2
.github/workflows/twig-lint.yml
vendored
@@ -27,7 +27,7 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up php ${{ matrix.php-versions }}
|
||||
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2
|
||||
uses: shivammathur/setup-php@cf4cade2721270509d5b1c766ab3549210a39a2a # v2
|
||||
with:
|
||||
php-version: 8.3
|
||||
extensions: apcu
|
||||
|
||||
@@ -185,10 +185,7 @@ 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")
|
||||
if [ "$NEW_REPOSITORY" = 1 ]; then
|
||||
BORG_OPTS+=(--progress)
|
||||
fi
|
||||
BORG_OPTS=(-v --stats --compression "auto,zstd" --progress)
|
||||
|
||||
# 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" --exclude "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/lost+found")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
# From a file located probably somewhere here: https://github.com/CollaboraOnline/online/blob/master/docker/from-packages/Dockerfile
|
||||
FROM collabora/code:24.04.13.2.1
|
||||
FROM collabora/code:24.04.13.3.1
|
||||
|
||||
USER root
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
@@ -4,9 +4,9 @@ global
|
||||
maxconn 10
|
||||
|
||||
defaults
|
||||
timeout connect 10s
|
||||
timeout client 10s
|
||||
timeout server 10s
|
||||
timeout connect 30s
|
||||
timeout client 30s
|
||||
timeout server 1800s
|
||||
|
||||
frontend http
|
||||
mode http
|
||||
@@ -14,6 +14,8 @@ frontend http
|
||||
http-request deny unless { src 127.0.0.1 } || { src ::1 } || { src NC_IPV4_PLACEHOLDER } || { src NC_IPV6_PLACEHOLDER }
|
||||
# docker system _ping
|
||||
http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/_ping$ } METH_GET
|
||||
# docker inspect image: GET images/%s/json
|
||||
http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/images/.*/json } METH_GET
|
||||
# container inspect: GET containers/%s/json
|
||||
http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/containers/nc_app_[a-zA-Z0-9_.-]+/json } METH_GET
|
||||
# container inspect: GET containers/%s/logs
|
||||
|
||||
@@ -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.4
|
||||
FROM elasticsearch:8.18.0
|
||||
|
||||
USER root
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM golang:1.24.1-alpine3.21 AS go
|
||||
FROM golang:1.24.2-alpine3.21 AS go
|
||||
|
||||
ENV IMAGINARY_HASH=1d4e251cfcd58ea66f8361f8721d7b8cc85002a3
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ FROM docker:28.0.4-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.19-fpm-alpine3.21
|
||||
FROM php:8.3.20-fpm-alpine3.21
|
||||
|
||||
EXPOSE 80
|
||||
EXPOSE 8080
|
||||
|
||||
@@ -20,6 +20,11 @@ APACHE_PORT="$(docker inspect nextcloud-aio-apache --format "{{.Config.Env}}" |
|
||||
if [ -z "$APACHE_PORT" ]; then
|
||||
echo "APACHE_PORT is not set which is not expected..."
|
||||
else
|
||||
# Connect mastercontainer to nextcloud-aio network to make sure that nextcloud-aio-apache is reachable
|
||||
# Prevent issues like https://github.com/nextcloud/all-in-one/discussions/5222
|
||||
docker network connect nextcloud-aio nextcloud-aio-mastercontainer &>/dev/null
|
||||
|
||||
# Wait for apache to start
|
||||
while docker ps --format "{{.Names}}" | grep -q "^nextcloud-aio-apache$" && ! nc -z nextcloud-aio-apache "$APACHE_PORT"; do
|
||||
echo "Waiting for apache to become available"
|
||||
sleep 30
|
||||
|
||||
@@ -274,10 +274,11 @@ fi
|
||||
|
||||
# Check if ghcr.io is reachable
|
||||
# Solves issues like https://github.com/nextcloud/all-in-one/discussions/5268
|
||||
if ! curl https://ghcr.io &>/dev/null; then
|
||||
if ! curl --no-progress-meter https://ghcr.io/v2/ >/dev/null; then
|
||||
print_red "Could not reach https://ghcr.io."
|
||||
echo "Most likely is something blocking access to it."
|
||||
echo "You should be able to fix this by using https://github.com/nextcloud/all-in-one/tree/main/manual-install"
|
||||
echo "You should be able to fix this by following https://dockerlabs.collabnix.com/intermediate/networking/Configuring_DNS.html"
|
||||
echo "Another solution is using https://github.com/nextcloud/all-in-one/tree/main/manual-install"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM php:8.3.19-fpm-alpine3.21
|
||||
FROM php:8.3.20-fpm-alpine3.21
|
||||
|
||||
ENV PHP_MEMORY_LIMIT=512M
|
||||
ENV PHP_UPLOAD_LIMIT=16G
|
||||
@@ -8,14 +8,11 @@ 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.8
|
||||
ENV NEXTCLOUD_VERSION=30.0.10
|
||||
ENV AIO_TOKEN=123456
|
||||
ENV AIO_URL=localhost
|
||||
# AIO settings end # Do not remove or change this line!
|
||||
|
||||
# Define the commit hash for imagick as a variable
|
||||
ARG IMAGICK_COMMIT_HASH=28f27044e435a2b203e32675e942eb8de620ee58
|
||||
|
||||
COPY --chmod=775 *.sh /
|
||||
COPY --chmod=774 upgrade.exclude /upgrade.exclude
|
||||
COPY config/*.php /
|
||||
@@ -85,20 +82,7 @@ RUN set -ex; \
|
||||
pecl install APCu-5.1.24; \
|
||||
pecl install -D 'enable-memcached-igbinary="yes"' memcached-3.3.0; \
|
||||
pecl install -oD 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' redis-6.2.0; \
|
||||
# pecl install -o imagick-3.7.0; \
|
||||
# Begin workaround ->
|
||||
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
|
||||
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
|
||||
apk add --no-cache --virtual .git-build-deps git \
|
||||
&& git clone https://github.com/imagick/imagick.git --depth 1 /tmp/imagick \
|
||||
&& cd /tmp/imagick \
|
||||
&& git fetch --depth 1 origin ${IMAGICK_COMMIT_HASH} \
|
||||
&& git checkout ${IMAGICK_COMMIT_HASH} \
|
||||
&& sed -i "s/@PACKAGE_VERSION@/git-${IMAGICK_COMMIT_HASH:0:7}/" php_imagick.h \
|
||||
&& phpize && ./configure && make && make install; \
|
||||
apk del .git-build-deps; \
|
||||
cd && rm -r /tmp/imagick; \
|
||||
# <- End workaround
|
||||
pecl install -o imagick-3.8.0; \
|
||||
\
|
||||
docker-php-ext-enable \
|
||||
igbinary \
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
# From https://github.com/ONLYOFFICE/Docker-DocumentServer/blob/master/Dockerfile
|
||||
FROM onlyoffice/documentserver:8.3.2.1
|
||||
FROM onlyoffice/documentserver:8.3.3.1
|
||||
|
||||
# USER root is probably used
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM python:3.13.2-alpine3.21
|
||||
FROM python:3.13.3-alpine3.21
|
||||
|
||||
COPY --chmod=775 start.sh /start.sh
|
||||
COPY --chmod=775 healthcheck.sh /healthcheck.sh
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM nats:2.11.0-scratch AS nats
|
||||
FROM nats:2.11.1-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.3 AS janus
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# syntax=docker/dockerfile:latest
|
||||
FROM golang:1.24.1-alpine3.21 AS go
|
||||
FROM golang:1.24.2-alpine3.21 AS go
|
||||
|
||||
RUN set -ex; \
|
||||
apk upgrade --no-cache -a; \
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
## LibreTranslate
|
||||
This container bundles LibreTranslate and auto-configures it for you.
|
||||
|
||||
> [!WARNING]
|
||||
> The LibreTranslate container and app is deprecated!
|
||||
> Please use the [translate2 app](https://apps.nextcloud.com/apps/translate2) instead.
|
||||
> You can activate it by first enabling the Docker-Socket-Proxy in the AIO-interface and then heading over to `https://your-nc-domain.com/settings/apps/tools` and installing and enabling the `Local Machine Translation` app.
|
||||
|
||||
### Notes
|
||||
- After the initial startup is done, you might want to change the default language to translate from and to via:
|
||||
```bash
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: nextcloud-aio-helm-chart
|
||||
description: A generated Helm Chart for Nextcloud AIO from Skippbox Kompose
|
||||
version: 10.10.0
|
||||
version: 10.12.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:20250331_082515
|
||||
image: ghcr.io/nextcloud-releases/aio-apache:20250417_082355
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -36,7 +36,7 @@ spec:
|
||||
{{- end }}
|
||||
initContainers:
|
||||
- name: init-subpath
|
||||
image: "alpine:3.20"
|
||||
image: ghcr.io/nextcloud-releases/aio-alpine:20250417_082355
|
||||
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:20250331_082515
|
||||
image: ghcr.io/nextcloud-releases/aio-clamav:20250417_082355
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -35,7 +35,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 --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: ghcr.io/nextcloud-releases/aio-collabora:20250331_082515
|
||||
image: ghcr.io/nextcloud-releases/aio-collabora:20250417_082355
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -35,7 +35,7 @@ spec:
|
||||
{{- end }}
|
||||
initContainers:
|
||||
- name: init-subpath
|
||||
image: "alpine:3.20"
|
||||
image: ghcr.io/nextcloud-releases/aio-alpine:20250417_082355
|
||||
command:
|
||||
- mkdir
|
||||
- "-p"
|
||||
@@ -64,7 +64,7 @@ spec:
|
||||
value: nextcloud
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: ghcr.io/nextcloud-releases/aio-postgresql:20250331_082515
|
||||
image: ghcr.io/nextcloud-releases/aio-postgresql:20250417_082355
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -24,7 +24,7 @@ spec:
|
||||
spec:
|
||||
initContainers:
|
||||
- name: init-volumes
|
||||
image: "alpine:3.20"
|
||||
image: ghcr.io/nextcloud-releases/aio-alpine:20250417_082355
|
||||
command:
|
||||
- chmod
|
||||
- "777"
|
||||
@@ -54,7 +54,7 @@ spec:
|
||||
value: basic
|
||||
- name: xpack.security.enabled
|
||||
value: "false"
|
||||
image: ghcr.io/nextcloud-releases/aio-fulltextsearch:20250331_082515
|
||||
image: ghcr.io/nextcloud-releases/aio-fulltextsearch:20250417_082355
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -38,7 +38,7 @@ spec:
|
||||
value: "{{ .Values.IMAGINARY_SECRET }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: ghcr.io/nextcloud-releases/aio-imaginary:20250331_082515
|
||||
image: ghcr.io/nextcloud-releases/aio-imaginary:20250417_082355
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -38,7 +38,7 @@ spec:
|
||||
# AIO settings start # Do not remove or change this line!
|
||||
initContainers:
|
||||
- name: init-volumes
|
||||
image: "alpine:3.20"
|
||||
image: ghcr.io/nextcloud-releases/aio-alpine:20250417_082355
|
||||
command:
|
||||
- chmod
|
||||
- "777"
|
||||
@@ -81,7 +81,7 @@ spec:
|
||||
- name: NEXTCLOUD_DEFAULT_QUOTA
|
||||
value: "{{ .Values.NEXTCLOUD_DEFAULT_QUOTA }}"
|
||||
- name: NEXTCLOUD_SKELETON_DIRECTORY
|
||||
value: "{{ .Values.NEXTCLOUD_SKELETON_DIRECTORY | default "" }}"
|
||||
value: "{{ .Values.NEXTCLOUD_SKELETON_DIRECTORY }}"
|
||||
- name: NEXTCLOUD_MAINTENANCE_WINDOW
|
||||
value: "{{ .Values.NEXTCLOUD_MAINTENANCE_WINDOW }}"
|
||||
- name: ADDITIONAL_APKS
|
||||
@@ -182,7 +182,7 @@ spec:
|
||||
value: "{{ .Values.WHITEBOARD_ENABLED }}"
|
||||
- name: WHITEBOARD_SECRET
|
||||
value: "{{ .Values.WHITEBOARD_SECRET }}"
|
||||
image: ghcr.io/nextcloud-releases/aio-nextcloud:20250331_082515
|
||||
image: ghcr.io/nextcloud-releases/aio-nextcloud:20250417_082355
|
||||
{{- if eq (.Values.RPSS_ENABLED | default "no") "yes" }} # AIO-config - do not change this comment!
|
||||
securityContext:
|
||||
# The items below only work in container context
|
||||
|
||||
@@ -55,7 +55,7 @@ spec:
|
||||
value: "{{ .Values.REDIS_PASSWORD }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: ghcr.io/nextcloud-releases/aio-notify-push:20250331_082515
|
||||
image: ghcr.io/nextcloud-releases/aio-notify-push:20250417_082355
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -24,7 +24,7 @@ spec:
|
||||
spec:
|
||||
initContainers:
|
||||
- name: init-volumes
|
||||
image: "alpine:3.20"
|
||||
image: ghcr.io/nextcloud-releases/aio-alpine:20250417_082355
|
||||
command:
|
||||
- chmod
|
||||
- "777"
|
||||
@@ -42,7 +42,7 @@ spec:
|
||||
value: "{{ .Values.ONLYOFFICE_SECRET }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: ghcr.io/nextcloud-releases/aio-onlyoffice:20250331_082515
|
||||
image: ghcr.io/nextcloud-releases/aio-onlyoffice:20250417_082355
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -39,7 +39,7 @@ spec:
|
||||
value: "{{ .Values.REDIS_PASSWORD }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: ghcr.io/nextcloud-releases/aio-redis:20250331_082515
|
||||
image: ghcr.io/nextcloud-releases/aio-redis:20250417_082355
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -52,7 +52,7 @@ spec:
|
||||
value: "{{ .Values.TURN_SECRET }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: ghcr.io/nextcloud-releases/aio-talk:20250331_082515
|
||||
image: ghcr.io/nextcloud-releases/aio-talk:20250417_082355
|
||||
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:20250331_082515
|
||||
image: ghcr.io/nextcloud-releases/aio-talk-recording:20250417_082355
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -48,7 +48,7 @@ spec:
|
||||
value: redis
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: ghcr.io/nextcloud-releases/aio-whiteboard:20250331_082515
|
||||
image: ghcr.io/nextcloud-releases/aio-whiteboard:20250417_082355
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
|
||||
@@ -72,7 +72,7 @@ find ./ -name '*networkpolicy.yaml' -exec sed -i "s|manual-install-nextcloud-aio
|
||||
cat << EOL > /tmp/initcontainers
|
||||
initContainers:
|
||||
- name: init-volumes
|
||||
image: "ghcr.io/nextcloud-releases/aio-alpine:$DOCKER_TAG"
|
||||
image: ghcr.io/nextcloud-releases/aio-alpine:$DOCKER_TAG
|
||||
command:
|
||||
- chmod
|
||||
- "777"
|
||||
@@ -81,7 +81,7 @@ EOL
|
||||
cat << EOL > /tmp/initcontainers.database
|
||||
initContainers:
|
||||
- name: init-subpath
|
||||
image: "ghcr.io/nextcloud-releases/aio-alpine:$DOCKER_TAG"
|
||||
image: ghcr.io/nextcloud-releases/aio-alpine:$DOCKER_TAG
|
||||
command:
|
||||
- mkdir
|
||||
- "-p"
|
||||
@@ -94,7 +94,7 @@ EOL
|
||||
cat << EOL > /tmp/initcontainers.clamav
|
||||
initContainers:
|
||||
- name: init-subpath
|
||||
image: "ghcr.io/nextcloud-releases/aio-alpine:$DOCKER_TAG"
|
||||
image: ghcr.io/nextcloud-releases/aio-alpine:$DOCKER_TAG
|
||||
command:
|
||||
- mkdir
|
||||
- "-p"
|
||||
@@ -108,7 +108,7 @@ cat << EOL > /tmp/initcontainers.nextcloud
|
||||
# AIO settings start # Do not remove or change this line!
|
||||
initContainers:
|
||||
- name: init-volumes
|
||||
image: "ghcr.io/nextcloud-releases/aio-alpine:$DOCKER_TAG"
|
||||
image: ghcr.io/nextcloud-releases/aio-alpine:$DOCKER_TAG
|
||||
command:
|
||||
- chmod
|
||||
- "777"
|
||||
@@ -303,7 +303,7 @@ cat << EOL > /tmp/additional.config
|
||||
- name: NEXTCLOUD_DEFAULT_QUOTA
|
||||
value: "{{ .Values.NEXTCLOUD_DEFAULT_QUOTA }}"
|
||||
- name: NEXTCLOUD_SKELETON_DIRECTORY
|
||||
value: "{{ .Values.NEXTCLOUD_SKELETON_DIRECTORY | default "" }}"
|
||||
value: "{{ .Values.NEXTCLOUD_SKELETON_DIRECTORY }}"
|
||||
- name: NEXTCLOUD_MAINTENANCE_WINDOW
|
||||
value: "{{ .Values.NEXTCLOUD_MAINTENANCE_WINDOW }}"
|
||||
EOL
|
||||
|
||||
33
php/composer.lock
generated
33
php/composer.lock
generated
@@ -2210,26 +2210,29 @@
|
||||
},
|
||||
{
|
||||
"name": "doctrine/deprecations",
|
||||
"version": "1.1.4",
|
||||
"version": "1.1.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/deprecations.git",
|
||||
"reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9"
|
||||
"reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/deprecations/zipball/31610dbb31faa98e6b5447b62340826f54fbc4e9",
|
||||
"reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9",
|
||||
"url": "https://api.github.com/repos/doctrine/deprecations/zipball/459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38",
|
||||
"reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.1 || ^8.0"
|
||||
},
|
||||
"conflict": {
|
||||
"phpunit/phpunit": "<=7.5 || >=13"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/coding-standard": "^9 || ^12",
|
||||
"phpstan/phpstan": "1.4.10 || 2.0.3",
|
||||
"doctrine/coding-standard": "^9 || ^12 || ^13",
|
||||
"phpstan/phpstan": "1.4.10 || 2.1.11",
|
||||
"phpstan/phpstan-phpunit": "^1.0 || ^2",
|
||||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
|
||||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12",
|
||||
"psr/log": "^1 || ^2 || ^3"
|
||||
},
|
||||
"suggest": {
|
||||
@@ -2249,9 +2252,9 @@
|
||||
"homepage": "https://www.doctrine-project.org/",
|
||||
"support": {
|
||||
"issues": "https://github.com/doctrine/deprecations/issues",
|
||||
"source": "https://github.com/doctrine/deprecations/tree/1.1.4"
|
||||
"source": "https://github.com/doctrine/deprecations/tree/1.1.5"
|
||||
},
|
||||
"time": "2024-12-07T21:18:45+00:00"
|
||||
"time": "2025-04-07T20:06:18+00:00"
|
||||
},
|
||||
{
|
||||
"name": "felixfbecker/advanced-json-rpc",
|
||||
@@ -2577,16 +2580,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpdocumentor/reflection-docblock",
|
||||
"version": "5.6.1",
|
||||
"version": "5.6.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
|
||||
"reference": "e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8"
|
||||
"reference": "92dde6a5919e34835c506ac8c523ef095a95ed62"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8",
|
||||
"reference": "e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/92dde6a5919e34835c506ac8c523ef095a95ed62",
|
||||
"reference": "92dde6a5919e34835c506ac8c523ef095a95ed62",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2635,9 +2638,9 @@
|
||||
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
|
||||
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.1"
|
||||
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.2"
|
||||
},
|
||||
"time": "2024-12-07T09:39:29+00:00"
|
||||
"time": "2025-04-13T19:20:35+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpdocumentor/type-resolver",
|
||||
|
||||
@@ -1030,8 +1030,8 @@ readonly class DockerActionManager {
|
||||
return false;
|
||||
}
|
||||
|
||||
private function GetCreatedTimeOfNextcloudImage(): ?string {
|
||||
$imageName = 'nextcloud/aio-nextcloud' . ':' . $this->GetCurrentChannel();
|
||||
private function GetCreatedTimeOfNextcloudImage(string $imageName): ?string {
|
||||
$imageName = $imageName . ':' . $this->GetCurrentChannel();
|
||||
try {
|
||||
$imageUrl = $this->BuildApiUrl(sprintf('images/%s/json', $imageName));
|
||||
$imageOutput = json_decode($this->guzzleClient->get($imageUrl)->getBody()->getContents(), true);
|
||||
@@ -1052,7 +1052,11 @@ readonly class DockerActionManager {
|
||||
}
|
||||
|
||||
public function isNextcloudImageOutdated(): bool {
|
||||
$createdTime = $this->GetCreatedTimeOfNextcloudImage();
|
||||
$createdTime = $this->GetCreatedTimeOfNextcloudImage('ghcr.io/nextcloud-releases/aio-nextcloud');
|
||||
|
||||
if ($createdTime === null) {
|
||||
$createdTime = $this->GetCreatedTimeOfNextcloudImage('nextcloud/aio-nextcloud');
|
||||
}
|
||||
|
||||
if ($createdTime === null) {
|
||||
return false;
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
<div class="container">
|
||||
<main>
|
||||
<h1>Nextcloud AIO v10.11.0</h1>
|
||||
<h1>Nextcloud AIO v10.13.0</h1>
|
||||
|
||||
{# Add 2nd tab warning #}
|
||||
<script type="text/javascript" src="second-tab-warning.js"></script>
|
||||
@@ -101,7 +101,7 @@
|
||||
{% else %}
|
||||
<p>AIO is currently in "reverse proxy mode" which means that it can be installed behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else) and does not do the TLS proxying itself.</p>
|
||||
{% endif %}
|
||||
<p>Please type the domain that will be used for Nextcloud.</p>
|
||||
<p>Please type in the domain that will be used for Nextcloud and submit it.</p>
|
||||
{% if skip_domain_validation == true %}
|
||||
<p><strong>Please note:</strong> The domain validation is disabled so any domain will be accepted here! Make sure you do not make a typo here as you will not be able to change it afterwards!</p>
|
||||
{% endif %}
|
||||
@@ -192,7 +192,7 @@
|
||||
<p>
|
||||
Please enter the location of the backup archive on your host or a
|
||||
<a target="_blank" href="https://borgbackup.readthedocs.io/en/stable/usage/general.html#repository-urls">remote borg repo url</a>
|
||||
if stored remotely; and the encryption password of the backup archive below:
|
||||
if stored remotely; and the encryption password of the backup archive below and submit all values:
|
||||
</p>
|
||||
<form method="POST" action="/api/configuration" class="xhr">
|
||||
<label>Local backup location</label> <input type="text" id="borg_restore_host_location" name="borg_restore_host_location" value="{{borg_backup_host_location}}" placeholder="/mnt/backup"/><br>
|
||||
@@ -364,10 +364,10 @@
|
||||
{% else %}
|
||||
{% if is_backup_container_running == false and not hasBackupLocation and isApacheStarting != true %}
|
||||
<h2>Backup and restore</h2>
|
||||
<p>Please enter the directory path below where backups will be created on the host system. It's best to choose a location on a separate drive and not on your root drive.</p>
|
||||
<p>Please enter the directory path below where backups will be created on the host system and submit it. It's best to choose a location on a separate drive and not on your root drive.</p>
|
||||
<p>
|
||||
To store backups remotely instead, fill in the
|
||||
<a target="_blank" href="https://borgbackup.readthedocs.io/en/stable/usage/general.html#repository-urls">remote borg repo url</a>.
|
||||
<a target="_blank" href="https://borgbackup.readthedocs.io/en/stable/usage/general.html#repository-urls">remote borg repo url and submit it</a>.
|
||||
</p>
|
||||
<form method="POST" action="/api/configuration" class="xhr">
|
||||
<label>Local backup location</label> <input type="text" id="borg_backup_host_location" name="borg_backup_host_location" placeholder="/mnt/backup"/><br>
|
||||
@@ -507,12 +507,12 @@
|
||||
|
||||
<h3>Daily backup and automatic updates</h3>
|
||||
{% if daily_backup_time == "" %}
|
||||
<p>By entering a time below, you can enable daily backups. It will create them at the entered time in 24h format. E.g. <strong>04:00</strong> will create backups at 4 am UTC and <strong>16:00</strong> at 4 pm UTC. When creating the backup, containers will be stopped and restarted after the backup is complete.</p>
|
||||
<p>By entering a time below and submitting it, you can enable daily backups. It will create them at the entered time in 24h format. E.g. <strong>04:00</strong> will create backups at 4 am UTC and <strong>16:00</strong> at 4 pm UTC. When creating the backup, containers will be stopped and restarted after the backup is complete.</p>
|
||||
<form method="POST" action="/api/configuration" class="xhr">
|
||||
<input type="text" name="daily_backup_time" value="04:00" placeholder="04:00"/>
|
||||
<input type="text" name="daily_backup_time" placeholder="04:00"/>
|
||||
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
|
||||
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
|
||||
<input type="submit" value="Submit backup time" /><br>
|
||||
<input type="submit" value="Submit daily backup time and settings" /><br>
|
||||
<input type="checkbox" id="automatic_updates" name="automatic_updates" checked="checked"><label for="automatic_updates">Automatically update all containers, the mastercontainer and on saturdays your Nextcloud apps</label><br>
|
||||
<input type="checkbox" id="success_notification" name="success_notification" checked="checked"><label for="success_notification">Send notifications about successful backups (notifications about unsuccessful backups will always be sent)</label>
|
||||
</form>
|
||||
@@ -526,12 +526,12 @@
|
||||
<input type="hidden" name="delete_daily_backup_time" value="yes"/>
|
||||
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
|
||||
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
|
||||
<input type="submit" value="Disable or change daily backups" />
|
||||
<input type="submit" value="Disable or change daily backup settings" />
|
||||
</form>
|
||||
{% endif %}
|
||||
|
||||
<h3>Back up additional directories and docker volumes of your host</h3>
|
||||
<p>Below you can enter directories and docker volumes of your host that will be backed up into the same borg backup archive.</p>
|
||||
<p>Below you can enter directories and docker volumes of your host that will be backed up into the same borg backup archive. Make sure to press the submit button after changing anything.</p>
|
||||
<form method="POST" action="/api/configuration" class="xhr">
|
||||
<textarea id="additional_backup_directories" name="additional_backup_directories" rows="4" cols="50" placeholder="/directory/on/the/host my_custom_docker_volume">{{ additional_backup_directories }}</textarea>
|
||||
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
|
||||
@@ -584,7 +584,7 @@
|
||||
{% else %}
|
||||
{% if timezone == "" %}
|
||||
<p>To get the correct time values for certain Nextcloud features, set the timezone for Nextcloud to the one that your users mainly use. Please note that this setting does not apply to the mastercontainer and any backup option.</p>
|
||||
<p>You can configure the timezone for Nextcloud below:</p>
|
||||
<p>You can configure the timezone for Nextcloud below (Do not forget to submit the value!):</p>
|
||||
<form method="POST" action="/api/configuration" class="xhr">
|
||||
<input type="text" id="timezone" name="timezone" placeholder="Europe/Berlin" />
|
||||
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
|
||||
|
||||
@@ -184,7 +184,7 @@
|
||||
|
||||
{% if collabora_additional_options == "" %}
|
||||
<p>You can configure additional options for collabora below.</p>
|
||||
<p>(This can be used for configuring the net.content_security_policy and more)</p>
|
||||
<p>(This can be used for configuring the net.content_security_policy and more. Make sure to submit the value!)</p>
|
||||
<form method="POST" action="/api/configuration" class="xhr">
|
||||
<input type="text" name="collabora_additional_options" />
|
||||
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
|
||||
|
||||
@@ -60,7 +60,7 @@ test('Restore instance', async ({ page: setupPage }) => {
|
||||
await containersPage.getByRole('button', { name: 'Check backup integrity' }).click();
|
||||
await expect(containersPage.getByRole('main')).toContainText('Last check successful!', { timeout: 5 * 60 * 1000 });
|
||||
await containersPage.getByRole('button', { name: 'Restore selected backup' }).click();
|
||||
await expect(containersPage.getByRole('main')).toContainText('Backup container is currently running:');
|
||||
await expect(containersPage.getByRole('main')).toContainText('Backup container is currently running:', { timeout: 1 * 60 * 1000 });
|
||||
|
||||
// Verify a successful backup restore
|
||||
await expect(containersPage.getByRole('main')).toContainText('Last restore successful!', { timeout: 3 * 60 * 1000 });
|
||||
|
||||
@@ -139,8 +139,9 @@ Add this as a new Apache site config:
|
||||
RequestHeader set X-Real-IP %{REMOTE_ADDR}s
|
||||
AllowEncodedSlashes NoDecode
|
||||
|
||||
ProxyPass / http://localhost:11000/ nocanon # Adjust to match APACHE_PORT and APACHE_IP_BINDING. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#adapting-the-sample-web-server-configurations-below
|
||||
ProxyPassReverse / http://localhost:11000/ # Adjust to match APACHE_PORT and APACHE_IP_BINDING. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#adapting-the-sample-web-server-configurations-below
|
||||
# Adjust the two lines below to match APACHE_PORT and APACHE_IP_BINDING. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#adapting-the-sample-web-server-configurations-below
|
||||
ProxyPass / http://localhost:11000/ nocanon
|
||||
ProxyPassReverse / http://localhost:11000/
|
||||
|
||||
RewriteCond %{HTTP:Upgrade} websocket [NC]
|
||||
RewriteCond %{HTTP:Connection} upgrade [NC]
|
||||
|
||||
Reference in New Issue
Block a user