Compare commits

...

105 Commits

Author SHA1 Message Date
Simon L
f0e206b60d add some more docs for facerecognition
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-01-10 12:24:45 +01:00
Simon L
d9c90afd00 increase to 7.10.0
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-01-10 12:00:50 +01:00
Simon L
e06f22e01b Merge pull request #4028 from nextcloud/fix/4027/fix-postgres-variable
notify-push - fix postgres_user variable
2024-01-10 12:00:14 +01:00
Simon L
6b47d8dce1 Merge pull request #4021 from nextcloud/enh/4006/datadir-check
borgbackup - add check for .ocdata file for datadir
2024-01-10 11:59:50 +01:00
Simon L
031d4cd19c notify-push - fix postgres_user variable
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-01-10 11:58:31 +01:00
Simon L
6e8fee9d9e Merge pull request #4024 from nextcloud/automated/noid/psalm-baseline-update
[Automated] Update psalm-baseline.xml
2024-01-10 08:55:34 +01:00
nextcloud-command
40062e6fb7 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2024-01-10 04:09:14 +00:00
Simon L
a7d915b40d Merge pull request #4020 from nextcloud/aio-helm-update
Helm Chart updates
2024-01-09 13:32:28 +01:00
Simon L
0be0c00a2c borgbackup - add check for .ocdata file for datadir
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-01-09 13:17:24 +01:00
szaimen
a8cbdbf19f Helm Chart updates
Signed-off-by: GitHub <noreply@github.com>
2024-01-09 12:08:30 +00:00
Simon L
2dc4358b9f Merge pull request #3999 from nextcloud/enh/noid/add-facerecognition
community-containers - add facerecognition
2024-01-09 10:37:51 +01:00
Simon L
b04fd9c07c Merge pull request #4014 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-23.05.6.5.1
Bump collabora/code from 23.05.6.4.1 to 23.05.6.5.1 in /Containers/collabora
2024-01-09 10:37:02 +01:00
Simon L
0c14a7d222 Merge pull request #4015 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.2.1-25
Bump clamav/clamav from 1.2.1-24 to 1.2.1-25 in /Containers/clamav
2024-01-09 10:36:21 +01:00
Simon L
2d4dd545e0 Merge pull request #4018 from kri164/patch-1
Update readme.md mistypo
2024-01-09 10:17:09 +01:00
kri164
8e1884e832 Update readme.md mistypo
Correct MSA port 578 -> 587

Signed-off-by: kri164 <52274164+kri164@users.noreply.github.com>
2024-01-09 09:13:34 +01:00
dependabot[bot]
9a30bd1527 Bump clamav/clamav from 1.2.1-24 to 1.2.1-25 in /Containers/clamav
Bumps clamav/clamav from 1.2.1-24 to 1.2.1-25.

