Compare commits

...

64 Commits

Author SHA1 Message Date
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
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
Simon L
9f6f396447 fix grepping for collabora string
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-28 15:53:57 +01:00
Simon L
d7d352ebdd fix redis sessions
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-28 15:36:50 +01:00
Simon L
94880e1e98 increase to 8.1.0
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-28 15:18:38 +01:00
Simon L
f45121defa Merge pull request #4460 from nextcloud/enh/noid/adjust-collabora-logic
nextcloud - adjust COLLABORA_HOST logic
2024-03-28 14:58:03 +01:00
Simon L
b9fbb5cfe9 Merge pull request #4462 from nextcloud/nextcloud-container-update
Nextcloud dependency update
2024-03-28 14:57:33 +01:00
szaimen
44646615dd nextcloud-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-28 12:47:57 +00:00
Simon L
40450c27f0 Merge pull request #4461 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-23.05.10.1.1
Bump collabora/code from 23.05.9.4.1 to 23.05.10.1.1 in /Containers/collabora
2024-03-28 13:21:27 +01:00
dependabot[bot]
90e9791008 Bump collabora/code in /Containers/collabora
Bumps collabora/code from 23.05.9.4.1 to 23.05.10.1.1.

---
updated-dependencies:
- dependency-name: collabora/code
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-28 12:18:27 +00:00
Simon L
590012ae38 nextcloud - adjust COLLABORA_HOST logic
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-28 12:49:52 +01:00
Simon L
a05269c773 Merge pull request #4459 from nextcloud/enh/noid/add-redis-to-dockerfile
nextcloud container - add redis session handler to Dockerfile
2024-03-28 12:42:40 +01:00
Simon L
0b31db1b21 nextcloud container - add redis session handler to Dockerfile
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-28 12:10:58 +01:00
Simon L
fe018904b1 Merge pull request #4457 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.13.0
Bump elasticsearch from 8.12.2 to 8.13.0 in /Containers/fulltextsearch
2024-03-27 14:00:33 +01:00
dependabot[bot]
43c16a086f Bump elasticsearch from 8.12.2 to 8.13.0 in /Containers/fulltextsearch
Bumps elasticsearch from 8.12.2 to 8.13.0.

---
updated-dependencies:
- dependency-name: elasticsearch
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-27 12:48:53 +00:00
Simon L
c9ec673634 Merge pull request #4448 from nextcloud/enh/noid/update-helm-chart
update helm chart
2024-03-26 14:15:19 +01:00
Simon L
17fcc24c9a Merge pull request #4451 from nextcloud/ci/lint-helm/simplify
ci(lint-helm): simplify workflow
2024-03-26 14:14:45 +01:00
Simon L
d181a8c266 Merge pull request #4450 from nextcloud/enh/noid/run-helm-lint
run helm lint to catch any problems
2024-03-26 14:13:34 +01:00
Richard Steinmetz
ce43fe96a9 ci(lint-helm): simplify workflow
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-03-26 14:11:55 +01:00
Simon L
e7b587f73d run helm lint to catch any problems
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-26 14:06:27 +01:00
Simon L
0f89c6eaed update helm chart
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-26 14:01:49 +01:00
Simon L
03f9288388 Merge pull request #4447 from nextcloud/fix/helm/mirror-prefix
fix(helm): image repo transformation yielding invalid yaml string syntax
2024-03-26 13:51:24 +01:00
Richard Steinmetz
e8dc3692a0 fix(helm): image repo transformation yielding invalid yaml string syntax
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-03-26 13:39:54 +01:00
Simon L
ab670a19df Merge pull request #4439 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.3.0-44
Bump clamav/clamav from 1.3.0-43 to 1.3.0-44 in /Containers/clamav
2024-03-25 14:57:50 +01:00
dependabot[bot]
f001c6f955 Bump clamav/clamav from 1.3.0-43 to 1.3.0-44 in /Containers/clamav
Bumps clamav/clamav from 1.3.0-43 to 1.3.0-44.

