Compare commits

...

55 Commits

Author SHA1 Message Date
Simon L.
4ce04eba4a Merge pull request #5284 from nextcloud/dependabot/docker/Containers/whiteboard/nextcloud-releases/whiteboard-v1.0.2
build(deps): bump nextcloud-releases/whiteboard from v1.0.1 to v1.0.2 in /Containers/whiteboard
2024-09-18 15:31:09 +02:00
dependabot[bot]
eacca1ad5e build(deps): bump nextcloud-releases/whiteboard
Bumps nextcloud-releases/whiteboard from v1.0.1 to v1.0.2.

---
updated-dependencies:
- dependency-name: nextcloud-releases/whiteboard
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-18 13:29:37 +00:00
Simon L.
973774a401 Merge pull request #5283 from nextcloud/aio-dependency-update
PHP dependency updates
2024-09-18 14:23:24 +02:00
szaimen
abcf8bfeb9 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-18 12:06:06 +00:00
Simon L.
bf2f0fd65e Merge pull request #5279 from nextcloud/enh/noid/whiteboard-read-only
whiteboard: make the container read-only
2024-09-17 14:44:54 +02:00
Simon L.
89984e6c92 whiteboard: make the container read-only
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-09-17 12:11:44 +02:00
Simon L.
e09aacd29e Revert "whiteboard needs to have a trailing slash"
This reverts commit 2faf4f2452.
2024-09-17 11:44:17 +02:00
Simon L.
2faf4f2452 whiteboard needs to have a trailing slash
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-09-17 11:43:44 +02:00
Simon L.
6d6f50c966 always configure whiteboard
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-09-17 10:43:22 +02:00
Simon L.
2aa8aa7dda change to root user to install bash
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-09-17 10:40:03 +02:00
Simon L.
f529714a07 fix whiteboard container
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-09-17 10:35:54 +02:00
Simon L.
a2f7a221d7 increase to 9.6.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-09-17 10:18:35 +02:00
Simon L.
b3f63e5f74 Merge pull request #5274 from nextcloud/enh/5063/add-whiteboard
add whiteboard container
2024-09-17 10:17:28 +02:00
Simon L.
8d062f7461 use exec for npm run
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-09-17 10:10:54 +02:00
Simon L.
5d3afccb71 Merge pull request #5275 from nextcloud/automated/noid/psalm-baseline-update
[Automated] Update psalm-baseline.xml
2024-09-17 07:56:08 +02:00
nextcloud-command
f803cea6f1 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2024-09-17 04:09:35 +00:00
Simon L.
3218e429ec add whiteboard to readme
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-09-16 18:08:35 +02:00
Simon L.
2ed94446d7 add whiteboard also to manual-install readme
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-09-16 18:05:46 +02:00
Simon L.
546f11a654 add whiteboard container
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-09-16 17:59:15 +02:00
Simon L.
9a4f132998 Merge pull request #5216 from nextcloud/aio-dependency-update
PHP dependency updates
2024-09-16 16:09:30 +02:00
Simon L.
5d4cbeccd4 Merge pull request #5270 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.4.1-5
build(deps): bump clamav/clamav from 1.4.0-1 to 1.4.1-5 in /Containers/clamav
2024-09-16 16:08:33 +02:00
Simon L.
72b892088a Merge pull request #5260 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-24.04.7.2.1
build(deps): bump collabora/code from 24.04.7.1.2 to 24.04.7.2.1 in /Containers/collabora
2024-09-16 16:08:19 +02:00
Simon L.
78431692ee Merge pull request #5259 from nextcloud/nextcloud-container-update
Nextcloud dependency update
2024-09-16 16:07:59 +02:00
Simon L.
959f067598 Merge pull request #5250 from nextcloud/enh/noid/improve-borg-backup-check
borgbackup: also check for .ncdata
2024-09-16 16:06:21 +02:00
Simon L.
1911b573d4 Merge pull request #5246 from nextcloud/talk-container-update
talk container update
2024-09-16 16:06:03 +02:00
Simon L.
d84c7bf704 Merge pull request #5238 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-27.2.1-cli
build(deps): bump docker from 27.2.0-cli to 27.2.1-cli in /Containers/mastercontainer
2024-09-16 16:05:51 +02:00
Simon L.
9e72a29726 Merge pull request #5237 from nextcloud/dependabot/docker/Containers/talk-recording/python-3.12.6-alpine3.20
build(deps): bump python from 3.12.5-alpine3.20 to 3.12.6-alpine3.20 in /Containers/talk-recording
2024-09-16 16:05:28 +02:00
Simon L.
5a910a33f0 Merge pull request #5236 from nextcloud/dependabot/docker/Containers/talk/alpine-3.20.3
build(deps): bump alpine from 3.20.2 to 3.20.3 in /Containers/talk
2024-09-16 16:05:00 +02:00
Simon L.
649ac3d226 Merge pull request #5231 from nextcloud/dependabot/docker/Containers/notify-push/alpine-3.20.3
build(deps): bump alpine from 3.20.2 to 3.20.3 in /Containers/notify-push
2024-09-16 16:04:37 +02:00
Simon L.
c29911f006 Merge pull request #5230 from nextcloud/dependabot/docker/Containers/imaginary/alpine-3.20.3
build(deps): bump alpine from 3.20.2 to 3.20.3 in /Containers/imaginary
2024-09-16 16:04:24 +02:00
Simon L.
8b564a74c5 Merge pull request #5229 from nextcloud/dependabot/docker/Containers/watchtower/alpine-3.20.3
build(deps): bump alpine from 3.20.2 to 3.20.3 in /Containers/watchtower
2024-09-16 16:04:13 +02:00
Simon L.
e6119332ee Merge pull request #5228 from nextcloud/dependabot/docker/Containers/domaincheck/alpine-3.20.3
build(deps): bump alpine from 3.20.2 to 3.20.3 in /Containers/domaincheck
2024-09-16 16:04:00 +02:00
Simon L.
8261ce0ad9 Merge pull request #5227 from nextcloud/dependabot/docker/Containers/borgbackup/alpine-3.20.3
build(deps): bump alpine from 3.20.2 to 3.20.3 in /Containers/borgbackup
2024-09-16 16:03:49 +02:00
Simon L.
e94525eb5f Merge pull request #5215 from nextcloud/dependabot/docker/Containers/onlyoffice/onlyoffice/documentserver-8.1.3.2
build(deps): bump onlyoffice/documentserver from 8.1.1.2 to 8.1.3.2 in /Containers/onlyoffice
2024-09-16 16:03:07 +02:00
Simon L.
af1483a4d4 Merge pull request #5214 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.15.1
build(deps): bump elasticsearch from 8.15.0 to 8.15.1 in /Containers/fulltextsearch
2024-09-16 16:02:51 +02:00
Simon L.
eb26e68b0c Merge pull request #5213 from nextcloud/dependabot/docker/Containers/imaginary/golang-1.23.1-alpine3.20
build(deps): bump golang from 1.23.0-alpine3.20 to 1.23.1-alpine3.20 in /Containers/imaginary
2024-09-16 16:02:37 +02:00
Simon L.
3c8a262fd7 Merge pull request #5208 from nextcloud/dependabot/docker/Containers/docker-socket-proxy/haproxy-3.0.4-alpine
build(deps): bump haproxy from 3.0.3-alpine to 3.0.4-alpine in /Containers/docker-socket-proxy
2024-09-16 16:00:41 +02:00
dependabot[bot]
50b56ed363 build(deps): bump clamav/clamav in /Containers/clamav
Bumps clamav/clamav from 1.4.0-1 to 1.4.1-5.