---
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-01-08 13:00:00 +00:00
dependabot[bot]
592e910da6 Bump collabora/code in /Containers/collabora
Bumps collabora/code from 23.05.6.4.1 to 23.05.6.5.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-08 12:54:06 +00:00
Simon L
a126cfceaf enable previews for modern file formats and add some docs
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-01-05 22:40:52 +01:00
Simon L
8fc41130a0 address review
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-01-05 10:52:09 +01:00
Simon L
2197a3bdbf add fuse hint regarding alpine linux
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-01-05 10:26:01 +01:00
Simon L
bd3fc82923 community-containers - add facerecognition
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-01-04 12:19:39 +01:00
Simon L
5ca8025dcd increase to 7.9.1
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-01-02 12:33:48 +01:00
Simon L
53a9012b43 Merge pull request #3992 from nextcloud/enh/noid/re-add-secret
talk-recording - re-add secret to backend conf
2024-01-02 11:32:22 +01:00
Simon L
7fcc519d44 talk-recording - re-add secret to backend conf
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-01-02 11:29:55 +01:00
Simon L
8bf71c1052 Merge pull request #3972 from PreciousChicken/add-skeleton-directory-context
Add context to custom skeleton directory howto in readme
2024-01-02 11:01:12 +01:00
Simon L
df49342fb1 Merge pull request #3981 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.2.1-24
Bump clamav/clamav from 1.2.1-21 to 1.2.1-24 in /Containers/clamav
2024-01-02 10:56:13 +01:00
Simon L
a13be4c09a Merge pull request #3970 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.1.27-fpm-alpine3.18
Bump php from 8.1.26-fpm-alpine3.18 to 8.1.27-fpm-alpine3.18 in /Containers/nextcloud
2024-01-02 10:55:56 +01:00
Simon L
a46cbc0974 Merge pull request #3969 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.2.14-fpm-alpine3.18
Bump php from 8.2.13-fpm-alpine3.18 to 8.2.14-fpm-alpine3.18 in /Containers/mastercontainer
2024-01-02 10:55:39 +01:00
Simon L
cde30ac81d Merge pull request #3955 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-23.05.6.4.1
Bump collabora/code from 23.05.5.4.1 to 23.05.6.4.1 in /Containers/collabora
2024-01-02 10:53:52 +01:00
Simon L
28c6ba50fc Merge pull request #3941 from nextcloud/automated/noid/psalm-baseline-update
[Automated] Update psalm-baseline.xml
2024-01-02 10:52:58 +01:00
Simon L
7c6574f389 Merge pull request #3935 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.11.3
Bump elasticsearch from 8.11.0 to 8.11.3 in /Containers/fulltextsearch
2024-01-02 10:52:41 +01:00
Simon L
c1dab5790c Merge pull request #3931 from tar-xz/main
Unify `<your-nc-domain>` throughout the doc
2024-01-02 10:52:14 +01:00
dependabot[bot]
12b914f731 Bump clamav/clamav from 1.2.1-21 to 1.2.1-24 in /Containers/clamav
Bumps clamav/clamav from 1.2.1-21 to 1.2.1-24.

---
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-01-01 12:59:44 +00:00
William Wong
2cd8eaa269 Merge branch 'nextcloud:main' into main 2023-12-30 18:50:35 +08:00
nextcloud-command
8a296415fd Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2023-12-30 04:28:18 +00:00
Simon L
507b17d8a9 adjust the main features to make clear that most are optional
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-12-29 22:58:52 +01:00
dependabot[bot]
5c5c66cedd Bump php in /Containers/nextcloud
Bumps php from 8.1.26-fpm-alpine3.18 to 8.1.27-fpm-alpine3.18.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-28 12:57:47 +00:00
dependabot[bot]
ef257bbce9 Bump php in /Containers/mastercontainer
Bumps php from 8.2.13-fpm-alpine3.18 to 8.2.14-fpm-alpine3.18.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-28 12:15:32 +00:00
PreciousChicken
055c55ebfd Add context to custom skeleton directory howto
Currently the README section that describes how to change the custom
skeleton directory does not explain why an administrator may wish to
do this.  This addition to the documentation provides context: a custom
skeleton directory is created to change the default files and folders
that ship with Nextcloud.

Signed-off-by: J Hackman <gene@preciouschicken.com>
2023-12-28 12:10:37 +00:00
dependabot[bot]
275e6099dd Bump collabora/code in /Containers/collabora
Bumps collabora/code from 23.05.5.4.1 to 23.05.6.4.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-21 12:14:23 +00:00
Simon L
d38468d0b4 Merge pull request #3951 from nextcloud/aio-helm-update
Helm Chart updates
2023-12-20 16:39:58 +01:00
szaimen
66a04cb436 Helm Chart updates
Signed-off-by: GitHub <noreply@github.com>
2023-12-20 15:38:41 +00:00
dependabot[bot]
f9601276f0 Bump elasticsearch from 8.11.0 to 8.11.3 in /Containers/fulltextsearch
Bumps elasticsearch from 8.11.0 to 8.11.3.

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 12:48:16 +00:00
dependabot[bot]
dac04a709a Bump python in /Containers/talk-recording
Bumps python from 3.12.0-alpine3.18 to 3.12.1-alpine3.18.

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

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

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

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

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

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

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

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

View File

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

View File

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

View File

@@ -69,6 +69,11 @@ if [ "$BORG_MODE" = backup ]; then
exit 1
elif ! [ -f "/nextcloud_aio_volumes/nextcloud_aio_database_dump/database-dump.sql" ]; 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!"
echo "Is the drive where the datadir is located on still mounted?"
exit 1
fi

