Compare commits

...

61 Commits

Author SHA1 Message Date
Simon L
ecb0ba780d increase to 7.9.0
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-14 12:46:44 +01:00
Simon L
d95c48ab01 Merge pull request #3924 from nextcloud/fix/3922/database-dump-logic 2023-12-14 12:11:40 +01:00
Simon L
6937f9650c Merge pull request #3934 from nextcloud/enh/noid/update-nc 2023-12-14 12:11:21 +01:00
Simon L
dd360a9bac Merge pull request #3933 from nextcloud/enh/noid/notify-push 2023-12-14 12:11:06 +01:00
Simon L
73d1ef29d8 update Nc to 27.1.5
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-14 12:10:20 +01:00
Simon L
d616a8a507 Remove notify-push timeout again
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-14 12:09:04 +01:00
Simon L
e07f183551 improve default port docs
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-14 12:00:28 +01:00
Simon L
b9725a1633 add note about enabling logging to stdout
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-14 11:50:50 +01:00
Simon L
ad4b48c82e change chart-releaser-action to specific version
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-13 17:23:20 +01:00
Simon L
7c0c6d681b Merge pull request #3915 from nextcloud/enh/3908/use-correct-update-way 2023-12-12 21:05:32 +01:00
Simon L
fe669a0be7 restore major version check
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-12 16:37:29 +01:00
Simon L
436a5e8972 Merge pull request #3909 from nextcloud/jospoortvliet-patch-1 2023-12-12 14:27:25 +01:00
Simon L
312f238bf6 try to improve database dump logic on container shutdown
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-12 14:26:05 +01:00
Simon L
c1ef319b87 Merge pull request #3916 from nextcloud/enh/noid/trow-our-own-exception 2023-12-12 14:18:29 +01:00
Simon L
fb796debd6 address review
Signed-off-by: Simon L <szaimen@e.mail.de>

Co-authored-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2023-12-12 14:16:03 +01:00
Simon L
c344b8f280 Merge pull request #3914 from nextcloud/enh/noid/open-logs-new-tab 2023-12-12 14:15:14 +01:00
Simon L
8d839190dc Merge pull request #3913 from nextcloud/enh/noid/log-normal-imagename 2023-12-12 14:14:23 +01:00
Simon L
18e4b815a4 address review
Signed-off-by: Simon L <szaimen@e.mail.de>

Signed-off-by: Simon L. <szaimen@e.mail.de>
2023-12-12 14:12:53 +01:00
Simon L
6d3eed0209 address review
Signed-off-by: Simon L <szaimen@e.mail.de>

Signed-off-by: Simon L. <szaimen@e.mail.de>
2023-12-12 14:10:54 +01:00
Simon L
0f39d85525 Merge pull request #3907 from nextcloud/enh/noid/community 2023-12-12 14:09:38 +01:00
Simon L
ad0832234f Merge pull request #3895 from nextcloud/talk-container-update 2023-12-12 14:09:14 +01:00
Simon L
686ca80111 Merge pull request #3896 from nextcloud/dependabot/docker/Containers/talk/nats-2.10.7-scratch 2023-12-12 14:09:03 +01:00
Simon L
1a4e1025e4 Merge pull request #3921 from nextcloud/dependabot/docker/Containers/apache/caddy-2.7.6-alpine 2023-12-12 14:08:38 +01:00
Simon L
5e73632bf5 Merge pull request #3920 from nextcloud/dependabot/docker/Containers/mastercontainer/caddy-2.7.6-alpine 2023-12-12 14:08:25 +01:00
Simon L
bb027de2b0 Merge pull request #3919 from nextcloud/dependabot/docker/Containers/talk/strukturag/nextcloud-spreed-signaling-1.2.2 2023-12-12 14:08:12 +01:00
Simon L
d927419c51 Merge pull request #3918 from nextcloud/dependabot/docker/Containers/talk-recording/python-3.12.1-alpine3.18 2023-12-12 14:07:27 +01:00
Simon L
9836e1f12e Merge pull request #3917 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.2.1-21 2023-12-12 14:07:13 +01:00
szaimen
badc0347b4 talk-update automated change
Signed-off-by: GitHub <noreply@github.com>
2023-12-12 12:03:22 +00:00
Simon L
be195e3b55 Merge pull request #3899 from nextcloud/aio-helm-update 2023-12-12 13:02:10 +01:00
szaimen
81a9934616 Helm Chart updates
Signed-off-by: GitHub <noreply@github.com>
2023-12-12 12:01:37 +00:00
Simon L
4f9adc2c90 Merge pull request #3857 from nextcloud/aio-yaml-update 2023-12-12 12:57:21 +01:00
dependabot[bot]
adb2988f01 Bump caddy from 2.7.5-alpine to 2.7.6-alpine in /Containers/apache
Bumps caddy from 2.7.5-alpine to 2.7.6-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 12:53:14 +00:00
dependabot[bot]
8f78cb36cf Bump caddy in /Containers/mastercontainer
Bumps caddy from 2.7.5-alpine to 2.7.6-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 12:51:23 +00:00
dependabot[bot]
a9d40f95e7 Bump strukturag/nextcloud-spreed-signaling in /Containers/talk
Bumps strukturag/nextcloud-spreed-signaling from 1.2.1 to 1.2.2.