---
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-03-25 12:34:26 +00:00
Simon L
55d6971668 adjust comment
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-25 11:18:23 +01:00
Simon L
10698d7df0 Merge pull request #4429 from airplane-flight/main
Fixed a typo in containers.twig
2024-03-23 17:19:05 +01:00
Alison McCue
e422e0861f Fixed a typo in containers.twig
Signed-off-by: Alison McCue <gh@maladroit.me>
2024-03-23 11:16:29 -04:00
Simon L
a6f2a3c76d add dbindex for redis as comment
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-22 09:58:19 +01:00
Simon L
4d84146b2d Merge pull request #4347 from nextcloud/automated/update-workflows/default
chore: update workflows from templates
2024-03-21 09:24:18 +01:00
skjnldsv
5f97e7e2ee chore: update workflows from templates
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-21 09:23:06 +01:00
Simon L
1e54b1849c Merge pull request #4399 from nextcloud/enh/2860/adjust-wording
aio interface - adjust wording for disable daily backups button
2024-03-21 09:16:48 +01:00
Simon L
5cf4501742 Merge pull request #4357 from nextcloud/automated/noid/psalm-baseline-update
[Automated] Update psalm-baseline.xml
2024-03-21 09:16:30 +01:00
Simon L
6ca4cdc636 Merge pull request #4360 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-23.05.9.4.1
Bump collabora/code from 23.05.9.3.1 to 23.05.9.4.1 in /Containers/collabora
2024-03-21 09:16:15 +01:00
Simon L
1871517ccc Merge pull request #4379 from nextcloud/dependabot/docker/Containers/talk/nats-2.10.12-scratch
Bump nats from 2.10.11-scratch to 2.10.12-scratch in /Containers/talk
2024-03-21 09:16:03 +01:00
Simon L
051871f67a Merge pull request #4386 from nextcloud/enh/noid/absolut-apps-path
nextcloud - update apps_paths to include absolute path
2024-03-21 09:15:16 +01:00
Simon L
9a9fb8bc8b aio interface - adjust wording for disable daily backups button
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-21 09:14:36 +01:00
Simon L
727a94aa9b Merge pull request #4401 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.2.17-fpm-alpine3.19
Bump php from 8.2.16-fpm-alpine3.19 to 8.2.17-fpm-alpine3.19 in /Containers/nextcloud
2024-03-21 09:13:51 +01:00
Simon L
265bd44830 Merge pull request #4403 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.3.4-fpm-alpine3.19
Bump php from 8.3.3-fpm-alpine3.19 to 8.3.4-fpm-alpine3.19 in /Containers/mastercontainer
2024-03-21 09:13:38 +01:00
Simon L
74f622b7d8 Merge pull request #4404 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.3.0-43
Bump clamav/clamav from 1.3.0-41 to 1.3.0-43 in /Containers/clamav
2024-03-21 09:13:25 +01:00
Simon L
f9386388d6 Merge pull request #4408 from nextcloud/enh/4406/network-fail
log the whole error message when network creation fails
2024-03-21 09:13:07 +01:00
Simon L
2b169779a9 Merge pull request #4411 from nextcloud/fix-regex
Additonal backup paths - fix regex
2024-03-21 09:12:25 +01:00
Simon L
2cf1fd5e7e Merge pull request #4412 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-25.0.5-cli
Bump docker from 25.0.3-cli to 25.0.5-cli in /Containers/mastercontainer
2024-03-21 09:12:13 +01:00
nextcloud-command
1abdc32fda Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2024-03-21 04:09:30 +00:00
dependabot[bot]
c91c0b9867 Bump docker from 25.0.3-cli to 25.0.5-cli in /Containers/mastercontainer
Bumps docker from 25.0.3-cli to 25.0.5-cli.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-20 12:26:51 +00:00
Zoey
976aca9139 fix regex
Signed-off-by: Zoey <zoey@z0ey.de>
2024-03-20 08:42:56 +01:00
Simon L
a00310f4e4 log the whole error message when network creation fails
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-19 12:08:31 +01:00
dependabot[bot]
03dbbdd111 Bump clamav/clamav from 1.3.0-41 to 1.3.0-43 in /Containers/clamav
Bumps clamav/clamav from 1.3.0-41 to 1.3.0-43.