View File

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

View File

@@ -1,5 +1,5 @@
# From a file located probably somewhere here: https://github.com/CollaboraOnline/online/tree/master/docker
FROM collabora/code:23.05.5.4.1
FROM collabora/code:23.05.6.5.1
USER root

View File

@@ -1,5 +1,5 @@
# Probably from here https://github.com/elastic/elasticsearch/blob/main/distribution/docker/src/docker/Dockerfile
FROM elasticsearch:8.11.0
FROM elasticsearch:8.11.3
USER root

View File

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

View File

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

View File

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

View File

@@ -42,13 +42,10 @@ if ! [ -f /nextcloud/custom_apps/notify_push/bin/"$CPU_ARCH"/notify_push ]; then
exit 1
fi
# Add a timeout of 15s to hopefully get rid of the first error that is logged if apache is not there yet
sleep 15
echo "notify-push was started"
# Set sensitive values as env
export DATABASE_URL="postgres://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST/$POSTGRES_DB"
export DATABASE_URL="postgres://oc_$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST/$POSTGRES_DB"
export REDIS_URL="redis://:$REDIS_HOST_PASSWORD@$REDIS_HOST"
# Run it

View File

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

View File

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

View File

@@ -26,6 +26,8 @@ listen = 0.0.0.0:1234
[backend]
allowall = ${ALLOW_ALL}
# The secret below is still needed if allowall is set to true, also it doesn't hurt to be here
secret = ${RECORDING_SECRET}
backends = backend-1
skipverify = ${SKIP_VERIFY}
maxmessagesize = 1024

View File

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

View File

@@ -0,0 +1,35 @@
{
"aio_services_v1": [
{
"container_name": "nextcloud-aio-facerecognition",
"display_name": "Computing container for facerecognition",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/facerecognition",
"image": "matiasdelellis/facerecognition-external-model",
"image_tag": "initial",
"internal_port": "5000",
"restart": "unless-stopped",
"environment": [
"TZ=%TIMEZONE%",
"API_KEY=some-super-secret-api-key"
],
"aio_variables": [
"nextcloud_memory_limit=4096M"
],
"nextcloud_exec_commands": [
"php /var/www/html/occ app:install facerecognition",
"php /var/www/html/occ app:enable facerecognition",
"php /var/www/html/occ config:system:set facerecognition.external_model_url --value nextcloud-aio-facerecognition:5000",
"php /var/www/html/occ config:system:set facerecognition.external_model_api_key --value some-super-secret-api-key",
"php /var/www/html/occ face:setup -m 5",
"php /var/www/html/occ face:setup -M 4G",
"php /var/www/html/occ config:app:set facerecognition analysis_image_area --value 4320000",
"php /var/www/html/occ config:system:set enabledFaceRecognitionMimetype 0 --value image/jpeg",
"php /var/www/html/occ config:system:set enabledFaceRecognitionMimetype 1 --value image/png",
"php /var/www/html/occ config:system:set enabledFaceRecognitionMimetype 2 --value image/heic",
"php /var/www/html/occ config:system:set enabledFaceRecognitionMimetype 3 --value image/tiff",
"php /var/www/html/occ config:system:set enabledFaceRecognitionMimetype 4 --value image/webp",
"php /var/www/html/occ face:background_job --defer-clustering &"
]
}
]
}

View File

