Compare commits

...

62 Commits

Author SHA1 Message Date
Simon L
17b35a45db Merge pull request #4550 from nextcloud/enh/noid/29-upgrade
aio interface - show upgrade hint for 29
2024-04-16 11:07:11 +02:00
Simon L.
c0ab585c08 aio interface - show upgrade hint for 29
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-15 15:12:20 +02:00
Simon L
75fdb28486 Merge pull request #4549 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.3.0-47
Bump clamav/clamav from 1.3.0-46 to 1.3.0-47 in /Containers/clamav
2024-04-15 15:03:13 +02:00
dependabot[bot]
c871e3f8af Bump clamav/clamav from 1.3.0-46 to 1.3.0-47 in /Containers/clamav
Bumps clamav/clamav from 1.3.0-46 to 1.3.0-47.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 12:57:41 +00:00
Simon L
67d71d2b6c Merge pull request #4548 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-26.0.1-cli
Bump docker from 25.0.5-cli to 26.0.1-cli in /Containers/mastercontainer
2024-04-15 14:55:54 +02:00
dependabot[bot]
3010ccd0d4 Bump docker from 25.0.5-cli to 26.0.1-cli in /Containers/mastercontainer
Bumps docker from 25.0.5-cli to 26.0.1-cli.

---
updated-dependencies:
- dependency-name: docker
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 12:35:53 +00:00
Simon L
07b1021234 Merge pull request #4539 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.2.18-fpm-alpine3.19
Bump php from 8.2.17-fpm-alpine3.19 to 8.2.18-fpm-alpine3.19 in /Containers/nextcloud
2024-04-12 15:03:03 +02:00
Simon L
8d868715c5 Merge pull request #4538 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.3.6-fpm-alpine3.19
Bump php from 8.3.4-fpm-alpine3.19 to 8.3.6-fpm-alpine3.19 in /Containers/mastercontainer
2024-04-12 15:02:45 +02:00
Simon L
9be77d2f81 Merge pull request #4537 from nextcloud/dependabot/docker/Containers/talk/nats-2.10.14-scratch
Bump nats from 2.10.12-scratch to 2.10.14-scratch in /Containers/talk
2024-04-12 15:02:27 +02:00
Simon L
25f1cc9e83 Merge pull request #4540 from nextcloud/dependabot/github_actions/azure/setup-helm-4
Bump azure/setup-helm from 3.5 to 4
2024-04-12 15:02:05 +02:00
dependabot[bot]
7e9b130781 Bump azure/setup-helm from 3.5 to 4
Bumps [azure/setup-helm](https://github.com/azure/setup-helm) from 3.5 to 4.
- [Release notes](https://github.com/azure/setup-helm/releases)
- [Changelog](https://github.com/Azure/setup-helm/blob/main/CHANGELOG.md)
- [Commits](https://github.com/azure/setup-helm/compare/v3.5...v4)

---
updated-dependencies:
- dependency-name: azure/setup-helm
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-12 12:49:43 +00:00
dependabot[bot]
a2342f02f9 Bump php in /Containers/nextcloud
Bumps php from 8.2.17-fpm-alpine3.19 to 8.2.18-fpm-alpine3.19.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-12 12:39:36 +00:00
dependabot[bot]
5129ec03a3 Bump php in /Containers/mastercontainer
Bumps php from 8.3.4-fpm-alpine3.19 to 8.3.6-fpm-alpine3.19.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-12 12:27:06 +00:00
dependabot[bot]
6768013945 Bump nats from 2.10.12-scratch to 2.10.14-scratch in /Containers/talk
Bumps nats from 2.10.12-scratch to 2.10.14-scratch.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-12 12:23:12 +00:00
Simon L.
0d26a81f0e also chown the supervisord logs and run dirs
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-12 11:11:23 +02:00
Simon L
52cdc7fe68 Merge pull request #4532 from nextcloud/enh/noid/bp-logic
nextcloud - add logic for BRUTEFORCE_PROTECTION
2024-04-11 20:26:47 +02:00
Simon L
20bd9ed82e Merge pull request #4533 from nextcloud/enh/noid/talk-max-screen
helm chart - allow to adjust TALK_MAX_SCREEN_BITRATE
2024-04-11 14:09:43 +02:00
Simon L.
577bac5253 helm chart - allow to adjust TALK_MAX_SCREEN_BITRATE
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-11 14:06:58 +02:00
Simon L.
a5aedd2ba3 nextcloud - add logic for BRUTEFORCE_PROTECTION
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-11 13:27:44 +02:00
Simon L
4fa148a2e9 Merge pull request #4531 from nextcloud/enh/4525/add-turn-host
nextcloud - add turn_domain logic
2024-04-11 13:15:43 +02:00
Simon L.
81c432a1a2 nextcloud - add turn_domain logic
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-11 13:11:30 +02:00
Simon L
dd20ffcf4e Merge pull request #4530 from nextcloud/enh/4335/change-domain
improve the change domain documentation
2024-04-11 10:35:45 +02:00
Simon L.
6b0434e47b improve the change domain documentation
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-11 10:07:03 +02:00
Simon L.
ae67c81526 adjust order
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-10 16:59:10 +02:00
Simon L.
2d8fb5a97e cron.sh - remove set -eu
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-10 16:47:00 +02:00
Simon L
88fc99978d Merge pull request #4524 from nextcloud/dependabot/docker/Containers/talk-recording/python-3.12.3-alpine3.19
Bump python from 3.12.2-alpine3.19 to 3.12.3-alpine3.19 in /Containers/talk-recording
2024-04-10 15:54:05 +02:00
dependabot[bot]
02a77f5213 Bump python in /Containers/talk-recording
Bumps python from 3.12.2-alpine3.19 to 3.12.3-alpine3.19.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-10 12:25:59 +00:00
Simon L
7fbf385d88 Merge pull request #4523 from nextcloud/enh/noid/cronjob
nextcloud container - add exit to cronjob
2024-04-10 11:53:56 +02:00
Simon L.
d99d0240e0 nextcloud container - add exit to cronjob
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-10 11:53:12 +02:00
Simon L
6cd260a99a Merge pull request #4520 from nextcloud/dependabot/docker/Containers/docker-socket-proxy/haproxy-2.9.7-alpine3.19
Bump haproxy from 2.9.6-alpine3.19 to 2.9.7-alpine3.19 in /Containers/docker-socket-proxy
2024-04-09 15:40:46 +02:00
dependabot[bot]
b8285379ba Bump haproxy in /Containers/docker-socket-proxy
Bumps haproxy from 2.9.6-alpine3.19 to 2.9.7-alpine3.19.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-09 12:29:03 +00:00
Simon L
7d09c554cf Merge pull request #4515 from nextcloud/dependabot/docker/Containers/apache/httpd-2.4.59-alpine3.19
Bump httpd from 2.4.58-alpine3.19 to 2.4.59-alpine3.19 in /Containers/apache
2024-04-08 16:02:17 +02:00
Simon L
261af2087d Merge pull request #4514 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.3.0-46
Bump clamav/clamav from 1.3.0-45 to 1.3.0-46 in /Containers/clamav
2024-04-08 16:02:01 +02:00
dependabot[bot]
a90bd4af72 Bump httpd in /Containers/apache
Bumps httpd from 2.4.58-alpine3.19 to 2.4.59-alpine3.19.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-08 12:30:24 +00:00
dependabot[bot]
5dc079077b Bump clamav/clamav from 1.3.0-45 to 1.3.0-46 in /Containers/clamav
Bumps clamav/clamav from 1.3.0-45 to 1.3.0-46.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-08 12:10:59 +00:00
Simon L
f10bdfd5b3 Merge pull request #4513 from nextcloud/pulsejet/heic
feat: enable HEIC+TIFF without Imaginary
2024-04-08 05:38:33 +02:00
Varun Patil
7f6cd8c473 feat: enable HEIC+TIFF without Imaginary
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2024-04-07 15:58:57 -07:00
Simon L.
0aa4f63244 increase to 8.2.0
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-04 14:43:28 +02:00
Simon L
4ad2b20fc8 Merge pull request #4495 from nextcloud/enh/noid/adjust-talk-logic
nextcloud - adjust TALK_HOST logic
2024-04-04 14:42:36 +02:00
Simon L.
dc4a08ef78 fix SC
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-04 14:39:24 +02:00
Simon L
77cc4898f9 Merge pull request #4497 from nextcloud/dependabot/docker/Containers/imaginary/golang-1.22.2-alpine3.18
Bump golang from 1.22.1-alpine3.18 to 1.22.2-alpine3.18 in /Containers/imaginary
2024-04-04 14:25:30 +02:00
dependabot[bot]
847b6b5158 Bump golang in /Containers/imaginary
Bumps golang from 1.22.1-alpine3.18 to 1.22.2-alpine3.18.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-04 12:09:15 +00:00
Simon L.
544519994a nextcloud - adjust TALK_HOST logic
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-04 12:45:07 +02:00
Simon L
09171e0c4d Merge pull request #4487 from nextcloud/dependabot/docker/Containers/talk/strukturag/nextcloud-spreed-signaling-1.2.4
Bump strukturag/nextcloud-spreed-signaling from 1.2.3 to 1.2.4 in /Containers/talk
2024-04-04 11:53:57 +02:00
dependabot[bot]
6c6f0e2909 Bump strukturag/nextcloud-spreed-signaling in /Containers/talk
Bumps strukturag/nextcloud-spreed-signaling from 1.2.3 to 1.2.4.

---
updated-dependencies:
- dependency-name: strukturag/nextcloud-spreed-signaling
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-04 09:53:48 +00:00
Simon L
ea44de1c48 Merge pull request #4482 from nextcloud/talk-container-update
talk container update
2024-04-04 11:53:11 +02:00
Simon L
3658ad3bdf Merge pull request #4475 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.3.0-45
Bump clamav/clamav from 1.3.0-44 to 1.3.0-45 in /Containers/clamav
2024-04-04 11:51:09 +02:00
Simon L
638155759a Merge pull request #4492 from nextcloud/enh/noid/allow-adjust-talk-max-stream
helm chart - allow to adjust TALK_MAX_STREAM_BITRATE
2024-04-04 11:37:40 +02:00
Simon L.
9a4e7e6abd increase to 8.2.0-dev
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-04 11:36:45 +02:00
Simon L.
e433bc27fe helm chart - allow to adjust TALK_MAX_STREAM_BITRATE
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-04 11:36:45 +02:00
Simon L
c452c39181 Merge pull request #4494 from nextcloud/aio-helm-update
Helm Chart updates
2024-04-04 11:26:11 +02:00
szaimen
1a2299260b Helm Chart updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-04 09:24:14 +00:00
Simon L.
bbf826659d update ldap docs
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-04 10:31:21 +02:00
Jean-Yves
6530c5afc3 Add lldap comunity container (#4398)
Signed-off-by: Jean-Yves <7360784+docjyJ@users.noreply.github.com>
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-04 10:26:42 +02:00
Simon L.
6f8b06294e rp docs - add hint that contributions to improve the docs are welcome
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-03 21:28:46 +02:00
Simon L
1bfedfa82d Merge pull request #4285 from apodl1/main
Add a clarifying comment to nginx.conf of reverse-proxy.md
2024-04-03 15:39:58 +02:00
Simon L
913394073b finish this
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-03 15:37:58 +02:00
szaimen
ac2891289e talk-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-03 12:03:26 +00:00
Simon L
fc0fde93b5 add some more infos to jellyfin and plex
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-03 13:16:50 +02:00
Simon L
9736a77f10 fail2ban - add further debugging hint for issue
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-02 14:57:53 +02:00
dependabot[bot]
cd81cbd0a3 Bump clamav/clamav from 1.3.0-44 to 1.3.0-45 in /Containers/clamav
Bumps clamav/clamav from 1.3.0-44 to 1.3.0-45.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 12:22:46 +00:00
Anton Podlozny
5b44bb5964 Add a clarifying comment to nginx ssl-lines for a situation with a subdomain and certbot
Signed-off-by: Anton Podlozny <47890723+apodl1@users.noreply.github.com>
2024-02-26 20:14:36 +02:00
42 changed files with 241 additions and 42 deletions

View File

@@ -32,7 +32,7 @@ jobs:
# See https://github.com/helm/chart-releaser-action/issues/6
- name: Set up Helm
uses: azure/setup-helm@v3.5
uses: azure/setup-helm@v4
with:
version: v3.6.3

View File

@@ -16,7 +16,7 @@ jobs:
fetch-depth: 0
- name: Install Helm
uses: azure/setup-helm@v3.5
uses: azure/setup-helm@v4
with:
version: v3.11.1

View File

@@ -1,7 +1,7 @@
# syntax=docker/dockerfile:latest
FROM caddy:2.7.6-alpine as caddy
FROM httpd:2.4.58-alpine3.19
FROM httpd:2.4.59-alpine3.19
COPY --from=caddy /usr/bin/caddy /usr/bin/caddy

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# Probably from this file: https://github.com/Cisco-Talos/clamav-docker/blob/main/clamav/1.1/alpine/Dockerfile
FROM clamav/clamav:1.3.0-44
FROM clamav/clamav:1.3.0-47
COPY clamav.conf /tmp/clamav.conf

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM haproxy:2.9.6-alpine3.19
FROM haproxy:2.9.7-alpine3.19
# hadolint ignore=DL3002
USER root

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM golang:1.22.1-alpine3.18 as go
FROM golang:1.22.2-alpine3.18 as go
ENV IMAGINARY_HASH 6cd9edd1d3fb151eb773c14552886e4fc8e50138

View File

@@ -1,12 +1,12 @@
# syntax=docker/dockerfile:latest
# Docker CLI is a requirement
FROM docker:25.0.5-cli as docker
FROM docker:26.0.1-cli as docker
# Caddy is a requirement
FROM caddy:2.7.6-alpine as caddy
# From https://github.com/docker-library/php/blob/master/8.3/alpine3.19/fpm/Dockerfile
FROM php:8.3.4-fpm-alpine3.19
FROM php:8.3.6-fpm-alpine3.19
EXPOSE 80
EXPOSE 8080

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM php:8.2.17-fpm-alpine3.19
FROM php:8.2.18-fpm-alpine3.19
ENV PHP_MEMORY_LIMIT 512M
ENV PHP_UPLOAD_LIMIT 10G
@@ -10,12 +10,12 @@ ENV SOURCE_LOCATION /usr/src/nextcloud
ENV NEXTCLOUD_VERSION 28.0.4
ENV AIO_TOKEN 123456
ENV AIO_URL localhost
COPY supervisord.conf /supervisord.conf
# AIO settings end # Do not remove or change this line!
COPY --chmod=775 *.sh /
COPY --chmod=774 upgrade.exclude /upgrade.exclude
COPY config/*.php /
COPY supervisord.conf /supervisord.conf
VOLUME /mnt/ncdata
VOLUME /var/www/html
@@ -44,6 +44,8 @@ RUN set -ex; \
icu-dev \
imagemagick-dev \
imagemagick-svg \
imagemagick-heic \
imagemagick-tiff \
libevent-dev \
libjpeg-turbo-dev \
libmcrypt-dev \
@@ -196,6 +198,8 @@ RUN set -ex; \
/var/log/supervisord \
/var/run/supervisord \
; \
chown www-data:root -R /var/log/supervisord; \
chown www-data:root -R /var/run/supervisord; \
\
apk add --no-cache \
bash \
@@ -211,6 +215,8 @@ RUN set -ex; \
bind-tools \
imagemagick \
imagemagick-svg \
imagemagick-heic \
imagemagick-tiff \
coreutils; \
\
grep -q '^pm = dynamic' /usr/local/etc/php-fpm.d/www.conf; \

View File

@@ -1,6 +1,4 @@
#!/bin/bash
set -eu
wait_for_cron() {
set -x
while [ -n "$(pgrep -f /var/www/html/cron.php)" ]; do
@@ -8,7 +6,7 @@ wait_for_cron() {
sleep 5
done
echo "Cronjob successfully exited."
set +x
exit
}
trap wait_for_cron SIGINT SIGTERM

View File

@@ -498,6 +498,14 @@ php /var/www/html/occ maintenance:update:htaccess
# Revert dbpersistent setting to check if it fixes too many db connections
php /var/www/html/occ config:system:set dbpersistent --value=false --type=bool
if [ "$DISABLE_BRUTEFORCE_PROTECTION" = yes ]; then
php /var/www/html/occ config:system:set auth.bruteforce.protection.enabled --type=bool --value=false
php /var/www/html/occ config:system:set ratelimit.protection.enabled --type=bool --value=false
else
php /var/www/html/occ config:system:set auth.bruteforce.protection.enabled --type=bool --value=true
php /var/www/html/occ config:system:set ratelimit.protection.enabled --type=bool --value=true
fi
# Disallow creating local external storages when nothing was mounted
if [ -z "$NEXTCLOUD_MOUNT" ]; then
php /var/www/html/occ config:system:set files_external_allow_create_new_local --type=bool --value=false
@@ -623,6 +631,15 @@ fi
# Talk
if [ "$TALK_ENABLED" = 'yes' ]; then
set -x
if [ -z "$TALK_HOST" ] || echo "$TALK_HOST" | grep -q "nextcloud-.*-talk"; then
TALK_HOST="$NC_DOMAIN"
HPB_PATH="/standalone-signaling/"
fi
if [ -z "$TURN_DOMAIN" ]; then
TURN_DOMAIN="$TALK_HOST"
fi
set +x
if ! [ -d "/var/www/html/custom_apps/spreed" ]; then
php /var/www/html/occ app:install spreed
elif [ "$(php /var/www/html/occ config:app:get spreed enabled)" != "yes" ]; then
@@ -632,15 +649,16 @@ if [ "$TALK_ENABLED" = 'yes' ]; then
fi
# Based on https://github.com/nextcloud/spreed/issues/960#issuecomment-416993435
if [ -z "$(php /var/www/html/occ talk:turn:list --output="plain")" ]; then
php /var/www/html/occ talk:turn:add turn "$NC_DOMAIN:$TALK_PORT" "udp,tcp" --secret="$TURN_SECRET"
# shellcheck disable=SC2153
php /var/www/html/occ talk:turn:add turn "$TURN_DOMAIN:$TALK_PORT" "udp,tcp" --secret="$TURN_SECRET"
fi
STUN_SERVER="$(php /var/www/html/occ talk:stun:list --output="plain")"
if [ -z "$STUN_SERVER" ] || echo "$STUN_SERVER" | grep -oP '[a-zA-Z.:0-9]+' | grep -q "^stun.nextcloud.com:443$"; then
php /var/www/html/occ talk:stun:add "$NC_DOMAIN:$TALK_PORT"
php /var/www/html/occ talk:stun:add "$TURN_DOMAIN:$TALK_PORT"
php /var/www/html/occ talk:stun:delete "stun.nextcloud.com:443"
fi
if ! php /var/www/html/occ talk:signaling:list --output="plain" | grep -q "https://$NC_DOMAIN/standalone-signaling/"; then
php /var/www/html/occ talk:signaling:add "https://$NC_DOMAIN/standalone-signaling/" "$SIGNALING_SECRET" --verify
if ! php /var/www/html/occ talk:signaling:list --output="plain" | grep -q "https://$TALK_HOST$HPB_PATH"; then
php /var/www/html/occ talk:signaling:add "https://$TALK_HOST$HPB_PATH" "$SIGNALING_SECRET" --verify
fi
else
if [ "$REMOVE_DISABLED_APPS" = yes ] && [ -d "/var/www/html/custom_apps/spreed" ]; then

View File

@@ -56,7 +56,7 @@ if [ -n "$ADDITIONAL_APKS" ]; then
if ! [ -f "/additional-apks-are-installed" ]; then
# Allow to disable imagemagick without having to download it each time
if ! echo "$ADDITIONAL_APKS" | grep -q imagemagick; then
apk del imagemagick imagemagick-svg;
apk del imagemagick imagemagick-svg imagemagick-heic imagemagick-tiff;
fi
read -ra ADDITIONAL_APKS_ARRAY <<< "$ADDITIONAL_APKS"
for app in "${ADDITIONAL_APKS_ARRAY[@]}"; do

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM python:3.12.2-alpine3.19
FROM python:3.12.3-alpine3.19
COPY --chmod=775 start.sh /start.sh

View File

@@ -1,10 +1,10 @@
# syntax=docker/dockerfile:latest
FROM nats:2.10.12-scratch as nats
FROM nats:2.10.14-scratch as nats
FROM eturnal/eturnal:1.12.0 AS eturnal
FROM strukturag/nextcloud-spreed-signaling:1.2.3 as signaling
FROM strukturag/nextcloud-spreed-signaling:1.2.4 as signaling
FROM alpine:3.19.1 as janus
ARG JANUS_VERSION=v0.14.1
ARG JANUS_VERSION=v0.14.2
WORKDIR /src
RUN set -ex; \
apk add --no-cache \

View File

@@ -221,6 +221,8 @@ connectionsperhost = 8
# register an account at "https://www.maxmind.com/en/geolite2/signup" for
# free. See "https://dev.maxmind.com/geoip/geoip2/geolite2/" for further
# information.
# You can also get a free GeoIP database from https://db-ip.com/ without
# registration. Provide the URL below in this case.
# Leave empty to disable GeoIP lookups.
#license =

View File

@@ -56,6 +56,14 @@ TURN_CONF
# Remove empty lines so that the config is not invalid
sed -i '/""/d' /conf/eturnal.yml
if [ -z "$TALK_MAX_STREAM_BITRATE" ]; then
TALK_MAX_STREAM_BITRATE=1048576
fi
if [ -z "$TALK_MAX_SCREEN_BITRATE" ]; then
TALK_MAX_SCREEN_BITRATE=2097152
fi
# Signling
cat << SIGNALING_CONF > "/conf/signaling.conf"
[http]
@@ -80,6 +88,8 @@ connectionsperhost = 8
[backend-1]
url = https://${NC_DOMAIN}
secret = ${SIGNALING_SECRET}
maxstreambitrate = ${TALK_MAX_STREAM_BITRATE}
maxscreenbitrate = ${TALK_MAX_SCREEN_BITRATE}
[nats]
url = nats://127.0.0.1:4222
@@ -87,6 +97,8 @@ url = nats://127.0.0.1:4222
[mcu]
type = janus
url = ws://127.0.0.1:8188
maxstreambitrate = ${TALK_MAX_STREAM_BITRATE}
maxscreenbitrate = ${TALK_MAX_SCREEN_BITRATE}
SIGNALING_CONF
exec "$@"

View File

@@ -1,5 +1,5 @@
## Caddy with geoblocking
This container bundles caddy and auto-configures it for you. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/vaultwarden by listening on `bw.$NC_DOMAIN`, if installed. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart by listening on `mail.$NC_DOMAIN`, if installed. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin by listening on `media.$NC_DOMAIN`, if installed.
This container bundles caddy and auto-configures it for you. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/vaultwarden by listening on `bw.$NC_DOMAIN`, if installed. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart by listening on `mail.$NC_DOMAIN`, if installed. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin by listening on `media.$NC_DOMAIN`, if installed. It also covers https://github.com/nextcloud/all-in-one/tree/main/community-containers/lldap by listening on `ldap.$NC_DOMAIN`, if installed.
### Notes
- This container is incompatible with the [npmplus](https://github.com/nextcloud/all-in-one/tree/main/community-containers/npmplus) community container. So make sure that you do not enable both at the same time!

View File

@@ -4,6 +4,7 @@ This container bundles fail2ban and auto-configures it for you in order to block
### Notes
- This is not working on Docker Desktop since it needs `network_mode: host` in order to work correctly.
- If you get an error like `"ip6tables v1.8.9 (legacy): can't initialize ip6tables table filter': Table does not exist (do you need to insmod?)"`, you need to enable ip6tables on your host via `sudo modprobe ip6table_filter`.
- If you get an error like `stderr: 'iptables: No chain/target/match by that name.'` and `stderr: 'ip6tables: No chain/target/match by that name.'`, you need to follow https://github.com/szaimen/aio-fail2ban/issues/9#issuecomment-2026898790 in order to resolve this.
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository

View File

@@ -5,8 +5,10 @@ This container bundles Jellyfin and auto-configures it for you.
- This container is incompatible with the [Plex](https://github.com/nextcloud/all-in-one/tree/main/community-containers/plex) community container. So make sure that you do not enable both at the same time!
- This container does not work on Docker Desktop since it needs `network_mode: host` in order to work correctly.
- After adding and starting the container, you can directly visit http://ip.address.of.server:8096/ and access your new Jellyfin instance!
- This container should usually only be run in home networks as it exposes unencrypted services like DLNA by default which can be disabld via the web interface though.
- In order to access your Jellyfin outside the local network, you have to set up your own reverse proxy. You can set up a reverse proxy following [these instructions](https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md) and [Jellyfin's networking documentation](https://jellyfin.org/docs/general/networking/#running-jellyfin-behind-a-reverse-proxy), OR use the [Caddy](https://github.com/nextcloud/all-in-one/tree/main/community-containers/caddy) community container that will automatically configure `media.$NC_DOMAIN` to redirect to your Jellyfin.
- ⚠️ After the initial start, Jellyfin shows a configuration page to set up the root password, etc. **Be careful to initialize your Jellyfin before adding the DNS record.**
- If you have a firewall like ufw configured, you might need to open all Jellyfin ports in there first in order to make it work. Especially port 8096 is important!
- The data of Jellyfin will be automatically included in AIO's backup solution!
- See [here](https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers) how to add it to the AIO stack.

View File

@@ -0,0 +1,46 @@
{
"aio_services_v1": [
{
"container_name": "nextcloud-aio-lldap",
"display_name": "Light LDAP implementation",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/lldap",
"image": "lldap/lldap",
"image_tag": "v0-alpine",
"internal_port": "17170",
"restart": "unless-stopped",
"ports": [
{
"ip_binding": "%APACHE_IP_BINDING%",
"port_number": "17170",
"protocol": "tcp"
}
],
"environment": [
"TZ=%TIMEZONE%",
"UID=65534",
"GID=65534",
"LLDAP_JWT_SECRET=%LLDAP_JWT_SECRET%",
"LLDAP_LDAP_USER_PASS=%LLDAP_LDAP_USER_PASS%",
"LLDAP_LDAP_BASE_DN=%NC_BASE_DN%"
],
"secrets": [
"LLDAP_JWT_SECRET",
"LLDAP_LDAP_USER_PASS"
],
"volumes": [
{
"source": "nextcloud_aio_lldap",
"destination": "/data",
"writeable": true
}
],
"backup_volumes": [
"nextcloud_aio_lldap"
],
"nextcloud_exec_commands": [
"php /var/www/html/occ app:install user_ldap",
"php /var/www/html/occ app:enable user_ldap"
]
}
]
}

View File

@@ -0,0 +1,70 @@
## Light LDAP server
This container bundles LLDAP server and auto-configures your nextcloud instance for you.
### Notes
- In order to access your LLDAP web interface outside the local network, you have to set up your own reverse proxy. You can set up a reverse proxy following [these instructions](https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md) OR use the [Caddy](https://github.com/nextcloud/all-in-one/tree/main/community-containers/caddy) community container that will automatically configure `ldap.$NC_DOMAIN` to redirect to your Lldap. You need to point the reverse proxy at port 17170 of this server.
- After adding and starting the container, you can log in to the lldap web interface by using the password that you can retrieve via `sudo docker inspect nextcloud-aio-lldap | grep LLDAP_JWT_SECRET`.
- Also, you need to run the following script one time in order to activate the ldap config in nextcloud so that Nextcloud uses lldap as user backend. You can see a [nextcloud example configuration provide by LLDAP](https://github.com/lldap/lldap/blob/main/example_configs/nextcloud.md)<br>
First, you need to retrieve the LLDAP admin password via `sudo docker inspect nextcloud-aio-lldap | grep LLDAP_LDAP_USER_PASS`. This will be used later on which you need to type in or copy and paste.
```bash
# Now go into the container
sudo docker exec --user www-data -it nextcloud-aio-nextcloud bash
```
Now inside the container:
```bash
# Get Base
BASE_DN="dc=${NC_DOMAIN//./,dc=}"
# Create a new empty ldap config
CONF_NAME=$(php /var/www/html/occ ldap:create-empty-config -p)
# Set the ldap password
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapAgentPassword "<your-password>"
# Set the ldap config
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapAgentName "uid=ro_admin,ou=people,$BASE_DN"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapBase "$BASE_DN"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapBaseGroups "$BASE_DN"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapBaseUsers "$BASE_DN"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapCacheTTL 600
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapConfigurationActive 1
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapEmailAttribute "mail"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapExperiencedAdmin 0
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapGidNumber "gidNumber"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapGroupDisplayName "cn"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapGroupFilter "(&(objectclass=groupOfUniqueNames))"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapGroupFilterGroups ""
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapGroupFilterMode 0
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapGroupFilterObjectclass "groupOfUniqueNames"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapGroupMemberAssocAttr "uniqueMember"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapHost "nextcloud-aio-lldap"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapLoginFilterAttributes "uid"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapLoginFilterEmail 0
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapLoginFilterUsername 1
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapMatchingRuleInChainState "unknown"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapNestedGroups 0
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapPagingSize 500
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapPort 3890
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapTLS 0
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapUserAvatarRule "default"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapUserDisplayName "displayname"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapUserFilter "(&(objectClass=person)(uid=%uid))"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapUserFilterMode 1
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapUserFilterObjectclass "person"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapUuidGroupAttribute "auto"
php /var/www/html/occ ldap:set-config "$CONF_NAME" ldapUuidUserAttribute "auto"
php /var/www/html/occ ldap:set-config "$CONF_NAME" turnOnPasswordChange 0
# Test the ldap config
php /var/www/html/occ ldap:test-config "$NAME"
# Exit the container shell
exit
```
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository
https://github.com/lldap/lldap
### Maintainer
https://github.com/docjyj

View File

@@ -5,6 +5,7 @@ This container bundles Plex and auto-configures it for you.
- This container is incompatible with the [Jellyfin](https://github.com/nextcloud/all-in-one/tree/main/community-containers/jellyfin) community container. So make sure that you do not enable both at the same time!
- This is not working on arm64 since Plex does only provide x64 docker images.
- This is not working on Docker Desktop since it needs `network_mode: host` in order to work correctly.
- This container should usually only be run in home networks as it exposes unencrypted services like DLNA by default which can be disabld via the web interface though.
- If you have a firewall like ufw configured, you might need to open all Plex ports in there first in order to make it work. Especially port 32400 is important!
- After adding and starting the container, you need to visit http://ip.address.of.server:32400/manage in order to claim your server with a plex account
- The data of Plex will be automatically included in AIOs backup solution!

View File

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

View File

@@ -65,7 +65,7 @@ spec:
value: nextcloud-aio-talk
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-apache:20240321_080708-latest"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-apache:20240404_082330-latest"
name: nextcloud-aio-apache
ports:
- containerPort: {{ .Values.APACHE_PORT }}

View File

@@ -60,7 +60,7 @@ spec:
value: "90"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-clamav:20240321_080708-latest"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-clamav:20240404_082330-latest"
name: nextcloud-aio-clamav
ports:
- containerPort: 3310

View File

@@ -37,7 +37,7 @@ spec:
value: --o:ssl.enable=false --o:ssl.termination=true --o:mount_jail_tree=false --o:logging.level=warning --o:home_mode.enable=true {{ .Values.COLLABORA_SECCOMP_POLICY }} --o:remote_font_config.url=https://{{ .Values.NC_DOMAIN }}/apps/richdocuments/settings/fonts.json
- name: server_name
value: "{{ .Values.NC_DOMAIN }}"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-collabora:20240321_080708-latest"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-collabora:20240404_082330-latest"
name: nextcloud-aio-collabora
ports:
- containerPort: 9980

View File

@@ -71,7 +71,7 @@ spec:
value: nextcloud
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-postgresql:20240321_080708-latest"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-postgresql:20240404_082330-latest"
name: nextcloud-aio-database
ports:
- containerPort: 5432

View File

@@ -61,7 +61,7 @@ spec:
value: basic
- name: xpack.security.enabled
value: "false"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-fulltextsearch:20240321_080708-latest"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-fulltextsearch:20240404_082330-latest"
name: nextcloud-aio-fulltextsearch
ports:
- containerPort: 9200

View File

@@ -29,7 +29,7 @@ spec:
value: "{{ .Values.IMAGINARY_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-imaginary:20240321_080708-latest"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-imaginary:20240404_082330-latest"
name: nextcloud-aio-imaginary
ports:
- containerPort: 9000

View File

@@ -170,7 +170,7 @@ spec:
value: "{{ .Values.TIMEZONE }}"
- name: UPDATE_NEXTCLOUD_APPS
value: "{{ .Values.UPDATE_NEXTCLOUD_APPS }}"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-nextcloud:20240321_080708-latest"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-nextcloud:20240404_082330-latest"
name: nextcloud-aio-nextcloud
ports:
- containerPort: 9000

View File

@@ -56,7 +56,7 @@ spec:
value: nextcloud-aio-redis
- name: REDIS_HOST_PASSWORD
value: "{{ .Values.REDIS_PASSWORD }}"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-notify-push:20240321_080708-latest"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-notify-push:20240404_082330-latest"
name: nextcloud-aio-notify-push
ports:
- containerPort: 7867

View File

@@ -49,7 +49,7 @@ spec:
value: "{{ .Values.ONLYOFFICE_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-onlyoffice:20240321_080708-latest"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-onlyoffice:20240404_082330-latest"
name: nextcloud-aio-onlyoffice
ports:
- containerPort: 80

View File

@@ -44,7 +44,7 @@ spec:
value: "{{ .Values.REDIS_PASSWORD }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-redis:20240321_080708-latest"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-redis:20240404_082330-latest"
name: nextcloud-aio-redis
ports:
- containerPort: 6379

View File

@@ -25,7 +25,11 @@ spec:
spec:
containers:
- env:
- name: INTERNAL_SECRET
- name: TALK_MAX_STREAM_BITRATE
value: "{{ .Values.TALK_MAX_STREAM_BITRATE }}"
- name: TALK_MAX_STREAM_BITRATE
value: "{{ .Values.TALK_MAX_SCREEN_BITRATE }}"
- name: TALK_MAX_SCREEN_BITRATE
value: "{{ .Values.TALK_INTERNAL_SECRET }}"
- name: NC_DOMAIN
value: "{{ .Values.NC_DOMAIN }}"
@@ -37,7 +41,8 @@ spec:
value: "{{ .Values.TURN_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-talk:20240321_080708-latest"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-talk:develop"
imagePullPolicy: Always
name: nextcloud-aio-talk
ports:
- containerPort: {{ .Values.TALK_PORT }}

View File

@@ -33,7 +33,7 @@ spec:
value: "{{ .Values.RECORDING_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-talk-recording:20240321_080708-latest"
image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/aio-talk-recording:20240404_082330-latest"
name: nextcloud-aio-talk-recording
ports:
- containerPort: 1234

View File

@@ -300,6 +300,16 @@ EOL
# shellcheck disable=SC1083
find ./ -name '*apache-deployment.yaml' -exec sed -i "/^.*\- env:/r /tmp/additional-apache.config" \{} \;
# Additional config
cat << EOL > /tmp/additional-talk.config
- name: TALK_MAX_STREAM_BITRATE
value: "{{ .Values.TALK_MAX_STREAM_BITRATE }}"
- name: TALK_MAX_SCREEN_BITRATE
value: "{{ .Values.TALK_MAX_SCREEN_BITRATE }}"
EOL
# shellcheck disable=SC1083
find ./ -name '*talk-deployment.yaml' -exec sed -i "/^.*\- env:/r /tmp/additional-talk.config" \{} \;
# shellcheck disable=SC1083
find ./ -name '*deployment.yaml' -exec sed -i '/image: nextcloud/s/$/"/;s|image: nextcloud/|image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}/|;' \{} \;
@@ -356,6 +366,8 @@ SMTP_NAME: # (empty by default): The username for the authentication.
SMTP_PASSWORD: # (empty by default): The password for the authentication.
MAIL_FROM_ADDRESS: # (not set by default): Set the local-part for the 'from' field in the emails sent by Nextcloud.
MAIL_DOMAIN: # (not set by default): Set a different domain for the emails than the domain where Nextcloud is installed.
TALK_MAX_STREAM_BITRATE: "1048576" # This allows to adjust the max stream bitrate of the talk hpb
TALK_MAX_SCREEN_BITRATE: "2097152" # This allows to adjust the max stream bitrate of the talk hpb
IMAGE_MIRROR_PREFIX: # Setting this allows you to pull Nextcloud images through a mirror registry.
NEXTCLOUD_IMAGE_ORG: nextcloud # Setting this allows you to change the image's org name in case a different image needs to be used e.g. for compliance reasons.

View File

@@ -61,6 +61,8 @@ SMTP_NAME: # (empty by default): The username for the authentication.
SMTP_PASSWORD: # (empty by default): The password for the authentication.
MAIL_FROM_ADDRESS: # (not set by default): Set the local-part for the 'from' field in the emails sent by Nextcloud.
MAIL_DOMAIN: # (not set by default): Set a different domain for the emails than the domain where Nextcloud is installed.
TALK_MAX_STREAM_BITRATE: "1048576" # This allows to adjust the max stream bitrate of the talk hpb
TALK_MAX_SCREEN_BITRATE: "2097152" # This allows to adjust the max stream bitrate of the talk hpb
IMAGE_MIRROR_PREFIX: # Setting this allows you to pull Nextcloud images through a mirror registry.
NEXTCLOUD_IMAGE_ORG: nextcloud # Setting this allows you to change the image's org name in case a different image needs to be used e.g. for compliance reasons.

View File

@@ -173,7 +173,7 @@ class DockerController
}
if (isset($request->getParsedBody()['install_latest_major'])) {
$installLatestMajor = 28;
$installLatestMajor = 29;
} else {
$installLatestMajor = "";
}

View File

@@ -386,6 +386,14 @@ class ConfigurationManager
return $config['domain'];
}
public function GetBaseDN() : string {
$domain = $this->GetDomain();
if ($domain === "") {
return "";
}
return 'dc=' . implode(',dc=', explode('.', $domain));
}
public function GetBackupMode() : string {
$config = $this->GetConfig();
if(!isset($config['backup-mode'])) {

View File

@@ -283,6 +283,8 @@ class DockerActionManager
if($out[1] === 'NC_DOMAIN') {
$replacements[1] = $this->configurationManager->GetDomain();
} elseif($out[1] === 'NC_BASE_DN') {
$replacements[1] = $this->configurationManager->GetBaseDN();
} elseif ($out[1] === 'AIO_TOKEN') {
$replacements[1] = $this->configurationManager->GetToken();
} elseif ($out[1] === 'BORGBACKUP_MODE') {

View File

@@ -16,7 +16,7 @@
</header>
<div class="content">
<h1>Nextcloud AIO v8.1.0</h1>
<h1>Nextcloud AIO v8.2.0</h1>
{# Add 2nd tab warning #}
<script type="text/javascript" src="second-tab-warning.js"></script>
@@ -28,7 +28,7 @@
{% set isBackupOrRestoreRunning = false %}
{% set isApacheStarting = false %}
{# Setting newMajorVersion to '' will hide corresponding options/elements, can be set to an integer like 26 in order to show corresponding elements. If set, also increase installLatestMajor in https://github.com/nextcloud/all-in-one/blob/main/php/src/Controller/DockerController.php #}
{% set newMajorVersion = '' %}
{% set newMajorVersion = 29 %}
{% if is_backup_container_running == true %}
{% if borg_backup_mode == 'backup' or borg_backup_mode == 'restore' %}
@@ -292,7 +292,7 @@
{% if newMajorVersion != '' and isAnyRunning == true and isApacheStarting != true %}
<details>
<summary>Note about <b>Nextcloud {{ newMajorVersion }}</b></summary><br>
If you haven't upgraded to Nextcloud {{ newMajorVersion }} yet and want to do that now, feel free to follow <b><a href="https://github.com/nextcloud/all-in-one/discussions/2692">this documentation</a></b><br/>
If you haven't upgraded to Nextcloud {{ newMajorVersion }} yet and want to do that now, feel free to follow <b><a href="https://github.com/nextcloud/all-in-one/discussions/4542">this documentation</a></b><br/>
</details><br>
{% endif %}
{% endif %}

View File

@@ -323,6 +323,11 @@ If your Nextcloud is running and you are logged in as admin in your Nextcloud, y
If you set up a new AIO instance, you need to enter a domain. Currently there is no way to change this domain afterwards from the AIO interface. So in order to change it, you need to edit the configuration.json manually using `sudo docker run -it --rm --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config:rw alpine sh -c "apk add --no-cache nano && nano /mnt/docker-aio-config/data/configuration.json"`, substitute each occurrence of your old domain with your new domain and save and write out the file. Afterwards restart your containers from the AIO interface and everything should work as expected if the new domain is correctly configured.<br>
If you are running AIO behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else), you need to obviously also change the domain in your reverse proxy config.
Additionally, after restarting the containers, you need to open the admin settings and update some values manually that cannot be changed automatically. Here is a list of some known places:
- `https://your-nc-domain.com/settings/admin/talk` for Turn/Stun server and Signaling Server if you enabled Talk via the AIO interface
- `https://your-nc-domain.com/settings/admin/theming` for the theming URL
- `https://your-nc-domain.com/settings/admin/app_api` for the deploy daemon if you enabled the App API via the AIO interface
### How to properly reset the instance?
If something goes unexpected routes during the initial installation, you might want to reset the AIO installation to be able to start from scratch.
@@ -709,7 +714,7 @@ All users see a set of [default files and folders](https://docs.nextcloud.com/se
You can configure your server to block certain ip-addresses using fail2ban as bruteforce protection. Here is how to set it up: https://docs.nextcloud.com/server/stable/admin_manual/installation/harden_server.html#setup-fail2ban. The logpath of AIO is by default `/var/lib/docker/volumes/nextcloud_aio_nextcloud/_data/data/nextcloud.log`. Do not forget to add `chain=DOCKER-USER` to your nextcloud jail config (`nextcloud.local`) otherwise the nextcloud service running on docker will still be accessible even if the IP is banned. Also, you may change the blocked ports to cover all AIO ports: by default `80,443,8080,8443,3478` (see [this](https://github.com/nextcloud/all-in-one#explanation-of-used-ports)). Apart from that there is now a community container that can be added to the AIO stack: https://github.com/nextcloud/all-in-one/tree/main/community-containers/fail2ban
### LDAP
It is possible to connect to an existing LDAP server. You need to make sure that the LDAP server is reachable from the Nextcloud container. Then you can enable the LDAP app and configure LDAP in Nextcloud manually. If you don't have a LDAP server yet, recommended is to use this docker container: https://hub.docker.com/r/nitnelave/lldap. Make sure here as well that Nextcloud can talk to the LDAP server. The easiest way is by adding the LDAP docker container to the docker network `nextcloud-aio`. Then you can connect to the LDAP container by its name from the Nextcloud container. Apart from that there is now a way for the community to add containers: https://github.com/nextcloud/all-in-one/discussions/406#discussioncomment-7133555
It is possible to connect to an existing LDAP server. You need to make sure that the LDAP server is reachable from the Nextcloud container. Then you can enable the LDAP app and configure LDAP in Nextcloud manually. If you don't have a LDAP server yet, recommended is to use this docker container: https://hub.docker.com/r/nitnelave/lldap. Make sure here as well that Nextcloud can talk to the LDAP server. The easiest way is by adding the LDAP docker container to the docker network `nextcloud-aio`. Then you can connect to the LDAP container by its name from the Nextcloud container. There is now a community container which allows to easily add LLDAP to AIO: https://github.com/nextcloud/all-in-one/tree/main/community-containers/lldap
### Netdata
Netdata allows you to monitor your server using a GUI. You can install it by following https://learn.netdata.cloud/docs/agent/packaging/docker#create-a-new-netdata-agent-container. Apart from that there is now a way for the community to add containers: https://github.com/nextcloud/all-in-one/discussions/392#discussioncomment-7133563

View File

@@ -1,5 +1,7 @@
# Reverse Proxy Documentation
**Note:** The maintainers of AIO noticed that this documentation is not easy. All contributions that improve this are very welcome!
A [reverse proxy](https://en.wikipedia.org/wiki/Reverse_proxy) is basically a web server that enables computers on the internet to access a service in a [private subnet](https://en.wikipedia.org/wiki/Private_network).
**Please note:** Publishing the AIO interface with a valid certificate to the public internet is **not** the goal of this documentation! Instead, the main goal is to publish Nextcloud with a valid certificate to the public internet which is **not** running inside the mastercontainer but in a different container! If you need a valid certificate for the AIO interface, see [point 5](#5-optional-get-a-valid-certificate-for-the-aio-interface).
@@ -102,6 +104,10 @@ Add this as a new Apache site config:
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305
SSLHonorCipherOrder off
SSLSessionTickets off
# If running apache on a subdomain (eg. nextcloud.example.com) of a domain that already has an wildcard ssl certificate from certbot on this machine,
# the <your-nc-domain> in the below lines should be replaced with just the domain (eg. example.com), not the subdomain.
# In this case the subdomain should already be secured without additional actions
SSLCertificateFile /etc/letsencrypt/live/<your-nc-domain>/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/<your-nc-domain>/privkey.pem
@@ -357,6 +363,9 @@ server {
proxy_set_header Connection $connection_upgrade;
}
# If running nginx on a subdomain (eg. nextcloud.example.com) of a domain that already has an wildcard ssl certificate from certbot on this machine,
# the <your-nc-domain> in the below lines should be replaced with just the domain (eg. example.com), not the subdomain.
# In this case the subdomain should already be secured without additional actions
ssl_certificate /etc/letsencrypt/live/<your-nc-domain>/fullchain.pem; # managed by certbot on host machine
ssl_certificate_key /etc/letsencrypt/live/<your-nc-domain>/privkey.pem; # managed by certbot on host machine