Compare commits

...

77 Commits

Author SHA1 Message Date
Simon L.
dbea2f8393 Merge pull request #7028 from nextcloud/enh/noid/download-from-github
nextcloud: download nextcloud archive file from github instead of download.nextcloud.com
2025-10-24 09:51:04 +02:00
Simon L.
fc9265653e nextcloud: download nextcloud archive file from github instead of download.nextcloud.com
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-10-24 09:48:00 +02:00
Simon L.
8fb2f84440 increase to 11.11.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-10-24 09:29:30 +02:00
Simon L.
de72356bdd Merge pull request #7026 from nextcloud/nextcloud-container-update
Nextcloud dependency update
2025-10-24 09:26:32 +02:00
szaimen
152f1e375b nextcloud-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-24 07:25:45 +00:00
Simon L.
203e26bc92 Merge pull request #7024 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.19.6
build(deps): bump elasticsearch from 8.19.5 to 8.19.6 in /Containers/fulltextsearch
2025-10-24 07:46:19 +02:00
dependabot[bot]
1968cd3b36 build(deps): bump elasticsearch in /Containers/fulltextsearch
Bumps elasticsearch from 8.19.5 to 8.19.6.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-24 04:19:59 +00:00
Simon L.
61866ffb29 Merge pull request #7023 from nextcloud/enh/noid/update-aio-minio
update `nextcloud-aio-minio` to `v2`
2025-10-23 13:58:19 +02:00
Simon L.
c53308ab32 update nextcloud-aio-minio to v2
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-10-23 13:56:56 +02:00
Simon L.
5ad08c27b6 Merge pull request #7020 from nextcloud/aio-dependency-update
PHP dependency updates
2025-10-22 14:05:57 +02:00
szaimen
330ca71de2 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-22 12:03:39 +00:00
Simon L.
46f5a9df3d Merge pull request #7019 from nextcloud/talk-container-update
talk container update
2025-10-21 14:52:15 +02:00
Simon L.
3284385628 Merge pull request #7018 from nextcloud/aio-dependency-update
PHP dependency updates
2025-10-21 14:51:57 +02:00
szaimen
6a54eb5a44 talk-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-21 12:05:17 +00:00
szaimen
1fbe2575d4 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-21 12:03:53 +00:00
Simon L.
c4245657e1 fix typo
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-10-21 11:52:01 +02:00
Simon L.
ec9f6e8f00 Merge pull request #7016 from nextcloud/dependabot/npm_and_yarn/php/tests/multi-a50d7f32cf
build(deps): bump playwright and @playwright/test in /php/tests
2025-10-20 21:18:42 +02:00
Simon L.
89267d7f77 Merge pull request #6983 from winterrific/main
clamav: Add clamav-milter service
2025-10-20 21:17:18 +02:00
dependabot[bot]
4690c8a4df build(deps): bump playwright and @playwright/test in /php/tests
Bumps [playwright](https://github.com/microsoft/playwright) to 1.56.1 and updates ancestor dependency [@playwright/test](https://github.com/microsoft/playwright). These dependencies need to be updated together.


Updates `playwright` from 1.51.1 to 1.56.1
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](https://github.com/microsoft/playwright/compare/v1.51.1...v1.56.1)

Updates `@playwright/test` from 1.51.1 to 1.56.1
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](https://github.com/microsoft/playwright/compare/v1.51.1...v1.56.1)

---
updated-dependencies:
- dependency-name: playwright
  dependency-version: 1.56.1
  dependency-type: indirect
- dependency-name: "@playwright/test"
  dependency-version: 1.56.1
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-20 19:04:20 +00:00
Simon L.
34ba8db5c2 Merge pull request #7003 from nextcloud/enh/noid/max-av-size-unlimited
nextcloud-entrypoint: set max av size back to unlimited by default
2025-10-20 15:05:00 +02:00
Simon L.
1a4c4bd89b Merge pull request #7001 from nextcloud/jtr/refactor-readme-how-to-use
docs: Revise "how to use this" section of README
2025-10-20 14:59:50 +02:00
Josh
79824ac83b docs: add link to TrueNAS SCALE guidance 2025-10-20 08:58:33 -04:00
Josh
fdb34bd01a Merge pull request #6949 from nextcloud/jtr/docs-containers-mastercontainer-readme
docs: Add README for `mastercontainer`
2025-10-20 14:10:25 +02:00
Simon L.
f465e916a4 Merge pull request #7008 from nextcloud/update/nextcloud-exporter
update nextcloud-exporter image tag to 0.9.0
2025-10-20 13:59:10 +02:00
Benjamin Brahmer
c2a040010c update nextcloud-exporter image tag to 0.9.0
Signed-off-by: Benjamin Brahmer <info@b-brahmer.de>
2025-10-18 10:37:00 +02:00
Simon L.
8d67d300d3 nextcloud-entrypoint: set max av size back to unlimited by default
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-10-17 12:38:55 +02:00
Simon L.
3da9c4ff6a Merge pull request #7000 from nextcloud/mastercontainer-bind-localhost
mastercontainer: bind 8000 only to 127.0.0.1
2025-10-17 08:58:59 +02:00
Simon L.
12912c799e Merge pull request #7002 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-25.04.6.2.1
build(deps): bump collabora/code from 25.04.6.1.1 to 25.04.6.2.1 in /Containers/collabora
2025-10-17 08:04:01 +02:00
Zoey
2794fb3a7e apply suggestion
Signed-off-by: Zoey <zoey@z0ey.de>
2025-10-17 07:40:54 +02:00
dependabot[bot]
6624330ce5 build(deps): bump collabora/code in /Containers/collabora
Bumps collabora/code from 25.04.6.1.1 to 25.04.6.2.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-17 04:21:14 +00:00
Josh
15ad146d9c docs: Revise "how to use this" section of README
Reorganized and updated instructions for clarity and approachability.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-10-16 22:42:27 -04:00
Zoey
f996afdb4a mastercontainer: bind 8000 only to 127.0.0.1
In my test it worked

Signed-off-by: Zoey <zoey@z0ey.de>
2025-10-16 21:09:58 +02:00
Simon L.
5dc85b09d4 Merge pull request #6950 from nextcloud/jtr/docs-containers-nextcloud-readme
docs: Add README.md for `nextcloud` container
2025-10-16 20:33:15 +02:00
Ruben D.
3a4dfaa4b6 Change --foreground option from supervisord to milter configuration file
Signed-off-by: Ruben D. <ruben@winterrific.net>
2025-10-16 19:31:16 +02:00
Josh
8ed64db45c fix: add manual install and Helm chart usage context
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-10-16 10:58:21 -04:00
Simon L.
6b3eac0be9 Merge pull request #6990 from nextcloud/dependabot/docker/Containers/talk/nats-2.12.1-scratch
build(deps): bump nats from 2.12.0-scratch to 2.12.1-scratch in /Containers/talk
2025-10-16 09:01:34 +02:00
Simon L.
26e2b63110 update OO
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-10-16 09:00:50 +02:00
Simon L.
615ca69805 Merge pull request #6988 from nextcloud/dependabot/docker/Containers/imaginary/golang-1.25.3-alpine3.22
build(deps): bump golang from 1.25.2-alpine3.22 to 1.25.3-alpine3.22 in /Containers/imaginary
2025-10-16 08:16:24 +02:00
dependabot[bot]
a4320317d5 build(deps): bump nats in /Containers/talk
Bumps nats from 2.12.0-scratch to 2.12.1-scratch.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-16 04:22:53 +00:00
dependabot[bot]
6bdd7bafdf build(deps): bump golang in /Containers/imaginary
Bumps golang from 1.25.2-alpine3.22 to 1.25.3-alpine3.22.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-16 04:22:10 +00:00
Simon L.
bb34681300 Merge pull request #6931 from jameskimmel/patch-1
rp-docs: add link for nginx-proxy
2025-10-15 16:20:13 +02:00
jameskimmel
97af7b63e2 rp-docs: add link for nginx-proxy
Signed-off-by: jameskimmel <17176225+jameskimmel@users.noreply.github.com>
Co-Authored-By: Simon L. <szaimen@e.mail.de>
2025-10-15 16:18:57 +02:00
Simon L.
fcb69db36b Merge pull request #6978 from nextcloud/nextcloud-container-update
Nextcloud dependency update
2025-10-15 16:12:02 +02:00
Simon L.
7bbdac12d9 Merge pull request #6959 from nextcloud/dependabot/docker/Containers/watchtower/alpine-3.22.2
build(deps): bump alpine from 3.22.1 to 3.22.2 in /Containers/watchtower
2025-10-15 16:11:50 +02:00
Simon L.
9608c5c01d Merge pull request #6958 from nextcloud/dependabot/docker/Containers/talk/alpine-3.22.2
build(deps): bump alpine from 3.22.1 to 3.22.2 in /Containers/talk
2025-10-15 16:11:39 +02:00
Simon L.
ba4ac09b46 Merge pull request #6957 from nextcloud/dependabot/docker/Containers/notify-push/alpine-3.22.2
build(deps): bump alpine from 3.22.1 to 3.22.2 in /Containers/notify-push
2025-10-15 16:11:27 +02:00
Simon L.
c867cc2e9f Merge pull request #6956 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-28.5.1-cli
build(deps): bump docker from 28.5.0-cli to 28.5.1-cli in /Containers/mastercontainer
2025-10-15 16:11:14 +02:00
Simon L.
3562ef3fc9 Merge pull request #6955 from nextcloud/dependabot/docker/Containers/imaginary/alpine-3.22.2
build(deps): bump alpine from 3.22.1 to 3.22.2 in /Containers/imaginary
2025-10-15 16:11:04 +02:00
Simon L.
3482a9b317 Merge pull request #6954 from nextcloud/dependabot/docker/Containers/domaincheck/alpine-3.22.2
build(deps): bump alpine from 3.22.1 to 3.22.2 in /Containers/domaincheck
2025-10-15 16:10:52 +02:00
Simon L.
60b8598f8d Merge pull request #6953 from nextcloud/dependabot/docker/Containers/clamav/alpine-3.22.2
build(deps): bump alpine from 3.22.1 to 3.22.2 in /Containers/clamav
2025-10-15 16:10:42 +02:00
Simon L.
ebc23c63f0 Merge pull request #6952 from nextcloud/dependabot/docker/Containers/borgbackup/alpine-3.22.2
build(deps): bump alpine from 3.22.1 to 3.22.2 in /Containers/borgbackup
2025-10-15 16:10:31 +02:00
Simon L.
189eec1c53 Merge pull request #6951 from nextcloud/dependabot/docker/Containers/alpine/alpine-3.22.2
build(deps): bump alpine from 3.22.1 to 3.22.2 in /Containers/alpine
2025-10-15 16:10:20 +02:00
Simon L.
17f8c980d2 Merge pull request #6966 from nextcloud/dependabot/docker/Containers/whiteboard/nextcloud-releases/whiteboard-v1.3.0
build(deps): bump nextcloud-releases/whiteboard from v1.2.1 to v1.3.0 in /Containers/whiteboard
2025-10-15 16:09:18 +02:00
Simon L.
a7d66ef003 Merge pull request #5735 from nextcloud/enh/noid/adjust-max-input-time
nextcloud: adjust `max_input_time` to `-1`
2025-10-15 16:08:46 +02:00
Simon L.
6d4b41d760 Merge pull request #6976 from nextcloud/enh/noid/allow-use-talk-recording-arm64
talk-recording: allow to use it on arm64
2025-10-15 16:07:11 +02:00
Simon L.
134c3d2c70 Merge pull request #6975 from nextcloud/talk-container-update
talk container update
2025-10-15 16:05:58 +02:00
Simon L.
544d96d6e5 Merge pull request #6986 from nextcloud/aio-dependency-update
PHP dependency updates
2025-10-15 16:00:09 +02:00
szaimen
c8b8740980 nextcloud-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-15 12:14:36 +00:00
szaimen
12c9b68071 talk-update automated change
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-15 12:05:06 +00:00
szaimen
b55b4aac1c php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-15 12:03:37 +00:00
Ruben D.
2d86c0d788 Remove copying and omit checks for stalwart
Signed-off-by: Ruben D. <ruben@winterrific.net>
2025-10-14 21:10:48 +02:00
Ruben D.
28f7d3571c Add clamav milter packaged, configure it and use supervisord to start it up.
TODO: start milter only if community container stalwart is used.

Signed-off-by: Ruben D. <ruben@winterrific.net>
2025-10-14 20:59:42 +02:00
Simon L.
e940d47079 talk-recording: allow to use it on arm64
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-10-14 13:25:57 +02:00
dependabot[bot]
84288c4ac7 build(deps): bump nextcloud-releases/whiteboard
Bumps nextcloud-releases/whiteboard from v1.2.1 to v1.3.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-13 04:19:54 +00:00
dependabot[bot]
1f2e97a246 build(deps): bump alpine from 3.22.1 to 3.22.2 in /Containers/watchtower
Bumps alpine from 3.22.1 to 3.22.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-09 04:23:13 +00:00
dependabot[bot]
8e8580122d build(deps): bump alpine from 3.22.1 to 3.22.2 in /Containers/talk
Bumps alpine from 3.22.1 to 3.22.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-09 04:23:03 +00:00
dependabot[bot]
9d76e6486e build(deps): bump alpine in /Containers/notify-push
Bumps alpine from 3.22.1 to 3.22.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-09 04:22:55 +00:00
dependabot[bot]
44659edf9c build(deps): bump docker in /Containers/mastercontainer
Bumps docker from 28.5.0-cli to 28.5.1-cli.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-09 04:22:30 +00:00
dependabot[bot]
5c59bee1ee build(deps): bump alpine from 3.22.1 to 3.22.2 in /Containers/imaginary
Bumps alpine from 3.22.1 to 3.22.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-09 04:22:25 +00:00
dependabot[bot]
4946399905 build(deps): bump alpine in /Containers/domaincheck
Bumps alpine from 3.22.1 to 3.22.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-09 04:22:22 +00:00
dependabot[bot]
8fb81686ba build(deps): bump alpine from 3.22.1 to 3.22.2 in /Containers/clamav
Bumps alpine from 3.22.1 to 3.22.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-09 04:22:17 +00:00
dependabot[bot]
a64237c9d6 build(deps): bump alpine from 3.22.1 to 3.22.2 in /Containers/borgbackup
Bumps alpine from 3.22.1 to 3.22.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-09 04:22:13 +00:00
dependabot[bot]
03413d9440 build(deps): bump alpine from 3.22.1 to 3.22.2 in /Containers/alpine
Bumps alpine from 3.22.1 to 3.22.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-09 04:22:08 +00:00
Josh
90d346ea65 docs: Add README.md for Nextcloud container
Added README.md for Nextcloud container.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-10-08 16:05:15 -04:00
Simon L.
436c6ff5b7 nextcloud: adjust max_input_time to -1
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-10-08 14:05:20 +02:00
jameskimmel
d09bcae60a Merge branch 'main' into patch-1 2025-10-07 16:08:41 +02:00
jameskimmel
85a068f679 nginx-proxy
Make it more clear what nginx-proxy is

Signed-off-by: jameskimmel <17176225+jameskimmel@users.noreply.github.com>
2025-10-03 07:03:40 +02:00
33 changed files with 323 additions and 145 deletions

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM alpine:3.22.1
FROM alpine:3.22.2
RUN set -ex; \
apk upgrade --no-cache -a

View File

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

View File

@@ -1,18 +1,24 @@
# syntax=docker/dockerfile:latest
FROM alpine:3.22.1
FROM alpine:3.22.2
RUN set -ex; \
apk upgrade --no-cache -a; \
apk add --no-cache tzdata clamav supervisor bash; \
apk add --no-cache tzdata clamav clamav-milter supervisor bash; \
mkdir -p /var/lib/clamav /run/clamav /var/log/supervisord /var/run/supervisord; \
chmod 777 -R /run/clamav /var/log/clamav /var/log/supervisord /var/run/supervisord; \
chown -R 100:100 /var/lib/clamav; \
sed -i "s|#\?MaxDirectoryRecursion.*|MaxDirectoryRecursion 30|g" /etc/clamav/clamd.conf; \
sed -i "s|#\?MaxScanSize.*|MaxScanSize 2G|g" /etc/clamav/clamd.conf; \
sed -i "s|#\?MaxFileSize.*|MaxFileSize 2G|g" /etc/clamav/clamd.conf; \
sed -i "s|#\?PCREMaxFileSize.*|PCREMaxFileSize aio-placeholder|g" /etc/clamav/clamd.conf; \
sed -i "s|#\?PCREMaxFileSize.*|PCREMaxFileSize 0|g" /etc/clamav/clamd.conf; \
sed -i "s|#\?StreamMaxLength.*|StreamMaxLength aio-placeholder|g" /etc/clamav/clamd.conf; \
sed -i "s|#\?TCPSocket|TCPSocket|g" /etc/clamav/clamd.conf; \
sed -i "s|^LocalSocket .*|LocalSocket /tmp/clamd.sock|g" /etc/clamav/clamd.conf
sed -i "s|^LocalSocket .*|LocalSocket /tmp/clamd.sock|g" /etc/clamav/clamd.conf; \
sed -i "s|Example| |g" /etc/clamav/clamav-milter.conf; \
sed -i "s|#\?MilterSocket inet:7357|MilterSocket inet:7357|g" /etc/clamav/clamav-milter.conf; \
sed -i "s|#\?ClamdSocket unix:/run/clamav/clamd.sock|ClamdSocket unix:/tmp/clamd.sock|g" /etc/clamav/clamav-milter.conf; \
sed -i "s|#\?AddHeader Replace|AddHeader Add|g" /etc/clamav/clamav-milter.conf; \
sed -i "s|#\?Foreground yes|Foreground yes|g" /etc/clamav/clamav-milter.conf
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh

View File

@@ -21,3 +21,10 @@ stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=clamd --foreground --config-file=/tmp/clamd.conf
[program:milter]
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=clamav-milter --config-file=/etc/clamav/clamav-milter.conf

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# From a file located probably somewhere here: https://github.com/CollaboraOnline/online/blob/master/docker/from-packages/Dockerfile
FROM collabora/code:25.04.6.1.1
FROM collabora/code:25.04.6.2.1
USER root
ARG DEBIAN_FRONTEND=noninteractive

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM alpine:3.22.1
FROM alpine:3.22.2
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.19.5
FROM elasticsearch:8.19.6
USER root

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM golang:1.25.2-alpine3.22 AS go
FROM golang:1.25.3-alpine3.22 AS go
ENV IMAGINARY_HASH=1d4e251cfcd58ea66f8361f8721d7b8cc85002a3
@@ -14,7 +14,7 @@ RUN set -ex; \
build-base; \
go install github.com/h2non/imaginary@"$IMAGINARY_HASH";
FROM alpine:3.22.1
FROM alpine:3.22.2
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:28.5.0-cli AS docker
FROM docker:28.5.1-cli AS docker
# Caddy is a requirement
FROM caddy:2.10.2-alpine AS caddy

View File

@@ -0,0 +1,69 @@
# Nextcloud All-in-One `mastercontainer`
This folder contains the OCI/Docker container definition, along with associated resources and
configuration files, for building the `mastercontainer` as part of the Nextcloud All-in-One
project. This container hosts [the Nextcloud AIO interface](
https://github.com/nextcloud/all-in-one/tree/main/php)[^app], and a dedicated PHP environment
for it (which is completely independent of the Nextcloud Server).
## Overview
The mastercontainer acts as the central orchestration service for the deployment and management
of all other containers in the Nextcloud All-in-One stack. It hosts:
- A dedicated PHP SAPI/backend (php-fpm) for AIO itself (not Nextcloud Server)
- An Apache service for accessing the AIO interface via a self-signed HTTPS VirtualHost on 8080/tcp
- A Caddy reverse proxy service enabling HTTPS access to the AIO frontend on port 8443/tcp.
- Caddy will automatically issue a Let's Encrypt issued certificate if port 80 and 8443
is open/forwarded and a domain pointer is in place; then, simply open the Nextcloud AIO interface using the
domain (`https://your-domain-that-points-to-this-server.tld:8443`). The Let's Encrypt certificate request will
use an [ACME HTTP-01](https://letsencrypt.org/docs/challenge-types/#http-01-challenge) challenge.
- Miscellaneous support services specific to AIO (backup management, health checks, etc.)
## Key Responsibilities
- Orchestrates the deployment and lifecycle of all Nextcloud service containers
- Handles initial setup and container configuration
- Coordinates image updates
- Monitors general system health
It triggers the initial installation and ensures the smooth operation of the Nextcloud
All-in-One stack.
## Contents
- **Dockerfile**: Instructions for building the mastercontainer image.
- **Entrypoint script**: The `start.sh` script is used for container initialization and runtime
configuration before starting supervisord.
- [**Nextcloud All-in-One Controller App**](https://github.com/nextcloud/all-in-one/tree/main/php): The
core AIO orchestrator that handles configuration and settings for the containers.
- **Supervisor**: The `supervisord.conf` file defines the long-running services hosted within
the container (php-fpm, cron, etc.)
## Usage
This container should be used as the trigger image when deploying the Nextcloud All-in-One
stack in a Docker or other OCI-compliant container environment. For detailed deployment
instructions, refer to the [project documentation](
https://github.com/nextcloud/all-in-one).
## Related Resources
- [Main Repository](https://github.com/nextcloud/all-in-one)
- [Documentation](https://github.com/nextcloud/all-in-one#readme)
## Contributing
Contributions are welcome! Please follow the Nextcloud project's guidelines and submit pull
requests or issues via the main repository.
## License
This folder and its contents are licensed under the
[GNU AGPLv3](https://www.gnu.org/licenses/agpl-3.0.html), in line with the rest of Nextcloud
All-in-One.
[^app]: The Nextcloud All-in-One interface allows users to install, configure, and
manage their Nextcloud instance and related containers via a secure web interface and API.
It automates and simplifies complex tasks such as container orchestration, backups, updates,
and service management for users deploying Nextcloud in Docker environments.

View File

@@ -1,5 +1,5 @@
Listen 8000
Listen 8080
Listen 127.0.0.1:8000
Listen 8080 https
# Deny access to .ht files
<Files ".ht*">
@@ -7,8 +7,8 @@ Listen 8080
</Files>
# Http host
<VirtualHost *:8000>
ServerName localhost
<VirtualHost 127.0.0.1:8000>
ServerName 127.0.0.1
# Add error log
CustomLog /proc/self/fd/1 proxy

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=31.0.9
ENV NEXTCLOUD_VERSION=31.0.10
ENV AIO_TOKEN=123456
ENV AIO_URL=localhost
# AIO settings end # Do not remove or change this line!
@@ -84,7 +84,7 @@ RUN set -ex; \
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install -o igbinary-3.2.16; \
pecl install APCu-5.1.27; \
pecl install -D 'enable-memcached-igbinary="yes"' memcached-3.3.0; \
pecl install -D 'enable-memcached-igbinary="yes"' memcached-3.4.0; \
pecl install -oD 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' redis-6.2.0; \
pecl install -o imagick-3.8.0; \
\
@@ -132,7 +132,7 @@ RUN set -ex; \
echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \
echo 'post_max_size=${PHP_UPLOAD_LIMIT}'; \
echo 'max_execution_time=${PHP_MAX_TIME}'; \
echo 'max_input_time=${PHP_MAX_TIME}'; \
echo 'max_input_time=-1'; \
echo 'default_socket_timeout=${PHP_MAX_TIME}'; \
} > /usr/local/etc/php/conf.d/nextcloud.ini; \
\
@@ -156,7 +156,7 @@ RUN set -ex; \
; \
\
curl -fsSL -o nextcloud.tar.bz2 \
"https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2"; \
"https://github.com/nextcloud-releases/server/releases/download/v${NEXTCLOUD_VERSION}/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc \
"https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \

View File

@@ -0,0 +1,35 @@
# Nextcloud All-in-One ``nextcloud`` Container
This folder contains the OCI/Docker container definition, along with associated resources and configuration files, for building the `nextcloud` container as part of the [Nextcloud All-in-One](https://github.com/nextcloud/all-in-one) project. This container hosts PHP and the Nextcloud Server application.
## Overview
The Nextcloud container provides the core Nextcloud application environment, including the necessary dependencies and configuration for seamless integration into the All-in-One stack. The container hosts:
- The PHP SAPI/backend (php-fpm)
- Nextcloud background jobs and scheduled tasks, which are handled via cron
- Miscellaneous minor support services specific to AIO's Nextcloud deployment (health and exec)
## Contents
- **Dockerfile**: Instructions for building the Nextcloud container image.
- **Entrypoint script**: The `start.sh` script is used for container initialization and runtime configuration before starting supervisord.
- **Nextcloud configuration files**: Specific to running in a containerized setting and/or within AIO.
- **Supervisor**: The `supervisord.conf` file defines the long-running services hosted within the container (php-fpm, cron, etc.).
## Usage
This container is intended to be used as part of the All-in-One deployment and is not meant to be used on its own. Among other requirements, it needs a web server container (which AIO provides in a dedicated Apache container). It is designed to be orchestrated by the [All-in-One mastercontainer](https://github.com/nextcloud/all-in-one/tree/main/Containers/mastercontainer) or used within an [AIO Manual Installation](https://github.com/nextcloud/all-in-one/tree/main/manual-install) or [AIO Helm chart](https://github.com/nextcloud/all-in-one/tree/main/nextcloud-aio-helm-chart).
## Documentation
- [Nextcloud All-in-One Documentation](https://github.com/nextcloud/all-in-one#readme)
- [Nextcloud Documentation](https://docs.nextcloud.com/)
## Contributing
Contributions are welcome! Please follow the Nextcloud project's guidelines and submit pull requests or issues via the main repository.
## License
This folder and its contents are licensed under the [GNU AGPLv3](https://www.gnu.org/licenses/agpl-3.0.html), in line with the rest of Nextcloud All-in-One.

View File

@@ -881,7 +881,7 @@ if [ "$CLAMAV_ENABLED" = 'yes' ]; then
php /var/www/html/occ config:app:set files_antivirus av_port --value="3310"
php /var/www/html/occ config:app:set files_antivirus av_host --value="$CLAMAV_HOST"
php /var/www/html/occ config:app:set files_antivirus av_stream_max_length --value="$CLAMAV_MAX_SIZE"
php /var/www/html/occ config:app:set files_antivirus av_max_file_size --value="$CLAMAV_MAX_SIZE"
php /var/www/html/occ config:app:set files_antivirus av_max_file_size --value="-1"
php /var/www/html/occ config:app:set files_antivirus av_infected_action --value="only_log"
if [ -n "$CLAMAV_BLOCKLISTED_DIRECTORIES" ]; then
php /var/www/html/occ config:app:set files_antivirus av_blocklisted_directories --value="$CLAMAV_BLOCKLISTED_DIRECTORIES"

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM alpine:3.22.1
FROM alpine:3.22.2
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:9.0.4.1
FROM onlyoffice/documentserver:9.1.0.1
# USER root is probably used

View File

@@ -4,7 +4,7 @@ FROM python:3.14.0-alpine3.22
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh
ENV RECORDING_VERSION=v0.1
ENV RECORDING_VERSION=v0.2.0
ENV ALLOW_ALL=false
ENV HPB_PROTOCOL=https
ENV NC_PROTOCOL=https

View File

@@ -1,3 +1,5 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
[logs]
# Log level based on numeric values of Python logging levels:
# - Critical: 50
@@ -12,6 +14,11 @@
# IP and port to listen on for HTTP requests.
#listen = 127.0.0.1:8000
[app]
# Comma separated list of trusted proxies (IPs or CIDR networks) that may set
# the "X-Forwarded-For" header.
#trustedproxies =
[backend]
# Allow any hostname as backend endpoint. This is extremely insecure and should
# only be used during development.
@@ -100,6 +107,18 @@
# ffmpeg. The options given here fully override the default global options.
#common = ffmpeg -loglevel level+warning -n
# The (additional) options given to ffmpeg for the audio input. The options
# given here extend the default options for the audio input, although they do
# not override them.
# Default options: '-f pulse -i {AUDIO_SOURCE}'
#inputaudio =
# The (additional) options given to ffmpeg for the video input. The options
# given here extend the default options for the video input, although they do
# not override them.
# Default options: '-f x11grab -draw_mouse 0 -video_size {WIDTH}x{HEIGHT} -i {VIDEO_SOURCE}'
#inputvideo =
# The options given to ffmpeg to encode the audio output. The options given here
# fully override the default options for the audio output.
#outputaudio = -c:a libopus
@@ -120,4 +139,31 @@
# will use Google Chrome, or Chromium if Google Chrome is not installed.
# Allowed values: firefox, chrome
# Defaults to firefox
# browser = firefox
#browser = firefox
# Path to the Selenium driver to use for recordings.
# If set the driver must match the browser being used (for example,
# "/usr/bin/geckodriver" for "firefox"). If no driver is explicitly set Selenium
# Manager will try to find the right one in $PATH, downloading it as a fallback.
# Note that Selenium Manager does not work in some architectures (for example,
# Linux on arm64/aarch64), so in those architectures the driver must be
# explicitly set.
#driverPath =
# Path to the browser executable to use for recordings.
# If set the executable must match the browser being used (for example,
# "/usr/bin/firefox-esr" for "firefox"). If no executable is explicitly set
# Selenium Manager will try to find the right one in $PATH. Depending on the
# installed Selenium version if the executable is not found Selenium Manager may
# also download the browser as a fallback.
# Note that Selenium Manager does not work in some architectures (for example,
# Linux on arm64/aarch64); in those architectures the Selenium driver will try
# to find the executable, but the executable may need to be explicitly set if
# not found by the driver.
#browserPath =
[stats]
# Comma-separated list of IP addresses (or CIDR networks) that are allowed to
# access the stats endpoint.
# Leave commented to only allow access from "127.0.0.1".
#allowed_ips =

View File

@@ -59,6 +59,8 @@ extensionvideo = .webm
[recording]
browser = firefox
driverPath = /usr/bin/geckodriver
browserPath = /usr/bin/firefox
RECORDING_CONF
exec "$@"

View File

@@ -1,10 +1,10 @@
# syntax=docker/dockerfile:latest
FROM nats:2.12.0-scratch AS nats
FROM nats:2.12.1-scratch AS nats
FROM eturnal/eturnal:1.12.2-alpine AS eturnal
FROM strukturag/nextcloud-spreed-signaling:2.0.4 AS signaling
FROM alpine:3.22.1 AS janus
FROM alpine:3.22.2 AS janus
ARG JANUS_VERSION=v1.3.2
ARG JANUS_VERSION=v1.3.3
WORKDIR /src
RUN set -ex; \
apk upgrade --no-cache -a; \
@@ -35,7 +35,7 @@ RUN set -ex; \
make configs; \
rename -v ".jcfg.sample" ".jcfg" /usr/local/etc/janus/*.jcfg.sample
FROM alpine:3.22.1
FROM alpine:3.22.2
ENV ETURNAL_ETC_DIR="/conf"
ENV SKIP_CERT_VERIFY=false
COPY --from=janus --chmod=777 --chown=1000:1000 /usr/local /usr/local

View File

@@ -1,7 +1,7 @@
# syntax=docker/dockerfile:latest
FROM ghcr.io/nicholas-fedor/watchtower:1.12.1 AS watchtower
FROM alpine:3.22.1
FROM alpine:3.22.2
RUN set -ex; \
apk upgrade --no-cache -a; \

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# Probably from this file: https://github.com/nextcloud/whiteboard/blob/main/Dockerfile
FROM ghcr.io/nextcloud-releases/whiteboard:v1.2.1
FROM ghcr.io/nextcloud-releases/whiteboard:v1.3.0
USER root
RUN set -ex; \

View File

@@ -2,7 +2,7 @@
This container packages calcardbackup which is a tool that exports calendars and addressbooks from Nextcloud to .ics and .vcf files and saves them to a compressed file.
### Notes
- Backups will be created at 00:00 CEST every day. Make sure that this does not conflict with the configured daily backups inside AIO.
- Backups will be created at 00:00 UTC every day. Make sure that this does not conflict with the configured daily backups inside AIO.
- All the exports will be included in AIOs backup solution
- You can find the exports in the nextcloud_aio_calcardbackup volume
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack

View File

@@ -2,7 +2,7 @@
"aio_services_v1": [
{
"container_name": "nextcloud-aio-minio",
"image_tag": "v1",
"image_tag": "v2",
"display_name": "Minio S3 Storage",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/minio",
"image": "ghcr.io/szaimen/aio-minio",

View File

@@ -5,7 +5,7 @@
"display_name": "Prometheus Nextcloud Exporter",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/nextcloud-exporter",
"image": "ghcr.io/xperimental/nextcloud-exporter",
"image_tag": "0.8.0",
"image_tag": "0.9.0",
"internal_port": "9205",
"restart": "unless-stopped",
"ports": [

46
php/composer.lock generated
View File

@@ -391,16 +391,16 @@
},
{
"name": "laravel/serializable-closure",
"version": "v2.0.5",
"version": "v2.0.6",
"source": {
"type": "git",
"url": "https://github.com/laravel/serializable-closure.git",
"reference": "3832547db6e0e2f8bb03d4093857b378c66eceed"
"reference": "038ce42edee619599a1debb7e81d7b3759492819"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/3832547db6e0e2f8bb03d4093857b378c66eceed",
"reference": "3832547db6e0e2f8bb03d4093857b378c66eceed",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/038ce42edee619599a1debb7e81d7b3759492819",
"reference": "038ce42edee619599a1debb7e81d7b3759492819",
"shasum": ""
},
"require": {
@@ -448,7 +448,7 @@
"issues": "https://github.com/laravel/serializable-closure/issues",
"source": "https://github.com/laravel/serializable-closure"
},
"time": "2025-09-22T17:29:40+00:00"
"time": "2025-10-09T13:42:30+00:00"
},
{
"name": "nikic/fast-route",
@@ -3338,16 +3338,16 @@
},
{
"name": "nikic/php-parser",
"version": "v5.6.1",
"version": "v5.6.2",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2"
"reference": "3a454ca033b9e06b63282ce19562e892747449bb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2",
"reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/3a454ca033b9e06b63282ce19562e892747449bb",
"reference": "3a454ca033b9e06b63282ce19562e892747449bb",
"shasum": ""
},
"require": {
@@ -3390,9 +3390,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v5.6.1"
"source": "https://github.com/nikic/PHP-Parser/tree/v5.6.2"
},
"time": "2025-08-13T20:13:15+00:00"
"time": "2025-10-21T19:32:17+00:00"
},
{
"name": "phpdocumentor/reflection-common",
@@ -4724,28 +4724,28 @@
},
{
"name": "webmozart/assert",
"version": "1.11.0",
"version": "1.12.0",
"source": {
"type": "git",
"url": "https://github.com/webmozarts/assert.git",
"reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
"reference": "541057574806f942c94662b817a50f63f7345360"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
"reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
"url": "https://api.github.com/repos/webmozarts/assert/zipball/541057574806f942c94662b817a50f63f7345360",
"reference": "541057574806f942c94662b817a50f63f7345360",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"ext-date": "*",
"ext-filter": "*",
"php": "^7.2 || ^8.0"
},
"conflict": {
"phpstan/phpstan": "<0.12.20",
"vimeo/psalm": "<4.6.1 || 4.6.2"
},
"require-dev": {
"phpunit/phpunit": "^8.5.13"
"suggest": {
"ext-intl": "",
"ext-simplexml": "",
"ext-spl": ""
},
"type": "library",
"extra": {
@@ -4776,9 +4776,9 @@
],
"support": {
"issues": "https://github.com/webmozarts/assert/issues",
"source": "https://github.com/webmozarts/assert/tree/1.11.0"
"source": "https://github.com/webmozarts/assert/tree/1.12.0"
},
"time": "2022-06-03T18:03:27+00:00"
"time": "2025-10-20T12:43:39+00:00"
}
],
"aliases": [],

View File

@@ -286,11 +286,6 @@ class ConfigurationManager
$value = 0;
}
// Currently only works on x64. See https://github.com/nextcloud/nextcloud-talk-recording/issues/17
if (!$this->isx64Platform()) {
$value = 0;
}
$config = $this->GetConfig();
$config['isTalkRecordingEnabled'] = $value;
$this->WriteConfig($config);

View File

@@ -17,7 +17,7 @@
<div class="container">
<main>
<h1>Nextcloud AIO v11.10.0</h1>
<h1>Nextcloud AIO v11.11.0</h1>
{# Add 2nd tab warning #}
<script type="text/javascript" src="second-tab-warning.js"></script>

View File

@@ -96,7 +96,7 @@
data-initial-state="false"
{% endif %}
>
<label for="talk-recording">Nextcloud Talk Recording-server (needs Nextcloud Talk being enabled and ~1GB additional RAM and ~2 additional vCPUs, currently <a target="_blank" href="https://github.com/nextcloud/nextcloud-talk-recording/issues/17">only works on x86_64</a>)</label>
<label for="talk-recording">Nextcloud Talk Recording-server (needs Nextcloud Talk being enabled and ~1GB additional RAM and ~2 additional vCPUs)</label>
</p>
<p>
<input

View File

@@ -7,20 +7,19 @@
"": {
"name": "e2e",
"version": "1.0.0",
"license": "ISC",
"license": "AGPL-3.0-or-later",
"devDependencies": {
"@playwright/test": "^1.51.1",
"@types/node": "^22.13.10"
"@playwright/test": "^1.56.1"
}
},
"node_modules/@playwright/test": {
"version": "1.51.1",
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.51.1.tgz",
"integrity": "sha512-nM+kEaTSAoVlXmMPH10017vn3FSiFqr/bh4fKg9vmAdMfd9SDqRZNvPSiAHADc/itWak+qPvMPZQOPwCBW7k7Q==",
"version": "1.56.1",
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.56.1.tgz",
"integrity": "sha512-vSMYtL/zOcFpvJCW71Q/OEGQb7KYBPAdKh35WNSkaZA75JlAO8ED8UN6GUNTm3drWomcbcqRPFqQbLae8yBTdg==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"playwright": "1.51.1"
"playwright": "1.56.1"
},
"bin": {
"playwright": "cli.js"
@@ -29,16 +28,6 @@
"node": ">=18"
}
},
"node_modules/@types/node": {
"version": "22.13.10",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz",
"integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==",
"dev": true,
"license": "MIT",
"dependencies": {
"undici-types": "~6.20.0"
}
},
"node_modules/fsevents": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
@@ -55,13 +44,13 @@
}
},
"node_modules/playwright": {
"version": "1.51.1",
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.51.1.tgz",
"integrity": "sha512-kkx+MB2KQRkyxjYPc3a0wLZZoDczmppyGJIvQ43l+aZihkaVvmu/21kiyaHeHjiFxjxNNFnUncKmcGIyOojsaw==",
"version": "1.56.1",
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.56.1.tgz",
"integrity": "sha512-aFi5B0WovBHTEvpM3DzXTUaeN6eN0qWnTkKx4NQaH4Wvcmc153PdaY2UBdSYKaGYw+UyWXSVyxDUg5DoPEttjw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"playwright-core": "1.51.1"
"playwright-core": "1.56.1"
},
"bin": {
"playwright": "cli.js"
@@ -74,9 +63,9 @@
}
},
"node_modules/playwright-core": {
"version": "1.51.1",
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.51.1.tgz",
"integrity": "sha512-/crRMj8+j/Nq5s8QcvegseuyeZPxpQCZb6HNk3Sos3BlZyAknRjoyJPFWkpNn8v0+P3WiwqFF8P+zQo4eqiNuw==",
"version": "1.56.1",
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.56.1.tgz",
"integrity": "sha512-hutraynyn31F+Bifme+Ps9Vq59hKuUCz7H1kDOcBs+2oGguKkWTU50bBWrtz34OUWmIwpBTWDxaRPXrIXkgvmQ==",
"dev": true,
"license": "Apache-2.0",
"bin": {
@@ -85,13 +74,6 @@
"engines": {
"node": ">=18"
}
},
"node_modules/undici-types": {
"version": "6.20.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
"integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
"dev": true,
"license": "MIT"
}
}
}

View File

@@ -3,6 +3,6 @@
"version": "1.0.0",
"license": "AGPL-3.0-or-later",
"devDependencies": {
"@playwright/test": "^1.51.1"
"@playwright/test": "^1.56.1"
}
}

130
readme.md
View File

@@ -86,66 +86,100 @@ Included are:
| ![image](https://github.com/user-attachments/assets/6ef5d7b5-86f2-402c-bc6c-b633af2ca7dd) | ![image](https://github.com/user-attachments/assets/939d0fdf-436f-433d-82d3-27548263a040) |
## How to use this?
>[!WARNING]
> You should first make sure that you are not using docker installed via snap. You can check this by running `sudo docker info | grep "Docker Root Dir" | grep "/var/snap/docker/"`. If the output should contain the mentioned string `/var/snap/docker/`, you should first uninstall docker snap via `sudo snap remove docker` and then follow the instructions below. ⚠️ Attention: only run the command if this is a clean new docker installation and you are not running any service already using this.
> [!NOTE]
> The following instructions are meant for installations without a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else) already being in place. If you want to run AIO behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else), see the [reverse proxy documentation](https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md). Also, the instructions below are especially meant for Linux. For macOS see [this](#how-to-run-aio-on-macos), for Windows see [this](#how-to-run-aio-on-windows) and for Synology see [this](#how-to-run-aio-on-synology-dsm).
The steps below are written for Linux. For platform-specific guidance see:
- macOS: [How to run AIO on macOS](#how-to-run-aio-on-macos)
- Windows: [How to run AIO on Windows](#how-to-run-aio-on-windows)
- Synology DSM: [How to run AIO on Synology DSM](#how-to-run-aio-on-synology-dsm)
- TrueNAS SCALE: [Can I run AIO on TrueNAS SCALE?](#can-i-run-aio-on-truenas-scale)
1. Install Docker on your Linux installation by following the official documentation: https://docs.docker.com/engine/install/#supported-platforms.
>[!WARNING]
> You could use the convenience script below to install docker. However we recommend to not blindly download and execute scripts as sudo. But if you feel like it, you can of course use it. See below:
> [!IMPORTANT]
> These instructions assume there is no existing web server or reverse proxy (for example Apache, Nginx, Caddy, or Cloudflare Tunnel) that you intend to place in front of AIO. If you plan to run AIO behind an existing web server or reverse proxy, follow the AIO reverse proxy documentation: [Reverse proxy docs](https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md)
<details>
<summary>Using the convenience script</summary>
You're encouraged to skim the attached [FAQ](#faq). While we've tried to make things straightforward, Nextcloud is a large and flexible platform. Reading the FAQ will save you time, particularly if edge cases come up.
> [!TIP]
> Don't worry about getting everything perfect on the first try — test deployments are cheap and disposable.
1. Install Docker on your Linux host by following the official documentation: [Docker install — supported platforms](https://docs.docker.com/engine/install/#supported-platforms)
> [!WARNING]
> Snap-based Docker installations are not supported. Make sure you are not using a snap-based Docker installation (generally only applicable to Ubuntu). To check, run:
> ```sh
> sudo docker info | grep "Docker Root Dir" | grep "/var/snap/docker/"
> ```
> If you see the following output:
> ```
> /var/snap/docker/
> ```
> you should migrate to a standard Docker installation and remove the snap-based package before proceeding: [Install Docker on Ubuntu](https://docs.docker.com/engine/install/ubuntu/).
>
> ⚠️ To avoid losing data or interrupting services, only remove the Docker snap after you are certain you're not running any existing containers in it.
>
> Consult the official Docker documentation or other guides for instructions on migrating existing containers. Once you are certain it's safe, remove the snap-based Docker installation with:
> ```sh
> sudo snap remove docker
> ```
2. If you need IPv6 support, enable it by following: [Docker IPv6 support for AIO](https://github.com/nextcloud/all-in-one/blob/main/docker-ipv6-support.md)
3. AIO uses a special `mastercontainer` to orchestrate the various pieces of the Nextcloud stack. To start AIO, launch the `mastercontainer` with the command below:
```sh
curl -fsSL https://get.docker.com | sudo sh
# For Linux and without a web server or reverse proxy already in place:
sudo docker run \
--init \
--sig-proxy=false \
--name nextcloud-aio-mastercontainer \
--restart always \
--publish 80:80 \
--publish 8080:8080 \
--publish 8443:8443 \
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
ghcr.io/nextcloud-releases/all-in-one:latest
```
<details>
<summary>Explanation of the command</summary>
- `sudo docker run` — starts a new Docker container. Omit `sudo` if your user is in the `docker` group.
- `--init` — runs an init process inside the container to handle zombie processes.
- `--sig-proxy=false` — prevents Ctrl+C in the attached terminal from stopping the container.
- `--name nextcloud-aio-mastercontainer` — the container name. Do not change this name; mastercontainer updates rely on it.
- `--restart always` — ensures the container restarts automatically with the Docker daemon.
- `--publish 80:80` — publishes container port 80 on host port 80 (used for ACME http-challenge when obtaining certificates). Not required if you run AIO behind a reverse proxy.
- `--publish 8080:8080` — publishes the AIO interface (self-signed certificate) on host port 8080. You may map a different host port if 8080 is in use (e.g. `--publish 8081:8080`).
- `--publish 8443:8443` — publishes the AIO interface with a valid certificate on host port 8443 (requires ports 80 and 8443 to be reachable and a domain pointing to your server). Not required if you run AIO behind a reverse proxy.
- `--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config` — stores mastercontainer configuration in the named Docker volume. Do not change this volume name; built-in backups depend on it.
- `--volume /var/run/docker.sock:/var/run/docker.sock:ro` — mounts the Docker socket (read-only) so the mastercontainer can manage other containers. On Windows/macOS or when using rootless Docker, this path may need adjustment; see the platform-specific docs. If you change the socket path, also set `WATCHTOWER_DOCKER_SOCKET_PATH` accordingly. If you prefer not to expose the socket, see the manual-install documentation: [Manual install without docker socket access](https://github.com/nextcloud/all-in-one/tree/main/manual-install)
- `ghcr.io/nextcloud-releases/all-in-one:latest` — the mastercontainer image.
Additional options can be set with environment variables (for example `--env NEXTCLOUD_DATADIR="/mnt/ncdata"` to change Nextcloud's datadir on first startup). See the Customization section and example compose file: [compose.yaml](https://github.com/nextcloud/all-in-one/blob/main/compose.yaml) for more options.
</details>
2. If you need ipv6 support, you should enable it by following https://github.com/nextcloud/all-in-one/blob/main/docker-ipv6-support.md.
3. Run the command below in order to start the container on Linux and without a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else) already in place:
```
# For Linux and without a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else) already in place:
sudo docker run \
--init \
--sig-proxy=false \
--name nextcloud-aio-mastercontainer \
--restart always \
--publish 80:80 \
--publish 8080:8080 \
--publish 8443:8443 \
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
ghcr.io/nextcloud-releases/all-in-one:latest
```
<details>
<summary>Explanation of the command</summary>
> [!TIP]
> If you want Nextclouds data directory in a different location than the default Docker volume, see "How to change the default location of Nextcloud's Datadir" in this README: [How to change the default location of Nextcloud's Datadir](#how-to-change-the-default-location-of-nextclouds-datadir)
- `sudo docker run` This command spins up a new docker container. Docker commands can optionally be used without `sudo` if the user is added to the docker group (this is not the same as docker rootless, see FAQ below).
- `--init` This option makes sure that no zombie-processes are created, ever. See [the Docker documentation](https://docs.docker.com/reference/cli/docker/container/run/#init).
- `--sig-proxy=false` This option allows to exit the container shell that gets attached automatically when using `docker run` by using `[CTRL] + [C]` without shutting down the container.
- `--name nextcloud-aio-mastercontainer` This is the name of the container. This line is not allowed to be changed, since mastercontainer updates would fail.
- `--restart always` This is the "restart policy". `always` means that the container should always get started with the Docker daemon. See the Docker documentation for further detail about restart policies: https://docs.docker.com/config/containers/start-containers-automatically/
- `--publish 80:80` This means that port 80 of the container should get published on the host using port 80. It is used for getting valid certificates for the AIO interface if you want to use port 8443. It is not needed if you run AIO behind a web server or reverse proxy and can get removed in that case as you can simply use port 8080 for the AIO interface then.
- `--publish 8080:8080` This means that port 8080 of the container should get published on the host using port 8080. This port is used for the AIO interface and uses a self-signed certificate by default. You can also use a different host port if port 8080 is already used on your host, for example `--publish 8081:8080` (only the first port can be changed for the host, the second port is for the container and must remain at 8080).
- `--publish 8443:8443` This means that port 8443 of the container should get published on the host using port 8443. If you publish port 80 and 8443 to the public internet, you can access the AIO interface via this port with a valid certificate. It is not needed if you run AIO behind a web server or reverse proxy and can get removed in that case as you can simply use port 8080 for the AIO interface then.
- `--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config` This means that the files that are created by the mastercontainer will be stored in a docker volume that is called `nextcloud_aio_mastercontainer`. This line is not allowed to be changed, since built-in backups would fail later on.
- `--volume /var/run/docker.sock:/var/run/docker.sock:ro` The docker socket is mounted into the container which is used for spinning up all the other containers and for further features. It needs to be adjusted on Windows/macOS and on docker rootless. See the applicable documentation on this. If adjusting, don't forget to also set `WATCHTOWER_DOCKER_SOCKET_PATH`! If you dislike this, see https://github.com/nextcloud/all-in-one/tree/main/manual-install.
- `ghcr.io/nextcloud-releases/all-in-one:latest` This is the docker container image that is used.
- Further options can be set using environment variables, for example `--env NEXTCLOUD_DATADIR="/mnt/ncdata"` (This is an example for Linux. See [this](https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir) for other OS' and for an explanation of what this value does. This specific one needs to be specified upon the first startup if you want to change it to a specific path instead of the default Docker volume). To see explanations and examples for further variables (like changing the location of Nextcloud's datadir or mounting some locations as external storage into the Nextcloud container), read through this readme and look at the docker-compose file: https://github.com/nextcloud/all-in-one/blob/main/compose.yaml
</details>
> [!NOTE]
> For production usage (and ease of upgrades and changes), we suggest using the example [Compose file](https://github.com/nextcloud/all-in-one/blob/main/compose.yaml) rather than `docker run`.
Note: You may be interested in adjusting Nextclouds datadir to store the files in a different location than the default docker volume. See [this documentation](https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir) on how to do it.
4. After the initial startup, open the Nextcloud AIO interface on port 8080 of this server **by IP address**, for example:
```txt
https://192.168.5.5:8080
```
4. After the initial startup, you should be able to open the Nextcloud AIO Interface now on port 8080 of this server.<br>
E.g. `https://ip.address.of.this.server:8080`<br>
⚠️ **Important:** do always use an ip-address if you access this port and not a domain as HSTS might block access to it later! (It is also expected that this port uses a self-signed certificate due to security concerns which you need to accept in your browser)<br><br>
If your firewall/router has port 80 and 8443 open/forwarded and you point a domain to your server, you can get a valid certificate automatically by opening the Nextcloud AIO Interface via:<br>
`https://your-domain-that-points-to-this-server.tld:8443`
5. Please do not forget to open port `3478/TCP` and `3478/UDP` in your firewall/router for the Talk container!
> [!CAUTION]
> Use an IP address (not a domain) when accessing the AIO interface on port 8080. Accessing via a domain may work temporarily but is likely to break later due to HSTS.
Port 8080 uses a self-signed certificate that you must accept in your browser.
It is also possible to obtain a valid certificate automatically if your firewall/router forwards ports 80 and 8443 and you point a domain to your server. In that case, access the AIO interface using the dedicated port for this purpose (8443), for example:
```txt
https://your-domain-that-points-to-this-server.tld:8443
```
5. If you enable Nextcloud Talk, open port `3478/TCP` and `3478/UDP` in your firewall/router for the Talk (TURN) container.
# FAQ
- [TOC](#faq)

View File

@@ -544,7 +544,9 @@ Also change `<you>@<your-mail-provider-domain>` to a mail address of yours.
<summary>click here to expand</summary>
Unfortunately, it is not possible to configure Nginx-proxy in a way that works because it completely relies on environmental variables of the docker containers itself. Providing these variables does not work as stated above.
This section refers to the dedicated project named `nginx-proxy`. See its [GitHub repo](https://github.com/nginx-proxy/nginx-proxy). If you should be looking for Nginx, see the `Nginx, Freenginx, Openresty, Angie` section in this docu.
Unfortunately, it is not possible to configure `nginx-proxy` in a way that works because it completely relies on environmental variables of the docker containers itself. Providing these variables does not work as stated above.
If you really want to use AIO, we recommend you to switch to caddy. It is simply amazing!<br>