---
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-03-18 13:01:25 +00:00
dependabot[bot]
ac43b433c8 Bump php in /Containers/mastercontainer
Bumps php from 8.3.3-fpm-alpine3.19 to 8.3.4-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-03-18 12:46:34 +00:00
dependabot[bot]
fd2cb11e40 Bump php in /Containers/nextcloud
Bumps php from 8.2.16-fpm-alpine3.19 to 8.2.17-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-03-18 12:07:05 +00:00
Simon L
810dec4a96 nextcloud - update apps_paths to include absolute path
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-03-14 12:22:54 +01:00
dependabot[bot]
48d891d390 Bump nats from 2.10.11-scratch to 2.10.12-scratch in /Containers/talk
Bumps nats from 2.10.11-scratch to 2.10.12-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-03-13 12:18:10 +00:00
dependabot[bot]
bf103b9061 Bump collabora/code in /Containers/collabora
Bumps collabora/code from 23.05.9.3.1 to 23.05.9.4.1.

---
updated-dependencies:
- dependency-name: collabora/code
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-11 12:49:40 +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 225 additions and 71 deletions

View File

@@ -36,6 +36,10 @@ jobs:
with:
version: v3.6.3
- name: Run Helm Lint
run: |
helm lint ./nextcloud-aio-helm-chart
- name: Run chart-releaser
uses: helm/chart-releaser-action@v1.6.0
with:

View File

@@ -1,4 +1,4 @@
name: Lint and Test Charts
name: Lint Helm Charts
on:
workflow_dispatch:
@@ -8,7 +8,7 @@ on:
jobs:
lint-helm:
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
@@ -20,16 +20,5 @@ jobs:
with:
version: v3.11.1
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.6.1
- name: Run chart-testing (lint)
id: lint
run: ct lint --target-branch ${{ github.event.repository.default_branch }} --debug --chart-dirs nextcloud-aio-helm-chart
- name: Create kind cluster
uses: helm/kind-action@v1.9.0
- name: Run chart-testing (install)
id: install
run: ct install --target-branch ${{ github.event.repository.default_branch }} --debug --chart-dirs nextcloud-aio-helm-chart
- name: Lint charts
run: helm lint nextcloud-aio-helm-chart

View File

@@ -33,10 +33,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4 # v3.5.2
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d # v2
uses: shivammathur/setup-php@a4e22b60bbb9c1021113f2860347b0759f66fe5d # v2
with:
php-version: ${{ matrix.php-versions }}
coverage: none
@@ -47,10 +47,10 @@ jobs:
- name: Lint
run: cd php && composer run lint
php-lint-summary:
summary:
permissions:
contents: none
runs-on: ubuntu-latest
runs-on: ubuntu-latest-low
needs: php-lint
if: always()

View File

@@ -23,13 +23,13 @@ jobs:
static-analysis:
runs-on: ubuntu-latest
name: Nextcloud
name: static-psalm-analysis
steps:
- name: Checkout
uses: actions/checkout@v4 # v3.5.2
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Set up php
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d # v2
uses: shivammathur/setup-php@a4e22b60bbb9c1021113f2860347b0759f66fe5d # v2
with:
php-version: 8.3
extensions: apcu

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-41
FROM clamav/clamav:1.3.0-44
COPY clamav.conf /tmp/clamav.conf

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# From a file located probably somewhere here: https://github.com/CollaboraOnline/online/tree/master/docker
FROM collabora/code:23.05.9.3.1
FROM collabora/code:23.05.10.1.1
USER root

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# Probably from here https://github.com/elastic/elasticsearch/blob/main/distribution/docker/src/docker/Dockerfile
FROM elasticsearch:8.12.2
FROM elasticsearch:8.13.0
USER root