---
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>
2023-12-11 12:48:16 +00:00
dependabot[bot]
dac04a709a Bump python in /Containers/talk-recording
Bumps python from 3.12.0-alpine3.18 to 3.12.1-alpine3.18.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 12:36:44 +00:00
dependabot[bot]
e96f35cf49 Bump clamav/clamav from 1.2.1-20 to 1.2.1-21 in /Containers/clamav
Bumps clamav/clamav from 1.2.1-20 to 1.2.1-21.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 12:13:44 +00:00
Simon L
6412aa3e0f address review
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-11 13:08:19 +01:00
Simon L
58329a7a48 log normal imageName instead of encodedImageName
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-11 11:20:02 +01:00
Simon L
dc223275d4 startcontainer - thow our own exception so that the message is not truncated
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-11 11:17:08 +01:00
Simon L
cb5c6495d6 use correct way to do the update to new major versions
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-11 10:45:49 +01:00
Simon L
f7e2a2bd5d Adjust two places
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-11 10:17:24 +01:00
Simon L
6221db92ec open logs in new tab
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-11 10:10:01 +01:00
Jos Poortvliet
a24a2ebad9 Update setup.twig
Improve description in setup.twig

Signed-off-by: Jos Poortvliet <jospoortvliet@gmail.com>
2023-12-09 11:37:24 +01:00
Jos Poortvliet
54ad851d73 Update readme.md
explaining "AIO" isn't really the best way to start this description ;-)

Signed-off-by: Jos Poortvliet <jospoortvliet@gmail.com>
2023-12-08 23:38:36 +01:00
Simon L
9cf47f65e1 talk-recording - pull geckodriver from community
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-08 15:04:11 +01:00
szaimen
f46a2bf993 Yaml updates
Signed-off-by: GitHub <noreply@github.com>
2023-12-08 12:04:14 +00:00
dependabot[bot]
e0c3fa3998 Bump nats from 2.10.6-scratch to 2.10.7-scratch in /Containers/talk
Bumps nats from 2.10.6-scratch to 2.10.7-scratch.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-07 12:50:57 +00:00
Simon L
ff0d8637ab Merge pull request #3894 from nextcloud/enh/noid/helm-beta 2023-12-07 13:21:36 +01:00
Simon L
d8ec6d7886 helm - create 7.8.1-beta
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-07 12:40:26 +01:00
Simon L
0789e29b3f increase to 7.8.1
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-07 12:38:04 +01:00
Simon L
19389a0bd1 Merge pull request #3892 from nextcloud/enh/noid/allow-to-set-serverinfo-token 2023-12-07 12:34:18 +01:00
Simon L
762fb0c581 helm - allow to set SERVERINFO_TOKEN
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-07 12:32:08 +01:00
Simon L
f386ad33e9 Merge pull request #3891 from nextcloud/enh/noid/create-beta-release 2023-12-07 09:23:32 +01:00
Simon L
59180b37f3 helm-chart - create 7.7.2-beta release
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-07 09:19:44 +01:00
Simon L
388beb986b fix typo
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-06 21:26:20 +01:00
Simon L
3c7b3d84ae add a note regarding snappymail and mail
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-06 21:17:31 +01:00
Simon L
d2e2609e9c add further docs in stalwart
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-06 21:11:04 +01:00
Simon L
749c7c6410 add more docs to stalwart
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-06 20:43:17 +01:00
Simon L
5b4668931f libretranslate - remove note because it is working now
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-06 17:56:55 +01:00
Simon L
6aab3961ee fix typo
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-06 17:40:37 +01:00
Simon L
2a7115b06b recommend stalwart mail server in aio
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-06 17:03:44 +01:00
32 changed files with 99 additions and 81 deletions

View File

@@ -37,8 +37,7 @@ jobs:
version: v3.6.3
- name: Run chart-releaser
# TODO: switch back @main to a specific version like @v1.5.1 or higher
uses: helm/chart-releaser-action@main
uses: helm/chart-releaser-action@v1.6.0
with:
mark_as_latest: false
charts_dir: .

View File

@@ -1,4 +1,4 @@
FROM caddy:2.7.5-alpine as caddy
FROM caddy:2.7.6-alpine as caddy
FROM httpd:2.4.58-alpine3.18

View File

@@ -1,5 +1,5 @@
# Probably from this file: https://github.com/Cisco-Talos/clamav-docker/blob/main/clamav/1.1/alpine/Dockerfile
FROM clamav/clamav:1.2.1-20
FROM clamav/clamav:1.2.1-21
COPY clamav.conf /tmp/clamav.conf

View File

@@ -2,7 +2,7 @@
FROM docker:24.0.7-cli as docker
# Caddy is a requirement
FROM caddy:2.7.5-alpine as caddy
FROM caddy:2.7.6-alpine as caddy
# From https://github.com/docker-library/php/blob/master/8.2/alpine3.18/fpm/Dockerfile
FROM php:8.2.13-fpm-alpine3.18

View File

@@ -3,7 +3,7 @@ FROM php:8.1.26-fpm-alpine3.18
ENV PHP_MEMORY_LIMIT 512M
ENV PHP_UPLOAD_LIMIT 10G
ENV PHP_MAX_TIME 3600
ENV NEXTCLOUD_VERSION 27.1.4
ENV NEXTCLOUD_VERSION 27.1.5
ENV AIO_TOKEN 123456
ENV AIO_URL localhost

View File