@@ -0,0 +1,31 @@
## Facerecognition
This container bundles the external model of facerecognition and auto-configures it for you.
### Notes
- This container needs imaginary in order to analyze modern file format images. Make sure to enable imaginary in the AIO interface before adding this container.
- Facerecognition is by default disabled for all users, if you want to enable facerecognition for all users, you can run the following before adding this container:
```bash
# Go into the container
sudo docker exec --user www-data -it nextcloud-aio-nextcloud bash
```
Now inside the container:
```bash
NC_USERS_NEW=$(php occ user:list | sed 's|^ - ||g' | sed 's|:.*||')
mapfile -t NC_USERS_NEW <<< "$NC_USERS_NEW"
for user in "${NC_USERS_NEW[@]}"
do
php occ user:setting "$user" facerecognition full_image_scan_done false
php occ user:setting "$user" facerecognition enabled true
done
# Exit the container shell
exit
```
- If facerecognition shall analyze shared files & folders (`sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set facerecognition handle_shared_files --value true`), groupfolders (`sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set facerecognition handle_group_files --value true`) and/or external storages (`sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set facerecognition handle_external_files --value true`) in Nextcloud, you need to enable support for it manually first by running the mentioned commands before adding this container. See https://github.com/matiasdelellis/facerecognition/wiki/Settings#hidden-settings for further notes on each of these settings.
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository
https://github.com/matiasdelellis/facerecognition-external-model
### Maintainer
https://github.com/matiasdelellis

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -50,7 +50,7 @@ spec:
value: "90"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-clamav:20231130_081302-latest
image: nextcloud/aio-clamav:20240109_092105-latest
name: nextcloud-aio-clamav
ports:
- containerPort: 3310

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -37,7 +37,7 @@ spec:
value: "{{ .Values.TURN_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-talk:20231130_081302-latest
image: nextcloud/aio-talk:20240109_092105-latest
name: nextcloud-aio-talk
ports:
- containerPort: {{ .Values.TALK_PORT }}

View File

@@ -33,7 +33,7 @@ spec:
value: "{{ .Values.RECORDING_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-talk-recording:20231130_081302-latest
image: nextcloud/aio-talk-recording:20240109_092105-latest
name: nextcloud-aio-talk-recording
ports:
- containerPort: 1234

View File

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

View File

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

View File

@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="5.17.0@c620f6e80d0abfca532b00bda366062aaedf6e5d"/>
<files psalm-version="5.19.0@06b71be009a6bd6d81b9811855d6629b9fe90e1b"/>

View File

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

View File

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

View File

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

View File