View File

@@ -1,12 +1,12 @@
# syntax=docker/dockerfile:latest
# Docker CLI is a requirement
FROM docker:25.0.3-cli as docker
FROM docker:25.0.5-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.3-fpm-alpine3.19
FROM php:8.3.4-fpm-alpine3.19
EXPOSE 80
EXPOSE 8080

View File

@@ -47,7 +47,7 @@ elif ! sudo -u www-data test -r /var/run/docker.sock; then
echo "Trying to fix docker.sock permissions internally..."
DOCKER_GROUP=$(stat -c '%G' /var/run/docker.sock)
DOCKER_GROUP_ID=$(stat -c '%g' /var/run/docker.sock)
# Check if a group with the same group id of /var/run/docker.socket already exists in the container
# Check if a group with the same group name of /var/run/docker.socket already exists in the container
if grep -q "^$DOCKER_GROUP:" /etc/group; then
# If yes, add www-data to that group
echo "Adding internal www-data to group $DOCKER_GROUP"

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM php:8.2.16-fpm-alpine3.19
FROM php:8.2.17-fpm-alpine3.19
ENV PHP_MEMORY_LIMIT 512M
ENV PHP_UPLOAD_LIMIT 10G
@@ -7,7 +7,7 @@ ENV PHP_MAX_TIME 3600
ENV SOURCE_LOCATION /usr/src/nextcloud
# AIO settings start # Do not remove or change this line!
ENV NEXTCLOUD_VERSION 28.0.3
ENV NEXTCLOUD_VERSION 28.0.4
ENV AIO_TOKEN 123456
ENV AIO_URL localhost
COPY supervisord.conf /supervisord.conf
@@ -117,6 +117,14 @@ RUN set -ex; \
echo 'max_input_time=${PHP_MAX_TIME}'; \
} > /usr/local/etc/php/conf.d/nextcloud.ini; \
\
{ \
echo 'session.save_handler = redis'; \
echo 'session.save_path = "tcp://${REDIS_HOST}:6379?auth=${REDIS_HOST_PASSWORD}"'; \
echo 'redis.session.locking_enabled = 1'; \
echo 'redis.session.lock_retries = -1'; \
echo 'redis.session.lock_wait_time = 10000'; \
} > /usr/local/etc/php/conf.d/redis-session.ini; \
\
mkdir -p /var/www/data; \
chown -R www-data:root /var/www; \
chmod -R g=u /var/www; \

View File