@@ -256,9 +256,15 @@ DATADIR_PERMISSION_CONF
unset ADMIN_PASSWORD
if [ "$INSTALL_LATEST_MAJOR" = yes ]; then
php /var/www/html/occ config:system:set updater.release.channel --value=beta
php /var/www/html/occ config:system:set updatedirectory --value="/nc-updater"
php /var/www/html/updater/updater.phar --no-interaction
INSTALLED_AT="$(php /var/www/html/occ config:app:get core installedat)"
if [ -n "${INSTALLED_AT}" ]; then
# Set the installdat to 00 which will allow to skip staging and install the next major directly
# shellcheck disable=SC2001
INSTALLED_AT="$(echo "${INSTALLED_AT}" | sed "s|[0-9][0-9]$|00|")"
php /var/www/html/occ config:app:set core installedat --value="${INSTALLED_AT}"
fi
php /var/www/html/updater/updater.phar --no-interaction --no-backup
if ! php /var/www/html/occ -V || php /var/www/html/occ status | grep maintenance | grep -q 'true'; then
echo "Installation of Nextcloud failed!"
touch "$NEXTCLOUD_DATA_DIR/install.failed"
@@ -269,7 +275,7 @@ DATADIR_PERMISSION_CONF
INSTALLED_MAJOR="${installed_version%%.*}"
IMAGE_MAJOR="${image_version%%.*}"
if ! [ "$INSTALLED_MAJOR" -gt "$IMAGE_MAJOR" ]; then
php /var/www/html/updater/updater.phar --no-interaction
php /var/www/html/updater/updater.phar --no-interaction --no-backup
if ! php /var/www/html/occ -V || php /var/www/html/occ status | grep maintenance | grep -q 'true'; then
echo "Installation of Nextcloud failed!"
touch "$NEXTCLOUD_DATA_DIR/install.failed"
@@ -280,7 +286,6 @@ DATADIR_PERMISSION_CONF
fi
php /var/www/html/occ app:disable updatenotification
rm -rf /var/www/html/apps/updatenotification
php /var/www/html/occ config:system:set updater.release.channel --value=stable
php /var/www/html/occ app:enable nextcloud-aio --force
php /var/www/html/occ db:add-missing-indices
php /var/www/html/occ db:add-missing-columns
@@ -475,6 +480,9 @@ php /var/www/html/occ config:system:set upgrade.cli-upgrade-link --value="https:
php /var/www/html/occ config:system:set logfile --value="/var/www/html/data/nextcloud.log"
php /var/www/html/occ config:app:set admin_audit logfile --value="/var/www/html/data/audit.log"
php /var/www/html/occ config:system:set updatedirectory --value="/nc-updater"
if [ -n "$SERVERINFO_TOKEN" ] && [ -z "$(php /var/www/html/occ config:app:get serverinfo token)" ]; then
php /var/www/html/occ config:app:set serverinfo token --value="$SERVERINFO_TOKEN"
fi
# Apply network settings
echo "Applying network settings..."

View File

@@ -42,9 +42,6 @@ if ! [ -f /nextcloud/custom_apps/notify_push/bin/"$CPU_ARCH"/notify_push ]; then
exit 1
fi
# Add a timeout of 15s to hopefully get rid of the first error that is logged if apache is not there yet
sleep 15
echo "notify-push was started"
# Set sensitive values as env

View File

@@ -167,25 +167,29 @@ if [ -f "/var/lib/postgresql/data/postgresql.conf" ]; then
fi
fi
do_database_dump() {
set -x
rm -f "$DUMP_FILE.temp"
touch "$DUMP_DIR/export.failed"
if pg_dump --username "$POSTGRES_USER" "$POSTGRES_DB" > "$DUMP_FILE.temp"; then
rm -f "$DUMP_FILE"
mv "$DUMP_FILE.temp" "$DUMP_FILE"
pg_ctl stop -m fast
rm "$DUMP_DIR/export.failed"
echo 'Database dump successful!'
set +x
exit 0
else
pg_ctl stop -m fast
echo "Database dump unsuccessful!"
set +x
exit 1
fi
}
# Catch docker stop attempts
trap 'true' SIGINT SIGTERM
trap do_database_dump SIGINT SIGTERM
# Start the database
exec docker-entrypoint.sh postgres &
wait $!
# Continue with shutdown procedure: do database dump, etc.
rm -f "$DUMP_FILE.temp"
touch "$DUMP_DIR/export.failed"
if pg_dump --username "$POSTGRES_USER" "$POSTGRES_DB" > "$DUMP_FILE.temp"; then
rm -f "$DUMP_FILE"
mv "$DUMP_FILE.temp" "$DUMP_FILE"
pg_ctl stop -m fast
rm "$DUMP_DIR/export.failed"
echo 'Database dump successful!'
exit 0
else
pg_ctl stop -m fast
echo "Database dump unsuccessful!"
exit 1
fi

View File

@@ -1,4 +1,4 @@
FROM python:3.12.0-alpine3.18
FROM python:3.12.1-alpine3.18
COPY --chmod=775 start.sh /start.sh
@@ -26,7 +26,7 @@ RUN set -ex; \
build-base \
linux-headers; \
# chromium chromium-chromedriver?
apk add --no-cache geckodriver --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing; \
apk add --no-cache geckodriver --repository http://dl-cdn.alpinelinux.org/alpine/edge/community; \
useradd -d /tmp --system recording; \
# Give root a random password
echo "root:$(openssl rand -base64 12)" | chpasswd; \

View File

@@ -1,9 +1,9 @@
FROM nats:2.10.6-scratch as nats
FROM nats:2.10.7-scratch as nats
FROM eturnal/eturnal:1.12.0 AS eturnal
FROM strukturag/nextcloud-spreed-signaling:1.2.1 as signaling
FROM strukturag/nextcloud-spreed-signaling:1.2.2 as signaling
FROM alpine:3.18.5 as janus
ARG JANUS_VERSION=v0.14.0
ARG JANUS_VERSION=v0.14.1
WORKDIR /src
RUN set -ex; \
apk add --no-cache \

