mirror of
https://github.com/nextcloud/all-in-one.git
synced 2026-06-10 08:37:02 +00:00
Compare commits
52 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 12f7ed943d | |||
| cbea0730d3 | |||
| 6c33a96980 | |||
| 6a07493f4d | |||
| e510e14550 | |||
| 1c5169c9e4 | |||
| b0c00866d4 | |||
| ba48b8134f | |||
| 0a553459ab | |||
| f42e669704 | |||
| 483d562b20 | |||
| 5a77d4e842 | |||
| c5b853e50b | |||
| 2a757d3d66 | |||
| 19b94f40d5 | |||
| 33f40632dd | |||
| 574a408d10 | |||
| 79dd1286e9 | |||
| 96002b185d | |||
| 3828b1ae3d | |||
| cdad9614cd | |||
| c55ae87002 | |||
| 3021f256ce | |||
| 124a6d295b | |||
| 0c6c1caa90 | |||
| 889096ab2b | |||
| cf2fb5f58d | |||
| 76c03d11f0 | |||
| 1bc3896314 | |||
| d86ff57d2f | |||
| a93e9ff0c6 | |||
| b25b0e1075 | |||
| e4d92bdea6 | |||
| d9332ef966 | |||
| 9d53188df3 | |||
| acb18004de | |||
| 70a0a4a361 | |||
| aa7ff451b8 | |||
| 5eb6850d92 | |||
| 78b4bea957 | |||
| 0af08104f5 | |||
| df14efa1ef | |||
| f5d35f0197 | |||
| 901cd8ccef | |||
| 9ed2b32d3e | |||
| 5c1d85b27d | |||
| 55a4ffab63 | |||
| 846bc06bc5 | |||
| 441a2a28e3 | |||
| df9971b249 | |||
| 035e270245 | |||
| 0dd6ab3f2c |
@@ -16,7 +16,7 @@ jobs:
|
|||||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
|
|
||||||
- name: Turnstyle
|
- name: Turnstyle
|
||||||
uses: softprops/turnstyle@e565d2d86403c5d23533937e95980570545e5586 # v2
|
uses: softprops/turnstyle@e15e934b3f69ee283ba389ea05c8886baa656d93 # v2
|
||||||
with:
|
with:
|
||||||
continue-after-seconds: 180
|
continue-after-seconds: 180
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
|
|
||||||
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
|
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||||
with:
|
with:
|
||||||
node-version: lts/*
|
node-version: lts/*
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
|
|
||||||
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
|
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||||
with:
|
with:
|
||||||
node-version: lts/*
|
node-version: lts/*
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
FROM caddy:2.11.2-alpine AS caddy
|
FROM caddy:2.11.3-alpine AS caddy
|
||||||
|
|
||||||
# From https://github.com/docker-library/httpd/blob/master/2.4/alpine/Dockerfile
|
# From https://github.com/docker-library/httpd/blob/master/2.4/alpine/Dockerfile
|
||||||
FROM httpd:2.4.67-alpine3.23
|
FROM httpd:2.4.67-alpine3.23
|
||||||
|
|||||||
@@ -31,4 +31,5 @@ LABEL com.centurylinklabs.watchtower.enable="false" \
|
|||||||
org.opencontainers.image.source="https://github.com/nextcloud/all-in-one" \
|
org.opencontainers.image.source="https://github.com/nextcloud/all-in-one" \
|
||||||
org.opencontainers.image.vendor="Nextcloud" \
|
org.opencontainers.image.vendor="Nextcloud" \
|
||||||
org.opencontainers.image.documentation="https://github.com/nextcloud/all-in-one/blob/main/readme.md"
|
org.opencontainers.image.documentation="https://github.com/nextcloud/all-in-one/blob/main/readme.md"
|
||||||
ENV BORG_RETENTION_POLICY="--keep-within=7d --keep-weekly=4 --keep-monthly=6"
|
ENV BORG_RETENTION_POLICY="--keep-within=7d --keep-weekly=4 --keep-monthly=6" \
|
||||||
|
AIO_LOG_LEVEL="warn"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
FROM haproxy:3.3.8-alpine
|
FROM haproxy:3.3.10-alpine
|
||||||
|
|
||||||
# hadolint ignore=DL3002
|
# hadolint ignore=DL3002
|
||||||
USER root
|
USER root
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
# Probably from here https://github.com/elastic/dockerfiles/blob/9.3/elasticsearch/Dockerfile
|
# Probably from here https://github.com/elastic/dockerfiles/blob/9.3/elasticsearch/Dockerfile
|
||||||
FROM elasticsearch:9.4.0
|
FROM elasticsearch:9.4.1
|
||||||
|
|
||||||
USER root
|
USER root
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
FROM golang:1.26.2-alpine3.23 AS go
|
FROM golang:1.26.3-alpine3.23 AS go
|
||||||
|
|
||||||
ENV IMAGINARY_HASH=6a274b488759a896aff02f52afee6e50b5e3a3ee
|
ENV IMAGINARY_HASH=6a274b488759a896aff02f52afee6e50b5e3a3ee
|
||||||
|
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
apk upgrade --no-cache -a; \
|
apk upgrade --no-cache -a; \
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
# Docker CLI is a requirement
|
# Docker CLI is a requirement
|
||||||
FROM docker:29.4.1-cli AS docker
|
FROM docker:29.4.3-cli AS docker
|
||||||
|
|
||||||
ARG CADDY_REMOTE_HOST_HASH=b21775afa730ffb52a24ddff310c8a6d1fd37276
|
ARG CADDY_REMOTE_HOST_HASH=e80a9931765a8dbcbb47db415863387f0df0e1b3
|
||||||
|
|
||||||
# Caddy is a requirement
|
# Caddy is a requirement
|
||||||
FROM caddy:2.11.2-builder-alpine AS caddy
|
FROM caddy:2.11.3-builder-alpine AS caddy
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
xcaddy build --with github.com/muety/caddy-remote-host@"$CADDY_REMOTE_HOST_HASH"; \
|
xcaddy build --with github.com/muety/caddy-remote-host@"$CADDY_REMOTE_HOST_HASH"; \
|
||||||
/usr/bin/caddy list-modules
|
/usr/bin/caddy list-modules
|
||||||
|
|
||||||
# From https://github.com/docker-library/php/blob/master/8.5/alpine3.23/fpm/Dockerfile
|
# From https://github.com/docker-library/php/blob/master/8.5/alpine3.23/fpm/Dockerfile
|
||||||
FROM php:8.5.5-fpm-alpine3.23
|
FROM php:8.5.6-fpm-alpine3.23
|
||||||
|
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
FROM php:8.3.30-fpm-alpine3.23
|
FROM php:8.3.31-fpm-alpine3.23
|
||||||
|
|
||||||
ENV PHP_MEMORY_LIMIT=512M
|
ENV PHP_MEMORY_LIMIT=512M
|
||||||
ENV PHP_UPLOAD_LIMIT=16G
|
ENV PHP_UPLOAD_LIMIT=16G
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
# From https://github.com/docker-library/postgres/blob/master/18/alpine3.23/Dockerfile
|
# From https://github.com/docker-library/postgres/blob/master/18/alpine3.23/Dockerfile
|
||||||
FROM postgres:18.3-alpine
|
FROM postgres:18.4-alpine
|
||||||
|
|
||||||
ENV PGDATA=/var/lib/postgresql/data
|
ENV PGDATA=/var/lib/postgresql/data
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
FROM python:3.14.3-alpine3.23
|
FROM python:3.14.5-alpine3.23
|
||||||
|
|
||||||
COPY --chmod=775 start.sh /start.sh
|
COPY --chmod=775 start.sh /start.sh
|
||||||
COPY --chmod=775 healthcheck.sh /healthcheck.sh
|
COPY --chmod=775 healthcheck.sh /healthcheck.sh
|
||||||
|
|
||||||
ENV RECORDING_VERSION=v0.2.1 \
|
ENV RECORDING_VERSION=v0.2.1
|
||||||
ALLOW_ALL=false \
|
ENV ALLOW_ALL=false \
|
||||||
HPB_PROTOCOL=https \
|
HPB_PROTOCOL=https \
|
||||||
NC_PROTOCOL=https \
|
NC_PROTOCOL=https \
|
||||||
SKIP_VERIFY=false \
|
SKIP_VERIFY=false \
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
# syntax=docker/dockerfile:latest
|
# syntax=docker/dockerfile:latest
|
||||||
FROM golang:1.26.2-alpine3.23 AS go
|
FROM golang:1.26.3-alpine3.23 AS go
|
||||||
|
|
||||||
ENV WATCHTOWER_COMMIT_HASH=652c89577076f6bc6f2af4465217589641216ee3
|
ENV WATCHTOWER_COMMIT_HASH=1a7990e7065f1292471114b2a9c94147743de06f
|
||||||
|
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
apk upgrade --no-cache -a; \
|
apk upgrade --no-cache -a; \
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
build-base; \
|
build-base; \
|
||||||
go install github.com/nicholas-fedor/watchtower@$WATCHTOWER_COMMIT_HASH # v1.16.1
|
go install github.com/nicholas-fedor/watchtower@$WATCHTOWER_COMMIT_HASH # v1.17.0
|
||||||
|
|
||||||
FROM alpine:3.23.4
|
FROM alpine:3.23.4
|
||||||
|
|
||||||
@@ -22,6 +22,8 @@ COPY --chmod=775 start.sh /start.sh
|
|||||||
# hadolint ignore=DL3002
|
# hadolint ignore=DL3002
|
||||||
USER root
|
USER root
|
||||||
|
|
||||||
|
ENV AIO_LOG_LEVEL="warn"
|
||||||
|
|
||||||
ENTRYPOINT ["/start.sh"]
|
ENTRYPOINT ["/start.sh"]
|
||||||
LABEL com.centurylinklabs.watchtower.enable="false" \
|
LABEL com.centurylinklabs.watchtower.enable="false" \
|
||||||
wud.watch="false" \
|
wud.watch="false" \
|
||||||
|
|||||||
@@ -4,8 +4,8 @@
|
|||||||
"container_name": "nextcloud-aio-lldap",
|
"container_name": "nextcloud-aio-lldap",
|
||||||
"display_name": "Light LDAP implementation",
|
"display_name": "Light LDAP implementation",
|
||||||
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/lldap",
|
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/lldap",
|
||||||
"image": "lldap/lldap",
|
"image": "ghcr.io/lldap/lldap",
|
||||||
"image_tag": "v0-alpine",
|
"image_tag": "latest-alpine",
|
||||||
"internal_port": "17170",
|
"internal_port": "17170",
|
||||||
"restart": "unless-stopped",
|
"restart": "unless-stopped",
|
||||||
"ports": [
|
"ports": [
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ services:
|
|||||||
- COLLABORA_HOST=nextcloud-aio-collabora
|
- COLLABORA_HOST=nextcloud-aio-collabora
|
||||||
- TALK_HOST=nextcloud-aio-talk
|
- TALK_HOST=nextcloud-aio-talk
|
||||||
- APACHE_PORT
|
- APACHE_PORT
|
||||||
|
- AIO_LOG_LEVEL
|
||||||
- ONLYOFFICE_HOST=nextcloud-aio-onlyoffice
|
- ONLYOFFICE_HOST=nextcloud-aio-onlyoffice
|
||||||
- TZ=${TIMEZONE}
|
- TZ=${TIMEZONE}
|
||||||
- APACHE_MAX_SIZE
|
- APACHE_MAX_SIZE
|
||||||
@@ -80,6 +81,7 @@ services:
|
|||||||
- POSTGRES_PASSWORD=${DATABASE_PASSWORD}
|
- POSTGRES_PASSWORD=${DATABASE_PASSWORD}
|
||||||
- POSTGRES_DB=nextcloud_database
|
- POSTGRES_DB=nextcloud_database
|
||||||
- POSTGRES_USER=nextcloud
|
- POSTGRES_USER=nextcloud
|
||||||
|
- AIO_LOG_LEVEL
|
||||||
- TZ=${TIMEZONE}
|
- TZ=${TIMEZONE}
|
||||||
- PGTZ=${TIMEZONE}
|
- PGTZ=${TIMEZONE}
|
||||||
stop_grace_period: 1800s
|
stop_grace_period: 1800s
|
||||||
@@ -149,6 +151,7 @@ services:
|
|||||||
- TURN_SECRET
|
- TURN_SECRET
|
||||||
- SIGNALING_SECRET
|
- SIGNALING_SECRET
|
||||||
- ONLYOFFICE_SECRET
|
- ONLYOFFICE_SECRET
|
||||||
|
- AIO_LOG_LEVEL
|
||||||
- NEXTCLOUD_MOUNT
|
- NEXTCLOUD_MOUNT
|
||||||
- CLAMAV_ENABLED
|
- CLAMAV_ENABLED
|
||||||
- CLAMAV_HOST=nextcloud-aio-clamav
|
- CLAMAV_HOST=nextcloud-aio-clamav
|
||||||
@@ -207,6 +210,7 @@ services:
|
|||||||
- nextcloud_aio_nextcloud:/var/www/html:ro
|
- nextcloud_aio_nextcloud:/var/www/html:ro
|
||||||
environment:
|
environment:
|
||||||
- NEXTCLOUD_HOST=nextcloud-aio-nextcloud
|
- NEXTCLOUD_HOST=nextcloud-aio-nextcloud
|
||||||
|
- AIO_LOG_LEVEL
|
||||||
- TZ=${TIMEZONE}
|
- TZ=${TIMEZONE}
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
read_only: true
|
read_only: true
|
||||||
@@ -228,6 +232,7 @@ services:
|
|||||||
- "6379"
|
- "6379"
|
||||||
environment:
|
environment:
|
||||||
- REDIS_HOST_PASSWORD=${REDIS_PASSWORD}
|
- REDIS_HOST_PASSWORD=${REDIS_PASSWORD}
|
||||||
|
- AIO_LOG_LEVEL
|
||||||
- TZ=${TIMEZONE}
|
- TZ=${TIMEZONE}
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud_aio_redis:/data:rw
|
- nextcloud_aio_redis:/data:rw
|
||||||
@@ -251,8 +256,9 @@ services:
|
|||||||
- "9980"
|
- "9980"
|
||||||
environment:
|
environment:
|
||||||
- aliasgroup1=https://${NC_DOMAIN}:443,http://nextcloud-aio-apache.nextcloud-aio:23973
|
- aliasgroup1=https://${NC_DOMAIN}:443,http://nextcloud-aio-apache.nextcloud-aio:23973
|
||||||
- extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:logging.disable_server_audit=true --o:logging.level=warning --o:logging.level_startup=warning --o:welcome.enable=false --o:fetch_update_check=0 --o:allow_update_popup=false --o:remote_font_config.url=https://${NC_DOMAIN}/apps/richdocuments/settings/fonts.json --o:net.post_allow.host[0]=.+
|
- extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:logging.disable_server_audit=true --o:welcome.enable=false --o:fetch_update_check=0 --o:allow_update_popup=false --o:remote_font_config.url=https://${NC_DOMAIN}/apps/richdocuments/settings/fonts.json --o:net.post_allow.host[0]=.+
|
||||||
- dictionaries=${COLLABORA_DICTIONARIES}
|
- dictionaries=${COLLABORA_DICTIONARIES}
|
||||||
|
- AIO_LOG_LEVEL
|
||||||
- TZ=${TIMEZONE}
|
- TZ=${TIMEZONE}
|
||||||
- server_name=${NC_DOMAIN}
|
- server_name=${NC_DOMAIN}
|
||||||
- DONT_GEN_SSL_CERT=1
|
- DONT_GEN_SSL_CERT=1
|
||||||
@@ -293,6 +299,7 @@ services:
|
|||||||
- TALK_HOST=nextcloud-aio-talk
|
- TALK_HOST=nextcloud-aio-talk
|
||||||
- TURN_SECRET
|
- TURN_SECRET
|
||||||
- SIGNALING_SECRET
|
- SIGNALING_SECRET
|
||||||
|
- AIO_LOG_LEVEL
|
||||||
- TZ=${TIMEZONE}
|
- TZ=${TIMEZONE}
|
||||||
- TALK_PORT
|
- TALK_PORT
|
||||||
- INTERNAL_SECRET=${TALK_INTERNAL_SECRET}
|
- INTERNAL_SECRET=${TALK_INTERNAL_SECRET}
|
||||||
@@ -325,6 +332,7 @@ services:
|
|||||||
- "1234"
|
- "1234"
|
||||||
environment:
|
environment:
|
||||||
- NC_DOMAIN
|
- NC_DOMAIN
|
||||||
|
- AIO_LOG_LEVEL
|
||||||
- TZ=${TIMEZONE}
|
- TZ=${TIMEZONE}
|
||||||
- RECORDING_SECRET
|
- RECORDING_SECRET
|
||||||
- INTERNAL_SECRET=${TALK_INTERNAL_SECRET}
|
- INTERNAL_SECRET=${TALK_INTERNAL_SECRET}
|
||||||
@@ -354,6 +362,7 @@ services:
|
|||||||
expose:
|
expose:
|
||||||
- "3310"
|
- "3310"
|
||||||
environment:
|
environment:
|
||||||
|
- AIO_LOG_LEVEL
|
||||||
- TZ=${TIMEZONE}
|
- TZ=${TIMEZONE}
|
||||||
- MAX_SIZE=${NEXTCLOUD_UPLOAD_LIMIT}
|
- MAX_SIZE=${NEXTCLOUD_UPLOAD_LIMIT}
|
||||||
volumes:
|
volumes:
|
||||||
@@ -384,6 +393,8 @@ services:
|
|||||||
expose:
|
expose:
|
||||||
- "80"
|
- "80"
|
||||||
environment:
|
environment:
|
||||||
|
- AIO_LOG_LEVEL
|
||||||
|
- LOG_LEVEL=${AIO_LOG_LEVEL}
|
||||||
- TZ=${TIMEZONE}
|
- TZ=${TIMEZONE}
|
||||||
- JWT_ENABLED=true
|
- JWT_ENABLED=true
|
||||||
- JWT_HEADER=AuthorizationJwt
|
- JWT_HEADER=AuthorizationJwt
|
||||||
@@ -410,6 +421,7 @@ services:
|
|||||||
expose:
|
expose:
|
||||||
- "9000"
|
- "9000"
|
||||||
environment:
|
environment:
|
||||||
|
- AIO_LOG_LEVEL
|
||||||
- TZ=${TIMEZONE}
|
- TZ=${TIMEZONE}
|
||||||
- IMAGINARY_SECRET
|
- IMAGINARY_SECRET
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@@ -436,12 +448,12 @@ services:
|
|||||||
expose:
|
expose:
|
||||||
- "9200"
|
- "9200"
|
||||||
environment:
|
environment:
|
||||||
|
- AIO_LOG_LEVEL
|
||||||
- TZ=${TIMEZONE}
|
- TZ=${TIMEZONE}
|
||||||
- ES_JAVA_OPTS=${FULLTEXTSEARCH_JAVA_OPTIONS}
|
- ES_JAVA_OPTS=${FULLTEXTSEARCH_JAVA_OPTIONS}
|
||||||
- bootstrap.memory_lock=false
|
- bootstrap.memory_lock=false
|
||||||
- cluster.name=nextcloud-aio
|
- cluster.name=nextcloud-aio
|
||||||
- discovery.type=single-node
|
- discovery.type=single-node
|
||||||
- logger.level=WARN
|
|
||||||
- http.port=9200
|
- http.port=9200
|
||||||
- xpack.license.self_generated.type=basic
|
- xpack.license.self_generated.type=basic
|
||||||
- xpack.security.enabled=false
|
- xpack.security.enabled=false
|
||||||
@@ -473,6 +485,7 @@ services:
|
|||||||
tmpfs:
|
tmpfs:
|
||||||
- /tmp
|
- /tmp
|
||||||
environment:
|
environment:
|
||||||
|
- AIO_LOG_LEVEL
|
||||||
- TZ=${TIMEZONE}
|
- TZ=${TIMEZONE}
|
||||||
- NEXTCLOUD_URL=https://${NC_DOMAIN}
|
- NEXTCLOUD_URL=https://${NC_DOMAIN}
|
||||||
- JWT_SECRET_KEY=${WHITEBOARD_SECRET}
|
- JWT_SECRET_KEY=${WHITEBOARD_SECRET}
|
||||||
|
|||||||
@@ -21,11 +21,11 @@ TALK_ENABLED="no" # Setting this to "yes" (with quotes) enables the opt
|
|||||||
TALK_RECORDING_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
TALK_RECORDING_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
||||||
WHITEBOARD_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
WHITEBOARD_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
||||||
|
|
||||||
|
AIO_LOG_LEVEL=warn # Allows to adjust the global AIO log level. Valid values are debug, info, warn and error.
|
||||||
APACHE_IP_BINDING=0.0.0.0 # This can be changed to e.g. 127.0.0.1 if you want to run AIO behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else) and if that is running on the same host and using localhost to connect
|
APACHE_IP_BINDING=0.0.0.0 # This can be changed to e.g. 127.0.0.1 if you want to run AIO behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else) and if that is running on the same host and using localhost to connect
|
||||||
APACHE_MAX_SIZE=17179869184 # This needs to be an integer and in sync with NEXTCLOUD_UPLOAD_LIMIT
|
APACHE_MAX_SIZE=17179869184 # This needs to be an integer and in sync with NEXTCLOUD_UPLOAD_LIMIT
|
||||||
APACHE_PORT=443 # Changing this to a different value than 443 will allow you to run it behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else).
|
APACHE_PORT=443 # Changing this to a different value than 443 will allow you to run it behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else).
|
||||||
ADDITIONAL_COLLABORA_OPTIONS=['--o:security.seccomp=true'] # You can add additional collabora options here by using the array syntax.
|
ADDITIONAL_COLLABORA_OPTIONS=['--o:security.seccomp=true'] # You can add additional collabora options here by using the array syntax.
|
||||||
AIO_LOG_LEVEL=warn # Allows to adjust the global AIO log level. Valid values are debug, info, warn and error.
|
|
||||||
COLLABORA_DICTIONARIES="de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru" # You can change this in order to enable other dictionaries for collabora
|
COLLABORA_DICTIONARIES="de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru" # You can change this in order to enable other dictionaries for collabora
|
||||||
FULLTEXTSEARCH_JAVA_OPTIONS="-Xms512M -Xmx512M" # Allows to adjust the fulltextsearch java options.
|
FULLTEXTSEARCH_JAVA_OPTIONS="-Xms512M -Xmx512M" # Allows to adjust the fulltextsearch java options.
|
||||||
INSTALL_LATEST_MAJOR=no # Setting this to yes will install the latest Major Nextcloud version upon the first installation
|
INSTALL_LATEST_MAJOR=no # Setting this to yes will install the latest Major Nextcloud version upon the first installation
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
name: nextcloud-aio-helm-chart
|
name: nextcloud-aio-helm-chart
|
||||||
description: A generated Helm Chart for Nextcloud AIO from Skippbox Kompose
|
description: A generated Helm Chart for Nextcloud AIO from Skippbox Kompose
|
||||||
version: 12.9.2
|
version: 13.0.4
|
||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
keywords:
|
keywords:
|
||||||
- latest
|
- latest
|
||||||
|
|||||||
@@ -37,6 +37,8 @@ spec:
|
|||||||
- env:
|
- env:
|
||||||
- name: ADDITIONAL_TRUSTED_DOMAIN
|
- name: ADDITIONAL_TRUSTED_DOMAIN
|
||||||
value: "{{ .Values.ADDITIONAL_TRUSTED_DOMAIN }}"
|
value: "{{ .Values.ADDITIONAL_TRUSTED_DOMAIN }}"
|
||||||
|
- name: AIO_LOG_LEVEL
|
||||||
|
value: "{{ .Values.AIO_LOG_LEVEL }}"
|
||||||
- name: APACHE_HOST
|
- name: APACHE_HOST
|
||||||
value: nextcloud-aio-apache
|
value: nextcloud-aio-apache
|
||||||
- name: APACHE_MAX_SIZE
|
- name: APACHE_MAX_SIZE
|
||||||
@@ -63,7 +65,7 @@ spec:
|
|||||||
value: "{{ .Values.TIMEZONE }}"
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
- name: WHITEBOARD_HOST
|
- name: WHITEBOARD_HOST
|
||||||
value: nextcloud-aio-whiteboard
|
value: nextcloud-aio-whiteboard
|
||||||
image: ghcr.io/nextcloud-releases/aio-apache:20260409_094910
|
image: ghcr.io/nextcloud-releases/aio-apache:20260515_145717
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
initContainers:
|
initContainers:
|
||||||
- name: init-subpath
|
- name: init-subpath
|
||||||
image: ghcr.io/nextcloud-releases/aio-alpine:20260409_094910
|
image: ghcr.io/nextcloud-releases/aio-alpine:20260515_145717
|
||||||
command:
|
command:
|
||||||
- mkdir
|
- mkdir
|
||||||
- "-p"
|
- "-p"
|
||||||
@@ -55,11 +55,13 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
containers:
|
containers:
|
||||||
- env:
|
- env:
|
||||||
|
- name: AIO_LOG_LEVEL
|
||||||
|
value: "{{ .Values.AIO_LOG_LEVEL }}"
|
||||||
- name: MAX_SIZE
|
- name: MAX_SIZE
|
||||||
value: "{{ .Values.NEXTCLOUD_UPLOAD_LIMIT }}"
|
value: "{{ .Values.NEXTCLOUD_UPLOAD_LIMIT }}"
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: "{{ .Values.TIMEZONE }}"
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
image: ghcr.io/nextcloud-releases/aio-clamav:20260409_094910
|
image: ghcr.io/nextcloud-releases/aio-clamav:20260515_145717
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ spec:
|
|||||||
containers:
|
containers:
|
||||||
- args: {{ .Values.ADDITIONAL_COLLABORA_OPTIONS | default list | toJson }}
|
- args: {{ .Values.ADDITIONAL_COLLABORA_OPTIONS | default list | toJson }}
|
||||||
env:
|
env:
|
||||||
|
- name: AIO_LOG_LEVEL
|
||||||
|
value: "{{ .Values.AIO_LOG_LEVEL }}"
|
||||||
- name: DONT_GEN_SSL_CERT
|
- name: DONT_GEN_SSL_CERT
|
||||||
value: "1"
|
value: "1"
|
||||||
- name: TZ
|
- name: TZ
|
||||||
@@ -32,13 +34,13 @@ spec:
|
|||||||
- name: dictionaries
|
- name: dictionaries
|
||||||
value: "{{ .Values.COLLABORA_DICTIONARIES }}"
|
value: "{{ .Values.COLLABORA_DICTIONARIES }}"
|
||||||
- name: extra_params
|
- name: extra_params
|
||||||
value: --o:ssl.enable=false --o:ssl.termination=true --o:logging.disable_server_audit=true --o:logging.level=warning --o:logging.level_startup=warning --o:welcome.enable=false --o:fetch_update_check=0 --o:allow_update_popup=false --o:remote_font_config.url=https://{{ .Values.NC_DOMAIN }}/apps/richdocuments/settings/fonts.json --o:net.post_allow.host[0]=.+
|
value: --o:ssl.enable=false --o:ssl.termination=true --o:logging.disable_server_audit=true --o:welcome.enable=false --o:fetch_update_check=0 --o:allow_update_popup=false --o:remote_font_config.url=https://{{ .Values.NC_DOMAIN }}/apps/richdocuments/settings/fonts.json --o:net.post_allow.host[0]=.+
|
||||||
- name: server_name
|
- name: server_name
|
||||||
value: "{{ .Values.NC_DOMAIN }}"
|
value: "{{ .Values.NC_DOMAIN }}"
|
||||||
{{- if contains "--o:support_key=" (join " " (.Values.ADDITIONAL_COLLABORA_OPTIONS | default list)) }}
|
{{- if contains "--o:support_key=" (join " " (.Values.ADDITIONAL_COLLABORA_OPTIONS | default list)) }}
|
||||||
image: ghcr.io/nextcloud-releases/aio-collabora-online:20260409_094910
|
image: ghcr.io/nextcloud-releases/aio-collabora-online:20260515_145717
|
||||||
{{- else }}
|
{{- else }}
|
||||||
image: ghcr.io/nextcloud-releases/aio-collabora:20260409_094910
|
image: ghcr.io/nextcloud-releases/aio-collabora:20260515_145717
|
||||||
{{- end }}
|
{{- end }}
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
initContainers:
|
initContainers:
|
||||||
- name: init-subpath
|
- name: init-subpath
|
||||||
image: ghcr.io/nextcloud-releases/aio-alpine:20260409_094910
|
image: ghcr.io/nextcloud-releases/aio-alpine:20260515_145717
|
||||||
command:
|
command:
|
||||||
- mkdir
|
- mkdir
|
||||||
- "-p"
|
- "-p"
|
||||||
@@ -54,6 +54,8 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
containers:
|
containers:
|
||||||
- env:
|
- env:
|
||||||
|
- name: AIO_LOG_LEVEL
|
||||||
|
value: "{{ .Values.AIO_LOG_LEVEL }}"
|
||||||
- name: PGTZ
|
- name: PGTZ
|
||||||
value: "{{ .Values.TIMEZONE }}"
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
- name: POSTGRES_DB
|
- name: POSTGRES_DB
|
||||||
@@ -64,7 +66,7 @@ spec:
|
|||||||
value: nextcloud
|
value: nextcloud
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: "{{ .Values.TIMEZONE }}"
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
image: ghcr.io/nextcloud-releases/aio-postgresql:20260409_094910
|
image: ghcr.io/nextcloud-releases/aio-postgresql:20260515_145717
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
initContainers:
|
initContainers:
|
||||||
- name: init-volumes
|
- name: init-volumes
|
||||||
image: ghcr.io/nextcloud-releases/aio-alpine:20260409_094910
|
image: ghcr.io/nextcloud-releases/aio-alpine:20260515_145717
|
||||||
command:
|
command:
|
||||||
- chmod
|
- chmod
|
||||||
- "777"
|
- "777"
|
||||||
@@ -34,6 +34,8 @@ spec:
|
|||||||
mountPath: /nextcloud-aio-elasticsearch
|
mountPath: /nextcloud-aio-elasticsearch
|
||||||
containers:
|
containers:
|
||||||
- env:
|
- env:
|
||||||
|
- name: AIO_LOG_LEVEL
|
||||||
|
value: "{{ .Values.AIO_LOG_LEVEL }}"
|
||||||
- name: ES_JAVA_OPTS
|
- name: ES_JAVA_OPTS
|
||||||
value: "{{ .Values.FULLTEXTSEARCH_JAVA_OPTIONS | default "-Xms512M -Xmx512M" }}"
|
value: "{{ .Values.FULLTEXTSEARCH_JAVA_OPTIONS | default "-Xms512M -Xmx512M" }}"
|
||||||
- name: FULLTEXTSEARCH_PASSWORD
|
- name: FULLTEXTSEARCH_PASSWORD
|
||||||
@@ -48,13 +50,17 @@ spec:
|
|||||||
value: single-node
|
value: single-node
|
||||||
- name: http.port
|
- name: http.port
|
||||||
value: "9200"
|
value: "9200"
|
||||||
- name: logger.level
|
- name: indices.fielddata.cache.size
|
||||||
value: WARN
|
value: 20%
|
||||||
|
- name: indices.memory.index_buffer_size
|
||||||
|
value: 20%
|
||||||
|
- name: thread_pool.write.queue_size
|
||||||
|
value: "1000"
|
||||||
- name: xpack.license.self_generated.type
|
- name: xpack.license.self_generated.type
|
||||||
value: basic
|
value: basic
|
||||||
- name: xpack.security.enabled
|
- name: xpack.security.enabled
|
||||||
value: "false"
|
value: "false"
|
||||||
image: ghcr.io/nextcloud-releases/aio-fulltextsearch:20260409_094910
|
image: ghcr.io/nextcloud-releases/aio-fulltextsearch:20260515_145717
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -34,11 +34,13 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
containers:
|
containers:
|
||||||
- env:
|
- env:
|
||||||
|
- name: AIO_LOG_LEVEL
|
||||||
|
value: "{{ .Values.AIO_LOG_LEVEL }}"
|
||||||
- name: IMAGINARY_SECRET
|
- name: IMAGINARY_SECRET
|
||||||
value: "{{ .Values.IMAGINARY_SECRET }}"
|
value: "{{ .Values.IMAGINARY_SECRET }}"
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: "{{ .Values.TIMEZONE }}"
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
image: ghcr.io/nextcloud-releases/aio-imaginary:20260409_094910
|
image: ghcr.io/nextcloud-releases/aio-imaginary:20260515_145717
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ spec:
|
|||||||
# AIO settings start # Do not remove or change this line!
|
# AIO settings start # Do not remove or change this line!
|
||||||
initContainers:
|
initContainers:
|
||||||
- name: init-volumes
|
- name: init-volumes
|
||||||
image: ghcr.io/nextcloud-releases/aio-alpine:20260409_094910
|
image: ghcr.io/nextcloud-releases/aio-alpine:20260515_145717
|
||||||
command:
|
command:
|
||||||
- chmod
|
- chmod
|
||||||
- "777"
|
- "777"
|
||||||
@@ -92,6 +92,8 @@ spec:
|
|||||||
value: "{{ .Values.NEXTCLOUD_PASSWORD }}"
|
value: "{{ .Values.NEXTCLOUD_PASSWORD }}"
|
||||||
- name: ADMIN_USER
|
- name: ADMIN_USER
|
||||||
value: admin
|
value: admin
|
||||||
|
- name: AIO_LOG_LEVEL
|
||||||
|
value: "{{ .Values.AIO_LOG_LEVEL }}"
|
||||||
- name: APACHE_HOST
|
- name: APACHE_HOST
|
||||||
value: nextcloud-aio-apache
|
value: nextcloud-aio-apache
|
||||||
- name: APACHE_PORT
|
- name: APACHE_PORT
|
||||||
@@ -190,7 +192,7 @@ spec:
|
|||||||
value: "{{ .Values.WHITEBOARD_ENABLED }}"
|
value: "{{ .Values.WHITEBOARD_ENABLED }}"
|
||||||
- name: WHITEBOARD_SECRET
|
- name: WHITEBOARD_SECRET
|
||||||
value: "{{ .Values.WHITEBOARD_SECRET }}"
|
value: "{{ .Values.WHITEBOARD_SECRET }}"
|
||||||
image: ghcr.io/nextcloud-releases/aio-nextcloud:20260409_094910
|
image: ghcr.io/nextcloud-releases/aio-nextcloud:20260515_145717
|
||||||
{{- if eq (.Values.RPSS_ENABLED | default "no") "yes" }} # AIO-config - do not change this comment!
|
{{- if eq (.Values.RPSS_ENABLED | default "no") "yes" }} # AIO-config - do not change this comment!
|
||||||
securityContext:
|
securityContext:
|
||||||
# The items below only work in container context
|
# The items below only work in container context
|
||||||
|
|||||||
@@ -35,11 +35,13 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
containers:
|
containers:
|
||||||
- env:
|
- env:
|
||||||
|
- name: AIO_LOG_LEVEL
|
||||||
|
value: "{{ .Values.AIO_LOG_LEVEL }}"
|
||||||
- name: NEXTCLOUD_HOST
|
- name: NEXTCLOUD_HOST
|
||||||
value: nextcloud-aio-nextcloud
|
value: nextcloud-aio-nextcloud
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: "{{ .Values.TIMEZONE }}"
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
image: ghcr.io/nextcloud-releases/aio-notify-push:20260409_094910
|
image: ghcr.io/nextcloud-releases/aio-notify-push:20260515_145717
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
initContainers:
|
initContainers:
|
||||||
- name: init-volumes
|
- name: init-volumes
|
||||||
image: ghcr.io/nextcloud-releases/aio-alpine:20260409_094910
|
image: ghcr.io/nextcloud-releases/aio-alpine:20260515_145717
|
||||||
command:
|
command:
|
||||||
- chmod
|
- chmod
|
||||||
- "777"
|
- "777"
|
||||||
@@ -34,15 +34,19 @@ spec:
|
|||||||
mountPath: /nextcloud-aio-onlyoffice
|
mountPath: /nextcloud-aio-onlyoffice
|
||||||
containers:
|
containers:
|
||||||
- env:
|
- env:
|
||||||
|
- name: AIO_LOG_LEVEL
|
||||||
|
value: "{{ .Values.AIO_LOG_LEVEL }}"
|
||||||
- name: JWT_ENABLED
|
- name: JWT_ENABLED
|
||||||
value: "true"
|
value: "true"
|
||||||
- name: JWT_HEADER
|
- name: JWT_HEADER
|
||||||
value: AuthorizationJwt
|
value: AuthorizationJwt
|
||||||
- name: JWT_SECRET
|
- name: JWT_SECRET
|
||||||
value: "{{ .Values.ONLYOFFICE_SECRET }}"
|
value: "{{ .Values.ONLYOFFICE_SECRET }}"
|
||||||
|
- name: LOG_LEVEL
|
||||||
|
value: "{{ .Values.AIO_LOG_LEVEL }}"
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: "{{ .Values.TIMEZONE }}"
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
image: ghcr.io/nextcloud-releases/aio-onlyoffice:20260409_094910
|
image: ghcr.io/nextcloud-releases/aio-onlyoffice:20260515_145717
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -35,11 +35,13 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
containers:
|
containers:
|
||||||
- env:
|
- env:
|
||||||
|
- name: AIO_LOG_LEVEL
|
||||||
|
value: "{{ .Values.AIO_LOG_LEVEL }}"
|
||||||
- name: REDIS_HOST_PASSWORD
|
- name: REDIS_HOST_PASSWORD
|
||||||
value: "{{ .Values.REDIS_PASSWORD }}"
|
value: "{{ .Values.REDIS_PASSWORD }}"
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: "{{ .Values.TIMEZONE }}"
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
image: ghcr.io/nextcloud-releases/aio-redis:20260409_094910
|
image: ghcr.io/nextcloud-releases/aio-redis:20260515_145717
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -40,6 +40,8 @@ spec:
|
|||||||
value: "{{ .Values.TALK_MAX_STREAM_BITRATE }}"
|
value: "{{ .Values.TALK_MAX_STREAM_BITRATE }}"
|
||||||
- name: TALK_MAX_SCREEN_BITRATE
|
- name: TALK_MAX_SCREEN_BITRATE
|
||||||
value: "{{ .Values.TALK_MAX_SCREEN_BITRATE }}"
|
value: "{{ .Values.TALK_MAX_SCREEN_BITRATE }}"
|
||||||
|
- name: AIO_LOG_LEVEL
|
||||||
|
value: "{{ .Values.AIO_LOG_LEVEL }}"
|
||||||
- name: INTERNAL_SECRET
|
- name: INTERNAL_SECRET
|
||||||
value: "{{ .Values.TALK_INTERNAL_SECRET }}"
|
value: "{{ .Values.TALK_INTERNAL_SECRET }}"
|
||||||
- name: NC_DOMAIN
|
- name: NC_DOMAIN
|
||||||
@@ -54,7 +56,7 @@ spec:
|
|||||||
value: "{{ .Values.TURN_SECRET }}"
|
value: "{{ .Values.TURN_SECRET }}"
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: "{{ .Values.TIMEZONE }}"
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
image: ghcr.io/nextcloud-releases/aio-talk:20260409_094910
|
image: ghcr.io/nextcloud-releases/aio-talk:20260515_145717
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -36,6 +36,8 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
containers:
|
containers:
|
||||||
- env:
|
- env:
|
||||||
|
- name: AIO_LOG_LEVEL
|
||||||
|
value: "{{ .Values.AIO_LOG_LEVEL }}"
|
||||||
- name: INTERNAL_SECRET
|
- name: INTERNAL_SECRET
|
||||||
value: "{{ .Values.TALK_INTERNAL_SECRET }}"
|
value: "{{ .Values.TALK_INTERNAL_SECRET }}"
|
||||||
- name: NC_DOMAIN
|
- name: NC_DOMAIN
|
||||||
@@ -44,7 +46,7 @@ spec:
|
|||||||
value: "{{ .Values.RECORDING_SECRET }}"
|
value: "{{ .Values.RECORDING_SECRET }}"
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: "{{ .Values.TIMEZONE }}"
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
image: ghcr.io/nextcloud-releases/aio-talk-recording:20260409_094910
|
image: ghcr.io/nextcloud-releases/aio-talk-recording:20260515_145717
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -34,6 +34,8 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
containers:
|
containers:
|
||||||
- env:
|
- env:
|
||||||
|
- name: AIO_LOG_LEVEL
|
||||||
|
value: "{{ .Values.AIO_LOG_LEVEL }}"
|
||||||
- name: BACKUP_DIR
|
- name: BACKUP_DIR
|
||||||
value: /tmp
|
value: /tmp
|
||||||
- name: JWT_SECRET_KEY
|
- name: JWT_SECRET_KEY
|
||||||
@@ -50,7 +52,7 @@ spec:
|
|||||||
value: redis
|
value: redis
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: "{{ .Values.TIMEZONE }}"
|
value: "{{ .Values.TIMEZONE }}"
|
||||||
image: ghcr.io/nextcloud-releases/aio-whiteboard:20260409_094910
|
image: ghcr.io/nextcloud-releases/aio-whiteboard:20260515_145717
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
exec:
|
exec:
|
||||||
command:
|
command:
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ TALK_ENABLED: "no" # Setting this to "yes" (with quotes) enables the op
|
|||||||
TALK_RECORDING_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
TALK_RECORDING_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
||||||
WHITEBOARD_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
WHITEBOARD_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
||||||
|
|
||||||
|
AIO_LOG_LEVEL: warn # Allows to adjust the global AIO log level. Valid values are debug, info, warn and error.
|
||||||
APACHE_MAX_SIZE: "17179869184" # This needs to be an integer and in sync with NEXTCLOUD_UPLOAD_LIMIT
|
APACHE_MAX_SIZE: "17179869184" # This needs to be an integer and in sync with NEXTCLOUD_UPLOAD_LIMIT
|
||||||
APACHE_PORT: 443 # Changing this to a different value than 443 will allow you to run it behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else).
|
APACHE_PORT: 443 # Changing this to a different value than 443 will allow you to run it behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else).
|
||||||
ADDITIONAL_COLLABORA_OPTIONS: ['--o:security.seccomp=true'] # You can add additional collabora options here by using the array syntax.
|
ADDITIONAL_COLLABORA_OPTIONS: ['--o:security.seccomp=true'] # You can add additional collabora options here by using the array syntax.
|
||||||
@@ -31,7 +32,7 @@ NEXTCLOUD_ADDITIONAL_APKS: imagemagick # This allows to add additional pa
|
|||||||
NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS: imagick # This allows to add additional php extensions to the Nextcloud container permanently. Default is imagick but can be overwritten by modifying this value.
|
NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS: imagick # This allows to add additional php extensions to the Nextcloud container permanently. Default is imagick but can be overwritten by modifying this value.
|
||||||
NEXTCLOUD_MAX_TIME: 3600 # This allows to change the upload time limit of the Nextcloud container
|
NEXTCLOUD_MAX_TIME: 3600 # This allows to change the upload time limit of the Nextcloud container
|
||||||
NEXTCLOUD_MEMORY_LIMIT: 512M # This allows to change the PHP memory limit of the Nextcloud container
|
NEXTCLOUD_MEMORY_LIMIT: 512M # This allows to change the PHP memory limit of the Nextcloud container
|
||||||
NEXTCLOUD_STARTUP_APPS: deck twofactor_totp tasks calendar contacts notes # Allows to modify the Nextcloud apps that are installed on starting AIO the first time
|
NEXTCLOUD_STARTUP_APPS: deck twofactor_totp tasks calendar contacts notes # Allows to modify the Nextcloud apps that are installed on starting AIO the first time. You can also disable apps by using a hyphen in front of them. E.g. -app_api
|
||||||
NEXTCLOUD_TRUSTED_CACERTS_DIR: # Setting this to any value allows to automatically import root certificates into the Nextcloud container
|
NEXTCLOUD_TRUSTED_CACERTS_DIR: # Setting this to any value allows to automatically import root certificates into the Nextcloud container
|
||||||
NEXTCLOUD_UPLOAD_LIMIT: 16G # This allows to change the upload limit of the Nextcloud container
|
NEXTCLOUD_UPLOAD_LIMIT: 16G # This allows to change the upload limit of the Nextcloud container
|
||||||
REMOVE_DISABLED_APPS: "yes" # Setting this to "no" keep Nextcloud apps that are disabled via their switch and not uninstall them if they should be installed in Nextcloud.
|
REMOVE_DISABLED_APPS: "yes" # Setting this to "no" keep Nextcloud apps that are disabled via their switch and not uninstall them if they should be installed in Nextcloud.
|
||||||
|
|||||||
Generated
+62
-58
@@ -448,16 +448,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/serializable-closure",
|
"name": "laravel/serializable-closure",
|
||||||
"version": "v2.0.12",
|
"version": "v2.0.13",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/laravel/serializable-closure.git",
|
"url": "https://github.com/laravel/serializable-closure.git",
|
||||||
"reference": "a6abb4e54f6fcd3138120b9ad497f0bd146f9919"
|
"reference": "b566ee0dd251f3c4078bed003a7ce015f5ea6dce"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/a6abb4e54f6fcd3138120b9ad497f0bd146f9919",
|
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/b566ee0dd251f3c4078bed003a7ce015f5ea6dce",
|
||||||
"reference": "a6abb4e54f6fcd3138120b9ad497f0bd146f9919",
|
"reference": "b566ee0dd251f3c4078bed003a7ce015f5ea6dce",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -505,7 +505,7 @@
|
|||||||
"issues": "https://github.com/laravel/serializable-closure/issues",
|
"issues": "https://github.com/laravel/serializable-closure/issues",
|
||||||
"source": "https://github.com/laravel/serializable-closure"
|
"source": "https://github.com/laravel/serializable-closure"
|
||||||
},
|
},
|
||||||
"time": "2026-04-14T13:33:34+00:00"
|
"time": "2026-04-16T14:03:50+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "nikic/fast-route",
|
"name": "nikic/fast-route",
|
||||||
@@ -1465,16 +1465,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/deprecation-contracts",
|
"name": "symfony/deprecation-contracts",
|
||||||
"version": "v3.6.0",
|
"version": "v3.7.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/deprecation-contracts.git",
|
"url": "https://github.com/symfony/deprecation-contracts.git",
|
||||||
"reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62"
|
"reference": "50f59d1f3ca46d41ac911f97a78626b6756af35b"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62",
|
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/50f59d1f3ca46d41ac911f97a78626b6756af35b",
|
||||||
"reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62",
|
"reference": "50f59d1f3ca46d41ac911f97a78626b6756af35b",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -1487,7 +1487,7 @@
|
|||||||
"name": "symfony/contracts"
|
"name": "symfony/contracts"
|
||||||
},
|
},
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "3.6-dev"
|
"dev-main": "3.7-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -1512,7 +1512,7 @@
|
|||||||
"description": "A generic function and convention to trigger deprecation notices",
|
"description": "A generic function and convention to trigger deprecation notices",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0"
|
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.7.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -1523,12 +1523,16 @@
|
|||||||
"url": "https://github.com/fabpot",
|
"url": "https://github.com/fabpot",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2024-09-25T14:21:43+00:00"
|
"time": "2026-04-13T15:52:40+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-ctype",
|
"name": "symfony/polyfill-ctype",
|
||||||
@@ -2172,16 +2176,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "amphp/parallel",
|
"name": "amphp/parallel",
|
||||||
"version": "v2.3.3",
|
"version": "v2.3.4",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/amphp/parallel.git",
|
"url": "https://github.com/amphp/parallel.git",
|
||||||
"reference": "296b521137a54d3a02425b464e5aee4c93db2c60"
|
"reference": "3ad45d1cff1bfbfe832c79671e6a4a1017dd9921"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/amphp/parallel/zipball/296b521137a54d3a02425b464e5aee4c93db2c60",
|
"url": "https://api.github.com/repos/amphp/parallel/zipball/3ad45d1cff1bfbfe832c79671e6a4a1017dd9921",
|
||||||
"reference": "296b521137a54d3a02425b464e5aee4c93db2c60",
|
"reference": "3ad45d1cff1bfbfe832c79671e6a4a1017dd9921",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -2201,7 +2205,7 @@
|
|||||||
"amphp/php-cs-fixer-config": "^2",
|
"amphp/php-cs-fixer-config": "^2",
|
||||||
"amphp/phpunit-util": "^3",
|
"amphp/phpunit-util": "^3",
|
||||||
"phpunit/phpunit": "^9",
|
"phpunit/phpunit": "^9",
|
||||||
"psalm/phar": "^5.18"
|
"psalm/phar": "6.16.1"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -2244,7 +2248,7 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/amphp/parallel/issues",
|
"issues": "https://github.com/amphp/parallel/issues",
|
||||||
"source": "https://github.com/amphp/parallel/tree/v2.3.3"
|
"source": "https://github.com/amphp/parallel/tree/v2.3.4"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -2252,7 +2256,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-11-15T06:23:42+00:00"
|
"time": "2026-05-06T19:26:51+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "amphp/parser",
|
"name": "amphp/parser",
|
||||||
@@ -2318,16 +2322,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "amphp/pipeline",
|
"name": "amphp/pipeline",
|
||||||
"version": "v1.2.3",
|
"version": "v1.2.4",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/amphp/pipeline.git",
|
"url": "https://github.com/amphp/pipeline.git",
|
||||||
"reference": "7b52598c2e9105ebcddf247fc523161581930367"
|
"reference": "a044733e080940d1483f56caff0c412ad6982776"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/amphp/pipeline/zipball/7b52598c2e9105ebcddf247fc523161581930367",
|
"url": "https://api.github.com/repos/amphp/pipeline/zipball/a044733e080940d1483f56caff0c412ad6982776",
|
||||||
"reference": "7b52598c2e9105ebcddf247fc523161581930367",
|
"reference": "a044733e080940d1483f56caff0c412ad6982776",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -2339,7 +2343,7 @@
|
|||||||
"amphp/php-cs-fixer-config": "^2",
|
"amphp/php-cs-fixer-config": "^2",
|
||||||
"amphp/phpunit-util": "^3",
|
"amphp/phpunit-util": "^3",
|
||||||
"phpunit/phpunit": "^9",
|
"phpunit/phpunit": "^9",
|
||||||
"psalm/phar": "^5.18"
|
"psalm/phar": "6.16.1"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -2373,7 +2377,7 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/amphp/pipeline/issues",
|
"issues": "https://github.com/amphp/pipeline/issues",
|
||||||
"source": "https://github.com/amphp/pipeline/tree/v1.2.3"
|
"source": "https://github.com/amphp/pipeline/tree/v1.2.4"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -2381,7 +2385,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-03-16T16:33:53+00:00"
|
"time": "2026-05-06T05:37:57+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "amphp/process",
|
"name": "amphp/process",
|
||||||
@@ -3843,16 +3847,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/diff",
|
"name": "sebastian/diff",
|
||||||
"version": "8.1.0",
|
"version": "8.2.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/sebastianbergmann/diff.git",
|
"url": "https://github.com/sebastianbergmann/diff.git",
|
||||||
"reference": "9c957d730257f49c873f3761674559bd90098a7d"
|
"reference": "cce1bb200e0062e72f9b85ccfe54d3fd38bbd044"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/9c957d730257f49c873f3761674559bd90098a7d",
|
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/cce1bb200e0062e72f9b85ccfe54d3fd38bbd044",
|
||||||
"reference": "9c957d730257f49c873f3761674559bd90098a7d",
|
"reference": "cce1bb200e0062e72f9b85ccfe54d3fd38bbd044",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -3865,7 +3869,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "8.1-dev"
|
"dev-main": "8.2-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -3898,7 +3902,7 @@
|
|||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/sebastianbergmann/diff/issues",
|
"issues": "https://github.com/sebastianbergmann/diff/issues",
|
||||||
"security": "https://github.com/sebastianbergmann/diff/security/policy",
|
"security": "https://github.com/sebastianbergmann/diff/security/policy",
|
||||||
"source": "https://github.com/sebastianbergmann/diff/tree/8.1.0"
|
"source": "https://github.com/sebastianbergmann/diff/tree/8.2.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -3918,7 +3922,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2026-04-05T12:02:33+00:00"
|
"time": "2026-05-14T05:24:37+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "spatie/array-to-xml",
|
"name": "spatie/array-to-xml",
|
||||||
@@ -4048,16 +4052,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/console",
|
"name": "symfony/console",
|
||||||
"version": "v6.4.36",
|
"version": "v6.4.39",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/console.git",
|
"url": "https://github.com/symfony/console.git",
|
||||||
"reference": "9f481cfb580db8bcecc9b2d4c63f3e13df022ad5"
|
"reference": "c132f1215fe4aa45b70173cc00ce9a755dd31ec5"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/console/zipball/9f481cfb580db8bcecc9b2d4c63f3e13df022ad5",
|
"url": "https://api.github.com/repos/symfony/console/zipball/c132f1215fe4aa45b70173cc00ce9a755dd31ec5",
|
||||||
"reference": "9f481cfb580db8bcecc9b2d4c63f3e13df022ad5",
|
"reference": "c132f1215fe4aa45b70173cc00ce9a755dd31ec5",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -4122,7 +4126,7 @@
|
|||||||
"terminal"
|
"terminal"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/console/tree/v6.4.36"
|
"source": "https://github.com/symfony/console/tree/v6.4.39"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -4142,20 +4146,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2026-03-27T15:30:51+00:00"
|
"time": "2026-05-12T06:50:03+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/filesystem",
|
"name": "symfony/filesystem",
|
||||||
"version": "v8.0.8",
|
"version": "v8.0.11",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/filesystem.git",
|
"url": "https://github.com/symfony/filesystem.git",
|
||||||
"reference": "66b769ae743ce2d13e435528fbef4af03d623e5a"
|
"reference": "224db910898ce1317b892a9a1338f1f8f17eb7c7"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/filesystem/zipball/66b769ae743ce2d13e435528fbef4af03d623e5a",
|
"url": "https://api.github.com/repos/symfony/filesystem/zipball/224db910898ce1317b892a9a1338f1f8f17eb7c7",
|
||||||
"reference": "66b769ae743ce2d13e435528fbef4af03d623e5a",
|
"reference": "224db910898ce1317b892a9a1338f1f8f17eb7c7",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -4192,7 +4196,7 @@
|
|||||||
"description": "Provides basic utilities for the filesystem",
|
"description": "Provides basic utilities for the filesystem",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/filesystem/tree/v8.0.8"
|
"source": "https://github.com/symfony/filesystem/tree/v8.0.11"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -4212,7 +4216,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2026-03-30T15:14:47+00:00"
|
"time": "2026-05-11T16:39:47+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/finder",
|
"name": "symfony/finder",
|
||||||
@@ -4531,16 +4535,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/service-contracts",
|
"name": "symfony/service-contracts",
|
||||||
"version": "v3.6.1",
|
"version": "v3.7.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/service-contracts.git",
|
"url": "https://github.com/symfony/service-contracts.git",
|
||||||
"reference": "45112560a3ba2d715666a509a0bc9521d10b6c43"
|
"reference": "d25d82433a80eba6aa0e6c24b61d7370d99e444a"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43",
|
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/d25d82433a80eba6aa0e6c24b61d7370d99e444a",
|
||||||
"reference": "45112560a3ba2d715666a509a0bc9521d10b6c43",
|
"reference": "d25d82433a80eba6aa0e6c24b61d7370d99e444a",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -4558,7 +4562,7 @@
|
|||||||
"name": "symfony/contracts"
|
"name": "symfony/contracts"
|
||||||
},
|
},
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "3.6-dev"
|
"dev-main": "3.7-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -4594,7 +4598,7 @@
|
|||||||
"standards"
|
"standards"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/service-contracts/tree/v3.6.1"
|
"source": "https://github.com/symfony/service-contracts/tree/v3.7.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -4614,20 +4618,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-07-15T11:30:57+00:00"
|
"time": "2026-03-28T09:44:51+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/string",
|
"name": "symfony/string",
|
||||||
"version": "v7.4.8",
|
"version": "v7.4.11",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/string.git",
|
"url": "https://github.com/symfony/string.git",
|
||||||
"reference": "114ac57257d75df748eda23dd003878080b8e688"
|
"reference": "965f7306a43383d02c6aca1e3f3bd2f0ea5dee15"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/string/zipball/114ac57257d75df748eda23dd003878080b8e688",
|
"url": "https://api.github.com/repos/symfony/string/zipball/965f7306a43383d02c6aca1e3f3bd2f0ea5dee15",
|
||||||
"reference": "114ac57257d75df748eda23dd003878080b8e688",
|
"reference": "965f7306a43383d02c6aca1e3f3bd2f0ea5dee15",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -4685,7 +4689,7 @@
|
|||||||
"utf8"
|
"utf8"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/string/tree/v7.4.8"
|
"source": "https://github.com/symfony/string/tree/v7.4.11"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -4705,7 +4709,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2026-03-24T13:12:05+00:00"
|
"time": "2026-05-13T12:04:42+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vimeo/psalm",
|
"name": "vimeo/psalm",
|
||||||
|
|||||||
@@ -1,44 +0,0 @@
|
|||||||
<?php
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace AIO\Auth;
|
|
||||||
|
|
||||||
class RateLimiter {
|
|
||||||
public const int MAX_ATTEMPTS = 10;
|
|
||||||
public const int WINDOW_SECONDS = 900; // 15 minutes
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns true when the IP has exceeded the maximum number of failed login
|
|
||||||
* attempts within the current time window and should be blocked.
|
|
||||||
*/
|
|
||||||
public function isLimitReached(string $ip): bool {
|
|
||||||
$attempts = apcu_fetch($this->getKey($ip));
|
|
||||||
return $attempts !== false && is_numeric($attempts) && (int)$attempts >= self::MAX_ATTEMPTS;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Records a failed login attempt for the given IP.
|
|
||||||
* Uses a 15-minute sliding window: the first failure starts the window and
|
|
||||||
* subsequent failures within that window are counted together.
|
|
||||||
*/
|
|
||||||
public function recordFailedAttempt(string $ip): void {
|
|
||||||
$key = $this->getKey($ip);
|
|
||||||
// Initialize the key if it does not yet exist (apcu_add is a no-op when key exists).
|
|
||||||
// apcu_inc is atomic, so using add-then-increment gives a consistent count even
|
|
||||||
// under concurrent requests.
|
|
||||||
apcu_add($key, 0, self::WINDOW_SECONDS);
|
|
||||||
apcu_inc($key);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Clears the failed-attempt counter for the given IP, e.g. after a
|
|
||||||
* successful login.
|
|
||||||
*/
|
|
||||||
public function resetAttempts(string $ip): void {
|
|
||||||
apcu_delete($this->getKey($ip));
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getKey(string $ip): string {
|
|
||||||
return 'login_attempts_' . hash('sha256', $ip);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -4,7 +4,6 @@ declare(strict_types=1);
|
|||||||
namespace AIO\Controller;
|
namespace AIO\Controller;
|
||||||
|
|
||||||
use AIO\Auth\AuthManager;
|
use AIO\Auth\AuthManager;
|
||||||
use AIO\Auth\RateLimiter;
|
|
||||||
use AIO\Container\Container;
|
use AIO\Container\Container;
|
||||||
use AIO\ContainerDefinitionFetcher;
|
use AIO\ContainerDefinitionFetcher;
|
||||||
use AIO\Docker\DockerActionManager;
|
use AIO\Docker\DockerActionManager;
|
||||||
@@ -15,33 +14,20 @@ readonly class LoginController {
|
|||||||
public function __construct(
|
public function __construct(
|
||||||
private AuthManager $authManager,
|
private AuthManager $authManager,
|
||||||
private DockerActionManager $dockerActionManager,
|
private DockerActionManager $dockerActionManager,
|
||||||
private RateLimiter $rateLimiter,
|
|
||||||
) {
|
) {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function TryLogin(Request $request, Response $response, array $args) : Response {
|
public function TryLogin(Request $request, Response $response, array $args) : Response {
|
||||||
$ip = (string)($request->getServerParams()['REMOTE_ADDR'] ?? '');
|
|
||||||
|
|
||||||
if ($this->rateLimiter->isLimitReached($ip)) {
|
|
||||||
$response->getBody()->write("Too many failed login attempts. Please try again later.");
|
|
||||||
return $response
|
|
||||||
->withHeader('Retry-After', (string)RateLimiter::WINDOW_SECONDS)
|
|
||||||
->withStatus(429);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$this->dockerActionManager->isLoginAllowed()) {
|
if (!$this->dockerActionManager->isLoginAllowed()) {
|
||||||
$response->getBody()->write("The login is blocked since Nextcloud is running.");
|
$response->getBody()->write("The login is blocked since Nextcloud is running.");
|
||||||
return $response->withHeader('Location', '.')->withStatus(422);
|
return $response->withHeader('Location', '.')->withStatus(422);
|
||||||
}
|
}
|
||||||
$password = $request->getParsedBody()['password'] ?? '';
|
$password = $request->getParsedBody()['password'] ?? '';
|
||||||
if($this->authManager->CheckCredentials($password)) {
|
if($this->authManager->CheckCredentials($password)) {
|
||||||
$this->rateLimiter->resetAttempts($ip);
|
|
||||||
$this->authManager->SetAuthState(true);
|
$this->authManager->SetAuthState(true);
|
||||||
return $response->withHeader('Location', '.')->withStatus(201);
|
return $response->withHeader('Location', '.')->withStatus(201);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->rateLimiter->recordFailedAttempt($ip);
|
|
||||||
|
|
||||||
// Punish failed auth attempts with a delay, as a very simple means against bots.
|
// Punish failed auth attempts with a delay, as a very simple means against bots.
|
||||||
sleep(5);
|
sleep(5);
|
||||||
|
|
||||||
@@ -50,24 +36,12 @@ readonly class LoginController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function GetTryLogin(Request $request, Response $response, array $args) : Response {
|
public function GetTryLogin(Request $request, Response $response, array $args) : Response {
|
||||||
$ip = (string)($request->getServerParams()['REMOTE_ADDR'] ?? '');
|
|
||||||
|
|
||||||
if ($this->rateLimiter->isLimitReached($ip)) {
|
|
||||||
$response->getBody()->write("Too many failed login attempts. Please try again later.");
|
|
||||||
return $response
|
|
||||||
->withHeader('Retry-After', (string)RateLimiter::WINDOW_SECONDS)
|
|
||||||
->withStatus(429);
|
|
||||||
}
|
|
||||||
|
|
||||||
$token = $request->getQueryParams()['token'] ?? '';
|
$token = $request->getQueryParams()['token'] ?? '';
|
||||||
if($this->authManager->CheckToken($token)) {
|
if($this->authManager->CheckToken($token)) {
|
||||||
$this->rateLimiter->resetAttempts($ip);
|
|
||||||
$this->authManager->SetAuthState(true);
|
$this->authManager->SetAuthState(true);
|
||||||
return $response->withHeader('Location', '../..')->withStatus(302);
|
return $response->withHeader('Location', '../..')->withStatus(302);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->rateLimiter->recordFailedAttempt($ip);
|
|
||||||
|
|
||||||
// Punish failed auth attempts with a delay, as a very simple means against bots.
|
// Punish failed auth attempts with a delay, as a very simple means against bots.
|
||||||
sleep(5);
|
sleep(5);
|
||||||
|
|
||||||
|
|||||||
@@ -43,10 +43,6 @@ class DependencyInjection
|
|||||||
\AIO\Auth\AuthManager::class,
|
\AIO\Auth\AuthManager::class,
|
||||||
new \AIO\Auth\AuthManager($container->get(\AIO\Data\ConfigurationManager::class))
|
new \AIO\Auth\AuthManager($container->get(\AIO\Data\ConfigurationManager::class))
|
||||||
);
|
);
|
||||||
$container->set(
|
|
||||||
\AIO\Auth\RateLimiter::class,
|
|
||||||
new \AIO\Auth\RateLimiter()
|
|
||||||
);
|
|
||||||
$container->set(
|
$container->set(
|
||||||
\AIO\Data\Setup::class,
|
\AIO\Data\Setup::class,
|
||||||
new \AIO\Data\Setup(
|
new \AIO\Data\Setup(
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
13.0.3
|
13.0.4
|
||||||
|
|||||||
Reference in New Issue
Block a user