---
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-09-16 12:43:39 +00:00
szaimen
8761289d06 nextcloud-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-14 12:09:16 +00:00
szaimen
343db3de13 talk-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-14 12:03:23 +00:00
szaimen
9982bb2156 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-14 12:02:46 +00:00
dependabot[bot]
7a39ec46c6 build(deps): bump collabora/code in /Containers/collabora
Bumps collabora/code from 24.04.7.1.2 to 24.04.7.2.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-13 12:36:49 +00:00
Simon L.
5204ea633f borgbackup: also check for .ncdata
Signed-off-by: Simon L. <szaimen@e.mail.de>
2024-09-12 16:37:59 +02:00
dependabot[bot]
147e81c503 build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 27.2.0-cli to 27.2.1-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-09-10 12:55:58 +00:00
dependabot[bot]
0800fd4458 build(deps): bump python in /Containers/talk-recording
Bumps python from 3.12.5-alpine3.20 to 3.12.6-alpine3.20.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-10 12:51:43 +00:00
dependabot[bot]
d1125142cc build(deps): bump alpine from 3.20.2 to 3.20.3 in /Containers/talk
Bumps alpine from 3.20.2 to 3.20.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-10 12:45:37 +00:00
dependabot[bot]
cf70d53c5b build(deps): bump alpine in /Containers/notify-push
Bumps alpine from 3.20.2 to 3.20.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 12:56:14 +00:00
dependabot[bot]
73ef6db4cf build(deps): bump alpine from 3.20.2 to 3.20.3 in /Containers/imaginary
Bumps alpine from 3.20.2 to 3.20.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 12:55:47 +00:00
dependabot[bot]
9f92af0259 build(deps): bump alpine from 3.20.2 to 3.20.3 in /Containers/watchtower
Bumps alpine from 3.20.2 to 3.20.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 12:40:01 +00:00
dependabot[bot]
d2e330a78f build(deps): bump alpine in /Containers/domaincheck
Bumps alpine from 3.20.2 to 3.20.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 12:39:31 +00:00
dependabot[bot]
939e5fec8a build(deps): bump alpine from 3.20.2 to 3.20.3 in /Containers/borgbackup
Bumps alpine from 3.20.2 to 3.20.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 12:36:31 +00:00
dependabot[bot]
f17a27b80c build(deps): bump onlyoffice/documentserver in /Containers/onlyoffice
Bumps onlyoffice/documentserver from 8.1.1.2 to 8.1.3.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-06 12:57:15 +00:00
dependabot[bot]
d6dd6140c3 build(deps): bump elasticsearch in /Containers/fulltextsearch
Bumps elasticsearch from 8.15.0 to 8.15.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-06 12:46:09 +00:00
dependabot[bot]
e92cbc211b build(deps): bump golang in /Containers/imaginary
Bumps golang from 1.23.0-alpine3.20 to 1.23.1-alpine3.20.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-06 12:12:59 +00:00
dependabot[bot]
c701ae38f8 build(deps): bump haproxy in /Containers/docker-socket-proxy
Bumps haproxy from 3.0.3-alpine to 3.0.4-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-05 13:04:31 +00:00
33 changed files with 233 additions and 78 deletions