@@ -2,12 +2,12 @@
$CONFIG = array (
'apps_paths' => array (
0 => array (
'path' => OC::$SERVERROOT.'/apps',
'path' => '/var/www/html/apps',
'url' => '/apps',
'writable' => false,
),
1 => array (
'path' => OC::$SERVERROOT.'/custom_apps',
'path' => '/var/www/html/custom_apps',
'url' => '/custom_apps',
'writable' => true,
),

View File

@@ -6,6 +6,7 @@ if (getenv('REDIS_HOST')) {
'redis' => array(
'host' => getenv('REDIS_HOST'),
'password' => (string) getenv('REDIS_HOST_PASSWORD'),
// 'dbindex' => (int) getenv('REDIS_DB_INDEX'),
),
);

View File

@@ -19,17 +19,6 @@ run_upgrade_if_needed_due_to_app_update() {
fi
}
echo "Configuring Redis as session handler..."
cat << REDIS_CONF > /usr/local/etc/php/conf.d/redis-session.ini
session.save_handler = redis
session.save_path = "tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}"
redis.session.locking_enabled = 1
redis.session.lock_retries = -1
# redis.session.lock_wait_time is specified in microseconds.
# Wait 10ms before retrying the lock rather than the default 2ms.
redis.session.lock_wait_time = 10000
REDIS_CONF
# Check permissions in ncdata
touch "$NEXTCLOUD_DATA_DIR/this-is-a-test-file" &>/dev/null
if ! [ -f "$NEXTCLOUD_DATA_DIR/this-is-a-test-file" ]; then
@@ -550,6 +539,11 @@ php /var/www/html/occ config:app:set notify_push base_endpoint --value="https://
# Collabora
if [ "$COLLABORA_ENABLED" = 'yes' ]; then
set -x
if echo "$COLLABORA_HOST" | grep -q "nextcloud-.*-collabora"; then
COLLABORA_HOST="$NC_DOMAIN"
fi
set +x
if ! [ -d "/var/www/html/custom_apps/richdocuments" ]; then
php /var/www/html/occ app:install richdocuments
elif [ "$(php /var/www/html/occ config:app:get richdocuments enabled)" != "yes" ]; then
@@ -557,10 +551,10 @@ if [ "$COLLABORA_ENABLED" = 'yes' ]; then
elif [ "$SKIP_UPDATE" != 1 ]; then
php /var/www/html/occ app:update richdocuments
fi
php /var/www/html/occ config:app:set richdocuments wopi_url --value="https://$NC_DOMAIN/"
php /var/www/html/occ config:app:set richdocuments wopi_url --value="https://$COLLABORA_HOST/"
# Make collabora more save
COLLABORA_IPv4_ADDRESS="$(dig "$NC_DOMAIN" A +short +search | grep '^[0-9.]\+$' | sort | head -n1)"
COLLABORA_IPv6_ADDRESS="$(dig "$NC_DOMAIN" AAAA +short +search | grep '^[0-9a-f:]\+$' | sort | head -n1)"
COLLABORA_IPv4_ADDRESS="$(dig "$COLLABORA_HOST" A +short +search | grep '^[0-9.]\+$' | sort | head -n1)"
COLLABORA_IPv6_ADDRESS="$(dig "$COLLABORA_HOST" AAAA +short +search | grep '^[0-9a-f:]\+$' | sort | head -n1)"
COLLABORA_ALLOW_LIST="$(php /var/www/html/occ config:app:get richdocuments wopi_allowlist)"
if [ -n "$COLLABORA_IPv4_ADDRESS" ]; then
if ! echo "$COLLABORA_ALLOW_LIST" | grep -q "$COLLABORA_IPv4_ADDRESS"; then
@@ -571,7 +565,7 @@ if [ "$COLLABORA_ENABLED" = 'yes' ]; then
fi
fi
else
echo "Warning: No ipv4-address found for $NC_DOMAIN."
echo "Warning: No ipv4-address found for $COLLABORA_HOST."
fi
if [ -n "$COLLABORA_IPv6_ADDRESS" ]; then
if ! echo "$COLLABORA_ALLOW_LIST" | grep -q "$COLLABORA_IPv6_ADDRESS"; then
@@ -582,7 +576,7 @@ if [ "$COLLABORA_ENABLED" = 'yes' ]; then
fi
fi
else
echo "No ipv6-address found for $NC_DOMAIN."
echo "No ipv6-address found for $COLLABORA_HOST."
fi
if [ -n "$COLLABORA_ALLOW_LIST" ]; then
PRIVATE_IP_RANGES='127.0.0.1/8,192.168.0.0/16,172.16.0.0/12,10.0.0.0/8,fd00::/8,::1'

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM nats:2.10.11-scratch as nats
FROM nats:2.10.12-scratch as nats
FROM eturnal/eturnal:1.12.0 AS eturnal
FROM strukturag/nextcloud-spreed-signaling:1.2.3 as signaling
FROM alpine:3.19.1 as janus

View File

@@ -56,6 +56,10 @@ 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
# Signling
cat << SIGNALING_CONF > "/conf/signaling.conf"
[http]
@@ -80,6 +84,7 @@ connectionsperhost = 8
[backend-1]
url = https://${NC_DOMAIN}
secret = ${SIGNALING_SECRET}
maxstreambitrate = ${TALK_MAX_STREAM_BITRATE}
[nats]
url = nats://127.0.0.1:4222
@@ -87,6 +92,7 @@ url = nats://127.0.0.1:4222
[mcu]
type = janus
url = ws://127.0.0.1:8188
maxstreambitrate = ${TALK_MAX_STREAM_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
version: 8.2.0-dev
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,6 +25,8 @@ spec:
spec:
containers:
- env:
- name: TALK_MAX_STREAM_BITRATE
value: "{{ .Values.TALK_MAX_STREAM_BITRATE }}"
- name: INTERNAL_SECRET
value: "{{ .Values.TALK_INTERNAL_SECRET }}"
- name: NC_DOMAIN
@@ -37,7 +39,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,8 +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 }}"
EOL
# shellcheck disable=SC1083
find ./ -name '*deployment.yaml' -exec sed -i 's|image: nextcloud/|image: "{{ .Values.IMAGE_MIRROR_PREFIX }}{{ .Values.NEXTCLOUD_IMAGE_ORG }}"/|' \{} \;
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 }}/|;' \{} \;
cd ../
mkdir -p ../helm-chart/
@@ -356,6 +364,7 @@ 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
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,7 @@ 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
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