@@ -1,16 +1,16 @@
# Nextcloud All-in-One
Nextcloud AIO stands for Nextcloud All-in-One and provides easy deployment and maintenance with most features included in this one Nextcloud instance.
The official Nextcloud installation method. Nextcloud AIO provides easy deployment and maintenance with most features included in this one Nextcloud instance.
Included are:
- Nextcloud
- Nextcloud Office
- High performance backend for Nextcloud Files
- High performance backend for Nextcloud Talk and TURN-server
- Nextcloud Talk Recording-server
- Backup solution (based on [BorgBackup](https://github.com/borgbackup/borg#what-is-borgbackup))
- Imaginary (for previews of heic, heif, illustrator, pdf, svg, tiff and webp)
- ClamAV (Antivirus backend for Nextcloud)
- Fulltextsearch
- Nextcloud Office (optional)
- High performance backend for Nextcloud Talk and TURN-server (optional)
- Nextcloud Talk Recording-server (optional)
- Backup solution (optional, based on [BorgBackup](https://github.com/borgbackup/borg#what-is-borgbackup))
- Imaginary (optional, for previews of heic, heif, illustrator, pdf, svg, tiff and webp)
- ClamAV (optional, Antivirus backend for Nextcloud)
- Fulltextsearch (optional)
<details><summary>And much more:</summary>
- Simple web interface included that enables easy installation and maintenance
@@ -252,7 +252,7 @@ No and it will not be added. If you only want to run it locally, you may have a
No and it will not be added. However you can use [this feature](https://github.com/nextcloud/all-in-one/blob/main/multiple-instances.md) in order to create multiple AIO instances, one for each domain.
### Are other ports than the default 443 for Nextcloud supported?
No and they will not be. Please use a dedicated domain for Nextcloud and set it up correctly by following the [reverse proxy documentation](./reverse-proxy.md). If port 443 and/or 80 is blocked for you, you may use the ACME DNS-challenge or a Cloudflare Tunnel.
No and they will not be. Please use a dedicated domain for Nextcloud and set it up correctly by following the [reverse proxy documentation](./reverse-proxy.md). If port 443 and/or 80 is blocked for you, you may use the a Cloudflare Tunnel if you want to publish it online. You could also use the ACME DNS-challenge to get a valid certificate. However in all cases the Nextcloud interface will redirect you to port 443.
### Can I run Nextcloud in a subdirectory on my domain?
No and it will not be added. Please use a dedicated domain for Nextcloud and set it up correctly by following the [reverse proxy documentation](./reverse-proxy.md).
@@ -388,7 +388,7 @@ Not directly but you have multiple options to achieve this:
---
#### Failure of the backup container in LXC containers
If you are running AIO in a LXC container, you need to make sure that FUSE is enabled in the LXC container settings. Otherwise the backup container will not be able to start as FUSE is required for it to work.
If you are running AIO in a LXC container, you need to make sure that FUSE is enabled in the LXC container settings. Also, if using Alpine Linux as host OS, make sure to add fuse via `apk add fuse`. Otherwise the backup container will not be able to start as FUSE is required for it to work.
---
@@ -663,7 +663,7 @@ Some Nextcloud apps require additional php extensions that must be bundled withi
You can do so by adding `--env NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS="imagick extension1 extension2"` to the docker run command of the mastercontainer (but before the last line `nextcloud/all-in-one:latest`! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) and customize the value to your fitting. It must be a string with small letters a-z, digits 0-9, spaces, dots and hyphens or '_'. You can find available extensions here: https://pecl.php.net/packages.php. By default `imagick` is added. If you want to keep it, you need to specify it as well.
### What about the pdlib PHP extension for the facerecognition app?
The [facerecognition app](https://apps.nextcloud.com/apps/facerecognition) requires the pdlib PHP extension to be installed. Unfortunately, it is not available on PECL nor via PHP core, so there is no way to add this into AIO currently. However you can vote up [this issue](https://github.com/goodspb/pdlib/issues/56) to bring it to PECL and there is the [recognize app](https://apps.nextcloud.com/apps/recognize) that also allows to do face-recognition.
The [facerecognition app](https://apps.nextcloud.com/apps/facerecognition) requires the pdlib PHP extension to be installed. Unfortunately, it is not available on PECL nor via PHP core, so there is no way to add this into AIO currently. However you can use [this community container](https://github.com/nextcloud/all-in-one/tree/main/community-containers/facerecognition) in order to run facerecognition.
### How to enable hardware-transcoding for Nextcloud?
⚠️⚠️⚠️ Warning: this only works if the `/dev/dri` device is present on the host! If it does not exists on your host, don't proceed as otherwise the Nextcloud container will fail to start! If you are unsure about this, better do not proceed with the instructions below.
@@ -688,8 +688,8 @@ You can move the whole docker library and all its files including all Nextcloud
### How to edit Nextclouds config.php file with a texteditor?
You can edit Nextclouds config.php file directly from the host with your favorite text editor. E.g. like this: `sudo docker run -it --rm --volume nextcloud_aio_nextcloud:/var/www/html:rw alpine sh -c "apk add --no-cache nano && nano /var/www/html/config/config.php"`. Make sure to not break the file though which might corrupt your Nextcloud instance otherwise. In best case, create a backup using the built-in backup solution before editing the file.
### Custom skeleton directory
If you want to define a custom skeleton directory, you can do so by copying your skeleton files `sudo docker cp --follow-link /path/to/nextcloud/skeleton/ nextcloud-aio-nextcloud:/mnt/ncdata/skeleton/`, applying the correct permissions with `sudo docker exec nextcloud-aio-nextcloud chown -R 33:0 /mnt/ncdata/skeleton/` and `sudo docker exec nextcloud-aio-nextcloud chmod -R 750 /mnt/ncdata/skeleton/` and setting the skeleton directory option with `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:system:set skeletondirectory --value="/mnt/ncdata/skeleton"`. You can read further on this option here: [click here](https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/config_sample_php_parameters.html?highlight=skeletondir#:~:text=adding%20%3Fdirect%3D1-,'skeletondirectory',-%3D%3E%20'%2Fpath%2Fto%2Fnextcloud)
### How to change default files by creating a custom skeleton directory?
All users see a set of [default files and folders](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/default_files_configuration.html) as dictated by Nextcloud's configuration. To change these default files and folders a custom skeleton directory must first be created; this can be accomplished by copying your skeleton files `sudo docker cp --follow-link /path/to/nextcloud/skeleton/ nextcloud-aio-nextcloud:/mnt/ncdata/skeleton/`, applying the correct permissions with `sudo docker exec nextcloud-aio-nextcloud chown -R 33:0 /mnt/ncdata/skeleton/` and `sudo docker exec nextcloud-aio-nextcloud chmod -R 750 /mnt/ncdata/skeleton/` and setting the skeleton directory option with `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:system:set skeletondirectory --value="/mnt/ncdata/skeleton"`. Further information is available in the Nextcloud documentation on [configuration parameters for the skeleton directory](https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/config_sample_php_parameters.html#skeletondirectory).
### Fail2ban
You can configure your server to block certain ip-addresses using fail2ban as bruteforce protection. Here is how to set it up: https://docs.nextcloud.com/server/stable/admin_manual/installation/harden_server.html#setup-fail2ban. The logpath of AIO is by default `/var/lib/docker/volumes/nextcloud_aio_nextcloud/_data/data/nextcloud.log`. Do not forget to add `chain=DOCKER-USER` to your nextcloud jail config (`nextcloud.local`) otherwise the nextcloud service running on docker will still be accessible even if the IP is banned. Also, you may change the blocked ports to cover all AIO ports: by default `80,443,8080,8443,3478` (see [this](https://github.com/nextcloud/all-in-one#explanation-of-used-ports)). Apart from that there is now a community container that can be added to the AIO stack: https://github.com/nextcloud/all-in-one/tree/main/community-containers/fail2ban
@@ -707,7 +707,7 @@ If you want to use the user_sql app, the easiest way is to create an additional
It is possible to install any of these to get a GUI for your AIO database. The pgAdmin container is recommended. You can get some docs on it here: https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html. For the container to connect to the aio-database, you need to connect the container to the docker network `nextcloud-aio` and use `nextcloud-aio-database` as database host, `oc_nextcloud` as database username and the password that you get when running `sudo docker exec nextcloud-aio-nextcloud grep dbpassword config/config.php` as the password. Apart from that there is now a way for the community to add containers: https://github.com/nextcloud/all-in-one/discussions/3061#discussioncomment-7307045
### Mail server
You can configure one yourself by using either of these three recommended projects: [Docker Mailserver](https://github.com/docker-mailserver/docker-mailserver/#docker-mailserver), [Mailu](https://github.com/Mailu/Mailu), [Maddy Mail Server](https://github.com/foxcpp/maddy#maddy-mail-server) or [Mailcow](https://github.com/mailcow/mailcow-dockerized#mailcow-dockerized-------). Docker Mailserver and Maddy Mail Server are probably a bit easier to set up as it is possible to run them using only one container but Mailcow and Mailu both have more features. Apart from that there is now a way for the community to add containers: https://github.com/nextcloud/all-in-one/discussions/356#discussioncomment-7133547
You can configure one yourself by using either of these four recommended projects: [Docker Mailserver](https://github.com/docker-mailserver/docker-mailserver/#docker-mailserver), [Mailu](https://github.com/Mailu/Mailu), [Maddy Mail Server](https://github.com/foxcpp/maddy#maddy-mail-server), [Mailcow](https://github.com/mailcow/mailcow-dockerized#mailcow-dockerized-------) or [Stalwart](https://stalw.art/). There is now a community container which allows to easily add Stalwart Mail server to AIO: https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart
### How to migrate from an already existing Nextcloud installation to Nextcloud AIO?
Please see the following documentation on this: [migration.md](https://github.com/nextcloud/all-in-one/blob/main/migration.md)

View File

@@ -505,7 +505,7 @@ myNextcloudApp.use((req, res) => {
proxy.web(req, res, {}, onProxyError);
});
vhost.use(vhostFunc('<your-nextcloud-domain>', myNextcloudApp));
vhost.use(vhostFunc('<your-nc-domain>', myNextcloudApp));
const httpServer = http.createServer(app);
httpServer.listen('80');
@@ -579,7 +579,7 @@ The examples below define the dynamic configuration in YAML files. If you rather
http:
routers:
nextcloud:
rule: "Host(`<your-nextcloud-domain>`)"
rule: "Host(`<your-nc-domain>`)"
entrypoints:
- "https"
service: nextcloud