View File

@@ -183,3 +183,12 @@ updates:
labels:
- 3. to review
- dependencies
- package-ecosystem: "docker"
directory: "/Containers/whiteboard"
schedule:
interval: "daily"
time: "12:00"
open-pull-requests-limit: 10
labels:
- 3. to review
- dependencies

View File

@@ -51,6 +51,12 @@ https://{$ADDITIONAL_TRUSTED_DOMAIN}:443,
reverse_proxy {$TALK_HOST}:8081
}
# Whiteboard
route /whiteboard/* {
uri strip_prefix /whiteboard
reverse_proxy {$WHITEBOARD_HOST}:3002
}
# Nextcloud
route {
header Strict-Transport-Security max-age=31536000;

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM alpine:3.20.2
FROM alpine:3.20.3
RUN set -ex; \
\

View File

@@ -71,8 +71,8 @@ if [ "$BORG_MODE" = backup ]; then
echo "database-dump is missing. Cannot perform backup!"
echo "Please check the database container logs!"
exit 1
elif ! [ -f "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/.ocdata" ]; then
echo "The .ocdata file is missing in Nextcloud datadir which means it is invalid!"
elif ! [ -f "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/.ocdata" ] && ! [ -f "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/.ncdata" ]; then
echo "The .ncdata or .ocdata file is missing in Nextcloud datadir which means it is invalid!"
echo "Is the drive where the datadir is located on still mounted?"
exit 1
fi

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.3/alpine/Dockerfile
FROM clamav/clamav:1.4.0-1
FROM clamav/clamav:1.4.1-5
COPY clamav.conf /clamav.conf
COPY --chmod=775 start.script /start.script

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:24.04.7.1.2
FROM collabora/code:24.04.7.2.1
USER root
ARG DEBIAN_FRONTEND=noninteractive

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM haproxy:3.0.3-alpine
FROM haproxy:3.0.4-alpine
# hadolint ignore=DL3002
USER root

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM alpine:3.20.2
FROM alpine:3.20.3
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache bash lighttpd netcat-openbsd; \

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.15.0
FROM elasticsearch:8.15.1
USER root

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM golang:1.23.0-alpine3.20 AS go
FROM golang:1.23.1-alpine3.20 AS go
ENV IMAGINARY_HASH=6cd9edd1d3fb151eb773c14552886e4fc8e50138
@@ -13,7 +13,7 @@ RUN set -ex; \
build-base; \
go install github.com/h2non/imaginary@"$IMAGINARY_HASH";
FROM alpine:3.20.2
FROM alpine:3.20.3
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache \

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# Docker CLI is a requirement
FROM docker:27.2.0-cli AS docker
FROM docker:27.2.1-cli AS docker
# Caddy is a requirement
FROM caddy:2.8.4-alpine AS caddy

View File

@@ -8,7 +8,7 @@ ENV SOURCE_LOCATION=/usr/src/nextcloud
ENV REDIS_DB_INDEX=0
# AIO settings start # Do not remove or change this line!
ENV NEXTCLOUD_VERSION=29.0.6
ENV NEXTCLOUD_VERSION=29.0.7
ENV AIO_TOKEN=123456
ENV AIO_URL=localhost
# AIO settings end # Do not remove or change this line!

View File

@@ -851,5 +851,22 @@ else
fi
fi
# Whiteboard app
if [ "$WHITEBOARD_ENABLED" = 'yes' ]; then
if ! [ -d "/var/www/html/custom_apps/whiteboard" ]; then
php /var/www/html/occ app:install whiteboard
elif [ "$(php /var/www/html/occ config:app:get whiteboard enabled)" != "yes" ]; then
php /var/www/html/occ app:enable whiteboard
elif [ "$SKIP_UPDATE" != 1 ]; then
php /var/www/html/occ app:update whiteboard
fi
php /var/www/html/occ config:app:set whiteboard collabBackendUrl --value="https://$NC_DOMAIN/whiteboard"
php /var/www/html/occ config:app:set whiteboard jwt_secret_key --value="$WHITEBOARD_SECRET"
else
if [ "$REMOVE_DISABLED_APPS" = yes ] && [ -d "/var/www/html/custom_apps/whiteboard" ]; then
php /var/www/html/occ app:remove whiteboard
fi
fi
# Remove the update skip file always
rm -f "$NEXTCLOUD_DATA_DIR"/skip.update

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM alpine:3.20.2
FROM alpine:3.20.3
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# From https://github.com/ONLYOFFICE/Docker-DocumentServer/blob/master/Dockerfile
FROM onlyoffice/documentserver:8.1.1.2
FROM onlyoffice/documentserver:8.1.3.2
# USER root is probably used

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM python:3.12.5-alpine3.20
FROM python:3.12.6-alpine3.20
COPY --chmod=775 start.sh /start.sh

View File

@@ -2,9 +2,9 @@
FROM nats:2.10.20-scratch AS nats
FROM eturnal/eturnal:1.12.0 AS eturnal
FROM strukturag/nextcloud-spreed-signaling:2.0.0 AS signaling
FROM alpine:3.20.2 AS janus
FROM alpine:3.20.3 AS janus
ARG JANUS_VERSION=v0.14.3
ARG JANUS_VERSION=v0.14.4
WORKDIR /src
RUN set -ex; \
apk add --no-cache \
@@ -34,7 +34,7 @@ RUN set -ex; \
make configs; \
rename -v ".jcfg.sample" ".jcfg" /usr/local/etc/janus/*.jcfg.sample
FROM alpine:3.20.2
FROM alpine:3.20.3
ENV ETURNAL_ETC_DIR="/conf"
COPY --from=janus --chmod=777 --chown=1000:1000 /usr/local /usr/local
COPY --from=eturnal --chmod=777 --chown=1000:1000 /opt/eturnal /opt/eturnal

View File

@@ -2,9 +2,10 @@
# From https://github.com/containrrr/watchtower/blob/main/dockerfiles/Dockerfile.self-contained
FROM containrrr/watchtower:1.7.1 AS watchtower
FROM alpine:3.20.2
FROM alpine:3.20.3
RUN apk upgrade --no-cache -a; \
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache bash
COPY --from=watchtower /watchtower /watchtower

View File

@@ -0,0 +1,14 @@
# syntax=docker/dockerfile:latest
FROM ghcr.io/nextcloud-releases/whiteboard:v1.0.2
USER root
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache bash
USER nobody
COPY --chmod=775 start.sh /start.sh
ENTRYPOINT ["/start.sh"]
LABEL com.centurylinklabs.watchtower.enable="false"

View File

@@ -0,0 +1,17 @@
#!/bin/bash
# Only start container if nextcloud is accessible
while ! nc -z "$REDIS_HOST" 6379; do
echo "Waiting for redis to start..."
sleep 5
done
# Set a default for redis db index
if [ -z "$REDIS_DB_INDEX" ]; then
REDIS_DB_INDEX=0
fi
export REDIS_URL="redis://:$REDIS_HOST_PASSWORD@$REDIS_HOST/$REDIS_DB_INDEX"
# Run it
exec npm run server:start

View File

@@ -30,9 +30,9 @@ Now copy the provided yaml file to a compose.yaml file by running `cp latest.yml
Now you should be ready to go with `sudo docker compose up`.
## Docker profiles
The default profile of `latest.yml` only provide the minimum necessary services: nextcloud, database, redis and apache. To get optional services collabora, talk, talk-recording, clamav, imaginary or fulltextsearch use additional arguments for each of them, for example `--profile collabora`. (Note: there is no clamav image for arm64).
The default profile of `latest.yml` only provide the minimum necessary services: nextcloud, database, redis and apache. To get optional services collabora, talk, whiteboard, talk-recording, clamav, imaginary or fulltextsearch use additional arguments for each of them, for example `--profile collabora`. (Note: there is no clamav image for arm64).
For a complete all-in-one with collabora use `sudo docker compose --profile collabora --profile talk --profile talk-recording --profile clamav --profile imaginary --profile fulltextsearch up`. (Note: there is no clamav image for arm64).
For a complete all-in-one with collabora use `sudo docker compose --profile collabora --profile talk --profile talk-recording --profile clamav --profile imaginary --profile fulltextsearch --profile whiteboard up`. (Note: there is no clamav image for arm64).
## How to update?
Since the AIO containers may change in the future, it is highly recommended to strictly follow the following procedure whenever you want to upgrade your containers.

100
php/composer.lock generated
View File

@@ -997,16 +997,16 @@
},
{
"name": "psr/log",
"version": "3.0.1",
"version": "3.0.2",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
"reference": "79dff0b268932c640297f5208d6298f71855c03e"
"reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/log/zipball/79dff0b268932c640297f5208d6298f71855c03e",
"reference": "79dff0b268932c640297f5208d6298f71855c03e",
"url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
"reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
"shasum": ""
},
"require": {
@@ -1041,9 +1041,9 @@
"psr-3"
],
"support": {
"source": "https://github.com/php-fig/log/tree/3.0.1"
"source": "https://github.com/php-fig/log/tree/3.0.2"
},
"time": "2024-08-21T13:31:24+00:00"
"time": "2024-09-11T13:17:53+00:00"
},
{
"name": "ralouphie/getallheaders",
@@ -2418,16 +2418,16 @@
},
{
"name": "netresearch/jsonmapper",
"version": "v4.4.1",
"version": "v4.5.0",
"source": {
"type": "git",
"url": "https://github.com/cweiske/jsonmapper.git",
"reference": "132c75c7dd83e45353ebb9c6c9f591952995bbf0"
"reference": "8e76efb98ee8b6afc54687045e1b8dba55ac76e5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/132c75c7dd83e45353ebb9c6c9f591952995bbf0",
"reference": "132c75c7dd83e45353ebb9c6c9f591952995bbf0",
"url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8e76efb98ee8b6afc54687045e1b8dba55ac76e5",
"reference": "8e76efb98ee8b6afc54687045e1b8dba55ac76e5",
"shasum": ""
},
"require": {
@@ -2463,22 +2463,22 @@
"support": {
"email": "cweiske@cweiske.de",
"issues": "https://github.com/cweiske/jsonmapper/issues",
"source": "https://github.com/cweiske/jsonmapper/tree/v4.4.1"
"source": "https://github.com/cweiske/jsonmapper/tree/v4.5.0"
},
"time": "2024-01-31T06:18:54+00:00"
"time": "2024-09-08T10:13:13+00:00"
},
{
"name": "nikic/php-parser",
"version": "v4.19.1",
"version": "v4.19.2",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "4e1b88d21c69391150ace211e9eaf05810858d0b"
"reference": "0ed4c8949a32986043e977dbe14776c14d644c45"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4e1b88d21c69391150ace211e9eaf05810858d0b",
"reference": "4e1b88d21c69391150ace211e9eaf05810858d0b",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/0ed4c8949a32986043e977dbe14776c14d644c45",
"reference": "0ed4c8949a32986043e977dbe14776c14d644c45",
"shasum": ""
},
"require": {
@@ -2519,9 +2519,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v4.19.1"
"source": "https://github.com/nikic/PHP-Parser/tree/v4.19.2"
},
"time": "2024-03-17T08:10:35+00:00"
"time": "2024-09-17T19:36:00+00:00"
},
{
"name": "phpdocumentor/reflection-common",
@@ -2700,16 +2700,16 @@
},
{
"name": "phpstan/phpdoc-parser",
"version": "1.30.0",
"version": "1.30.1",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
"reference": "5ceb0e384997db59f38774bf79c2a6134252c08f"
"reference": "51b95ec8670af41009e2b2b56873bad96682413e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/5ceb0e384997db59f38774bf79c2a6134252c08f",
"reference": "5ceb0e384997db59f38774bf79c2a6134252c08f",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/51b95ec8670af41009e2b2b56873bad96682413e",
"reference": "51b95ec8670af41009e2b2b56873bad96682413e",
"shasum": ""
},
"require": {
@@ -2741,9 +2741,9 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
"source": "https://github.com/phpstan/phpdoc-parser/tree/1.30.0"
"source": "https://github.com/phpstan/phpdoc-parser/tree/1.30.1"
},
"time": "2024-08-29T09:54:52+00:00"
"time": "2024-09-07T20:13:05+00:00"
},
{
"name": "sebastian/diff",
@@ -2886,12 +2886,12 @@
"source": {
"type": "git",
"url": "https://github.com/sserbin/twig-linter.git",
"reference": "0b7cc4d61b6cf423ec837a0969ea5e0c8f017ddb"
"reference": "c4cb0d08c8290d8fed541eb027bd85dba90a5914"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sserbin/twig-linter/zipball/0b7cc4d61b6cf423ec837a0969ea5e0c8f017ddb",
"reference": "0b7cc4d61b6cf423ec837a0969ea5e0c8f017ddb",
"url": "https://api.github.com/repos/sserbin/twig-linter/zipball/c4cb0d08c8290d8fed541eb027bd85dba90a5914",
"reference": "c4cb0d08c8290d8fed541eb027bd85dba90a5914",
"shasum": ""
},
"require": {
@@ -2904,7 +2904,7 @@
"require-dev": {
"phpunit/phpunit": "^7.3||^8.2|^9.5",
"squizlabs/php_codesniffer": "^3.3",
"vimeo/psalm": "^4.7"
"vimeo/psalm": "^4.7 || ^5.8"
},
"default-branch": true,
"bin": [
@@ -2934,9 +2934,9 @@
],
"support": {
"issues": "https://github.com/sserbin/twig-linter/issues",
"source": "https://github.com/sserbin/twig-linter/tree/3.1.0"
"source": "https://github.com/sserbin/twig-linter/tree/3.1.1"
},
"time": "2022-06-29T11:06:19+00:00"
"time": "2024-09-09T16:51:23+00:00"
},
{
"name": "symfony/console",
@@ -3164,20 +3164,20 @@
},
{
"name": "symfony/polyfill-intl-grapheme",
"version": "v1.30.0",
"version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
"reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a"
"reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a",
"reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a",
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
"reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
"shasum": ""
},
"require": {
"php": ">=7.1"
"php": ">=7.2"
},
"suggest": {
"ext-intl": "For best performance"
@@ -3222,7 +3222,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0"
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0"
},
"funding": [
{
@@ -3238,24 +3238,24 @@
"type": "tidelift"
}
],
"time": "2024-05-31T15:07:36+00:00"
"time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
"version": "v1.30.0",
"version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
"reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb"
"reference": "3833d7255cc303546435cb650316bff708a1c75c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb",
"reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb",
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c",
"reference": "3833d7255cc303546435cb650316bff708a1c75c",
"shasum": ""
},
"require": {
"php": ">=7.1"
"php": ">=7.2"
},
"suggest": {
"ext-intl": "For best performance"
@@ -3303,7 +3303,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0"
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0"
},
"funding": [
{
@@ -3319,7 +3319,7 @@
"type": "tidelift"
}
],
"time": "2024-05-31T15:07:36+00:00"
"time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/service-contracts",
@@ -3493,16 +3493,16 @@
},
{
"name": "vimeo/psalm",
"version": "5.25.0",
"version": "5.26.1",
"source": {
"type": "git",
"url": "https://github.com/vimeo/psalm.git",
"reference": "01a8eb06b9e9cc6cfb6a320bf9fb14331919d505"
"reference": "d747f6500b38ac4f7dfc5edbcae6e4b637d7add0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/01a8eb06b9e9cc6cfb6a320bf9fb14331919d505",
"reference": "01a8eb06b9e9cc6cfb6a320bf9fb14331919d505",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/d747f6500b38ac4f7dfc5edbcae6e4b637d7add0",
"reference": "d747f6500b38ac4f7dfc5edbcae6e4b637d7add0",
"shasum": ""
},
"require": {
@@ -3523,7 +3523,7 @@
"felixfbecker/language-server-protocol": "^1.5.2",
"fidry/cpu-core-counter": "^0.4.1 || ^0.5.1 || ^1.0.0",
"netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
"nikic/php-parser": "^4.16",
"nikic/php-parser": "^4.17",
"php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0",
"sebastian/diff": "^4.0 || ^5.0 || ^6.0",
"spatie/array-to-xml": "^2.17.0 || ^3.0",
@@ -3599,7 +3599,7 @@
"issues": "https://github.com/vimeo/psalm/issues",
"source": "https://github.com/vimeo/psalm"
},
"time": "2024-06-16T15:08:35+00:00"
"time": "2024-09-08T18:53:08+00:00"
},
{
"name": "wapmorgan/php-deprecation-detector",

View File

@@ -8,7 +8,8 @@
"nextcloud-aio-collabora",
"nextcloud-aio-talk",
"nextcloud-aio-nextcloud",
"nextcloud-aio-notify-push"
"nextcloud-aio-notify-push",
"nextcloud-aio-whiteboard"
],
"display_name": "Apache",
"image": "nextcloud/aio-apache",
@@ -37,7 +38,8 @@
"TZ=%TIMEZONE%",
"APACHE_MAX_SIZE=%APACHE_MAX_SIZE%",
"APACHE_MAX_TIME=%NEXTCLOUD_MAX_TIME%",
"NOTIFY_PUSH_HOST=nextcloud-aio-notify-push"
"NOTIFY_PUSH_HOST=nextcloud-aio-notify-push",
"WHITEBOARD_HOST=nextcloud-aio-whiteboard"
],
"volumes": [
{
@@ -148,7 +150,8 @@
"TURN_SECRET",
"SIGNALING_SECRET",
"FULLTEXTSEARCH_PASSWORD",
"IMAGINARY_SECRET"
"IMAGINARY_SECRET",
"WHITEBOARD_SECRET"
],
"volumes": [
{
@@ -224,7 +227,9 @@
"APACHE_PORT=%APACHE_PORT%",
"ADDITIONAL_TRUSTED_PROXY=%CADDY_IP_ADDRESS%",
"THIS_IS_AIO=true",
"IMAGINARY_SECRET=%IMAGINARY_SECRET%"
"IMAGINARY_SECRET=%IMAGINARY_SECRET%",
"WHITEBOARD_SECRET=%WHITEBOARD_SECRET%",
"WHITEBOARD_ENABLED=%WHITEBOARD_ENABLED%"
],
"stop_grace_period": 600,
"restart": "unless-stopped",
@@ -746,6 +751,40 @@
"cap_drop": [
"NET_RAW"
]
},
{
"container_name": "nextcloud-aio-whiteboard",
"image_tag": "%AIO_CHANNEL%",
"display_name": "Whiteboard",
"image": "nextcloud/aio-whiteboard",
"init": true,
"expose": [
"3002"
],
"internal_port": "3002",
"environment": [
"TZ=%TIMEZONE%",
"NEXTCLOUD_URL=https://%NC_DOMAIN%",
"JWT_SECRET_KEY=%WHITEBOARD_SECRET%",
"STORAGE_STRATEGY=redis",
"REDIS_HOST=nextcloud-aio-redis",
"REDIS_HOST_PASSWORD=%REDIS_PASSWORD%"
],
"secrets": [
"WHITEBOARD_SECRET",
"REDIS_PASSWORD"
],
"restart": "unless-stopped",
"profiles": [
"whiteboard"
],
"read_only": true,
"networks": [
"nextcloud-aio"
],
"cap_drop": [
"NET_RAW"
]
}
]
}

View File

@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="5.25.0@01a8eb06b9e9cc6cfb6a320bf9fb14331919d505"/>
<files psalm-version="5.26.1@d747f6500b38ac4f7dfc5edbcae6e4b637d7add0"/>

View File

@@ -0,0 +1,5 @@
document.addEventListener("DOMContentLoaded", function(event) {
// Whiteboard
let whiteboard = document.getElementById("whiteboard");
whiteboard.disabled = true;
});

View File

@@ -125,6 +125,7 @@ $app->get('/containers', function (Request $request, Response $response, array $
'is_dri_device_enabled' => $configurationManager->isDriDeviceEnabled(),
'is_talk_recording_enabled' => $configurationManager->isTalkRecordingEnabled(),
'is_docker_socket_proxy_enabled' => $configurationManager->isDockerSocketProxyEnabled(),
'is_whiteboard_enabled' => $configurationManager->isWhiteboardEnabled(),
]);
})->setName('profile');
$app->get('/login', function (Request $request, Response $response, array $args) use ($container) {

View File

@@ -66,4 +66,8 @@ document.addEventListener("DOMContentLoaded", function(event) {
dockerSocketProxy.addEventListener('change', makeOptionsFormSubmitVisible);
// dockerSocketProxy.addEventListener('change', handleDockerSocketProxyWarning);
}
// Whiteboard
let whiteboard = document.getElementById("whiteboard");
whiteboard.addEventListener('change', makeOptionsFormSubmitVisible);
});

View File

@@ -95,6 +95,10 @@ class ContainerDefinitionFetcher
if (!$this->configurationManager->isDockerSocketProxyEnabled()) {
continue;
}
} elseif ($entry['container_name'] === 'nextcloud-aio-whiteboard') {
if (!$this->configurationManager->isWhiteboardEnabled()) {
continue;
}
}
$ports = new ContainerPorts();
@@ -200,6 +204,10 @@ class ContainerDefinitionFetcher
if (!$this->configurationManager->isDockerSocketProxyEnabled()) {
continue;
}
} elseif ($value === 'nextcloud-aio-whiteboard') {
if (!$this->configurationManager->isWhiteboardEnabled()) {
continue;
}
}
$dependsOn[] = $value;
}

View File

@@ -120,6 +120,11 @@ class ConfigurationController
} else {
$this->configurationManager->SetDockerSocketProxyEnabledState(0);
}
if (isset($request->getParsedBody()['whiteboard'])) {
$this->configurationManager->SetWhiteboardEnabledState(1);
} else {
$this->configurationManager->SetWhiteboardEnabledState(0);
}
}
if (isset($request->getParsedBody()['delete_collabora_dictionaries'])) {

View File

@@ -164,6 +164,21 @@ class ConfigurationManager
$this->WriteConfig($config);
}
public function isWhiteboardEnabled() : bool {
$config = $this->GetConfig();
if (isset($config['isWhiteboardEnabled']) && $config['isWhiteboardEnabled'] === 1) {
return true;
} else {
return false;
}
}
public function SetWhiteboardEnabledState(int $value) : void {
$config = $this->GetConfig();
$config['isWhiteboardEnabled'] = $value;
$this->WriteConfig($config);
}
public function SetClamavEnabledState(int $value) : void {
$config = $this->GetConfig();
$config['isClamavEnabled'] = $value;

View File

@@ -417,6 +417,12 @@ class DockerActionManager
if (in_array('caddy', $communityContainers, true)) {
$replacements[1] = gethostbyname('nextcloud-aio-caddy');
}
} elseif ($out[1] === 'WHITEBOARD_ENABLED') {
if ($this->configurationManager->isWhiteboardEnabled()) {
$replacements[1] = 'yes';
} else {
$replacements[1] = '';
}
} else {
$secret = $this->configurationManager->GetSecret($out[1]);
if ($secret === "") {

View File

@@ -16,7 +16,7 @@
</header>
<main>
<h1>Nextcloud AIO v9.5.1</h1>
<h1>Nextcloud AIO v9.6.0</h1>
{# Add 2nd tab warning #}
<script type="text/javascript" src="second-tab-warning.js"></script>
@@ -597,6 +597,11 @@
{% else %}
<p><input type="checkbox" id="docker-socket-proxy" name="docker-socket-proxy"><label for="docker-socket-proxy">Docker Socket Proxy (needed for <a href="https://github.com/cloud-py-api/app_api#nextcloud-appapi">Nextcloud App API</a>)</label></p>
{% endif %}
{% if is_whiteboard_enabled == true %}
<p><input type="checkbox" id="whiteboard" name="whiteboard" checked="checked"><label for="whiteboard">Whiteboard</label></p>
{% else %}
<p><input type="checkbox" id="whiteboard" name="whiteboard"><label for="whiteboard">Whiteboard</label></p>
{% endif %}
<input id="options-form-submit" type="submit" value="Save changes" />
<script type="text/javascript" src="options-form-submit.js"></script>
</form>
@@ -612,6 +617,7 @@
<script type="text/javascript" src="disable-imaginary.js"></script>
<script type="text/javascript" src="disable-fulltextsearch.js"></script>
<script type="text/javascript" src="disable-talk-recording.js"></script>
<script type="text/javascript" src="disable-whiteboard.js"></script>
{% endif %}
{% if is_collabora_enabled == true and isAnyRunning == false and was_start_button_clicked == true %}

View File

@@ -11,6 +11,8 @@ Included are:
- Imaginary (optional, for previews of heic, heif, illustrator, pdf, svg, tiff and webp)
- ClamAV (optional, Antivirus backend for Nextcloud)
- Fulltextsearch (optional)
- Whiteboard (optional)
- Docker Socket Proxy (optional, needed for [Nextcloud App API](https://github.com/cloud-py-api/app_api#nextcloud-appapi))
<details><summary>And much more:</summary>
- Simple web interface included that enables easy installation and maintenance