@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="5.22.2@d768d914152dbbf3486c36398802f74e80cfde48"/>
<files psalm-version="5.23.1@8471a896ccea3526b26d082f4461eeea467f10a4"/>

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'])) {
@@ -742,7 +750,7 @@ class ConfigurationManager
// Trim all unwanted chars on both sites
$entry = trim($entry);
if ($entry !== "") {
if (!preg_match("#^/[.0-1a-zA-Z/_-]+$#", $entry) && !preg_match("#^[.0-1a-zA-Z_-]+$#", $entry)) {
if (!preg_match("#^/[.0-9a-zA-Z/_-]+$#", $entry) && !preg_match("#^[.0-9a-zA-Z_-]+$#", $entry)) {
throw new InvalidSettingConfigurationException("You entered unallowed characters! Problematic is " . $entry);
}
$validDirectories .= rtrim($entry, '/') . PHP_EOL;

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') {
@@ -879,7 +881,7 @@ class DockerActionManager
} catch (RequestException $e) {
// 409 is undocumented and gets thrown if the network already exists.
if ($e->getCode() !== 409) {
throw $e;
throw new \Exception("Could not create the nextcloud-aio network: " . $e->getMessage());
}
}

View File

@@ -16,7 +16,7 @@
</header>
<div class="content">
<h1>Nextcloud AIO v8.0.0</h1>
<h1>Nextcloud AIO v8.1.0</h1>
{# Add 2nd tab warning #}
<script type="text/javascript" src="second-tab-warning.js"></script>
@@ -153,7 +153,7 @@
<input class="button" type="submit" value="Check backup integrity"/><br/>
</form>
{% endif %}
Choose the backup that you want to restore and click on the button below to restore the selected backup. This will restore the whole AIO instance from backup. Please not that the current AIO password will be kept and the AIO password not restored from backup!<br><br>
Choose the backup that you want to restore and click on the button below to restore the selected backup. This will restore the whole AIO instance from backup. Please note that the current AIO password will be kept and the previous AIO password will not be restored from backup!<br><br>
<form method="POST" action="/api/docker/restore" class="xhr" id="restore_selection">
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
@@ -494,7 +494,7 @@
<input type="hidden" name="delete_daily_backup_time" value="yes"/>
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
<input class="button" type="submit" value="Disable daily backups" />
<input class="button" type="submit" value="Disable or change daily backups" />
</form>
{% endif %}

View File

@@ -709,7 +709,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