View File

@@ -2,8 +2,6 @@
This container bundles LibreTranslate and auto-configures it for you.
### Notes
- Please note that this community container is currently not working since its integration app is not yet compatible with Nextcloud 27 (Hub 6). You can follow the progress here: https://github.com/v1r0x/integration_libretranslate/issues/1
- After the initial startup is done, you might want to change the default language to translate from and to via:
```bash
# Adjust the values `en` and `de` in commands below accordingly

View File

@@ -5,10 +5,13 @@ This container bundles stalwart mail server and auto-configures it for you.
- This is only intended to run on a VPS with static ip-address.
- Check with `sudo netstat -tulpn` that no other service is using port 25, 143, 465, 578, 993 nor 4190 yet as otherwise the container will fail to start.
- You need to configure a reverse proxy in order to run this container since stalwart needs a dedicated (sub)domain! For that, you might have a look at https://github.com/nextcloud/all-in-one/tree/main/community-containers/caddy.
- Currently, only `mail.$NC_DOMAIN` is supported as subdomain! So if Nextcloud is using `your-domain.com`, vaultwarden will use `mail.your-domain.com`.
- Currently, only `mail.$NC_DOMAIN` is supported as subdomain! So if Nextcloud is using `your-domain.com`, Stalwart will use `mail.your-domain.com`.
- The data of Stalwart will be automatically included in AIOs backup solution!
- After adding and starting the container, you need to run `sudo docker exec -it nextcloud-aio-stalwart configure.sh` and follow https://stalw.art/docs/install/docker/#choose-where-to-store-your-data (1. choose `Local disk`, 2. choose `No, create a new directory for me`, 3. type in your `$NC_DOMAIN` as `domain name` and `mail.$NC_DOMAIN` as `server hostname`. 4. add `DKIM, SPF and DMARC` as advised to your DNS config, 5. Take note of the administrator credentials, 6. Now the config script should exit and automatically restart the container and enable your config.
- Afterwards, you can visit the basic admin settings in `https://your-nc-domain.com/settings/admin` and add the your mail server there.
- After adding and starting the container, you need to run `sudo docker exec -it nextcloud-aio-stalwart configure.sh` and follow https://stalw.art/docs/install/docker/#choose-where-to-store-your-data (1. choose `Local disk using Maildir`, 2. choose `No, create a new directory for me` (or select LDAP if you have an LDAP server), 3. type in your `$NC_DOMAIN` as `domain name` and `mail.$NC_DOMAIN` as `server hostname`. 4. add `DKIM, SPF and DMARC` as advised to your DNS config, 5. Take note of the administrator credentials, 6. Now the config script should exit and automatically restart the container and enable your config.
- See https://stalw.art/docs/directory/types/memory/ how you can easily create new user accounts. (Alternatively see https://stalw.art/docs/directory/types/ldap if you have an LDAP server). You can edit the config file with `sudo docker exec -it nextcloud-aio-stalwart vi /opt/stalwart-mail/etc/config.toml`. Also, you might want to enable logging to stdout so that you can see the stalwart logs in your container logs via `sudo docker exec -it nextcloud-aio-stalwart vi /opt/stalwart-mail/etc/common/tracing.toml` (you need to restart the container afterwards with `sudo docker restart nextcloud-aio-stalwart` in order to apply the settings).
- Afterwards, you can visit the basic admin settings in `https://your-nc-domain.com/settings/admin` and add the your mail server for outgoing mails there.
- Additionally, you might want to install and configure [snappymail](https://apps.nextcloud.com/apps/snappymail) or [mail](https://apps.nextcloud.com/apps/mail) inside Nextcloud in order to use your mail accounts for sending and retrieving mails.
- See https://stalw.art/docs/faq for further faq and docs on the project
- 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

@@ -145,6 +145,7 @@ services:
- REMOVE_DISABLED_APPS=${REMOVE_DISABLED_APPS}
- APACHE_PORT=${APACHE_PORT}
- APACHE_IP_BINDING=${APACHE_IP_BINDING}
stop_grace_period: 600s
restart: unless-stopped
networks:
- nextcloud-aio

View File

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

View File

@@ -57,7 +57,7 @@ spec:
value: nextcloud-aio-talk
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-apache:20231130_081302-latest
image: nextcloud/aio-apache:20231212_115941-latest
name: nextcloud-aio-apache
ports:
- containerPort: {{ .Values.APACHE_PORT }}

View File

@@ -50,7 +50,7 @@ spec:
value: "90"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-clamav:20231130_081302-latest
image: nextcloud/aio-clamav:20231212_115941-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: nextcloud/aio-collabora:20231130_081302-latest
image: nextcloud/aio-collabora:20231212_115941-latest
name: nextcloud-aio-collabora
ports:
- containerPort: 9980

View File

@@ -61,7 +61,7 @@ spec:
value: nextcloud
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-postgresql:20231130_081302-latest
image: nextcloud/aio-postgresql:20231212_115941-latest
name: nextcloud-aio-database
ports:
- containerPort: 5432

View File

@@ -55,7 +55,7 @@ spec:
value: basic
- name: xpack.security.enabled
value: "false"
image: nextcloud/aio-fulltextsearch:20231130_081302-latest
image: nextcloud/aio-fulltextsearch:20231212_115941-latest
name: nextcloud-aio-fulltextsearch
ports:
- containerPort: 9200

View File

@@ -27,7 +27,7 @@ spec:
- env:
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-imaginary:20231130_081302-latest
image: nextcloud/aio-imaginary:20231212_115941-latest
name: nextcloud-aio-imaginary
ports:
- containerPort: 9000

View File

@@ -23,12 +23,12 @@ spec:
io.kompose.service: nextcloud-aio-nextcloud
spec:
initContainers:
- name: delete lost+found
- name: "delete-lost-found"
image: alpine
command:
- rm
- "-rf"
- /nextcloud-aio-nextcloud/lost+found
- "/nextcloud-aio-nextcloud/lost+found"
volumeMounts:
- name: nextcloud-aio-nextcloud-trusted-cacerts
mountPath: /nextcloud-aio-nextcloud-trusted-cacerts
@@ -70,6 +70,8 @@ spec:
value: "{{ .Values.APPS_ALLOWLIST }}"
- name: ADDITIONAL_TRUSTED_PROXY
value: "{{ .Values.ADDITIONAL_TRUSTED_PROXY }}"
- name: SERVERINFO_TOKEN
value: "{{ .Values.SERVERINFO_TOKEN }}"
- name: ADDITIONAL_APKS
value: "{{ .Values.NEXTCLOUD_ADDITIONAL_APKS }}"
- name: ADDITIONAL_PHP_EXTENSIONS
@@ -156,7 +158,7 @@ spec:
value: "{{ .Values.TIMEZONE }}"
- name: UPDATE_NEXTCLOUD_APPS
value: "{{ .Values.UPDATE_NEXTCLOUD_APPS }}"
image: nextcloud/aio-nextcloud:20231130_081302-latest
image: nextcloud/aio-nextcloud:20231212_115941-latest
name: nextcloud-aio-nextcloud
ports:
- containerPort: 9000
@@ -171,6 +173,7 @@ spec:
- mountPath: /usr/local/share/ca-certificates
name: nextcloud-aio-nextcloud-trusted-cacerts
readOnly: true
terminationGracePeriodSeconds: 600
volumes:
- name: nextcloud-aio-nextcloud
persistentVolumeClaim:

View File

@@ -50,7 +50,7 @@ spec:
value: nextcloud-aio-redis
- name: REDIS_HOST_PASSWORD
value: "{{ .Values.REDIS_PASSWORD }}"
image: nextcloud/aio-notify-push:20231130_081302-latest
image: nextcloud/aio-notify-push:20231212_115941-latest
name: nextcloud-aio-notify-push
ports:
- containerPort: 7867

View File

@@ -43,7 +43,7 @@ spec:
value: "{{ .Values.ONLYOFFICE_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-onlyoffice:20231130_081302-latest
image: nextcloud/aio-onlyoffice:20231212_115941-latest
name: nextcloud-aio-onlyoffice
ports:
- containerPort: 80

View File

@@ -38,7 +38,7 @@ spec:
value: "{{ .Values.REDIS_PASSWORD }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-redis:20231130_081302-latest
image: nextcloud/aio-redis:20231212_115941-latest
name: nextcloud-aio-redis
ports:
- containerPort: 6379

View File

@@ -37,7 +37,7 @@ spec:
value: "{{ .Values.TURN_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-talk:20231130_081302-latest
image: nextcloud/aio-talk:20231212_115941-latest
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: nextcloud/aio-talk-recording:20231130_081302-latest
image: nextcloud/aio-talk-recording:20231212_115941-latest
name: nextcloud-aio-talk-recording
ports:
- containerPort: 1234

View File

@@ -100,12 +100,12 @@ cat << EOL > /tmp/initcontainers.clamav
EOL
cat << EOL > /tmp/initcontainers.nextcloud
initContainers:
- name: delete lost+found
- name: "delete-lost-found"
image: alpine
command:
- rm
- "-rf"
- /nextcloud-aio-nextcloud/lost+found
- "/nextcloud-aio-nextcloud/lost+found"
volumeMountsInitRmLostFound:
- name: init-volumes
image: alpine
@@ -255,6 +255,8 @@ cat << EOL > /tmp/additional.config
value: "{{ .Values.APPS_ALLOWLIST }}"
- name: ADDITIONAL_TRUSTED_PROXY
value: "{{ .Values.ADDITIONAL_TRUSTED_PROXY }}"
- name: SERVERINFO_TOKEN
value: "{{ .Values.SERVERINFO_TOKEN }}"
EOL
# shellcheck disable=SC1083
find ./ -name '*nextcloud-deployment.yaml' -exec sed -i "/^.*\- env:/r /tmp/additional.config" \{} \;
@@ -300,6 +302,7 @@ cat << ADDITIONAL_CONFIG >> /tmp/sample.conf
NAMESPACE: default # By changing this, you can adjust the namespace of the installation which allows to install multiple instances on one kubernetes cluster
SUBSCRIPTION_KEY: # This allows to set the Nextcloud Enterprise key via ENV
SERVERINFO_TOKEN: # This allows to set the serverinfo app token for monitoring your Nextcloud via the serverinfo app
APPS_ALLOWLIST: # This allows to configure allowed apps that will be shown in Nextcloud's Appstore. You need to enter the app-IDs of the apps here and separate them with spaces. E.g. 'files richdocuments'
ADDITIONAL_TRUSTED_PROXY: # Allows to add one additional ip-address to Nextcloud's trusted proxies and to the Office WOPI-allowlist automatically. Set it e.g. like this: 'your.public.ip-address'. You can also use an ip-range here.
SMTP_HOST: # (empty by default): The hostname of the SMTP server.

View File

@@ -48,6 +48,7 @@ REDIS_STORAGE_SIZE: 1Gi # You can change the size of the redis volume that
NAMESPACE: default # By changing this, you can adjust the namespace of the installation which allows to install multiple instances on one kubernetes cluster
SUBSCRIPTION_KEY: # This allows to set the Nextcloud Enterprise key via ENV
SERVERINFO_TOKEN: # This allows to set the serverinfo app token for monitoring your Nextcloud via the serverinfo app
APPS_ALLOWLIST: # This allows to configure allowed apps that will be shown in Nextcloud's Appstore. You need to enter the app-IDs of the apps here and separate them with spaces. E.g. 'files richdocuments'
ADDITIONAL_TRUSTED_PROXY: # Allows to add one additional ip-address to Nextcloud's trusted proxies and to the Office WOPI-allowlist automatically. Set it e.g. like this: 'your.public.ip-address'. You can also use an ip-range here.
SMTP_HOST: # (empty by default): The hostname of the SMTP server.

View File

@@ -572,18 +572,19 @@ class DockerActionManager
]
);
} catch (RequestException $e) {
throw $e;
throw new \Exception("Could not start container " . $container->GetIdentifier() . ": " . $e->getMessage());
}
}
public function PullImage(Container $container) : void
{
$imageName = urlencode($this->BuildImageName($container));
$url = $this->BuildApiUrl(sprintf('images/create?fromImage=%s', $imageName));
$imageName = $this->BuildImageName($container);
$encodedImageName = urlencode($imageName);
$url = $this->BuildApiUrl(sprintf('images/create?fromImage=%s', $encodedImageName));
try {
$this->guzzleClient->post($url);
$imageUrl = $this->BuildApiUrl(sprintf('images/%s/json', $imageName));
$imageUrl = $this->BuildApiUrl(sprintf('images/%s/json', $encodedImageName));
$this->guzzleClient->get($imageUrl)->getBody()->getContents();
} catch (\Throwable $e) {
throw new \Exception("Could not pull image " . $imageName . ". Please run 'sudo docker exec -it nextcloud-aio-mastercontainer docker pull " . $imageName . "' in order to find out why it failed.");

View File

@@ -16,7 +16,7 @@
</header>
<div class="content">
<h1>Nextcloud AIO v7.8.0</h1>
<h1>Nextcloud AIO v7.9.0</h1>
{# Add 2nd tab warning #}
<script type="text/javascript" src="second-tab-warning.js"></script>
@@ -55,11 +55,11 @@
{% endfor %}
{% if is_daily_backup_running == true %}
<span class="status running"></span> Daily backup currently running. (<a href="/api/docker/logs?id=nextcloud-aio-mastercontainer">Logs</a>)<br /><br />
<span class="status running"></span> Daily backup currently running. (<a href="/api/docker/logs?id=nextcloud-aio-mastercontainer" target="_blank" rel="noopener">Logs</a>)<br /><br />
{% if automatic_updates == true %}
It will update your containers, the mastercontainer and on saturdays your Nextcloud apps if the backup is successful.<br /><br />
{% if is_mastercontainer_update_available == true %}
Since the mastercontainer gets updated, it will restart the container which will make it unavailable for a moment. (<a href="/api/docker/logs?id=nextcloud-aio-watchtower">Logs</a>)<br /><br />
Since the mastercontainer gets updated, it will restart the container which will make it unavailable for a moment. (<a href="/api/docker/logs?id=nextcloud-aio-watchtower" target="_blank" rel="noopener">Logs</a>)<br /><br />
{% endif %}
{% endif %}
{% if has_update_available == false %}
@@ -69,7 +69,7 @@
{% endif %}
<a href="" class="button reload">Reload ↻</a><br/>
{% elseif isWatchtowerRunning == true %}
<span class="status running"></span> Mastercontainer update currently running. It will restart the mastercontainer soon which will make it unavailable for a moment. Please wait until that's done. (<a href="/api/docker/logs?id=nextcloud-aio-watchtower">Logs</a>)<br /><br />
<span class="status running"></span> Mastercontainer update currently running. It will restart the mastercontainer soon which will make it unavailable for a moment. Please wait until that's done. (<a href="/api/docker/logs?id=nextcloud-aio-watchtower" target="_blank" rel="noopener">Logs</a>)<br /><br />
<a href="" class="button reload">Reload ↻</a><br/>
{% else %}
{% if is_backup_container_running == false and domain == "" %}
@@ -86,7 +86,7 @@
</form>
{% else %}
{% if borg_backup_host_location == '' and borg_restore_password == '' %}
Nextcloud AIO stands for Nextcloud All-in-One and provides easy deployment and maintenance with most features included in this one Nextcloud instance.<br><br>
The official Nextcloud installation method. Nextcloud All-in-One provides easy deployment and maintenance with most features included in this one Nextcloud instance.<br><br>
You can either create a new AIO instance or restore a former AIO instance from backup. See the two sections below.<br><br>
{{ include('includes/aio-config.twig') }}
<h2>New AIO instance</h2>
@@ -128,7 +128,7 @@
{% if borg_backup_host_location != '' and borg_restore_password != '' %}
{% if borg_backup_mode in ['test', 'check'] %}
{% if backup_exit_code > 0 %}
<span class="status error"></span> Last {{ borg_backup_mode }} failed! (<a href="/api/docker/logs?id=nextcloud-aio-borgbackup">Logs</a>)<br /><br />
<span class="status error"></span> Last {{ borg_backup_mode }} failed! (<a href="/api/docker/logs?id=nextcloud-aio-borgbackup" target="_blank" rel="noopener">Logs</a>)<br /><br />
{% if borg_backup_mode == 'test' %}
Please adjust the path and/or the password in order to make it work!<br><br>
{% elseif borg_backup_mode == 'check' %}
@@ -144,7 +144,7 @@
</details><br />
{% endif %}
{% elseif backup_exit_code == 0 %}
<span class="status success"></span> Last {{ borg_backup_mode }} successful! (<a href="/api/docker/logs?id=nextcloud-aio-borgbackup">Logs</a>)<br /><br />
<span class="status success"></span> Last {{ borg_backup_mode }} successful! (<a href="/api/docker/logs?id=nextcloud-aio-borgbackup" target="_blank" rel="noopener">Logs</a>)<br /><br />
{% if borg_backup_mode == 'test' %}
Feel free to check the integrity of the backup archive below before starting the restore process in order to make double-sure that the restore will work. This can take a long time though depending on the size of the backup archive and is thus not required.<br><br>
<form method="POST" action="/api/docker/backup-check" class="xhr">
@@ -167,7 +167,7 @@
{% endif %}
{% elseif borg_backup_mode == 'restore' %}
{% if backup_exit_code > 0 %}
<span class="status error"></span> Last restore failed! (<a href="/api/docker/logs?id=nextcloud-aio-borgbackup">Logs</a>)<br /><br />
<span class="status error"></span> Last restore failed! (<a href="/api/docker/logs?id=nextcloud-aio-borgbackup" target="_blank" rel="noopener">Logs</a>)<br /><br />
Somehow the restore failed which is unexpected! Please adjust the path and password, test it and try to restore again!
{% endif %}
{% endif %}
@@ -198,14 +198,14 @@
{% if was_start_button_clicked == true %}
{% if current_channel starts with 'latest' or current_channel starts with 'beta' or current_channel starts with 'develop' %}
You are running the <a href="https://github.com/nextcloud/all-in-one#how-to-switch-the-channel"><b>{{ current_channel }}</b></a> channel. (<a href="/api/docker/logs?id=nextcloud-aio-mastercontainer">Logs</a>)<br><br>
You are running the <a href="https://github.com/nextcloud/all-in-one#how-to-switch-the-channel"><b>{{ current_channel }}</b></a> channel. (<a href="/api/docker/logs?id=nextcloud-aio-mastercontainer" target="_blank" rel="noopener">Logs</a>)<br><br>
{% else %}
No channel was found. This means that AIO is not able to update itself and its component and will also not be able to report about updates. Updates need to be done externally.
{% endif %}
{% endif %}
{% if is_backup_container_running == true %}
<span class="status running"></span> Backup container is currently running. (<a href="/api/docker/logs?id=nextcloud-aio-borgbackup">Logs</a>)<br /><br />
<span class="status running"></span> Backup container is currently running. (<a href="/api/docker/logs?id=nextcloud-aio-borgbackup" target="_blank" rel="noopener">Logs</a>)<br /><br />
<a href="" class="button reload">Reload ↻</a><br/><br>
{% endif %}
@@ -257,21 +257,21 @@
<li>
{% if class(container.GetStartingState()) == 'AIO\\Container\\State\\StartingState' %}
<span class="status running"></span>
<span>{{ container.GetDisplayName() }} (<a href="/api/docker/logs?id={{ container.GetIdentifier() }}">Starting</a>)
<span>{{ container.GetDisplayName() }} (<a href="/api/docker/logs?id={{ container.GetIdentifier() }}" target="_blank" rel="noopener">Starting</a>)
{% if container.GetDocumentation() != '' %}
(<a href="{{ container.GetDocumentation() }}">docs</a>)
{% endif %}
</span>
{% elseif class(container.GetRunningState()) == 'AIO\\Container\\State\\RunningState' %}
<span class="status success"></span>
<span>{{ container.GetDisplayName() }} (<a href="/api/docker/logs?id={{ container.GetIdentifier() }}">Running</a>)
<span>{{ container.GetDisplayName() }} (<a href="/api/docker/logs?id={{ container.GetIdentifier() }}" target="_blank" rel="noopener">Running</a>)
{% if container.GetDocumentation() != '' %}
(<a href="{{ container.GetDocumentation() }}">docs</a>)
{% endif %}
</span>
{% else %}
<span class="status error"></span>
<span>{{ container.GetDisplayName() }} (<a href="/api/docker/logs?id={{ container.GetIdentifier() }}">Stopped</a>)
<span>{{ container.GetDisplayName() }} (<a href="/api/docker/logs?id={{ container.GetIdentifier() }}" target="_blank" rel="noopener">Stopped</a>)
{% if container.GetDocumentation() != '' %}
(<a href="{{ container.GetDocumentation() }}">docs</a>)
{% endif %}
@@ -383,7 +383,7 @@
{% if is_backup_container_running == false %}
<h2>Backup and restore</h2>
{% if backup_exit_code > 0 %}
<span class="status error"></span> Last {{ borg_backup_mode }} failed! (<a href="/api/docker/logs?id=nextcloud-aio-borgbackup">Logs</a>)<br /><br />
<span class="status error"></span> Last {{ borg_backup_mode }} failed! (<a href="/api/docker/logs?id=nextcloud-aio-borgbackup" target="_blank" rel="noopener">Logs</a>)<br /><br />
{% if borg_backup_mode == "check" %}
The backup check was not successful which might points towards a corrupt archive (look at the logs). If that should be the case, you can try to fix it by following <a href="https://borgbackup.readthedocs.io/en/stable/faq.html#i-get-an-integrityerror-or-similar-what-now"><b>this documentation</b></a><br /><br />
<details>
@@ -407,9 +407,9 @@
{% endif %}
{% elseif backup_exit_code == 0 %}
{% if borg_backup_mode == "backup" %}
<span class="status success"></span> Last {{ borg_backup_mode }} successful on {{ last_backup_time }} UTC! (<a href="/api/docker/logs?id=nextcloud-aio-borgbackup">Logs</a>)<br /><br />
<span class="status success"></span> Last {{ borg_backup_mode }} successful on {{ last_backup_time }} UTC! (<a href="/api/docker/logs?id=nextcloud-aio-borgbackup" target="_blank" rel="noopener">Logs</a>)<br /><br />
{% else %}
<span class="status success"></span> Last {{ borg_backup_mode }} successful! (<a href="/api/docker/logs?id=nextcloud-aio-borgbackup">Logs</a>)<br /><br />
<span class="status success"></span> Last {{ borg_backup_mode }} successful! (<a href="/api/docker/logs?id=nextcloud-aio-borgbackup" target="_blank" rel="noopener">Logs</a>)<br /><br />
{% endif %}
{% endif %}
{% endif %}

View File

@@ -5,7 +5,7 @@
<div class="login">
<img src="/img/logo-blue.svg" style="margin-left: auto;margin-right: auto;display: block;">
<h1>Nextcloud AIO setup</h1>
<p>Nextcloud AIO stands for Nextcloud All-in-One and provides easy deployment and maintenance with most features included in this one Nextcloud instance.</p>
<p>The official Nextcloud installation method. Nextcloud All-in-One provides easy deployment and maintenance with most features included in this one Nextcloud instance.</p>
<p>Please note down the password to access the AIO interface and don't lose it!</p>
<strong>Password</strong><br/> <span class="monospace">{{ password }}</span><br>
<a href="/" class="button" target="_blank" rel="noopener">Open Nextcloud AIO login ↗</a>

View File

@@ -1,5 +1,5 @@
# Nextcloud All-in-One
Nextcloud AIO stands for Nextcloud All-in-One and provides easy deployment and maintenance with most features included in this one Nextcloud instance.
The official Nextcloud installation method. Nextcloud AIO provides easy deployment and maintenance with most features included in this one Nextcloud instance.
Included are:
- Nextcloud
@@ -252,7 +252,7 @@ No and it will not be added. If you only want to run it locally, you may have a
No and it will not be added. However you can use [this feature](https://github.com/nextcloud/all-in-one/blob/main/multiple-instances.md) in order to create multiple AIO instances, one for each domain.
### Are other ports than the default 443 for Nextcloud supported?
No and they will not be. Please use a dedicated domain for Nextcloud and set it up correctly by following the [reverse proxy documentation](./reverse-proxy.md). If port 443 and/or 80 is blocked for you, you may use the ACME DNS-challenge or a Cloudflare Tunnel.
No and they will not be. Please use a dedicated domain for Nextcloud and set it up correctly by following the [reverse proxy documentation](./reverse-proxy.md). If port 443 and/or 80 is blocked for you, you may use the a Cloudflare Tunnel if you want to publish it online. You could also use the ACME DNS-challenge to get a valid certificate. However in all cases the Nextcloud interface will redirect you to port 443.
### Can I run Nextcloud in a subdirectory on my domain?
No and it will not be added. Please use a dedicated domain for Nextcloud and set it up correctly by following the [reverse proxy documentation](./reverse-proxy.md).
@@ -707,7 +707,7 @@ If you want to use the user_sql app, the easiest way is to create an additional
It is possible to install any of these to get a GUI for your AIO database. The pgAdmin container is recommended. You can get some docs on it here: https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html. For the container to connect to the aio-database, you need to connect the container to the docker network `nextcloud-aio` and use `nextcloud-aio-database` as database host, `oc_nextcloud` as database username and the password that you get when running `sudo docker exec nextcloud-aio-nextcloud grep dbpassword config/config.php` as the password. Apart from that there is now a way for the community to add containers: https://github.com/nextcloud/all-in-one/discussions/3061#discussioncomment-7307045
### Mail server
You can configure one yourself by using either of these three recommended projects: [Docker Mailserver](https://github.com/docker-mailserver/docker-mailserver/#docker-mailserver), [Mailu](https://github.com/Mailu/Mailu), [Maddy Mail Server](https://github.com/foxcpp/maddy#maddy-mail-server) or [Mailcow](https://github.com/mailcow/mailcow-dockerized#mailcow-dockerized-------). Docker Mailserver and Maddy Mail Server are probably a bit easier to set up as it is possible to run them using only one container but Mailcow and Mailu both have more features. Apart from that there is now a way for the community to add containers: https://github.com/nextcloud/all-in-one/discussions/356#discussioncomment-7133547
You can configure one yourself by using either of these four recommended projects: [Docker Mailserver](https://github.com/docker-mailserver/docker-mailserver/#docker-mailserver), [Mailu](https://github.com/Mailu/Mailu), [Maddy Mail Server](https://github.com/foxcpp/maddy#maddy-mail-server), [Mailcow](https://github.com/mailcow/mailcow-dockerized#mailcow-dockerized-------) or [Stalwart](https://stalw.art/). There is now a community container which allows to easily add Stalwart Mail server to AIO: https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart
### How to migrate from an already existing Nextcloud installation to Nextcloud AIO?
Please see the following documentation on this: [migration.md](https://github.com/nextcloud/all-in-one/blob/main/migration.md)