Compare commits

...

233 Commits

Author SHA1 Message Date
Simon L
402eb401cb increase to 7.2.1
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-09-15 16:58:49 +02:00
Simon L
9eda45d530 Merge pull request #3351 from nextcloud/enh/3287/update-nc 2023-09-15 16:58:07 +02:00
Simon L
0fd1c5dd9a Nextcloud - update to 27.1.0
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-09-15 16:56:42 +02:00
Simon L
2ff1913f2c increase to 7.2.0
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-09-13 13:20:58 +02:00
Simon L
e98d8a2304 Merge pull request #3309 from nextcloud/enh/noid/rename-app-ecosystem 2023-09-12 11:25:18 +02:00
Simon L
b7c7720244 adjust links
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-09-12 11:23:16 +02:00
Simon L
5d9c6705c4 rename to app api
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-09-12 11:23:16 +02:00
Simon L
170cb93806 rename app_ecosystem_v2 to app_api
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-09-12 11:23:16 +02:00
Simon L
04fbbecad6 Merge pull request #3334 from nextcloud/enh/noid/revert-tmpfs-for-nextcloud 2023-09-12 11:22:33 +02:00
Simon L
2635fee3fd Revert "nextcloud container - make /tmp a tmpfs"
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-09-12 11:20:30 +02:00
Simon L
8b0b0d0ad8 Merge pull request #3317 from nextcloud/enh/noid/limit-mastercontainer-to-localhost 2023-09-12 11:05:39 +02:00
Simon L
99df9a32b5 Merge pull request #3313 from nextcloud/enh/noid/head-request 2023-09-12 11:03:38 +02:00
Simon L
9537122b78 Merge pull request #2986 from nextcloud/enh/2985/allow-to-keep-disabled-apps 2023-09-12 11:03:26 +02:00
Simon L
371685cfd5 Merge pull request #3308 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-24.0.6-cli 2023-09-12 10:59:22 +02:00
dependabot[bot]
3431255f45 Bump docker from 24.0.5-cli to 24.0.6-cli in /Containers/mastercontainer
Bumps docker from 24.0.5-cli to 24.0.6-cli.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 08:58:12 +00:00
Simon L
cc7c0e0c6c Merge pull request #3326 from nextcloud/nextcloud-container-update 2023-09-12 10:58:04 +02:00
Simon L
55dc9f4d7f Merge pull request #3323 from nextcloud/dependabot/docker/Containers/docker-socket-proxy/haproxy-2.8.3-alpine3.18 2023-09-12 10:57:51 +02:00
Simon L
af3cf47637 Merge pull request #3322 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.9.2 2023-09-12 10:57:37 +02:00
Simon L
21cd49f933 Merge pull request #3321 from nextcloud/dependabot/docker/Containers/redis/redis-7.2.1-alpine 2023-09-12 10:57:22 +02:00
Simon L
d2d746f628 Merge pull request #3320 from nextcloud/aio-dependency-update 2023-09-12 10:57:02 +02:00
Simon L
7904979be9 Merge pull request #3316 from nextcloud/dependabot/docker/Containers/talk/nats-2.9.22-scratch 2023-09-12 10:56:44 +02:00
Simon L
6683473854 Merge pull request #3315 from nextcloud/dependabot/docker/Containers/imaginary/golang-1.21.1-alpine3.18 2023-09-12 10:56:31 +02:00
dependabot[bot]
f2354d0b70 Bump redis from 7.0.12-alpine to 7.2.1-alpine in /Containers/redis
Bumps redis from 7.0.12-alpine to 7.2.1-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 08:54:50 +00:00
dependabot[bot]
5c66b783f4 Bump elasticsearch from 8.9.1 to 8.9.2 in /Containers/fulltextsearch
Bumps elasticsearch from 8.9.1 to 8.9.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 08:54:27 +00:00
Simon L
f23cce39f8 Merge pull request #3333 from nextcloud/aio-helm-update 2023-09-12 10:54:16 +02:00
szaimen
220e562e03 Helm Chart updates
Signed-off-by: GitHub <noreply@github.com>
2023-09-12 08:46:20 +00:00
Simon L
9a6a8b50ef Merge pull request #3184 from nextcloud/aio-yaml-update 2023-09-12 10:42:56 +02:00
szaimen
74b04e9484 nextcloud-update automated change
Signed-off-by: GitHub <noreply@github.com>
2023-09-11 12:08:06 +00:00
szaimen
dfe1ac9013 Yaml updates
Signed-off-by: GitHub <noreply@github.com>
2023-09-11 12:02:32 +00:00
szaimen
f37c435526 php dependency updates
Signed-off-by: GitHub <noreply@github.com>
2023-09-11 12:02:12 +00:00
Simon L
c1cedac15c rename nextcloud update to nextcloud dependency update
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-09-11 10:30:47 +02:00
dependabot[bot]
103077590f Bump haproxy in /Containers/docker-socket-proxy
Bumps haproxy from 2.8.2-alpine3.18 to 2.8.3-alpine3.18.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-08 12:56:16 +00:00
Simon L
64d698359c mastercontainer - limit access to php-fpm to localhost
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-09-07 16:52:37 +02:00
Simon L
2e0410a704 allow to keep disabled apps
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-09-07 15:59:33 +02:00
dependabot[bot]
04c442d8c1 Bump nats from 2.9.21-scratch to 2.9.22-scratch in /Containers/talk
Bumps nats from 2.9.21-scratch to 2.9.22-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-09-07 12:39:17 +00:00
dependabot[bot]
a45dc5aed7 Bump golang in /Containers/imaginary
Bumps golang from 1.21.0-alpine3.18 to 1.21.1-alpine3.18.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-07 12:29:01 +00:00
Simon L
96e22fbc31 Update check - move to head request instead of get request
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-09-07 14:12:43 +02:00
Simon L
faf1e4b2a9 increase to 7.1.1
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-09-05 12:11:49 +02:00
Simon L
a0dddcc1b3 Merge pull request #3298 from nextcloud/enh/noid/fix-timezone-exit 2023-09-05 12:10:51 +02:00
Simon L
4f7fdf55d3 Merge pull request #3302 from nextcloud/dependabot/github_actions/actions/checkout-4 2023-09-04 16:11:28 +02:00
Simon L
016b014244 Merge pull request #3301 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.2.10-fpm-alpine3.18 2023-09-04 16:10:57 +02:00
Simon L
d6933ed55a Merge pull request #3300 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.1.23-fpm-alpine3.18 2023-09-04 16:10:43 +02:00
dependabot[bot]
9c4917165e Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 12:29:01 +00:00
dependabot[bot]
0c4c1a88f3 Bump php in /Containers/mastercontainer
Bumps php from 8.2.9-fpm-alpine3.18 to 8.2.10-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-09-04 12:25:45 +00:00
dependabot[bot]
e49829eb63 Bump php in /Containers/nextcloud
Bumps php from 8.1.22-fpm-alpine3.18 to 8.1.23-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-09-04 12:24:36 +00:00
Simon L
af10e28225 Merge pull request #3293 from nextcloud/aio-dependency-update 2023-09-04 11:31:50 +02:00
Simon L
fad6477c2a do not exit if TZ is set
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-09-04 11:20:49 +02:00
Simon L
422b1d4922 Merge pull request #3296 from Imzxhir/patch-1
Fix a small mistake in Traefik Docs
2023-09-04 10:29:25 +02:00
Zxhir
91618de5a7 Fix a small mistake in Traefik Docs
Signed-off-by: Zxhir <98621617+Imzxhir@users.noreply.github.com>
2023-09-03 15:52:10 +01:00
szaimen
3bfa1e5239 php dependency updates
Signed-off-by: GitHub <noreply@github.com>
2023-09-01 12:02:13 +00:00
Simon L
8b9a87b893 fix the hc
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-31 13:01:33 +02:00
Simon L
900ac1463b fix haproxy config
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-31 12:46:19 +02:00
Simon L
8cb1d413f8 dsp - fix healthcheck
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-31 12:31:36 +02:00
Simon L
de551e3ec3 Merge pull request #3286 from nextcloud/enh/noid/add-rules 2023-08-31 12:08:25 +02:00
Andrey Borysenko
594b3f10e1 use inverted no_privileged_flag
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
2023-08-31 12:45:19 +03:00
Simon L
f0542158de do not allow to set privileged at all
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-31 11:33:49 +02:00
Alexander Piskun
5523dfc6ae small rules adjustments 2023-08-31 12:03:24 +03:00
Simon L
e55faec870 add additinaly allowed rules for haproxy
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-30 17:02:49 +02:00
Simon L
305dba38a2 fix ipv6 for haproxy
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-30 16:58:32 +02:00
Simon L
e0e26ffc4d remove docker socket proxy warning
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-30 16:34:40 +02:00
Simon L
5b94e833bd Merge pull request #3243 from nextcloud/ha-proxy-update 2023-08-30 16:32:37 +02:00
Simon L
204a24019f fix SC
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-30 15:59:51 +02:00
Simon L
f92d36a5f7 of course we need the src
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-30 15:23:40 +02:00
Simon L
b4e30bc66a add recommended regex
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-30 15:16:35 +02:00
Simon L
2bb47bdf1b add disable label
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-30 15:14:29 +02:00
Simon L
a56fbb6045 address review
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-30 15:13:08 +02:00
Simon L
cac797114a restore lost changes
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-30 14:59:08 +02:00
Simon L
92c44261cd Merge pull request #3285 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-23.05.3.1.1
Bump collabora/code from 23.05.2.2.1 to 23.05.3.1.1 in /Containers/collabora
2023-08-30 14:40:03 +02:00
dependabot[bot]
7c102626d6 Bump collabora/code in /Containers/collabora
Bumps collabora/code from 23.05.2.2.1 to 23.05.3.1.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-30 12:37:41 +00:00
Zoey
5ad26a42fd Update containers.json
Signed-off-by: Zoey <zoey@z0ey.de>
2023-08-30 13:13:47 +02:00
Zoey
0fbd7768e0 Update start.sh
Signed-off-by: Zoey <zoey@z0ey.de>
2023-08-30 13:13:47 +02:00
Zoey
e33f797da1 remove https
Signed-off-by: Zoey <zoey@z0ey.de>
2023-08-30 13:13:42 +02:00
Zoey
685786c5f6 Update start.sh
Signed-off-by: Zoey <zoey@z0ey.de>
2023-08-30 13:13:39 +02:00
Zoey
5795286a7b Create start.sh
Signed-off-by: Zoey <zoey@z0ey.de>
2023-08-30 13:13:39 +02:00
Simon L
480ac49358 increase to 7.2.0
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-30 12:52:23 +02:00
Simon L
fe5bfea168 Merge pull request #3284 from nextcloud/enh/noid/disable-docker-socket-proxy-temproarily 2023-08-30 12:47:47 +02:00
Simon L
9b9b778f90 dont create an additional network
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-30 12:43:24 +02:00
Simon L
722cb9802a disable docker-socket-proxy temporarily
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-30 12:42:57 +02:00
Simon L
6c47764997 Merge pull request #3277 from nextcloud/enh/3274/improve-backup-wording 2023-08-30 12:24:45 +02:00
Simon L
cca27a18d6 Merge pull request #3279 from Greenheart/fix/readme
Fix typo in readme.md
2023-08-29 17:16:34 +02:00
Samuel Plumppu
9cc4597318 Update readme.md
Signed-off-by: Samuel Plumppu <6125097+Greenheart@users.noreply.github.com>
2023-08-29 16:25:39 +02:00
Simon L
234bdc0dab Merge pull request #3278 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.2.0-1 2023-08-29 14:31:12 +02:00
dependabot[bot]
42b852f18d Bump clamav/clamav from 1.1.1-10 to 1.2.0-1 in /Containers/clamav
Bumps clamav/clamav from 1.1.1-10 to 1.2.0-1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-29 12:28:07 +00:00
Simon L
1dfab726c4 adjust wording what to do if backup creation fails
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-29 12:02:46 +02:00
Simon L
7522d49818 Merge pull request #3273 from sjjh/patch-4
Update reverse-proxy.md: clarified that unencrypted HTTP traffic is e…
2023-08-28 19:52:22 +02:00
sjjh
c83f97911b Update reverse-proxy.md: clarified that unencrypted HTTP traffic is expected
response to #3266 

Signed-off-by: sjjh <2787214+sjjh@users.noreply.github.com>
2023-08-28 18:14:07 +02:00
Simon L
9e69c6bd8a Merge pull request #3272 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.1.1-10 2023-08-28 15:06:49 +02:00
Simon L
d49f512a2a Merge pull request #3271 from nextcloud/dependabot/docker/Containers/talk-recording/python-3.11.5-alpine3.18 2023-08-28 15:06:31 +02:00
Simon L
5bcbe4ec7d fix nc-update script
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-28 15:05:57 +02:00
dependabot[bot]
b3e5a15213 Bump clamav/clamav from 1.1.1-9 to 1.1.1-10 in /Containers/clamav
Bumps clamav/clamav from 1.1.1-9 to 1.1.1-10.

---
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-08-28 12:55:16 +00:00
Simon L
5ef3650de7 Merge pull request #3269 from nextcloud/aio-dependency-update
PHP dependency updates
2023-08-28 14:53:45 +02:00
dependabot[bot]
cf0113b123 Bump python in /Containers/talk-recording
Bumps python from 3.11.4-alpine3.18 to 3.11.5-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-08-28 12:38:09 +00:00
szaimen
0f5a349413 php dependency updates
Signed-off-by: GitHub <noreply@github.com>
2023-08-28 12:02:28 +00:00
Simon L
0e9415c672 Merge pull request #3265 from sjjh/patch-3
backupscript.sh: slight rewording for consistency
2023-08-28 08:52:31 +02:00
Simon L
c574b277b8 Merge pull request #3264 from sjjh/patch-2
Fix typo in readme.md
2023-08-28 08:44:41 +02:00
Simon L
3281ff531c Merge pull request #3263 from sjjh/patch-1
fix typo in apache's start.sh
2023-08-28 08:43:49 +02:00
Simon L
e03e440653 Use en-dash
Signed-off-by: Simon L <szaimen@e.mail.de>

Signed-off-by: Simon L. <szaimen@e.mail.de>
2023-08-28 08:43:01 +02:00
sjjh
9b9f72dcb8 Update backupscript.sh: slight rewording for consistency
Added some full stops, changed some wording, changed capitalisation, ...in some "echo"-statements  to improve consistency for user outputs.

Signed-off-by: sjjh <2787214+sjjh@users.noreply.github.com>
2023-08-27 21:37:14 +02:00
sjjh
e55e191033 Update readme.md: typo
removed double "warning"

Signed-off-by: sjjh <2787214+sjjh@users.noreply.github.com>
2023-08-27 21:20:17 +02:00
sjjh
43a77772c7 typo in Update start.sh
typo in comment: makre -> make

Signed-off-by: sjjh <2787214+sjjh@users.noreply.github.com>
2023-08-27 21:16:12 +02:00
Simon L
1b7dfac140 Merge pull request #3258 from nextcloud/aio-dependency-update
PHP dependency updates
2023-08-27 14:03:11 +02:00
szaimen
faa3321863 php dependency updates
Signed-off-by: GitHub <noreply@github.com>
2023-08-27 12:02:06 +00:00
Simon L
76f56ec6a8 add some words
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-25 18:20:30 +02:00
Simon L
aac609f64d fix typo
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-25 18:18:55 +02:00
Simon L
fbafc25c7d add a warning regarding using the daily-backup script
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-25 18:18:09 +02:00
Simon L
8b2963d564 fix it
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-25 15:29:45 +02:00
Simon L
722a96828e Merge pull request #3245 from nextcloud/enh/noid/fix-securityopt 2023-08-25 12:23:48 +02:00
Simon L
0da1b0879f one last try
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-25 11:01:28 +02:00
Simon L
5cae52b1ee fix another detail
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-25 10:48:08 +02:00
Simon L
e13edafa16 fix detail
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-25 10:45:09 +02:00
Simon L
0fce3d9319 fix securityopt label disabled
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-25 10:24:14 +02:00
Simon L
46105d00bb make sure that DOCKER_SOCKET_PROXY_ENABLED is actually removed in update-yaml.sh
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-24 17:36:39 +02:00
Simon L
5893fdd03b fix socket permissions permissions
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-24 16:58:01 +02:00
Simon L
2661e85aa3 fix further detail
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-24 16:40:46 +02:00
Simon L
55c8c3f8f5 Merge pull request #3241 from nextcloud/dependabot/docker/Containers/docker-socket-proxy/haproxy-2.8.2-alpine3.18 2023-08-24 16:30:46 +02:00
Simon L
65dda7a88b Merge pull request #3238 from Duvio/Duvio-patch-1 2023-08-24 16:29:18 +02:00
Simon L
881f226875 Merge pull request #3240 from nextcloud/enh/3239/disable-selinux 2023-08-24 16:28:00 +02:00
dependabot[bot]
e0b3196839 Bump haproxy in /Containers/docker-socket-proxy
Bumps haproxy from 2.4.24-alpine3.18 to 2.8.2-alpine3.18.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-24 14:27:02 +00:00
Simon L
df92e707e8 Merge pull request #3242 from nextcloud/enh/noid/improve-dsp 2023-08-24 16:26:19 +02:00
Simon L
c4fb5a0961 improve some deails with docker-socket-proxy
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-24 16:25:04 +02:00
Simon L
53fae60c4e fix detail
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-24 16:09:05 +02:00
Simon L
ddae2673cd add tzdata into container
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-24 15:54:22 +02:00
Simon L
7f4e606d60 fix docker build
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-24 15:53:03 +02:00
Simon L
8ed3625a6f Merge pull request #3235 from nextcloud/enh/3230/add-docker-socket-proxy 2023-08-24 15:50:01 +02:00
Simon L
d2d0916696 add link to project and use correct name
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-24 15:48:16 +02:00
Simon L
6d11b9c72f disable services and events
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-24 15:46:40 +02:00
Simon L
d4e61d2b32 disable selinux for watchtower and docker-socket-proxy
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-24 15:43:26 +02:00
Simon L
4a7ed52213 should be available with 27.1.0
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-24 15:38:50 +02:00
Simon L
6685791427 add docker-socket-proxy as option
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-24 15:22:49 +02:00
Duvio
b0582edb85 Fix spelling mistake in reverse-proxy.md
Signed-off-by: Duvio <can2004kaya@gmail.com>
2023-08-24 15:22:46 +02:00
Simon L
b9bcbfdecb Merge pull request #3236 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.9.1
Bump elasticsearch from 8.8.1 to 8.9.1 in /Containers/fulltextsearch
2023-08-24 14:40:45 +02:00
dependabot[bot]
936b6becc0 Bump elasticsearch from 8.8.1 to 8.9.1 in /Containers/fulltextsearch
Bumps elasticsearch from 8.8.1 to 8.9.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-24 12:23:56 +00:00
Simon L
7e5fe5ac8e Merge pull request #3232 from nextcloud/enh/3224/fix-OO
Fix OO
2023-08-24 11:43:17 +02:00
Simon L
4fa2683b83 Fix OO
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-24 11:07:00 +02:00
Simon L
a592288f82 fix it
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-23 00:16:27 +02:00
Simon L
5e14e807ac WIP
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-23 00:14:06 +02:00
Simon L
6ab598d805 another change
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-23 00:09:10 +02:00
Simon L
32c6c3e596 adjust workflow to get correct chart-dir
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-23 00:03:48 +02:00
Simon L
408be25263 improve the workflow
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-22 23:58:23 +02:00
Simon L
5b101bd946 add lint-helm workflow
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-22 23:55:56 +02:00
Simon L
a4e762c297 update links to memories docs
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-22 23:49:11 +02:00
Simon L
fb7ee455ee fix detail
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-21 23:25:57 +02:00
Simon L
ede981fc31 Merge pull request #3188 from nextcloud/enh/noid/improve-talk-healthcheck
talk - improve healthcheck
2023-08-21 23:00:32 +02:00
Simon L
9200cb38ed Merge pull request #3217 from nextcloud/enh/noid/fix-talk
talk - fix eternal relay-ip
2023-08-21 22:59:43 +02:00
Simon L
2868d45882 address review
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-21 22:10:31 +02:00
Simon L
70126d289e talk - fix eternal relay-ip
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-21 18:51:31 +02:00
Simon L
b890fc211f Merge pull request #3191 from nextcloud/enh/1581/image_tag
add image_tag to containers definition
2023-08-21 14:37:27 +02:00
Simon L
931bc05cfd Merge pull request #3216 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.1.1-9
Bump clamav/clamav from 1.1.1-8 to 1.1.1-9 in /Containers/clamav
2023-08-21 14:35:16 +02:00
dependabot[bot]
0d1ec70b59 Bump clamav/clamav from 1.1.1-8 to 1.1.1-9 in /Containers/clamav
Bumps clamav/clamav from 1.1.1-8 to 1.1.1-9.

---
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-08-21 12:33:19 +00:00
Simon L
dffbe978a0 Merge pull request #3212 from nextcloud/automated/noid/psalm-baseline-update
[Automated] Update psalm-baseline.xml
2023-08-21 08:19:51 +02:00
nextcloud-command
2c83137352 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2023-08-21 04:08:48 +00:00
Simon L
65189aa7b6 Merge pull request #3207 from nextcloud/enh/3197/improve-nextcloud
nextcloud - improve healthcheck
2023-08-19 10:38:41 +02:00
Simon L
6f517955d4 fix docker-lint workflow
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-19 10:35:49 +02:00
Simon L
774d10931f nextcloud - improve healthcheck
Signed-off-by: Simon L <szaimen@e.mail.de>

Revert "nextcloud - improve healthcheck"

This reverts commit d9352c36d3c902c8ab2e884513cd1ba331bac78b.

Update Dockerfile
2023-08-18 22:51:24 +02:00
Simon L
cf41079c4f Merge pull request #3208 from nextcloud/enh/3197/improve-notify-push
ntofiy-push - improve healthcheck
2023-08-18 21:27:08 +02:00
Simon L
60a692ae46 ntofiy-push - improve healthcheck
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-18 21:21:24 +02:00
Simon L
f17c2f5c1c Merge pull request #3202 from nextcloud/dependabot/docker/Containers/apache/caddy-2.7.4-alpine
Bump caddy from 2.7.3-alpine to 2.7.4-alpine in /Containers/apache
2023-08-18 15:58:20 +02:00
dependabot[bot]
11f8ac51db Bump caddy from 2.7.3-alpine to 2.7.4-alpine in /Containers/apache
Bumps caddy from 2.7.3-alpine to 2.7.4-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-08-18 13:57:58 +00:00
Simon L
3b41ad49f8 Merge pull request #3201 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.1.1-8
Bump clamav/clamav from 1.1.1-7 to 1.1.1-8 in /Containers/clamav
2023-08-18 15:57:52 +02:00
Simon L
4d1f356aca Merge pull request #3200 from nextcloud/dependabot/docker/Containers/mastercontainer/caddy-2.7.4-alpine
Bump caddy from 2.7.3-alpine to 2.7.4-alpine in /Containers/mastercontainer
2023-08-18 15:57:23 +02:00
Simon L
169e67beec Merge pull request #3199 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.2.9-fpm-alpine3.18
Bump php from 8.2.8-fpm-alpine3.18 to 8.2.9-fpm-alpine3.18 in /Containers/mastercontainer
2023-08-18 15:57:01 +02:00
Simon L
4aa9a9a5be Merge pull request #3186 from nextcloud/enh/3183/improve-healthcheck
mastercontainer - improve healthcheck
2023-08-18 15:49:37 +02:00
Simon L
235d7b8512 Merge pull request #3187 from nextcloud/enh/noid/improve-apache-healtcheck
apache - improve healtcheck
2023-08-18 15:49:25 +02:00
dependabot[bot]
10a9d56654 Bump clamav/clamav from 1.1.1-7 to 1.1.1-8 in /Containers/clamav
Bumps clamav/clamav from 1.1.1-7 to 1.1.1-8.

---
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-08-18 12:49:00 +00:00
dependabot[bot]
9fe8e7e7fc Bump caddy in /Containers/mastercontainer
Bumps caddy from 2.7.3-alpine to 2.7.4-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-08-18 12:23:02 +00:00
dependabot[bot]
11de2c2551 Bump php in /Containers/mastercontainer
Bumps php from 8.2.8-fpm-alpine3.18 to 8.2.9-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-08-18 12:22:57 +00:00
Simon L
c69a5d2065 add image_tag to containers definition
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-17 16:51:04 +02:00
Simon L
2cf6c7401e Merge pull request #3189 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.1.1-7
Bump clamav/clamav from 1.1.0-6 to 1.1.1-7 in /Containers/clamav
2023-08-17 14:58:46 +02:00
dependabot[bot]
f551a9c56f Bump clamav/clamav from 1.1.0-6 to 1.1.1-7 in /Containers/clamav
Bumps clamav/clamav from 1.1.0-6 to 1.1.1-7.

---
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-08-17 12:56:08 +00:00
Simon L
e6af640871 talk - improve healthcheck
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-17 14:22:39 +02:00
Simon L
b2e33e8a51 apache - improve healtcheck
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-17 14:18:25 +02:00
Simon L
d8e802851d mastercontainer - improve healthcheck
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-17 14:15:04 +02:00
Simon L
c83c59771f revert transparency of notify-push
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-17 12:59:42 +02:00
Simon L
3895650f1e improve detail
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-17 12:52:47 +02:00
Simon L
79e86d6f40 fix detail
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-17 12:37:48 +02:00
Simon L
5bbec81ff8 Merge pull request #3181 from nextcloud/enh/2933/fix-trusted-proxies
fix notify-push trusted proxies
2023-08-17 12:06:00 +02:00
Simon L
b8f534244b fix SC
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-17 11:00:50 +02:00
Simon L
f1a71ac84c Merge pull request #2855 from nextcloud/eturnal
eturnal
2023-08-17 10:58:23 +02:00
Simon L
62c7e3f133 fix notify-push trusted proxies
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-17 10:51:55 +02:00
Simon L
3052915de4 Merge pull request #3178 from Fred-DTV/Fred-DTV-patch-1
Update wording for FTS
2023-08-17 10:06:15 +02:00
Simon L
6f154eebb0 Merge pull request #3138 from nextcloud/enh/noid/add-fts-password
add password to FTS
2023-08-17 10:01:02 +02:00
FreDTV
499992d390 Update php/templates/containers.twig
Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: FreDTV <70434961+Fred-DTV@users.noreply.github.com>
2023-08-17 10:00:59 +02:00
Simon L
4e166bd2f4 Merge pull request #3154 from nextcloud/enh/noid/add-unsupported-env-check
add check for unsupported environmental variables
2023-08-17 09:56:31 +02:00
Simon L
c153fed44d Merge pull request #3174 from nextcloud/enh/3166/grep-syntax
try to fix grep syntax for db restore
2023-08-17 09:56:19 +02:00
Simon L
15da1035fb Merge pull request #3171 from nextcloud/grep
change grep command
2023-08-17 09:44:00 +02:00
Simon L
28463a095f Merge pull request #3157 from nextcloud/enh/noid/notify-push-logs
make notify-push logs more explicit
2023-08-17 09:43:36 +02:00
Simon L
378989ecb4 address review
Signed-off-by: Simon L <szaimen@e.mail.de>

Co-authored-by: Zoey <zoey@z0ey.de>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2023-08-17 09:42:47 +02:00
Simon L
fed0f42fed add check for unsupported environmental variables
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-17 09:42:26 +02:00
Simon L
43b5a7c8bb Merge pull request #3153 from nextcloud/enh/3147/add-timezone-check
add check for timezone
2023-08-17 09:39:58 +02:00
Simon L
5621a456f9 Merge pull request #3140 from nextcloud/enh/3052/add-init
add init flag to all containers
2023-08-17 09:39:05 +02:00
Simon L
9cd867f8d9 Merge pull request #3139 from nextcloud/enh/noid/disable-logging
disable logging for domain-validator.php
2023-08-17 09:38:53 +02:00
Simon L
b1ce4a26d9 Merge pull request #3165 from nextcloud/dependabot/docker/Containers/apache/caddy-2.7.3-alpine
Bump caddy from 2.7.2-alpine to 2.7.3-alpine in /Containers/apache
2023-08-17 09:32:19 +02:00
Simon L
7229f2518b Merge pull request #3164 from nextcloud/dependabot/docker/Containers/mastercontainer/caddy-2.7.3-alpine
Bump caddy from 2.7.2-alpine to 2.7.3-alpine in /Containers/mastercontainer
2023-08-17 09:32:08 +02:00
Simon L
82b6d18b68 Merge pull request #3159 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.1.0-6
Bump clamav/clamav from 1.1.0-1 to 1.1.0-6 in /Containers/clamav
2023-08-17 09:31:53 +02:00
Simon L
828040e279 Merge pull request #3158 from nextcloud/dependabot/docker/Containers/postgresql/postgres-15.4-alpine
Bump postgres from 15.3-alpine to 15.4-alpine in /Containers/postgresql
2023-08-17 09:31:22 +02:00
Simon L
20d794b71c Merge pull request #3142 from nextcloud/aio-dependency-update
PHP dependency updates
2023-08-17 09:31:06 +02:00
dependabot[bot]
6823e81b80 Bump postgres from 15.3-alpine to 15.4-alpine in /Containers/postgresql
Bumps postgres from 15.3-alpine to 15.4-alpine.

---
updated-dependencies:
- dependency-name: postgres
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-17 07:24:13 +00:00
Simon L
312b65ca84 Merge pull request #3179 from nextcloud/aio-helm-update
Helm Chart updates
2023-08-17 09:23:19 +02:00
szaimen
f05e602574 Helm Chart updates
Signed-off-by: GitHub <noreply@github.com>
2023-08-17 07:22:48 +00:00
Simon L
3988351882 fix detail
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-17 09:14:39 +02:00
Simon L
4a87a5cde8 fix update-helm script
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-17 09:07:11 +02:00
FreDTV
188b3ada95 Update containers.twig
Add note to Fulltextsearch about initial scanning process

Signed-off-by: FreDTV <70434961+Fred-DTV@users.noreply.github.com>
2023-08-16 20:44:29 +02:00
Simon L
e56b3369d2 try to fix grep syntax for db restore
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-16 14:44:55 +02:00
Zoey
268d24c486 change grep command
Signed-off-by: Zoey <zoey@z0ey.de>
2023-08-16 13:29:25 +02:00
dependabot[bot]
4c5ad66fb3 Bump caddy from 2.7.2-alpine to 2.7.3-alpine in /Containers/apache
Bumps caddy from 2.7.2-alpine to 2.7.3-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-08-15 12:46:57 +00:00
dependabot[bot]
81e1292f0c Bump caddy in /Containers/mastercontainer
Bumps caddy from 2.7.2-alpine to 2.7.3-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-08-15 12:20:33 +00:00
dependabot[bot]
1b2f865276 Bump clamav/clamav from 1.1.0-1 to 1.1.0-6 in /Containers/clamav
Bumps clamav/clamav from 1.1.0-1 to 1.1.0-6.

---
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-08-14 12:51:52 +00:00
szaimen
8c9020b031 php dependency updates
Signed-off-by: GitHub <noreply@github.com>
2023-08-14 12:02:51 +00:00
Simon L
b4afd49341 make notify-push logs more explicit
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-14 13:17:15 +02:00
Simon L
7f37fd7060 add hint how the correct timezone can be set
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-14 12:40:49 +02:00
Simon L
35c08c0381 add check for timezone
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-14 12:02:26 +02:00
Simon L
1771a72c0e Merge pull request #3151 from dienteperro/main
Review in full, fixed some minor typos and phrases
2023-08-14 08:43:20 +02:00
dienteperro
aae60363b0 Update readme.md
Rewrite some sentences with minor typos.

Signed-off-by: dienteperro <dienteperro1207@yahoo.com>
2023-08-13 18:59:30 -04:00
dienteperro
e25bf4b4ca Update readme.md
Added comma

Signed-off-by: dienteperro <dienteperro1207@yahoo.com>
2023-08-13 17:44:29 -04:00
dienteperro
a50456591d Update readme.md
Minor fix, comma added

Signed-off-by: dienteperro <dienteperro1207@yahoo.com>
2023-08-13 17:41:43 -04:00
dienteperro
3e0c8713cb Update readme.md
Improved sentence.

Signed-off-by: dienteperro <dienteperro1207@yahoo.com>
2023-08-13 17:35:19 -04:00
dienteperro
d70cc3b171 Update readme.md
Added commas to sentence.

Signed-off-by: dienteperro <dienteperro1207@yahoo.com>
2023-08-13 17:33:27 -04:00
dienteperro
2bcdd2af6e Update readme.md
Fixed minor typo

Signed-off-by: dienteperro <dienteperro1207@yahoo.com>
2023-08-13 17:32:20 -04:00
Simon L
ee86f23856 Merge pull request #3150 from dienteperro/dienteperro-patch-1
Update readme.md
2023-08-13 21:25:37 +02:00
dienteperro
ff6f5d4909 Merge pull request #1 from dienteperro/dienteperro-patch-1
Update readme.md
2023-08-13 14:59:33 -04:00
dienteperro
aec119d971 Update readme.md
Fix minor typo.

Signed-off-by: dienteperro <dienteperro1207@yahoo.com>
2023-08-13 14:58:58 -04:00
Simon L
c6c1effa6d adjust wording
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-11 10:09:49 +02:00
Simon L
2aa5e78a22 address review
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-10 17:19:00 +02:00
Simon L
7ba3548766 Merge pull request #3141 from nextcloud/enh/noid/name-container
name service in compose like container
2023-08-10 17:12:56 +02:00
Simon L
1989f27b71 name service in compose like container
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-10 16:57:58 +02:00
Simon L
bcfc33c2a6 also add an explanation
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-10 16:45:54 +02:00
Simon L
4c0e30d49d add init flag to all containers
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-10 16:41:47 +02:00
Simon L
8a7bcfe747 disable logging for domain-validator.php
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-10 15:46:40 +02:00
Simon L
2a959d4e59 add password to FTS
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-10 15:14:30 +02:00
Zoey
d89d0ce161 fix sed
Signed-off-by: Zoey <zoey@z0ey.de>
2023-08-10 09:16:43 +02:00
Zoey
96beb00bb2 change eturnal.yml path
Signed-off-by: Zoey <zoey@z0ey.de>
2023-08-09 21:51:10 +02:00
Zoey
9d154557f8 enable stun auto detection
Signed-off-by: Zoey <zoey@z0ey.de>
2023-08-09 14:54:04 +02:00
Zoey
aeae72f5ba move to eturnal
Signed-off-by: Zoey <zoey@z0ey.de>
2023-08-09 14:54:04 +02:00
88 changed files with 705 additions and 251 deletions

View File

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

View File

@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Check spelling
uses: codespell-project/actions-codespell@v2
with:

View File

@@ -31,7 +31,7 @@ jobs:
reaction-type: "+1"
- name: Checkout the latest code
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
uses: actions/checkout@v4 # v3.5.2
with:
fetch-depth: 0
token: ${{ secrets.COMMAND_BOT_PAT }}

View File

@@ -10,7 +10,7 @@ jobs:
name: Run dependency update script
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: 8.2

View File

@@ -25,17 +25,17 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install npm and dockerfilelint
run: |
sudo apt-get update
sudo apt-get install nodejs npm -y --no-install-recommends
npm install -g dockerfilelint
wget https://github.com/replicatedhq/dockerfilelint/pull/184.patch -O /usr/local/lib/node_modules/dockerfilelint/184.patch
wget https://github.com/replicatedhq/dockerfilelint/pull/201.patch -O /usr/local/lib/node_modules/dockerfilelint/201.patch
CURRENT_DIR=$PWD
cd /usr/local/lib/node_modules/dockerfilelint/
git apply 184.patch
git apply 201.patch
cd $CURRENT_DIR
cat << RULES > ./.dockerfilelintrc
rules:

View File

@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Turnstyle
uses: softprops/turnstyle@v1

View File

@@ -10,7 +10,7 @@ jobs:
name: update to latest imaginary commit on master branch
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Run imaginary-update
run: |
# Imaginary

View File

@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Validate Json
run: |
sudo apt-get update

35
.github/workflows/lint-helm.yml vendored Normal file
View File

@@ -0,0 +1,35 @@
name: Lint and Test Charts
on:
workflow_dispatch:
pull_request:
paths:
- 'nextcloud-aio-helm-chart/**'
jobs:
lint-helm:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Helm
uses: azure/setup-helm@v3.5
with:
version: v3.11.1
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.4.0
- name: Run chart-testing (lint)
id: lint
run: ct lint --target-branch ${{ github.event.repository.default_branch }} --debug --chart-dirs nextcloud-aio-helm-chart
- name: Create kind cluster
uses: helm/kind-action@v1.8.0
- name: Run chart-testing (install)
id: install
run: ct install --target-branch ${{ github.event.repository.default_branch }} --debug --chart-dirs nextcloud-aio-helm-chart

View File

@@ -33,7 +33,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
uses: actions/checkout@v4 # v3.5.2
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d # v2

View File

@@ -11,7 +11,7 @@ jobs:
name: Run nextcloud-update script
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Run nextcloud-update script
run: |
# Inspired by https://github.com/nextcloud/docker/blob/master/update.sh
@@ -63,14 +63,16 @@ jobs:
# Nextcloud
NC_MAJOR="$(grep "ENV NEXTCLOUD_VERSION" ./Containers/nextcloud/Dockerfile | grep -oP '[23][0-9]')"
NCVERSION=$(curl -s -m 900 https://download.nextcloud.com/server/releases/ | sed --silent 's/.*href="nextcloud-\([^"]\+\).zip.asc".*/\1/p' | grep "$NC_MAJOR" | sort --version-sort | tail -1)
sed -i "s|^ENV NEXTCLOUD_VERSION.*|ENV NEXTCLOUD_VERSION $NCVERSION|" ./Containers/nextcloud/Dockerfile
if [ -n "$NCVERSION" ]; then
sed -i "s|^ENV NEXTCLOUD_VERSION.*|ENV NEXTCLOUD_VERSION $NCVERSION|" ./Containers/nextcloud/Dockerfile
fi
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5
with:
commit-message: nextcloud-update automated change
signoff: true
title: Nextcloud update
title: Nextcloud dependency update
body: Automated Nextcloud container update
labels: dependencies, 3. to review
milestone: next

View File

@@ -16,7 +16,7 @@ jobs:
name: PHP Deprecation Detector
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up php8.2
uses: shivammathur/setup-php@v2
with:

View File

@@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up php8.2
uses: shivammathur/setup-php@v2

View File

@@ -26,7 +26,7 @@ jobs:
name: Nextcloud
steps:
- name: Checkout
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
uses: actions/checkout@v4 # v3.5.2
- name: Set up php
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d # v2

View File

@@ -15,7 +15,7 @@ jobs:
name: Check Shell
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Run Shellcheck
uses: ludeeus/action-shellcheck@2.0.0
with:

View File

@@ -10,7 +10,7 @@ jobs:
name: update talk
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Run talk-update
run: |
# Spreed

View File

@@ -24,7 +24,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v2

View File

@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: update helm chart
run: |
DOCKER_TAG="$(curl -L -s 'https://registry.hub.docker.com/v2/repositories/nextcloud/all-in-one/tags?page_size=1024' | jq '."results"[]["name"]' | sed 's|"||g' | grep '^20' | sort -r | head -1)"

View File

@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: update yaml files
run: |
sudo bash manual-install/update-yaml.sh

View File

@@ -1,4 +1,4 @@
FROM caddy:2.7.2-alpine as caddy
FROM caddy:2.7.4-alpine as caddy
FROM httpd:2.4.57-alpine3.18
@@ -30,6 +30,7 @@ RUN set -ex; \
tzdata \
ca-certificates \
openssl \
bind-tools \
netcat-openbsd; \
\
sed -i \

View File

@@ -3,4 +3,7 @@
nc -z "$NEXTCLOUD_HOST" 9000 || exit 0
nc -z localhost 8000 || exit 1
nc -z localhost "$APACHE_PORT" || exit 1
nc -z "$NC_DOMAIN" 443 || exit 1
if ! nc -z "$NC_DOMAIN" 443; then
echo "Could not reach $NC_DOMAIN on port 443."
exit 1
fi

View File

@@ -17,6 +17,12 @@ while ! nc -z "$NEXTCLOUD_HOST" 9000; do
sleep 5
done
# Get ipv4-address of Apache
IPv4_ADDRESS="$(dig nextcloud-aio-apache A +short | head -1)"
# Bring it in CIDR notation
# shellcheck disable=SC2001
IPv4_ADDRESS="$(echo "$IPv4_ADDRESS" | sed 's|[0-9]\+$|1/32|')"
if [ -z "$APACHE_PORT" ]; then
export APACHE_PORT="443"
fi
@@ -41,7 +47,7 @@ echo "$CADDYFILE" > /tmp/Caddyfile
if [ "$APACHE_PORT" != '443' ]; then
CADDYFILE="$(sed 's|# trusted_proxies placeholder|trusted_proxies static private_ranges|' /tmp/Caddyfile)"
else
CADDYFILE="$(sed 's|trusted_proxies.*private_ranges|# trusted_proxies placeholder|' /tmp/Caddyfile)"
CADDYFILE="$(sed "s|# trusted_proxies placeholder|trusted_proxies static $IPv4_ADDRESS|" /tmp/Caddyfile)"
fi
echo "$CADDYFILE" > /tmp/Caddyfile
@@ -57,7 +63,7 @@ mkdir -p /mnt/data/caddy-imports
# Remove falsely added Nextcloud conf
rm -f /mnt/data/caddy-imports/nextcloud
# Makre sure that the caddy-imports dir is not empty
# Make sure that the caddy-imports dir is not empty
echo "# empty file so that caddy does not print a warning" > /mnt/data/caddy-imports/empty
# Fix apache startup

View File

@@ -35,19 +35,19 @@ done
# Check if target is mountpoint
if ! mountpoint -q /mnt/borgbackup; then
echo "/mnt/borgbackup is not a mountpoint which is not allowed"
echo "/mnt/borgbackup is not a mountpoint which is not allowed."
exit 1
fi
# Check if target is empty
if [ "$BORG_MODE" != backup ] && [ "$BORG_MODE" != test ] && ! [ -f "$BORG_BACKUP_DIRECTORY/config" ]; then
echo "The repository is empty. cannot perform check or restore."
echo "The repository is empty. Cannot perform check or restore."
exit 1
fi
# Do not continue if this file exists (needed for simple external blocking)
if [ -f "$BORG_BACKUP_DIRECTORY/aio-lockfile" ]; then
echo "Not continuing because aio-lockfile exists - it seems like a script is externally running which is locking the backup archive."
echo "Not continuing because aio-lockfile exists it seems like a script is externally running which is locking the backup archive."
echo "If this should not be the case, you can fix this by deleting the 'aio-lockfile' file from the backup archive directory."
exit 1
fi
@@ -65,10 +65,10 @@ if [ "$BORG_MODE" = backup ]; then
echo "configuration.json not present. Cannot perform the backup!"
exit 1
elif ! [ -f "/nextcloud_aio_volumes/nextcloud_aio_nextcloud/config/config.php" ]; then
echo "config.php is missing cannot perform backup"
echo "config.php is missing. Cannot perform backup!"
exit 1
elif ! [ -f "/nextcloud_aio_volumes/nextcloud_aio_database_dump/database-dump.sql" ]; then
echo "database-dump is missing. cannot perform backup"
echo "database-dump is missing. Cannot perform backup!"
exit 1
fi
@@ -81,9 +81,17 @@ if [ "$BORG_MODE" = backup ]; then
done
if [ -f "/nextcloud_aio_volumes/nextcloud_aio_database_dump/export.failed" ]; then
echo "Database export failed the last time. Most likely was the export time not high enough."
echo "Cannot create a backup now."
echo "Please report this to https://github.com/nextcloud/all-in-one/issues. Thanks!"
echo "Reason is that the database export failed the last time."
echo "Most likely was the database container not correctly shut down via the AIO interface."
echo ""
echo "You might want to try the database export again manually by running the three commands:"
echo "sudo docker start nextcloud-aio-database"
echo "sleep 10"
echo "sudo docker stop nextcloud-aio-database -t 1800"
echo ""
echo "Afterwards try to create a backup again and it should hopefully work."
echo "If it should still fail, feel free to report this to https://github.com/nextcloud/all-in-one/issues and post the database container logs and the borgbackup container logs into the thread. Thanks!"
exit 1
fi
@@ -101,7 +109,7 @@ if [ "$BORG_MODE" = backup ]; then
exit 1
fi
echo "initializing repository..."
echo "Initializing repository..."
NEW_REPOSITORY=1
if ! borg init --debug --encryption=repokey-blake2 "$BORG_BACKUP_DIRECTORY"; then
echo "Could not initialize borg repository."
@@ -212,7 +220,7 @@ if [ "$BORG_MODE" = backup ]; then
fi
echo "Compacting additional volumes..."
if ! borg compact "$BORG_BACKUP_DIRECTORY"; then
echo "Failed to compact archives!"
echo "Failed to compact additional docker-volume archives!"
exit 1
fi
fi
@@ -242,7 +250,7 @@ if [ "$BORG_MODE" = backup ]; then
fi
echo "Compacting additional host mounts..."
if ! borg compact "$BORG_BACKUP_DIRECTORY"; then
echo "Failed to compact archives!"
echo "Failed to compact additional host-mount archives!"
exit 1
fi
fi
@@ -250,7 +258,7 @@ if [ "$BORG_MODE" = backup ]; then
# Inform user
get_expiration_time
echo "Backup finished successfully on $END_DATE_READABLE ($DURATION_READABLE)"
echo "Backup finished successfully on $END_DATE_READABLE ($DURATION_READABLE)."
if [ -f "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/update.failed" ]; then
echo "However a Nextcloud update failed. So reporting that the backup failed which will skip any update attempt the next time."
echo "Please restore a backup from before the failed Nextcloud update attempt."
@@ -361,7 +369,7 @@ if [ "$BORG_MODE" = restore ]; then
# Inform user
get_expiration_time
echo "Restore finished successfully on $END_DATE_READABLE ($DURATION_READABLE)"
echo "Restore finished successfully on $END_DATE_READABLE ($DURATION_READABLE)."
# Add file to Nextcloud container so that it skips any update the next time
touch "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/skip.update"
@@ -389,7 +397,7 @@ if [ "$BORG_MODE" = check ]; then
# Inform user
get_expiration_time
echo "Check finished successfully on $END_DATE_READABLE ($DURATION_READABLE)"
echo "Check finished successfully on $END_DATE_READABLE ($DURATION_READABLE)."
exit 0
fi
@@ -406,7 +414,7 @@ if [ "$BORG_MODE" = "check-repair" ]; then
# Inform user
get_expiration_time
echo "Check finished successfully on $END_DATE_READABLE ($DURATION_READABLE)"
echo "Check finished successfully on $END_DATE_READABLE ($DURATION_READABLE)."
exit 0
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.1.0-1
FROM clamav/clamav:1.2.0-1
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.2.2.1
FROM collabora/code:23.05.3.1.1
USER root

View File

@@ -0,0 +1,18 @@
FROM haproxy:2.8.3-alpine3.18
USER root
ENV NEXTCLOUD_HOST nextcloud-aio-nextcloud
RUN set -ex; \
apk add --no-cache \
ca-certificates \
tzdata \
bash \
bind-tools; \
chmod -R 777 /tmp
COPY --chmod=775 *.sh /
COPY --chmod=664 haproxy.cfg /haproxy.cfg
ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false"

View File

@@ -0,0 +1,54 @@
# Inspiration: https://github.com/Tecnativa/docker-socket-proxy/blob/master/haproxy.cfg
defaults
timeout connect 10s
timeout client 10s
timeout server 10s
frontend http
mode http
bind :::2375 v4v6
http-request deny unless { src 127.0.0.1 } || { src ::1 } || { src NC_IPV4_PLACEHOLDER } || { src NC_IPV6_PLACEHOLDER }
# container inspect: GET containers/%s/json
http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/containers/nc_app_[a-zA-Z0-9_.-]+/json } METH_GET
# container start/stop: POST containers/%s/start containers/%s/stop
http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/containers/nc_app_[a-zA-Z0-9_.-]+/((start)|(stop)) } METH_POST
# container rm: DELETE containers/%s
http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/containers/nc_app_[a-zA-Z0-9_.-]+ } METH_DELETE
# container create: POST containers/create?name=%s
# ACL to restrict container name to nc_app_[a-zA-Z0-9_.-]+
acl nc_app_container_name url_param(name) -m reg -i "^nc_app_[a-zA-Z0-9_.-]+"
# ACL to restrict the number of Mounts to 1
acl one_mount_volume req.body -m reg -i "\"Mounts\"\s*:\s*\[\s*(?:(?!\"Mounts\"\s*:\s*\[)[^}]*)}[^}]*\]"
# ACL to deny if there are any binds
acl binds_present req.body -m reg -i "\"HostConfig\"\s*:.*\"Binds\"\s*:"
# ACL to restrict the type of Mounts to volume
acl type_not_volume req.body -m reg -i "\"Mounts\":\s*\[[^\]]*(\"Type\":\s*\"(?!volume\b)\w+\"[^\]]*)+\]"
http-request deny if { path,url_dec -m reg -i ^(/v[\d\.]+)?/containers/create } nc_app_container_name !one_mount_volume binds_present type_not_volume METH_POST
# ACL to restrict container creation, that it has HostConfig.Privileged not set
acl no_privileged_flag req.body -m reg -i "\"HostConfig\":\s?{[^}]*\"Privileged\"\s*:"
# ACL to allow mount volume with strict pattern for name: nc_app_[a-zA-Z0-9_.-]+_data
acl nc_app_volume_data_only req.body -m reg -i "\"Mounts\":\s?\[\s?{[^}]*\"Source\":\s?\"nc_app_[a-zA-Z0-9_.-]+_data\""
http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/containers/create } nc_app_container_name !no_privileged_flag nc_app_volume_data_only METH_POST
# end of container create
# volume create: POST volumes/create
# restrict name
acl nc_app_volume_data req.body -m reg -i "\"Name\":\s?\"nc_app_[a-zA-Z0-9_.-]+_data\""
# do not allow to use "device" word e.g., "--opt device=:/path/to/dir"
acl volume_no_device req.body -m reg -i "\"device\""
http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/volumes/create } nc_app_volume_data !volume_no_device METH_POST
# volume rm: DELETE volumes/%s
http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/volumes/nc_app_[a-zA-Z0-9_.-]+_data } METH_DELETE
# image pull: POST images/create?fromImage=%s
http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/images/create } METH_POST
http-request deny
default_backend dockerbackend
backend dockerbackend
mode http
server dockersocket /var/run/docker.sock

View File

@@ -0,0 +1,4 @@
#!/bin/bash
nc -z "$NEXTCLOUD_HOST" 9000 || exit 0
nc -z localhost 2375 || exit 1

View File

@@ -0,0 +1,23 @@
#!/bin/sh
# Only start container if nextcloud is accessible
while ! nc -z "$NEXTCLOUD_HOST" 9000; do
echo "Waiting for Nextcloud to start..."
sleep 5
done
set -x
IPv4_ADDRESS_NC="$(dig nextcloud-aio-nextcloud IN A +short | grep '^[0-9.]\+$' | sort | head -n1)"
HAPROXYFILE="$(sed "s|NC_IPV4_PLACEHOLDER|$IPv4_ADDRESS_NC|" /haproxy.cfg)"
echo "$HAPROXYFILE" > /tmp/haproxy.cfg
IPv6_ADDRESS_NC="$(dig nextcloud-aio-nextcloud AAAA +short | grep '^[0-9a-f:]\+$' | sort | head -n1)"
if [ -n "$IPv6_ADDRESS_NC" ]; then
HAPROXYFILE="$(sed "s|NC_IPV6_PLACEHOLDER|$IPv6_ADDRESS_NC|" /tmp/haproxy.cfg)"
else
HAPROXYFILE="$(sed "s# || { src NC_IPV6_PLACEHOLDER }##g" /tmp/haproxy.cfg)"
fi
echo "$HAPROXYFILE" > /tmp/haproxy.cfg
set +x
haproxy -f /tmp/haproxy.cfg -db

View File

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

View File

@@ -1,4 +1,4 @@
FROM golang:1.21.0-alpine3.18 as go
FROM golang:1.21.1-alpine3.18 as go
ENV IMAGINARY_HASH b632dae8cc321452c3f85bcae79c580b1ae1ed84

View File

@@ -1,11 +1,11 @@
# Docker CLI is a requirement
FROM docker:24.0.5-cli as docker
FROM docker:24.0.6-cli as docker
# Caddy is a requirement
FROM caddy:2.7.2-alpine as caddy
FROM caddy:2.7.4-alpine as caddy
# From https://github.com/docker-library/php/blob/master/8.2/alpine3.18/fpm/Dockerfile
FROM php:8.2.8-fpm-alpine3.18
FROM php:8.2.10-fpm-alpine3.18
EXPOSE 80
EXPOSE 8080
@@ -56,6 +56,8 @@ RUN set -ex; \
sed -i 's/^pm = dynamic/pm = ondemand/' /usr/local/etc/php-fpm.d/www.conf; \
sed -i 's/^pm.max_children =.*/pm.max_children = 80/' /usr/local/etc/php-fpm.d/www.conf; \
sed -i 's|access.log = /proc/self/fd/2|access.log = /proc/self/fd/1|' /usr/local/etc/php-fpm.d/docker.conf; \
grep -q ';listen.allowed_clients' /usr/local/etc/php-fpm.d/www.conf; \
sed -i 's|;listen.allowed_clients.*|listen.allowed_clients = 127.0.0.1,::1|' /usr/local/etc/php-fpm.d/www.conf; \
\
apk add --no-cache git; \
wget https://getcomposer.org/installer -O - | php -- --install-dir=/usr/local/bin --filename=composer; \

View File

@@ -16,7 +16,7 @@ fi
sudo -u www-data touch "/mnt/docker-aio-config/data/daily_backup_running"
# Check if apache is running/stopped, watchtower is stopped and backupcontainer is stopped
APACHE_PORT="$(docker inspect nextcloud-aio-apache --format "{{.HostConfig.PortBindings}}" | grep -oP '[0-9]+' | head -1)"
APACHE_PORT="$(docker inspect nextcloud-aio-apache --format "{{.HostConfig.PortBindings}}" | grep -o '[0-9]\+' | head -1)"
while docker ps --format "{{.Names}}" | grep -q "^nextcloud-aio-apache$" && ! nc -z nextcloud-aio-apache "$APACHE_PORT"; do
echo "Waiting for apache to become available"
sleep 30

View File

@@ -1,5 +1,10 @@
#!/bin/bash
if [ -f "/mnt/docker-aio-config/data/configuration.json" ]; then
nc -z localhost 80 || exit 1
nc -z localhost 8000 || exit 1
nc -z localhost 8080 || exit 1
nc -z localhost 8443 || exit 1
nc -z localhost 9000 || exit 1
nc -z localhost 9876 || exit 1
fi

View File

@@ -253,6 +253,35 @@ if [ "$?" = 6 ]; then
exit 1
fi
# Check that no changes have been made to timezone settings since AIO only supports running in Etc/UTC timezone
if [ -n "$TZ" ]; then
print_red "The environmental variable TZ has been set which is not supported by AIO since it only supports running in the default Etc/UTC timezone!"
echo "The correct timezone can be set in the AIO interface later on!"
# Disable exit since it seems to be by default set on unraid and we dont want to break these instances
# exit 1
fi
if mountpoint -q /etc/localtime; then
print_red "/etc/localtime has been mounted into the container which is not allowed because AIO only supports running in the default Etc/UTC timezone!"
echo "The correct timezone can be set in the AIO interface later on!"
exit 1
fi
if mountpoint -q /etc/timezone; then
print_red "/etc/timezone has been mounted into the container which is not allowed because AIO only supports running in the default Etc/UTC timezone!"
echo "The correct timezone can be set in the AIO interface later on!"
exit 1
fi
# Check if unsupported env are set (but don't exit as it would break many instances)
if [ -n "$APACHE_DISABLE_REWRITE_IP" ]; then
print_red "The environmental variable APACHE_DISABLE_REWRITE_IP has been set which is not supported by AIO. Please remove it!"
fi
if [ -n "$NEXTCLOUD_TRUSTED_DOMAINS" ]; then
print_red "The environmental variable NEXTCLOUD_TRUSTED_DOMAINS has been set which is not supported by AIO. Please remove it!"
fi
if [ -n "$TRUSTED_PROXIES" ]; then
print_red "The environmental variable TRUSTED_PROXIES has been set which is not supported by AIO. Please remove it!"
fi
# Add important folders
mkdir -p /mnt/docker-aio-config/data/
mkdir -p /mnt/docker-aio-config/session/

View File

@@ -57,9 +57,10 @@ command=/session-deduplicator.sh
user=root
[program:domain-validator]
# Logging is disabled as otherwise all attempts will be logged which spams the logs
# stdout_logfile=/dev/stdout
# stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
# stderr_logfile=/dev/stderr
# stderr_logfile_maxbytes=0
command=php -S 127.0.0.1:9876 /var/www/docker-aio/php/domain-validator.php
user=www-data

View File

@@ -1,9 +1,9 @@
FROM php:8.1.22-fpm-alpine3.18
FROM php:8.1.23-fpm-alpine3.18
ENV PHP_MEMORY_LIMIT 512M
ENV PHP_UPLOAD_LIMIT 10G
ENV PHP_MAX_TIME 3600
ENV NEXTCLOUD_VERSION 27.0.2
ENV NEXTCLOUD_VERSION 27.1.0
ENV AIO_TOKEN 123456
ENV AIO_URL localhost
@@ -69,7 +69,7 @@ RUN set -ex; \
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.22; \
pecl install memcached-3.2.0; \
pecl install redis-5.3.7; \
pecl install redis-6.0.0; \
pecl install imagick-3.7.0; \
\
docker-php-ext-enable \
@@ -223,5 +223,5 @@ USER root
ENTRYPOINT ["/start.sh"]
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
HEALTHCHECK CMD sudo -E -u www-data bash /healthcheck.sh
HEALTHCHECK --start-period=60s CMD sudo -E -u www-data bash /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false"

View File

@@ -282,6 +282,8 @@ DATADIR_PERMISSION_CONF
touch "$NEXTCLOUD_DATA_DIR/install.failed"
exit 1
fi
# shellcheck disable=SC2016
installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')"
fi
php /var/www/html/occ app:disable updatenotification
rm -rf /var/www/html/apps/updatenotification
@@ -560,7 +562,7 @@ if [ "$COLLABORA_ENABLED" = 'yes' ]; then
echo "Warning: wopi_allowlist is empty which should not be the case!"
fi
else
if [ -d "/var/www/html/custom_apps/richdocuments" ]; then
if [ "$REMOVE_DISABLED_APPS" = yes ] && [ -d "/var/www/html/custom_apps/richdocuments" ]; then
php /var/www/html/occ app:remove richdocuments
fi
fi
@@ -584,7 +586,7 @@ if [ "$ONLYOFFICE_ENABLED" = 'yes' ]; then
php /var/www/html/occ config:app:set onlyoffice DocumentServerUrl --value="https://$NC_DOMAIN/onlyoffice"
php /var/www/html/occ config:system:set allow_local_remote_servers --type=bool --value=true
else
if [ -d "/var/www/html/custom_apps/onlyoffice" ] && [ -n "$ONLYOFFICE_SECRET" ] && [ "$(php /var/www/html/occ config:system:get onlyoffice jwt_secret)" = "$ONLYOFFICE_SECRET" ]; then
if [ "$REMOVE_DISABLED_APPS" = yes ] && [ -d "/var/www/html/custom_apps/onlyoffice" ] && [ -n "$ONLYOFFICE_SECRET" ] && [ "$(php /var/www/html/occ config:system:get onlyoffice jwt_secret)" = "$ONLYOFFICE_SECRET" ]; then
php /var/www/html/occ app:remove onlyoffice
fi
fi
@@ -611,7 +613,7 @@ if [ "$TALK_ENABLED" = 'yes' ]; then
php /var/www/html/occ talk:signaling:add "https://$NC_DOMAIN/standalone-signaling/" "$SIGNALING_SECRET" --verify
fi
else
if [ -d "/var/www/html/custom_apps/spreed" ]; then
if [ "$REMOVE_DISABLED_APPS" = yes ] && [ -d "/var/www/html/custom_apps/spreed" ]; then
php /var/www/html/occ app:remove spreed
fi
fi
@@ -658,7 +660,7 @@ if [ "$CLAMAV_ENABLED" = 'yes' ]; then
php /var/www/html/occ config:app:set files_antivirus av_infected_action --value="only_log"
fi
else
if [ -d "/var/www/html/custom_apps/files_antivirus" ]; then
if [ "$REMOVE_DISABLED_APPS" = yes ] && [ -d "/var/www/html/custom_apps/files_antivirus" ]; then
php /var/www/html/occ app:remove files_antivirus
fi
fi
@@ -705,7 +707,7 @@ if [ "$FULLTEXTSEARCH_ENABLED" = 'yes' ]; then
php /var/www/html/occ app:update files_fulltextsearch
fi
php /var/www/html/occ fulltextsearch:configure '{"search_platform":"OCA\\FullTextSearch_Elasticsearch\\Platform\\ElasticSearchPlatform"}'
php /var/www/html/occ fulltextsearch_elasticsearch:configure "{\"elastic_host\":\"http://$FULLTEXTSEARCH_HOST:9200\",\"elastic_index\":\"nextcloud-aio\"}"
php /var/www/html/occ fulltextsearch_elasticsearch:configure "{\"elastic_host\":\"http://elastic:$FULLTEXTSEARCH_PASSWORD@$FULLTEXTSEARCH_HOST:9200\",\"elastic_index\":\"nextcloud-aio\"}"
php /var/www/html/occ files_fulltextsearch:configure "{\"files_pdf\":\"1\",\"files_office\":\"1\"}"
# Do the index
@@ -721,14 +723,33 @@ if [ "$FULLTEXTSEARCH_ENABLED" = 'yes' ]; then
fi
fi
else
if [ -d "/var/www/html/custom_apps/fulltextsearch" ]; then
php /var/www/html/occ app:remove fulltextsearch
if [ "$REMOVE_DISABLED_APPS" = yes ]; then
if [ -d "/var/www/html/custom_apps/fulltextsearch" ]; then
php /var/www/html/occ app:remove fulltextsearch
fi
if [ -d "/var/www/html/custom_apps/fulltextsearch_elasticsearch" ]; then
php /var/www/html/occ app:remove fulltextsearch_elasticsearch
fi
if [ -d "/var/www/html/custom_apps/files_fulltextsearch" ]; then
php /var/www/html/occ app:remove files_fulltextsearch
fi
fi
if [ -d "/var/www/html/custom_apps/fulltextsearch_elasticsearch" ]; then
php /var/www/html/occ app:remove fulltextsearch_elasticsearch
fi
if [ -d "/var/www/html/custom_apps/files_fulltextsearch" ]; then
php /var/www/html/occ app:remove files_fulltextsearch
fi
# Docker socket proxy
if version_greater "$installed_version" "27.1.0.0"; then
if [ "$DOCKER_SOCKET_PROXY_ENABLED" = 'yes' ]; then
if ! [ -d "/var/www/html/custom_apps/app_api" ]; then
php /var/www/html/occ app:install app_api
elif [ "$(php /var/www/html/occ config:app:get app_api enabled)" != "yes" ]; then
php /var/www/html/occ app:enable app_api
elif [ "$SKIP_UPDATE" != 1 ]; then
php /var/www/html/occ app:update app_api
fi
else
if [ "$REMOVE_DISABLED_APPS" = yes ] && [ -d "/var/www/html/custom_apps/app_api" ]; then
php /var/www/html/occ app:remove app_api
fi
fi
fi

View File

@@ -15,9 +15,14 @@ if [ -n "$NEXTCLOUD_EXEC_COMMANDS" ]; then
else
# Collabora must work also if using manual-install
if [ "$COLLABORA_ENABLED" = yes ]; then
echo "Activating collabora config..."
echo "Activating Collabora config..."
php /var/www/html/occ richdocuments:activate-config
fi
# OnlyOffice must work also if using manual-install
if [ "$ONLYOFFICE_ENABLED" = yes ]; then
echo "Activating OnlyOffice config..."
php /var/www/html/occ onlyoffice:documentserver --check
fi
fi
sleep inf

View File

@@ -34,7 +34,7 @@ fi
# Check if /dev/dri device is present and apply correct permissions
set -x
if ! [ -f "/dev-dri-group-was-added" ] && [ -n "$(find /dev -maxdepth 1 -mindepth 1 -name dri)" ] && [ -n "$(find /dev/dri -maxdepth 1 -mindepth 1 -name renderD128)" ]; then
# From https://github.com/pulsejet/memories/wiki/QSV-Transcoding#docker-installations
# From https://memories.gallery/hw-transcoding/#docker-installations
GID="$(stat -c "%g" /dev/dri/renderD128)"
groupadd -g "$GID" render2 || true # sometimes this is needed
GROUP="$(getent group "$GID" | cut -d: -f1)"

View File

@@ -1,6 +1,7 @@
FROM alpine:3.18.2
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh
RUN set -ex; \
apk add --no-cache \
@@ -17,5 +18,5 @@ RUN set -ex; \
USER 33
ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD nc -z localhost 7867 || exit 1
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false"

View File

@@ -0,0 +1,7 @@
#!/bin/bash
if ! nc -z "$NEXTCLOUD_HOST" 9000; then
exit 0
fi
nc -z localhost 7867 || exit 1

View File

@@ -1,5 +1,5 @@
# From https://github.com/docker-library/postgres/blob/master/15/alpine/Dockerfile
FROM postgres:15.3-alpine
FROM postgres:15.4-alpine
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh

View File

@@ -92,14 +92,14 @@ if ( [ -f "$DATADIR/PG_VERSION" ] && [ "$PG_MAJOR" != "$(cat "$DATADIR/PG_VERSIO
# Check if the line we grep for later on is there
GREP_STRING='Name: oc_appconfig; Type: TABLE; Schema: public; Owner:'
if ! grep -q "$GREP_STRING" "$DUMP_FILE"; then
if ! grep -qa "$GREP_STRING" "$DUMP_FILE"; then
echo "The needed oc_appconfig line is not there which is unexpected."
echo "Please report this to https://github.com/nextcloud/all-in-one/issues. Thanks!"
exit 1
fi
# Get the Owner
DB_OWNER="$(grep "$GREP_STRING" "$DUMP_FILE" | grep -oP 'Owner:.*$' | sed 's|Owner:||;s| ||g')"
DB_OWNER="$(grep -a "$GREP_STRING" "$DUMP_FILE" | grep -oP 'Owner:.*$' | sed 's|Owner:||;s| ||g')"
if [ "$DB_OWNER" = "$POSTGRES_USER" ]; then
echo "Unfortunately was the found database owner of the dump file the same as the POSTGRES_USER $POSTGRES_USER"
echo "It is not possible to import a database dump from this database owner."

View File

@@ -1,5 +1,5 @@
# From https://github.com/docker-library/redis/blob/master/7.0/alpine/Dockerfile
FROM redis:7.0.12-alpine
FROM redis:7.2.1-alpine
COPY --chmod=775 start.sh /start.sh

View File

@@ -1,4 +1,4 @@
FROM python:3.11.4-alpine3.18
FROM python:3.11.5-alpine3.18
COPY --chmod=775 start.sh /start.sh

View File

@@ -1,4 +1,5 @@
FROM nats:2.9.21-scratch as nats
FROM nats:2.9.22-scratch as nats
FROM eturnal/eturnal:1.11.1 AS eturnal
FROM strukturag/nextcloud-spreed-signaling:1.1.3 as signaling
FROM alpine:3.18.3 as janus
@@ -32,8 +33,16 @@ RUN set -ex; \
make configs; \
rename -v ".jcfg.sample" ".jcfg" /usr/local/etc/janus/*.jcfg.sample
FROM coturn/coturn:4.6.2-alpine3.18
USER root
FROM alpine:3.18.2
ENV ETURNAL_ETC_DIR="/conf"
COPY --from=janus /usr/local /usr/local
COPY --from=eturnal /opt/eturnal /opt/eturnal
COPY --from=nats /nats-server /usr/local/bin/nats-server
COPY --from=signaling /usr/bin/nextcloud-spreed-signaling /usr/local/bin/nextcloud-spreed-signaling
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh
COPY --chmod=664 supervisord.conf /supervisord.conf
RUN set -ex; \
apk add --no-cache \
@@ -57,7 +66,7 @@ RUN set -ex; \
libwebsockets \
\
shadow; \
useradd --system talk; \
useradd --system eturnal; \
apk del --no-cache \
shadow; \
\
@@ -65,7 +74,8 @@ RUN set -ex; \
echo "root:$(openssl rand -base64 12)" | chpasswd; \
\
touch \
/etc/nats.conf; \
/etc/nats.conf \
/etc/eturnal.yml; \
echo "listen: 127.0.0.1:4222" | tee /etc/nats.conf; \
mkdir -p \
/var/tmp \
@@ -74,32 +84,24 @@ RUN set -ex; \
/var/log/supervisord \
/var/run/supervisord \
/usr/local/lib/janus/loggers; \
chown talk:talk -R \
chown eturnal:eturnal -R \
/usr \
/opt/eturnal \
/etc/nats.conf \
/var/lib/turn \
/var/log/supervisord \
/var/run/supervisord; \
chmod 777 -R \
/tmp \
/conf \
/opt/eturnal \
/var/run/supervisord \
/var/lib/turn \
/var/log/supervisord;
/var/log/supervisord; \
ln -s /opt/eturnal/bin/stun /usr/local/bin/stun; \
ln -s /opt/eturnal/bin/eturnalctl /usr/local/bin/eturnalctl
COPY --from=janus /usr/local /usr/local
COPY --from=nats /nats-server /usr/local/bin/nats-server
COPY --from=signaling /usr/bin/nextcloud-spreed-signaling /usr/local/bin/nextcloud-spreed-signaling
COPY --chmod=775 start.sh /start.sh
COPY --chmod=664 supervisord.conf /supervisord.conf
# Set default talk port https://github.com/nextcloud/all-in-one/issues/1011
ENV TALK_PORT=3478
USER talk
USER eturnal
ENTRYPOINT ["/start.sh"]
CMD ["supervisord", "-c", "/supervisord.conf"]
HEALTHCHECK CMD (nc -z localhost 8081 && nc -z localhost 8188 && nc -z localhost 4222 && nc -z localhost "$TALK_PORT" && nc -z "$NC_DOMAIN" "$TALK_PORT") || exit 1
HEALTHCHECK CMD /healthcheck.sh
LABEL com.centurylinklabs.watchtower.enable="false"

View File

@@ -0,0 +1,11 @@
#!/bin/bash
nc -z localhost 8081 || exit 1
nc -z localhost 8188 || exit 1
nc -z localhost 4222 || exit 1
nc -z localhost "$TALK_PORT" || exit 1
eturnalctl status || exit 1
if ! nc -z "$NC_DOMAIN" "$TALK_PORT"; then
echo "Could not reach $NC_DOMAIN on port $TALK_PORT."
exit 1
fi

View File

@@ -4,6 +4,9 @@
if [ -z "$NC_DOMAIN" ]; then
echo "You need to provide the NC_DOMAIN."
exit 1
elif [ -z "$TALK_PORT" ]; then
echo "You need to provide the TALK_PORT."
exit 1
elif [ -z "$TURN_SECRET" ]; then
echo "You need to provide the TURN_SECRET."
exit 1
@@ -16,43 +19,37 @@ elif [ -z "$INTERNAL_SECRET" ]; then
fi
set -x
IPv4_ADDRESS_TALK="$(dig nextcloud-aio-talk A +short)"
IPv4_ADDRESS_TALK="$(dig nextcloud-aio-talk IN A +short | grep '^[0-9.]\+$' | sort | head -n1)"
IPv6_ADDRESS_TALK="$(dig nextcloud-aio-talk AAAA +short | grep '^[0-9a-f:]\+$' | sort | head -n1)"
set +x
# Turn
cat << TURN_CONF > "/conf/turnserver.conf"
listening-port=$TALK_PORT
fingerprint
use-auth-secret
static-auth-secret=$TURN_SECRET
realm=$NC_DOMAIN
total-quota=0
bps-capacity=0
stale-nonce
no-multicast-peers
simple-log
pidfile=/var/tmp/turnserver.pid
no-tls
no-dtls
userdb=/var/lib/turn/turndb
# Based on https://nextcloud-talk.readthedocs.io/en/latest/TURN/#turn-server-and-internal-networks
allowed-peer-ip=$IPv4_ADDRESS_TALK
denied-peer-ip=0.0.0.0-0.255.255.255
denied-peer-ip=10.0.0.0-10.255.255.255
denied-peer-ip=100.64.0.0-100.127.255.255
denied-peer-ip=127.0.0.0-127.255.255.255
denied-peer-ip=169.254.0.0-169.254.255.255
denied-peer-ip=172.16.0.0-172.31.255.255
denied-peer-ip=192.0.0.0-192.0.0.255
denied-peer-ip=192.0.2.0-192.0.2.255
denied-peer-ip=192.88.99.0-192.88.99.255
denied-peer-ip=192.168.0.0-192.168.255.255
denied-peer-ip=198.18.0.0-198.19.255.255
denied-peer-ip=198.51.100.0-198.51.100.255
denied-peer-ip=203.0.113.0-203.0.113.255
denied-peer-ip=240.0.0.0-255.255.255.255
cat << TURN_CONF > "/conf/eturnal.yml"
eturnal:
listen:
- ip: "::"
port: $TALK_PORT
transport: udp
- ip: "::"
port: $TALK_PORT
transport: tcp
log_dir: stdout
log_level: warning
secret: "$TURN_SECRET"
relay_ipv4_addr: "$IPv4_ADDRESS_TALK"
relay_ipv6_addr: "$IPv6_ADDRESS_TALK"
blacklist:
- recommended
whitelist:
- 127.0.0.1
- ::1
- "$IPv4_ADDRESS_TALK"
- "$IPv6_ADDRESS_TALK"
TURN_CONF
# Remove empty lines so that the config is not invalid
sed -i '/""/d' /conf/eturnal.yml
# Signling
cat << SIGNALING_CONF > "/conf/signaling.conf"
[http]

View File

@@ -7,12 +7,12 @@ logfile_maxbytes=50MB
logfile_backups=10
loglevel=error
[program:turnserver]
[program:eturnal]
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=turnserver -c /conf/turnserver.conf
command=eturnalctl foreground
[program:nats-server]
stdout_logfile=/dev/stdout

View File

@@ -1,6 +1,7 @@
services:
nextcloud:
nextcloud-aio-mastercontainer:
image: nextcloud/all-in-one:latest
init: true
restart: always
container_name: nextcloud-aio-mastercontainer # This line is not allowed to be changed as otherwise AIO will not work correctly
volumes:
@@ -26,6 +27,7 @@ services:
# - NEXTCLOUD_ADDITIONAL_APKS=imagemagick # This allows to add additional packages to the Nextcloud container permanently. Default is imagemagick but can be overwritten by modifying this value. See https://github.com/nextcloud/all-in-one#how-to-add-os-packages-permanently-to-the-nextcloud-container
# - NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS=imagick # This allows to add additional php extensions to the Nextcloud container permanently. Default is imagick but can be overwritten by modifying this value. See https://github.com/nextcloud/all-in-one#how-to-add-php-extensions-permanently-to-the-nextcloud-container
# - NEXTCLOUD_ENABLE_DRI_DEVICE=true # This allows to enable the /dev/dri device in the Nextcloud container. ⚠️⚠️⚠️ Warning: this only works if the '/dev/dri' device is present on the host! If it should not exist on your host, don't set this to true as otherwise the Nextcloud container will fail to start! See https://github.com/nextcloud/all-in-one#how-to-enable-hardware-transcoding-for-nextcloud
# - NEXTCLOUD_KEEP_DISABLED_APPS=false # Setting this to true will keep Nextcloud apps that are disabled in the AIO interface and not uninstall them if they should be installed. See https://github.com/nextcloud/all-in-one#how-to-keep-disabled-apps
# - TALK_PORT=3478 # This allows to adjust the port that the talk container is using. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-talk-port
# - WATCHTOWER_DOCKER_SOCKET_PATH=/var/run/docker.sock # Needs to be specified if the docker socket on the host is not located in the default '/var/run/docker.sock'. Otherwise mastercontainer updates will fail. For macos it needs to be '/var/run/docker.sock'
# networks: # Is needed when you want to create the nextcloud-aio network with ipv6-support using this file, see the network config at the bottom of the file

View File

@@ -2,6 +2,7 @@
If you want to switch to the develop channel, you simply stop and delete the mastercontainer and create a new one with a changed tag to develop:
```shell
sudo docker run \
--init \
--sig-proxy=false \
--name nextcloud-aio-mastercontainer \
--restart always \

View File

@@ -17,6 +17,7 @@ services:
condition: service_started
required: false
image: nextcloud/aio-apache:latest
init: true
ports:
- ${APACHE_IP_BINDING}:${APACHE_PORT}:${APACHE_PORT}/tcp
- ${APACHE_IP_BINDING}:${APACHE_PORT}:${APACHE_PORT}/udp
@@ -47,6 +48,7 @@ services:
nextcloud-aio-database:
image: nextcloud/aio-postgresql:latest
init: true
expose:
- "5432"
volumes:
@@ -88,6 +90,7 @@ services:
condition: service_started
required: false
image: nextcloud/aio-nextcloud:latest
init: true
expose:
- "9000"
volumes:
@@ -137,6 +140,7 @@ services:
- TALK_RECORDING_ENABLED=${TALK_RECORDING_ENABLED}
- RECORDING_SECRET=${RECORDING_SECRET}
- TALK_RECORDING_HOST=nextcloud-aio-talk-recording
- FULLTEXTSEARCH_PASSWORD=${FULLTEXTSEARCH_PASSWORD}
restart: unless-stopped
networks:
- nextcloud-aio
@@ -145,6 +149,7 @@ services:
nextcloud-aio-notify-push:
image: nextcloud/aio-notify-push:latest
init: true
expose:
- "7867"
volumes:
@@ -165,6 +170,7 @@ services:
nextcloud-aio-redis:
image: nextcloud/aio-redis:latest
init: true
expose:
- "6379"
environment:
@@ -179,6 +185,7 @@ services:
nextcloud-aio-collabora:
image: nextcloud/aio-collabora:latest
init: true
expose:
- "9980"
environment:
@@ -196,6 +203,7 @@ services:
nextcloud-aio-talk:
image: nextcloud/aio-talk:latest
init: true
ports:
- ${TALK_PORT}:${TALK_PORT}/tcp
- ${TALK_PORT}:${TALK_PORT}/udp
@@ -218,12 +226,13 @@ services:
tmpfs:
- /var/log/supervisord
- /var/run/supervisord
- /opt/eturnal/run
- /conf
- /var/lib/turn
- /tmp
nextcloud-aio-talk-recording:
image: nextcloud/aio-talk-recording:latest
init: true
expose:
- "1234"
environment:
@@ -244,6 +253,7 @@ services:
nextcloud-aio-clamav:
image: nextcloud/aio-clamav:latest
init: true
expose:
- "3310"
environment:
@@ -264,6 +274,7 @@ services:
nextcloud-aio-onlyoffice:
image: nextcloud/aio-onlyoffice:latest
init: true
expose:
- "80"
environment:
@@ -281,6 +292,7 @@ services:
nextcloud-aio-imaginary:
image: nextcloud/aio-imaginary:latest
init: true
expose:
- "9000"
environment:
@@ -298,6 +310,7 @@ services:
nextcloud-aio-fulltextsearch:
image: nextcloud/aio-fulltextsearch:latest
init: false
expose:
- "9200"
environment:
@@ -310,6 +323,7 @@ services:
- http.port=9200
- xpack.license.self_generated.type=basic
- xpack.security.enabled=false
- FULLTEXTSEARCH_PASSWORD=${FULLTEXTSEARCH_PASSWORD}
volumes:
- nextcloud_aio_elasticsearch:/usr/share/elasticsearch/data:rw
restart: unless-stopped

View File

@@ -1,4 +1,5 @@
DATABASE_PASSWORD= # TODO! This needs to be a unique and good password!
FULLTEXTSEARCH_PASSWORD= # TODO! This needs to be a unique and good password!
NC_DOMAIN=yourdomain.com # TODO! Needs to be changed to the domain that you want to use for Nextcloud.
NEXTCLOUD_PASSWORD= # TODO! This is the password of the initially created Nextcloud admin with username "admin".
ONLYOFFICE_SECRET= # TODO! This needs to be a unique and good password!

View File

@@ -20,6 +20,8 @@ OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[].nextcloud_exec_commands)')"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[] | select(.container_name == "nextcloud-aio-watchtower"))')"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[] | select(.container_name == "nextcloud-aio-domaincheck"))')"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[] | select(.container_name == "nextcloud-aio-borgbackup"))')"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[] | select(.container_name == "nextcloud-aio-docker-socket-proxy"))')"
OUTPUT="$(echo "$OUTPUT" | jq '.services[] |= if has("depends_on") then .depends_on |= if contains(["nextcloud-aio-docker-socket-proxy"]) then del(.[index("nextcloud-aio-docker-socket-proxy")]) else . end else . end')"
OUTPUT="$(echo "$OUTPUT" | jq '.services[] |= if has("depends_on") then .depends_on |= map({ (.): { "condition": "service_started", "required": false } }) else . end' | jq '.services[] |= if has("depends_on") then .depends_on |= reduce .[] as $item ({}; . + $item) else . end')"
snap install yq
@@ -35,9 +37,7 @@ sed -i 's|- source: |- |' containers.yml
sed -i 's|- ip_binding: |- |' containers.yml
sed -i '/AIO_TOKEN/d' containers.yml
sed -i '/AIO_URL/d' containers.yml
sed -i '/AIO_TOKEN/d' sample.conf
sed -i '/AIO_URL/d' sample.conf
sed -i '/DOCKER_SOCKET_PROXY_ENABLED/d' containers.yml
TCP="$(grep -oP '[%A-Z0-9_]+/tcp' containers.yml | sort -u)"
mapfile -t TCP <<< "$TCP"
@@ -90,6 +90,7 @@ sed -i 's|NEXTCLOUD_STARTUP_APPS=|NEXTCLOUD_STARTUP_APPS="deck twofactor_totp ta
sed -i 's|NEXTCLOUD_ADDITIONAL_APKS=|NEXTCLOUD_ADDITIONAL_APKS=imagemagick # This allows to add additional packages to the Nextcloud container permanently. Default is imagemagick but can be overwritten by modifying this value.|' sample.conf
sed -i 's|NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS=|NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS=imagick # This allows to add additional php extensions to the Nextcloud container permanently. Default is imagick but can be overwritten by modifying this value.|' sample.conf
sed -i 's|INSTALL_LATEST_MAJOR=|INSTALL_LATEST_MAJOR=no # Setting this to yes will install the latest Major Nextcloud version upon the first installation|' sample.conf
sed -i 's|REMOVE_DISABLED_APPS=|REMOVE_DISABLED_APPS=yes # Setting this to no keep Nextcloud apps that are disabled via their switch and not uninstall them if they should be installed in Nextcloud.|' sample.conf
sed -i 's|=$|= # TODO! This needs to be a unique and good password!|' sample.conf
echo 'IPV6_NETWORK=fd12:3456:789a:2::/64 # IPv6 subnet to use' >> sample.conf

View File

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

View File

@@ -72,7 +72,7 @@ spec:
value: nextcloud-aio-talk
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-apache:20230728_085937-latest
image: nextcloud/aio-apache:20230912_084059-latest
name: nextcloud-aio-apache
ports:
- containerPort: {{ .Values.APACHE_PORT }}

View File

@@ -48,7 +48,7 @@ spec:
value: "90"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-clamav:20230728_085937-latest
image: nextcloud/aio-clamav:20230912_084059-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:20230728_085937-latest
image: nextcloud/aio-collabora:20230912_084059-latest
name: nextcloud-aio-collabora
ports:
- containerPort: 9980

View File

@@ -67,7 +67,7 @@ spec:
value: nextcloud
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-postgresql:20230728_085937-latest
image: nextcloud/aio-postgresql:20230912_084059-latest
name: nextcloud-aio-database
ports:
- containerPort: 5432

View File

@@ -37,6 +37,8 @@ spec:
- env:
- name: ES_JAVA_OPTS
value: -Xms512M -Xmx512M
- name: FULLTEXTSEARCH_PASSWORD
value: "{{ .Values.FULLTEXTSEARCH_PASSWORD }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
- name: bootstrap.memory_lock
@@ -53,7 +55,7 @@ spec:
value: basic
- name: xpack.security.enabled
value: "false"
image: nextcloud/aio-fulltextsearch:20230728_085937-latest
image: nextcloud/aio-fulltextsearch:20230912_084059-latest
name: nextcloud-aio-fulltextsearch
ports:
- containerPort: 9200

View File

@@ -37,7 +37,7 @@ spec:
- env:
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-imaginary:20230728_085937-latest
image: nextcloud/aio-imaginary:20230912_084059-latest
name: nextcloud-aio-imaginary
ports:
- containerPort: 9000

View File

@@ -60,6 +60,8 @@ spec:
value: "{{ .Values.FULLTEXTSEARCH_ENABLED }}"
- name: FULLTEXTSEARCH_HOST
value: nextcloud-aio-fulltextsearch
- name: FULLTEXTSEARCH_PASSWORD
value: "{{ .Values.FULLTEXTSEARCH_PASSWORD }}"
- name: IMAGINARY_ENABLED
value: "{{ .Values.IMAGINARY_ENABLED }}"
- name: IMAGINARY_HOST
@@ -120,7 +122,7 @@ spec:
value: "{{ .Values.TIMEZONE }}"
- name: UPDATE_NEXTCLOUD_APPS
value: "{{ .Values.UPDATE_NEXTCLOUD_APPS }}"
image: nextcloud/aio-nextcloud:20230728_085937-latest
image: nextcloud/aio-nextcloud:20230912_084059-latest
name: nextcloud-aio-nextcloud
ports:
- containerPort: 9000

View File

@@ -50,7 +50,7 @@ spec:
value: nextcloud-aio-redis
- name: REDIS_HOST_PASSWORD
value: "{{ .Values.REDIS_PASSWORD }}"
image: nextcloud/aio-notify-push:20230728_085937-latest
image: nextcloud/aio-notify-push:20230912_084059-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:20230728_085937-latest
image: nextcloud/aio-onlyoffice:20230912_084059-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:20230728_085937-latest
image: nextcloud/aio-redis:20230912_084059-latest
name: nextcloud-aio-redis
ports:
- containerPort: 6379

View File

@@ -59,7 +59,7 @@ spec:
value: "{{ .Values.TURN_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-talk:20230728_085937-latest
image: nextcloud/aio-talk:20230912_084059-latest
name: nextcloud-aio-talk
ports:
- containerPort: {{ .Values.TALK_PORT }}
@@ -78,9 +78,9 @@ spec:
name: nextcloud-aio-talk-tmpfs0
- mountPath: /var/run/supervisord
name: nextcloud-aio-talk-tmpfs1
- mountPath: /conf
- mountPath: /opt/eturnal/run
name: nextcloud-aio-talk-tmpfs2
- mountPath: /var/lib/turn
- mountPath: /conf
name: nextcloud-aio-talk-tmpfs3
- mountPath: /tmp
name: nextcloud-aio-talk-tmpfs4

View File

@@ -46,7 +46,7 @@ spec:
value: "{{ .Values.RECORDING_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-talk-recording:20230728_085937-latest
image: nextcloud/aio-talk-recording:20230912_084059-latest
name: nextcloud-aio-talk-recording
ports:
- containerPort: 1234

View File

@@ -155,7 +155,7 @@ for port in "${INTERNAL_TALK_PORTS[@]}"; do
done
echo '---' >> /tmp/talk-service.copy
# shellcheck disable=SC1083
find ./ -name '*talk-service.yaml' -exec grep -v '{{ .Values.*}}\|protocol: UDP\|type: LoadBalancer' \{} \; >> /tmp/talk-service.copy
find ./ -name '*talk-service.yaml' -exec grep -v '{{ .Values.TALK.*}}\|protocol: UDP\|type: LoadBalancer' \{} \; >> /tmp/talk-service.copy
# shellcheck disable=SC1083
find ./ -name '*talk-service.yaml' -exec mv /tmp/talk-service.copy \{} \;
# shellcheck disable=SC1083

View File

@@ -1,4 +1,5 @@
DATABASE_PASSWORD: # TODO! This needs to be a unique and good password!
FULLTEXTSEARCH_PASSWORD: # TODO! This needs to be a unique and good password!
NC_DOMAIN: yourdomain.com # TODO! Needs to be changed to the domain that you want to use for Nextcloud.
NEXTCLOUD_PASSWORD: # TODO! This is the password of the initially created Nextcloud admin with username admin.
ONLYOFFICE_SECRET: # TODO! This needs to be a unique and good password!

110
php/composer.lock generated
View File

@@ -8,22 +8,22 @@
"packages": [
{
"name": "guzzlehttp/guzzle",
"version": "7.7.0",
"version": "7.8.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
"reference": "fb7566caccf22d74d1ab270de3551f72a58399f5"
"reference": "1110f66a6530a40fe7aea0378fe608ee2b2248f9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/fb7566caccf22d74d1ab270de3551f72a58399f5",
"reference": "fb7566caccf22d74d1ab270de3551f72a58399f5",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/1110f66a6530a40fe7aea0378fe608ee2b2248f9",
"reference": "1110f66a6530a40fe7aea0378fe608ee2b2248f9",
"shasum": ""
},
"require": {
"ext-json": "*",
"guzzlehttp/promises": "^1.5.3 || ^2.0",
"guzzlehttp/psr7": "^1.9.1 || ^2.4.5",
"guzzlehttp/promises": "^1.5.3 || ^2.0.1",
"guzzlehttp/psr7": "^1.9.1 || ^2.5.1",
"php": "^7.2.5 || ^8.0",
"psr/http-client": "^1.0",
"symfony/deprecation-contracts": "^2.2 || ^3.0"
@@ -114,7 +114,7 @@
],
"support": {
"issues": "https://github.com/guzzle/guzzle/issues",
"source": "https://github.com/guzzle/guzzle/tree/7.7.0"
"source": "https://github.com/guzzle/guzzle/tree/7.8.0"
},
"funding": [
{
@@ -130,7 +130,7 @@
"type": "tidelift"
}
],
"time": "2023-05-21T14:04:53+00:00"
"time": "2023-08-27T10:20:53+00:00"
},
{
"name": "guzzlehttp/promises",
@@ -217,16 +217,16 @@
},
{
"name": "guzzlehttp/psr7",
"version": "2.6.0",
"version": "2.6.1",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
"reference": "8bd7c33a0734ae1c5d074360512beb716bef3f77"
"reference": "be45764272e8873c72dbe3d2edcfdfcc3bc9f727"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/8bd7c33a0734ae1c5d074360512beb716bef3f77",
"reference": "8bd7c33a0734ae1c5d074360512beb716bef3f77",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/be45764272e8873c72dbe3d2edcfdfcc3bc9f727",
"reference": "be45764272e8873c72dbe3d2edcfdfcc3bc9f727",
"shasum": ""
},
"require": {
@@ -313,7 +313,7 @@
],
"support": {
"issues": "https://github.com/guzzle/psr7/issues",
"source": "https://github.com/guzzle/psr7/tree/2.6.0"
"source": "https://github.com/guzzle/psr7/tree/2.6.1"
},
"funding": [
{
@@ -329,7 +329,7 @@
"type": "tidelift"
}
],
"time": "2023-08-03T15:06:02+00:00"
"time": "2023-08-27T10:13:57+00:00"
},
{
"name": "http-interop/http-factory-guzzle",
@@ -571,16 +571,16 @@
},
{
"name": "php-di/invoker",
"version": "2.3.3",
"version": "2.3.4",
"source": {
"type": "git",
"url": "https://github.com/PHP-DI/Invoker.git",
"reference": "cd6d9f267d1a3474bdddf1be1da079f01b942786"
"reference": "33234b32dafa8eb69202f950a1fc92055ed76a86"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHP-DI/Invoker/zipball/cd6d9f267d1a3474bdddf1be1da079f01b942786",
"reference": "cd6d9f267d1a3474bdddf1be1da079f01b942786",
"url": "https://api.github.com/repos/PHP-DI/Invoker/zipball/33234b32dafa8eb69202f950a1fc92055ed76a86",
"reference": "33234b32dafa8eb69202f950a1fc92055ed76a86",
"shasum": ""
},
"require": {
@@ -614,7 +614,7 @@
],
"support": {
"issues": "https://github.com/PHP-DI/Invoker/issues",
"source": "https://github.com/PHP-DI/Invoker/tree/2.3.3"
"source": "https://github.com/PHP-DI/Invoker/tree/2.3.4"
},
"funding": [
{
@@ -622,20 +622,20 @@
"type": "github"
}
],
"time": "2021-12-13T09:22:56+00:00"
"time": "2023-09-08T09:24:21+00:00"
},
{
"name": "php-di/php-di",
"version": "7.0.4",
"version": "7.0.5",
"source": {
"type": "git",
"url": "https://github.com/PHP-DI/PHP-DI.git",
"reference": "8ed79468dfb163824bbf48de5e35d1729f9313b6"
"reference": "9ea40a5a6970bf1ca5cbe148bc16cbad6ca3db6c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/8ed79468dfb163824bbf48de5e35d1729f9313b6",
"reference": "8ed79468dfb163824bbf48de5e35d1729f9313b6",
"url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/9ea40a5a6970bf1ca5cbe148bc16cbad6ca3db6c",
"reference": "9ea40a5a6970bf1ca5cbe148bc16cbad6ca3db6c",
"shasum": ""
},
"require": {
@@ -683,7 +683,7 @@
],
"support": {
"issues": "https://github.com/PHP-DI/PHP-DI/issues",
"source": "https://github.com/PHP-DI/PHP-DI/tree/7.0.4"
"source": "https://github.com/PHP-DI/PHP-DI/tree/7.0.5"
},
"funding": [
{
@@ -695,7 +695,7 @@
"type": "tidelift"
}
],
"time": "2023-08-08T15:59:16+00:00"
"time": "2023-08-10T14:57:56+00:00"
},
{
"name": "php-di/slim-bridge",
@@ -1465,16 +1465,16 @@
},
{
"name": "symfony/polyfill-ctype",
"version": "v1.27.0",
"version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "5bbc823adecdae860bb64756d639ecfec17b050a"
"reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a",
"reference": "5bbc823adecdae860bb64756d639ecfec17b050a",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
"reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
"shasum": ""
},
"require": {
@@ -1489,7 +1489,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.27-dev"
"dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -1527,7 +1527,7 @@
"portable"
],
"support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0"
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0"
},
"funding": [
{
@@ -1543,20 +1543,20 @@
"type": "tidelift"
}
],
"time": "2022-11-03T14:55:06+00:00"
"time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.27.0",
"version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534"
"reference": "42292d99c55abe617799667f454222c54c60e229"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
"reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
"reference": "42292d99c55abe617799667f454222c54c60e229",
"shasum": ""
},
"require": {
@@ -1571,7 +1571,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.27-dev"
"dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -1610,7 +1610,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0"
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
},
"funding": [
{
@@ -1626,20 +1626,20 @@
"type": "tidelift"
}
],
"time": "2022-11-03T14:55:06+00:00"
"time": "2023-07-28T09:04:16+00:00"
},
{
"name": "symfony/polyfill-php81",
"version": "v1.27.0",
"version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php81.git",
"reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a"
"reference": "7581cd600fa9fd681b797d00b02f068e2f13263b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a",
"reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a",
"url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b",
"reference": "7581cd600fa9fd681b797d00b02f068e2f13263b",
"shasum": ""
},
"require": {
@@ -1648,7 +1648,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.27-dev"
"dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -1689,7 +1689,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php81/tree/v1.27.0"
"source": "https://github.com/symfony/polyfill-php81/tree/v1.28.0"
},
"funding": [
{
@@ -1705,20 +1705,20 @@
"type": "tidelift"
}
],
"time": "2022-11-03T14:55:06+00:00"
"time": "2023-01-26T09:26:14+00:00"
},
{
"name": "twig/twig",
"version": "v3.7.0",
"version": "v3.7.1",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "5cf942bbab3df42afa918caeba947f1b690af64b"
"reference": "a0ce373a0ca3bf6c64b9e3e2124aca502ba39554"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/5cf942bbab3df42afa918caeba947f1b690af64b",
"reference": "5cf942bbab3df42afa918caeba947f1b690af64b",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/a0ce373a0ca3bf6c64b9e3e2124aca502ba39554",
"reference": "a0ce373a0ca3bf6c64b9e3e2124aca502ba39554",
"shasum": ""
},
"require": {
@@ -1728,7 +1728,7 @@
},
"require-dev": {
"psr/container": "^1.0|^2.0",
"symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0"
"symfony/phpunit-bridge": "^5.4.9|^6.3"
},
"type": "library",
"autoload": {
@@ -1764,7 +1764,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
"source": "https://github.com/twigphp/Twig/tree/v3.7.0"
"source": "https://github.com/twigphp/Twig/tree/v3.7.1"
},
"funding": [
{
@@ -1776,7 +1776,7 @@
"type": "tidelift"
}
],
"time": "2023-07-26T07:16:09+00:00"
"time": "2023-08-28T11:09:02+00:00"
}
],
"packages-dev": [],
@@ -1793,5 +1793,5 @@
"ext-apcu": "*"
},
"platform-dev": [],
"plugin-api-version": "2.3.0"
"plugin-api-version": "2.6.0"
}

View File

@@ -96,6 +96,10 @@
"pattern": "^[A-Z_]+$"
}
},
"image_tag": {
"type": "string",
"pattern": "^[a-z0-9.-]+$"
},
"devices": {
"type": "array",
"items": {
@@ -137,6 +141,9 @@
"read_only": {
"type": "boolean"
},
"init": {
"type": "boolean"
},
"tmpfs": {
"type": "array",
"items": {

View File

@@ -11,6 +11,7 @@
],
"display_name": "Apache",
"image": "nextcloud/aio-apache",
"init": true,
"ports": [
{
"ip_binding": "%APACHE_IP_BINDING%",
@@ -69,6 +70,7 @@
"container_name": "nextcloud-aio-database",
"display_name": "Database",
"image": "nextcloud/aio-postgresql",
"init": true,
"expose": [
"5432"
],
@@ -118,10 +120,12 @@
"nextcloud-aio-clamav",
"nextcloud-aio-fulltextsearch",
"nextcloud-aio-talk-recording",
"nextcloud-aio-imaginary"
"nextcloud-aio-imaginary",
"nextcloud-aio-docker-socket-proxy"
],
"display_name": "Nextcloud",
"image": "nextcloud/aio-nextcloud",
"init": true,
"expose": [
"9000"
],
@@ -131,7 +135,8 @@
"REDIS_PASSWORD",
"NEXTCLOUD_PASSWORD",
"TURN_SECRET",
"SIGNALING_SECRET"
"SIGNALING_SECRET",
"FULLTEXTSEARCH_PASSWORD"
],
"volumes": [
{
@@ -198,7 +203,10 @@
"INSTALL_LATEST_MAJOR=%INSTALL_LATEST_MAJOR%",
"TALK_RECORDING_ENABLED=%TALK_RECORDING_ENABLED%",
"RECORDING_SECRET=%RECORDING_SECRET%",
"TALK_RECORDING_HOST=nextcloud-aio-talk-recording"
"TALK_RECORDING_HOST=nextcloud-aio-talk-recording",
"FULLTEXTSEARCH_PASSWORD=%FULLTEXTSEARCH_PASSWORD%",
"DOCKER_SOCKET_PROXY_ENABLED=%DOCKER_SOCKET_PROXY_ENABLED%",
"REMOVE_DISABLED_APPS=%REMOVE_DISABLED_APPS%"
],
"restart": "unless-stopped",
"devices": [
@@ -209,15 +217,13 @@
],
"networks": [
"nextcloud-aio"
],
"tmpfs": [
"/tmp:exec"
]
},
{
"container_name": "nextcloud-aio-notify-push",
"display_name": "Notify Push",
"image": "nextcloud/aio-notify-push",
"init": true,
"expose": [
"7867"
],
@@ -253,6 +259,7 @@
"container_name": "nextcloud-aio-redis",
"display_name": "Redis",
"image": "nextcloud/aio-redis",
"init": true,
"expose": [
"6379"
],
@@ -283,6 +290,7 @@
"container_name": "nextcloud-aio-collabora",
"display_name": "Collabora",
"image": "nextcloud/aio-collabora",
"init": true,
"expose": [
"9980"
],
@@ -297,7 +305,7 @@
],
"restart": "unless-stopped",
"nextcloud_exec_commands": [
"echo 'Activating collabora config...'",
"echo 'Activating Collabora config...'",
"php /var/www/html/occ richdocuments:activate-config"
],
"profiles": [
@@ -311,6 +319,7 @@
"container_name": "nextcloud-aio-talk",
"display_name": "Talk",
"image": "nextcloud/aio-talk",
"init": true,
"ports": [
{
"ip_binding": "",
@@ -352,8 +361,8 @@
"tmpfs": [
"/var/log/supervisord",
"/var/run/supervisord",
"/opt/eturnal/run",
"/conf",
"/var/lib/turn",
"/tmp"
]
},
@@ -361,6 +370,7 @@
"container_name": "nextcloud-aio-talk-recording",
"display_name": "Talk Recording",
"image": "nextcloud/aio-talk-recording",
"init": true,
"expose": [
"1234"
],
@@ -392,6 +402,7 @@
{
"container_name": "nextcloud-aio-borgbackup",
"image": "nextcloud/aio-borgbackup",
"init": true,
"environment": [
"BORG_PASSWORD=%BORGBACKUP_PASSWORD%",
"BORG_MODE=%BORGBACKUP_MODE%",
@@ -453,6 +464,7 @@
{
"container_name": "nextcloud-aio-watchtower",
"image": "nextcloud/aio-watchtower",
"init": true,
"environment": [
"CONTAINER_TO_UPDATE=nextcloud-aio-mastercontainer"
],
@@ -468,6 +480,7 @@
{
"container_name": "nextcloud-aio-domaincheck",
"image": "nextcloud/aio-domaincheck",
"init": true,
"ports": [
{
"ip_binding": "%APACHE_IP_BINDING%",
@@ -494,6 +507,7 @@
"container_name": "nextcloud-aio-clamav",
"display_name": "ClamAV",
"image": "nextcloud/aio-clamav",
"init": true,
"expose": [
"3310"
],
@@ -527,6 +541,7 @@
"container_name": "nextcloud-aio-onlyoffice",
"display_name": "OnlyOffice",
"image": "nextcloud/aio-onlyoffice",
"init": true,
"expose": [
"80"
],
@@ -548,6 +563,10 @@
"ONLYOFFICE_SECRET"
],
"restart": "unless-stopped",
"nextcloud_exec_commands": [
"echo 'Activating OnlyOffice config...'",
"php /var/www/html/occ onlyoffice:documentserver --check"
],
"profiles": [
"onlyoffice"
],
@@ -559,6 +578,7 @@
"container_name": "nextcloud-aio-imaginary",
"display_name": "Imaginary",
"image": "nextcloud/aio-imaginary",
"init": true,
"expose": [
"9000"
],
@@ -585,6 +605,7 @@
"container_name": "nextcloud-aio-fulltextsearch",
"display_name": "Fulltextsearch",
"image": "nextcloud/aio-fulltextsearch",
"init": false,
"expose": [
"9200"
],
@@ -598,7 +619,8 @@
"logger.org.elasticsearch.discovery=WARN",
"http.port=9200",
"xpack.license.self_generated.type=basic",
"xpack.security.enabled=false"
"xpack.security.enabled=false",
"FULLTEXTSEARCH_PASSWORD=%FULLTEXTSEARCH_PASSWORD%"
],
"volumes": [
{
@@ -613,6 +635,31 @@
],
"networks": [
"nextcloud-aio"
],
"secrets": [
"FULLTEXTSEARCH_PASSWORD"
]
},
{
"container_name": "nextcloud-aio-docker-socket-proxy",
"display_name": "Docker Socket Proxy",
"image": "nextcloud/aio-docker-socket-proxy",
"init": true,
"internal_port": "2375",
"environment": [
"TZ=%TIMEZONE%"
],
"volumes": [
{
"source": "%WATCHTOWER_DOCKER_SOCKET_PATH%",
"destination": "/var/run/docker.sock",
"writeable": false
}
],
"restart": "unless-stopped",
"read_only": true,
"tmpfs": [
"/tmp"
]
}
]

View File

@@ -13,6 +13,7 @@ if (strpos($domain, '.') === false) {
} elseif (filter_var($domain, FILTER_VALIDATE_IP)) {
http_response_code(400);
} else {
error_log($domain . ' was accepted as valid domain.');
// Commented because logging is disabled as otherwise all attempts will be logged which spams the logs
// error_log($domain . ' was accepted as valid domain.');
http_response_code(200);
}

View File

@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="5.14.1@b9d355e0829c397b9b3b47d0c0ed042a8a70284d"/>
<files psalm-version="5.15.0@5c774aca4746caf3d239d9c8cadb9f882ca29352"/>

View File

@@ -0,0 +1,7 @@
document.addEventListener("DOMContentLoaded", function(event) {
// Docker socket proxy
let dockerSocketProxy = document.getElementById("docker-socket-proxy");
if (dockerSocketProxy) {
dockerSocketProxy.disabled = true;
}
});

View File

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

View File

@@ -14,6 +14,13 @@ function handleTalkVisibility() {
}
}
function handleDockerSocketProxyWarning() {
let dockerSocketProxy = document.getElementById("docker-socket-proxy");
if (dockerSocketProxy.checked) {
alert('⚠️ Warning! Enabling this container comes with possible Security problems since you are exposing the docker socket and all its privileges to the Nextcloud container. Enable this only if you are sure what you are doing!')
}
}
document.addEventListener("DOMContentLoaded", function(event) {
// handle submit button for options form
let optionsFormSubmit = document.getElementById("options-form-submit");
@@ -52,4 +59,11 @@ document.addEventListener("DOMContentLoaded", function(event) {
// Fulltextsearch
let fulltextsearch = document.getElementById("fulltextsearch");
fulltextsearch.addEventListener('change', makeOptionsFormSubmitVisible);
// Docker socket proxy
let dockerSocketProxy = document.getElementById("docker-socket-proxy");
if (dockerSocketProxy) {
dockerSocketProxy.addEventListener('change', makeOptionsFormSubmitVisible);
// dockerSocketProxy.addEventListener('change', handleDockerSocketProxyWarning);
}
});

View File

@@ -32,6 +32,8 @@ class Container {
private array $nextcloudExecCommands;
private bool $readOnlyRootFs;
private array $tmpfs;
private bool $init;
private string $imageTag;
private DockerActionManager $dockerActionManager;
public function __construct(
@@ -54,6 +56,8 @@ class Container {
array $nextcloudExecCommands,
bool $readOnlyRootFs,
array $tmpfs,
bool $init,
string $imageTag,
DockerActionManager $dockerActionManager
) {
$this->identifier = $identifier;
@@ -75,6 +79,8 @@ class Container {
$this->nextcloudExecCommands = $nextcloudExecCommands;
$this->readOnlyRootFs = $readOnlyRootFs;
$this->tmpfs = $tmpfs;
$this->init = $init;
$this->imageTag = $imageTag;
$this->dockerActionManager = $dockerActionManager;
}
@@ -94,10 +100,18 @@ class Container {
return $this->restartPolicy;
}
public function GetImageTag() : string {
return $this->imageTag;
}
public function GetReadOnlySetting() : bool {
return $this->readOnlyRootFs;
}
public function GetInit() : bool {
return $this->init;
}
public function GetShmSize() : int {
return $this->shmSize;
}

View File

@@ -93,6 +93,10 @@ class ContainerDefinitionFetcher
if (!$this->configurationManager->isFulltextsearchEnabled()) {
continue;
}
} elseif ($entry['container_name'] === 'nextcloud-aio-docker-socket-proxy') {
if (!$this->configurationManager->isDockerSocketProxyEnabled()) {
continue;
}
}
$ports = new ContainerPorts();
@@ -195,6 +199,10 @@ class ContainerDefinitionFetcher
if (!$this->configurationManager->isFulltextsearchEnabled()) {
continue;
}
} elseif ($value === 'nextcloud-aio-docker-socket-proxy') {
if (!$this->configurationManager->isDockerSocketProxyEnabled()) {
continue;
}
}
$dependsOn[] = $value;
}
@@ -272,6 +280,16 @@ class ContainerDefinitionFetcher
$tmpfs = $entry['tmpfs'];
}
$init = true;
if (isset($entry['init'])) {
$init = $entry['init'];
}
$imageTag = '';
if (isset($entry['image_tag'])) {
$imageTag = $entry['image_tag'];
}
$containers[] = new Container(
$entry['container_name'],
$displayName,
@@ -292,6 +310,8 @@ class ContainerDefinitionFetcher
$nextcloudExecCommands,
$readOnlyRootFs,
$tmpfs,
$init,
$imageTag,
$this->container->get(DockerActionManager::class)
);
}

View File

@@ -110,6 +110,11 @@ class ConfigurationController
} else {
$this->configurationManager->SetFulltextsearchEnabledState(0);
}
if (isset($request->getParsedBody()['docker-socket-proxy'])) {
$this->configurationManager->SetDockerSocketProxyEnabledState(1);
} else {
$this->configurationManager->SetDockerSocketProxyEnabledState(0);
}
}
if (isset($request->getParsedBody()['delete_collabora_dictionaries'])) {

View File

@@ -149,6 +149,21 @@ class ConfigurationManager
}
}
public function isDockerSocketProxyEnabled() : bool {
$config = $this->GetConfig();
if (isset($config['isDockerSocketProxyEnabled']) && $config['isDockerSocketProxyEnabled'] === 1) {
return true;
} else {
return false;
}
}
public function SetDockerSocketProxyEnabledState(int $value) : void {
$config = $this->GetConfig();
$config['isDockerSocketProxyEnabled'] = $value;
$this->WriteConfig($config);
}
public function SetClamavEnabledState(int $value) : void {
$config = $this->GetConfig();
$config['isClamavEnabled'] = $value;
@@ -873,4 +888,19 @@ class ConfigurationManager
return false;
}
}
private function GetKeepDisabledApps() : string {
$envVariableName = 'NEXTCLOUD_KEEP_DISABLED_APPS';
$configName = 'nextcloud_keep_disabled_apps';
$defaultValue = '';
return $this->GetEnvironmentalVariableOrConfig($envVariableName, $configName, $defaultValue);
}
public function shouldDisabledAppsGetRemoved() : bool {
if ($this->GetKeepDisabledApps() === 'true') {
return false;
} else {
return true;
}
}
}

View File

@@ -48,7 +48,11 @@ class DockerActionManager
}
private function BuildImageName(Container $container) : string {
return $container->GetContainerName() . ':' . $this->GetCurrentChannel();
$tag = $container->GetImageTag();
if ($tag === '') {
$tag = $this->GetCurrentChannel();
}
return $container->GetContainerName() . ':' . $tag;
}
public function GetContainerRunningState(Container $container) : IContainerState
@@ -95,7 +99,10 @@ class DockerActionManager
public function GetContainerUpdateState(Container $container) : IContainerState
{
$tag = $this->GetCurrentChannel();
$tag = $container->GetImageTag();
if ($tag === '') {
$tag = $this->GetCurrentChannel();
}
$runningDigests = $this->GetRepoDigestsOfContainer($container->GetIdentifier());
if ($runningDigests === null) {
@@ -339,6 +346,12 @@ class DockerActionManager
} else {
$replacements[1] = '';
}
} elseif ($out[1] === 'DOCKER_SOCKET_PROXY_ENABLED') {
if ($this->configurationManager->isDockerSocketProxyEnabled()) {
$replacements[1] = 'yes';
} else {
$replacements[1] = '';
}
} elseif ($out[1] === 'NEXTCLOUD_UPLOAD_LIMIT') {
$replacements[1] = $this->configurationManager->GetNextcloudUploadLimit();
} elseif ($out[1] === 'NEXTCLOUD_MEMORY_LIMIT') {
@@ -373,6 +386,12 @@ class DockerActionManager
} else {
$replacements[1] = '';
}
} elseif ($out[1] === 'REMOVE_DISABLED_APPS') {
if ($this->configurationManager->shouldDisabledAppsGetRemoved()) {
$replacements[1] = 'yes';
} else {
$replacements[1] = '';
}
} else {
$secret = $this->configurationManager->GetSecret($out[1]);
if ($secret === "") {
@@ -450,6 +469,8 @@ class DockerActionManager
$requestBody['HostConfig']['Tmpfs'] = $tmpfs;
}
$requestBody['HostConfig']['Init'] = $container->GetInit();
$capAdds = $container->GetCapAdds();
if (count($capAdds) > 0) {
$requestBody['HostConfig']['CapAdd'] = $capAdds;
@@ -490,6 +511,9 @@ class DockerActionManager
}
$mounts[] = ["Type" => "bind", "Source" => $volume->name, "Target" => $volume->mountPoint, "ReadOnly" => !$volume->isWritable, "BindOptions" => [ "Propagation" => "rshared"]];
}
// Special things for the watchtower and docker-socket-proxy container which should not be exposed in the containers.json
} elseif ($container->GetIdentifier() === 'nextcloud-aio-watchtower' || $container->GetIdentifier() === 'nextcloud-aio-docker-socket-proxy') {
$requestBody['HostConfig']['SecurityOpt'] = ["label:disable"];
}
if (count($mounts) > 0) {
@@ -754,13 +778,12 @@ class DockerActionManager
}
}
private function ConnectContainerIdToNetwork(string $id, string $internalPort) : void
private function ConnectContainerIdToNetwork(string $id, string $internalPort, string $network = 'nextcloud-aio') : void
{
if ($internalPort === 'host') {
return;
}
$network = 'nextcloud-aio';
$url = $this->BuildApiUrl('networks/create');
try {
$this->guzzleClient->request(
@@ -768,7 +791,7 @@ class DockerActionManager
$url,
[
'json' => [
'Name' => 'nextcloud-aio',
'Name' => $network,
'CheckDuplicate' => true,
'Driver' => 'bridge',
'Internal' => false,
@@ -812,7 +835,7 @@ class DockerActionManager
public function ConnectContainerToNetwork(Container $container) : void
{
$this->ConnectContainerIdToNetwork($container->GetIdentifier(), $container->GetInternalPort());
$this->ConnectContainerIdToNetwork($container->GetIdentifier(), $container->GetInternalPort());
}
public function StopContainer(Container $container) : void {

View File

@@ -35,7 +35,7 @@ class DockerHubManager
if(isset($decodedBody['token'])) {
$authToken = $decodedBody['token'];
$manifestRequest = $this->guzzleClient->request(
'GET',
'HEAD',
'https://registry-1.docker.io/v2/'.$name.'/manifests/' . $tag,
[
'headers' => [

View File

@@ -16,7 +16,7 @@
</header>
<div class="content">
<h1>Nextcloud AIO v7.0.0</h1>
<h1>Nextcloud AIO v7.2.1</h1>
{# Add 2nd tab warning #}
<script type="text/javascript" src="second-tab-warning.js"></script>
@@ -552,7 +552,7 @@
{% if is_fulltextsearch_enabled == true %}
<input type="checkbox" id="fulltextsearch" name="fulltextsearch" checked="checked"><label for="fulltextsearch">Fulltextsearch (needs ~1GB additional RAM)</label><br>
{% else %}
<input type="checkbox" id="fulltextsearch" name="fulltextsearch"><label for="fulltextsearch">Fulltextsearch (needs ~1GB additional RAM)</label><br>
<input type="checkbox" id="fulltextsearch" name="fulltextsearch"><label for="fulltextsearch">Fulltextsearch (needs ~1GB additional RAM. <b>Please note:</b> the initial indexing can take a long time during which Nextcloud will be unavailable)</label><br><br>
{% endif %}
{% if is_imaginary_enabled == true %}
<input type="checkbox" id="imaginary" name="imaginary" checked="checked"><label for="imaginary">Imaginary (for previews of heic, heif, illustrator, pdf, svg, tiff and webp. Imaginary is currently <a href="https://github.com/nextcloud/server/issues/34262">incompatible with server-side-encryption</a>)</label><br><br>
@@ -574,6 +574,11 @@
{% else %}
{#<input type="checkbox" id="onlyoffice" name="onlyoffice"><label for="onlyoffice">OnlyOffice</label><br>#}
{% endif %}
{% if is_docker_socket_proxy_enabled == true %}
<input type="checkbox" id="docker-socket-proxy" name="docker-socket-proxy" checked="checked"><label for="docker-socket-proxy">Docker Socket Proxy (needed for <a href="https://github.com/cloud-py-api/app_api#nextcloud-appapi">Nextcloud App API</a>)</label><br><br>
{% else %}
{# <input type="checkbox" id="docker-socket-proxy" name="docker-socket-proxy"><label for="docker-socket-proxy">Docker Socket Proxy (needed for <a href="https://github.com/cloud-py-api/app_api#nextcloud-appapi">Nextcloud App API</a>)</label><br><br> #}
{% endif %}
<input id="options-form-submit" class="button" type="submit" value="Save changes" />
<script type="text/javascript" src="options-form-submit.js"></script>
</form>
@@ -582,6 +587,7 @@
<script type="text/javascript" src="disable-clamav.js"></script>
{% endif %}
{% if isAnyRunning == true %}
<script type="text/javascript" src="disable-docker-socket-proxy.js"></script>
<script type="text/javascript" src="disable-talk.js"></script>
<script type="text/javascript" src="disable-collabora.js"></script>
<script type="text/javascript" src="disable-onlyoffice.js"></script>

View File

@@ -51,7 +51,7 @@ Included are:
- Nextcloud can be [accessed locally via the domain](https://github.com/nextcloud/all-in-one#how-can-i-access-nextcloud-locally)
- Can [be installed locally](https://github.com/nextcloud/all-in-one/blob/main/local-instance.md) (if you don't want or cannot make the instance publicly reachable)
- [IPv6-ready](https://github.com/nextcloud/all-in-one/blob/main/docker-ipv6-support.md)
- Can be used with [Docker rootles](https://github.com/nextcloud/all-in-one/blob/main/docker-rootless.md) (good for additional security)
- Can be used with [Docker rootless](https://github.com/nextcloud/all-in-one/blob/main/docker-rootless.md) (good for additional security)
- Runs on all platforms Docker supports (e.g. also on Windows and Macos)
- Included containers easy to debug by having the possibility to check their logs directly from the AIO interface
- [Docker-compose ready](./compose.yaml)
@@ -60,7 +60,7 @@ Included are:
- Can be installed with [Kubernetes](https://github.com/nextcloud/all-in-one/tree/main/nextcloud-aio-helm-chart)
- Almost all included containers Alpine Linux based (good for security and size)
- Many of the included containers run as non-root user (good for security)
- Some of the included containers have a read-only root-FS (good for security)
- Many of the included containers have a read-only root-FS (good for security)
- Included containers run in its own docker network (good for security) and only really necessary ports are exposed on the host
- [Multiple instances on one server](https://github.com/nextcloud/all-in-one/blob/main/multiple-instances.md) are doable without having to deal with VMs
- Adjustable backup path from the AIO interface (good to put the backups e.g. on a different drive)
@@ -87,6 +87,7 @@ The following instructions are meant for installations without a web server or r
```
# For Linux and without a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else) already in place:
sudo docker run \
--init \
--sig-proxy=false \
--name nextcloud-aio-mastercontainer \
--restart always \
@@ -101,6 +102,7 @@ The following instructions are meant for installations without a web server or r
<summary>Explanation of the command</summary>
- `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 https://docs.docker.com/engine/reference/run/#specify-an-init-process
- `--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/
@@ -157,6 +159,7 @@ On Windows, install [Docker Desktop](https://www.docker.com/products/docker-desk
```
docker run ^
--init ^
--sig-proxy=false ^
--name nextcloud-aio-mastercontainer ^
--restart always ^
@@ -277,7 +280,7 @@ Afterwards it should work.<br>
See https://dev.to/ozorest/fedora-32-how-to-solve-docker-internal-network-issue-22me for more details on this. This limitation is even mentioned on the official firewalld website: https://firewalld.org/#who-is-using-it
### Are there known problems when SELinux is enabled?
Yes. If SELinux is enabled, you might need to add the `--security-opt label=disabled` option to the docker run command of the mastercontainer in order to allow it to access the docker socket (or `security_opt: ["label=disabled"]` in compose.yaml). See https://github.com/nextcloud/all-in-one/discussions/485
Yes. If SELinux is enabled, you might need to add the `--security-opt label:disable` option to the docker run command of the mastercontainer in order to allow it to access the docker socket (or `security_opt: ["label:disable"]` in compose.yaml). See https://github.com/nextcloud/all-in-one/discussions/485
### How to run `occ` commands?
Simply run the following: `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ your-command`. Of course `your-command` needs to be exchanged with the command that you want to run.
@@ -521,7 +524,7 @@ fi
</details>
You can simply copy and past the script into a file e.g. named `backup-script.sh` e.g. here: `/root/backup-script.sh`. Do not forget to modify the variables to your requirements!
You can simply copy and paste the script into a file e.g. named `backup-script.sh` e.g. here: `/root/backup-script.sh`. Do not forget to modify the variables to your requirements!
Afterwards apply the correct permissions with `sudo chown root:root /root/backup-script.sh` and `sudo chmod 700 /root/backup-script.sh`. Then you can create a cronjob that runs e.g. at `20:00` each week on Sundays like this:
1. Open the cronjob with `sudo crontab -u root -e` (and choose your editor of choice if not already done. I'd recommend nano).
@@ -529,6 +532,8 @@ Afterwards apply the correct permissions with `sudo chown root:root /root/backup
1. save and close the crontab (when using nano are the shortcuts for this `Ctrl + o` -> `Enter` and close the editor with `Ctrl + x`).
### How to stop/start/update containers or trigger the daily backup from a script externally?
⚠️⚠️⚠️ **Warning**: The below script will only work after the initial setup of AIO. So you will always need to first visit the AIO interface, type in your domain and start the containers the first time or restore an older AIO instance from its borg backup before you can use the script.
You can do so by running the `/daily-backup.sh` script that is stored in the mastercontainer. It accepts the following environmental varilables:
- `AUTOMATIC_UPDATES` if set to `1`, it will automatically stop the containers, update them and start them including the mastercontainer. If the mastercontainer gets updated, this script's execution will stop as soon as the mastercontainer gets stopped. You can then wait until it is started again and run the script with this flag again in order to update all containers correctly afterwards.
- `DAILY_BACKUP` if set to `1`, it will automatically stop the containers and create a backup. If you want to start them again afterwards, you may have a look at the `START_CONTAINERS` option.
@@ -544,7 +549,7 @@ One example for this would be `sudo docker exec -it --env DAILY_BACKUP=1 nextclo
If you already have a backup solution in place, you may want to hide the backup section. You can do so by adding `--env AIO_DISABLE_BACKUP_SECTION=true` 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).
### How to change the default location of Nextcloud's Datadir?
⚠️⚠️⚠️ **Warning:** Warning: do not set or adjust this value after the initial Nextcloud installation is done! If you still want to do it afterwards, see [this](https://github.com/nextcloud/all-in-one/discussions/890#discussioncomment-3089903) on how to do it.
⚠️⚠️⚠️ **Warning:** Do not set or adjust this value after the initial Nextcloud installation is done! If you still want to do it afterwards, see [this](https://github.com/nextcloud/all-in-one/discussions/890#discussioncomment-3089903) on how to do it.
You can configure the Nextcloud container to use a specific directory on your host as data directory. You can do so by adding the environmental variable `NEXTCLOUD_DATADIR` 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). Allowed values for that variable are strings that start with `/` and are not equal to `/`. The chosen directory or volume will then be mounted to `/mnt/ncdata` inside the container.
@@ -599,13 +604,13 @@ Be aware though that these locations will not be covered by the built-in backup
By default will the talk container use port `3478/UDP` and `3478/TCP` for connections. You can adjust the port by adding e.g. `--env TALK_PORT=3478` 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 adjusting the port to your desired value. Best is to use a port over 1024, so e.g. 3479 to not run into this: https://github.com/nextcloud/all-in-one/discussions/2517
### How to adjust the upload limit for Nextcloud?
By default are public uploads to Nextcloud limited to a max of 10G (logged in users can upload much bigger files using the webinterface or the mobile/desktop clients since chunking is used in that case). You can adjust the upload limit by providing `--env NEXTCLOUD_UPLOAD_LIMIT=10G` 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 start with a number and end with `G` e.g. `10G`.
By default, public uploads to Nextcloud are limited to a max of 10G (logged in users can upload much bigger files using the webinterface or the mobile/desktop clients, since chunking is used in that case). You can adjust the upload limit by providing `--env NEXTCLOUD_UPLOAD_LIMIT=10G` 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 start with a number and end with `G` e.g. `10G`.
### How to adjust the max execution time for Nextcloud?
By default are uploads to Nextcloud limited to a max of 3600s. You can adjust the upload time limit by providing `--env NEXTCLOUD_MAX_TIME=3600` 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 number e.g. `3600`.
By default, uploads to Nextcloud are limited to a max of 3600s. You can adjust the upload time limit by providing `--env NEXTCLOUD_MAX_TIME=3600` 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 number e.g. `3600`.
### How to adjust the PHP memory limit for Nextcloud?
By default is each PHP process in the Nextcloud container limited to a max of 512 MB. You can adjust the memory limit by providing `--env NEXTCLOUD_MEMORY_LIMIT=512M` 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 start with a number and end with `M` e.g. `1024M`.
By default, each PHP process in the Nextcloud container is limited to a max of 512 MB. You can adjust the memory limit by providing `--env NEXTCLOUD_MEMORY_LIMIT=512M` 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 start with a number and end with `M` e.g. `1024M`.
### What can I do to fix the internal or reserved ip-address error?
If you get an error during the domain validation which states that your ip-address is an internal or reserved ip-address, you can fix this by first making sure that your domain indeed has the correct public ip-address that points to the server and then adding `--add-host yourdomain.com:<public-ip-address>` 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) which will allow the domain validation to work correctly. And so that you know: even if the `A` record of your domain should change over time, this is no problem since the mastercontainer will not make any attempt to access the chosen domain after the initial domain validation.
@@ -626,22 +631,25 @@ No. Since Podman is not 100% compatible with the Docker API, you cannot use Podm
You might want to adjust the Nextcloud apps that are installed upon the first startup of the Nextcloud container. You can do so by adding `--env NEXTCLOUD_STARTUP_APPS="deck twofactor_totp tasks calendar contacts notes"` 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, 0-9, spaces and hyphens or '_'. You can disable shipped and by default enabled apps by adding a hyphen in front of the appid. E.g. `-contactsinteraction`.
### How to add OS packages permanently to the Nextcloud container?
Some Nextcloud apps require additional external dependencies that must be bundled within Nextcloud container in order to work correctly. As we cannot put each and every dependency for all apps into the container - as this would make the project very fast unmaintainable - there is an official way how you can add additional dependencies into the Nextcloud container. However note that doing this is disrecommended since we do not test Nextcloud apps that require external dependencies.
Some Nextcloud apps require additional external dependencies that must be bundled within Nextcloud container in order to work correctly. As we cannot put each and every dependency for all apps into the container - as this would make the project quickly unmaintainable - there is an official way in which you can add additional dependencies into the Nextcloud container. However note that doing this is disrecommended since we do not test Nextcloud apps that require external dependencies.
You can do so by adding `--env NEXTCLOUD_ADDITIONAL_APKS="imagemagick dependency2 dependency3"` 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 packages here: https://pkgs.alpinelinux.org/packages?branch=v3.18. By default added is `imagemagick`. If you want to keep that, you need to specify it as well.
You can do so by adding `--env NEXTCLOUD_ADDITIONAL_APKS="imagemagick dependency2 dependency3"` 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 packages here: https://pkgs.alpinelinux.org/packages?branch=v3.18. By default `imagemagick` is added. If you want to keep it, you need to specify it as well.
### How to add PHP extensions permanently to the Nextcloud container?
Some Nextcloud apps require additional php extensions that must be bundled within Nextcloud container in order to work correctly. As we cannot put each and every dependency for all apps into the container - as this would make the project very fast unmaintainable - there is an official way how you can add additional php extensions into the Nextcloud container. However note that doing this is disrecommended since we do not test Nextcloud apps that require additional php extensions.
Some Nextcloud apps require additional php extensions that must be bundled within Nextcloud container in order to work correctly. As we cannot put each and every dependency for all apps into the container - as this would make the project quickly unmaintainable - there is an official way in which you can add additional php extensions into the Nextcloud container. However note that doing this is disrecommended since we do not test Nextcloud apps that require additional php extensions.
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 added is `imagick`. If you want to keep that, you need to specify it as well.
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.
### How to enable hardware-transcoding for Nextcloud?
⚠️⚠️⚠️ Warning: this only works if the `/dev/dri` device is present on the host! If it should not exist 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.
⚠️⚠️⚠️ 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.
The [memories app](https://apps.nextcloud.com/apps/memories) allows to enable hardware transcoding for videos. In order to use that, you need to add `--env NEXTCLOUD_ENABLE_DRI_DEVICE=true` 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) which will mount the `/dev/dri` device into the container. Additionally, you need to add required packets to the Nextcloud container by using [this feature](https://github.com/nextcloud/all-in-one#how-to-add-os-packages-permanently-to-the-nextcloud-container) and adding the required Alpine packages that are documented [here](https://github.com/pulsejet/memories/wiki/QSV-Transcoding).
The [memories app](https://apps.nextcloud.com/apps/memories) allows to enable hardware transcoding for videos. In order to use that, you need to add `--env NEXTCLOUD_ENABLE_DRI_DEVICE=true` 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) which will mount the `/dev/dri` device into the container. Additionally, you need to add required packets to the Nextcloud container by using [this feature](https://github.com/nextcloud/all-in-one#how-to-add-os-packages-permanently-to-the-nextcloud-container) and adding the required Alpine packages that are documented [here](https://memories.gallery/hw-transcoding/#va-api).
### How to keep disabled apps?
In certain situations you might want to keep Nextcloud apps that are disabled in the AIO interface and not uninstall them if they should be installed in Nextcloud. You can do so by adding `--env NEXTCLOUD_KEEP_DISABLED_APPS=true` 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). ⚠️⚠️⚠️ **Warning** doing this might cause unintended problems in Nextcloud if an app that requires an external dependency is still installed but the external dependency not for example.
### Huge docker logs
If you should run into issues with huge docker logs, you can adjust the log size by following https://docs.docker.com/config/containers/logging/local/#usage. However for the included AIO containers, this should usually not be needed because almost all of them have the log level set to warn so they should not produce many logs.
@@ -659,7 +667,7 @@ You can move the whole docker library and all its files including all Nextcloud
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 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)
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)
### 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))
@@ -693,13 +701,13 @@ What are the requirements?
5. The container should not mount directories from the host into the container: only docker volumes should be used.
### How to trust user-defined Certification Authorities (CA)?
For some applications it might be necessary to enstablish a secured connection to a host / server which is using a certificated issued by a Certification Authority that is not trusted out of the box. An example could be configuring LDAPS against the Domain Controller (ActiveDirectory) of an organization
For some applications it might be necessary to establish a secure connection to another host/server which is using a certificate issued by a Certification Authority that is not trusted out of the box. An example could be configuring LDAPS against a domain controller (Active Directory or Samba-based) of an organization.
You can make the Nextcloud container trust any Certification Authority by providing the environmental variable `NEXTCLOUD_TRUSTED_CACERTS_DIR` 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). The value of the variables should be set to the absolute path to a directory on the host, which contains one or more Certification Authority's certificate. You should use X.509 certificates, Base64 encoded. (Other formats may work but have not been tested!) All the certificates in the directory will be trusted.
You can make the Nextcloud container trust any Certification Authority by providing the environmental variable `NEXTCLOUD_TRUSTED_CACERTS_DIR` 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). The value of the variables should be set to the absolute paths of the directory on the host, which contains one or more Certification Authorities certificates. You should use X.509 certificates, Base64 encoded. (Other formats may work but have not been tested!) All the certificates in the directory will be trusted.
When using `docker run`, the environmental variable can be set with `--env NEXTCLOUD_TRUSTED_CACERTS_DIR=/path/to/my/cacerts`.
In order for the value to be valid, the path should start with `/` and not end with '/' and point to an existing **directory**. Pointing the variable directly to a certificate **file** will not work and may also break things.
In order for the value to be valid, the path should start with `/` and not end with `/` and point to an existing **directory**. Pointing the variable directly to a certificate **file** will not work and may also break things.
### How to disable Collabora's Seccomp feature?
The Collabora container enables Seccomp by default, which is a security feature of the Linux kernel. On systems without this kernel feature enabled, you need to provide `--env COLLABORA_SECCOMP_DISABLED=true` to the initial docker run command in order to make it work.
@@ -725,15 +733,15 @@ docker exec --env STOP_CONTAINERS=1 nextcloud-aio-mastercontainer /daily-backup.
</details>
You can simply copy and past the script into a file e.g. named `shutdown-script.sh` e.g. here: `/root/shutdown-script.sh`.
You can simply copy and paste the script into a file e.g. named `shutdown-script.sh` e.g. here: `/root/shutdown-script.sh`.
Afterwards apply the correct permissions with `sudo chown root:root /root/shutdown-script.sh` and `sudo chmod 700 /root/shutdown-script.sh`. Then you can create a cronjob that runs e.g. runs the script at `04:00` each day like this:
Afterwards apply the correct permissions with `sudo chown root:root /root/shutdown-script.sh` and `sudo chmod 700 /root/shutdown-script.sh`. Then you can create a cronjob that runs it on a schedule e.g. runs the script at `04:00` each day like this:
1. Open the cronjob with `sudo crontab -u root -e` (and choose your editor of choice if not already done. I'd recommend nano).
1. Add the following new line to the crontab if not already present: `0 4 * * * /root/shutdown-script.sh` which will run the script at 04:00 each day.
1. save and close the crontab (when using nano are the shortcuts for this `Ctrl + o` -> `Enter` and close the editor with `Ctrl + x`).
1. save and close the crontab (when using nano the shortcuts for this are `Ctrl + o` and then `Enter` to save, and close the editor with `Ctrl + x`).
**After that is in place, you should schedule a backup from your backup solution that creates a backup after AIO is shut down properly. Hint: If your backup runs on the same host, make sure to at least back up all docker volumes and additionally Nextclouds datadir, if it is not stored in a docker volume.**
**After that is in place, you should schedule a backup from your backup solution that creates a backup after AIO is shut down properly. Hint: If your backup runs on the same host, make sure to at least back up all docker volumes and additionally Nextcloud's datadir if it is not stored in a docker volume.**
**Afterwards, you can create a second script that automatically updates the containers:**
@@ -763,9 +771,9 @@ fi
</details>
You can simply copy and past the script into a file e.g. named `automatic-updates.sh` e.g. here: `/root/automatic-updates.sh`.
You can simply copy and paste the script into a file e.g. named `automatic-updates.sh` e.g. here: `/root/automatic-updates.sh`.
Afterwards apply the correct permissions with `sudo chown root:root /root/automatic-updates.sh` and `sudo chmod 700 /root/automatic-updates.sh`. Then you can create a cronjob that runs e.g. at `05:00` each day like this:
1. Open the cronjob with `sudo crontab -u root -e` (and choose your editor of choice if not already done. I'd recommend nano).
1. Add the following new line to the crontab if not already present: `0 5 * * * /root/automatic-updates.sh` which will run the script at 05:00 each day.
1. save and close the crontab (when using nano are the shortcuts for this `Ctrl + o` -> `Enter` and close the editor with `Ctrl + x`).
1. save and close the crontab (when using nano the shortcuts for this are `Ctrl + o` then `Enter` to save, and close the editor with `Ctrl + x`).

View File

@@ -4,7 +4,7 @@ A [reverse proxy](https://en.wikipedia.org/wiki/Reverse_proxy) is basically a we
**Please note:** Publishing the AIO interface with a valid certificate to the public internet is **not** the goal of this documentation! Instead, the main goal is to publish Nextcloud with a valid certificate to the public internet which is **not** running inside the mastercontainer but in a different container! If you need a valid certificate for the AIO interface, see [point 5](#5-optional-get-a-valid-certificate-for-the-aio-interface).
In order to run Nextcloud behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else), you need to specify the port that AIO's Apache container shall use, add a specific config to your web server or reverse proxy and modify the startup command a bit. All examples below will use port `11000` as example Apache port which will be exposed on the host. Modify the port to your needings.
In order to run Nextcloud behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else), you need to specify the port that AIO's Apache container shall use, add a specific config to your web server or reverse proxy and modify the startup command a bit. All examples below will use port `11000` as example Apache port which will be exposed on the host to receive unencrypted HTTP traffic from the reverse proxy. Modify the port to your needings.
**Attention:** The process to run Nextcloud behind a reverse proxy consists of at least steps 1, 2 and 4:
1. **Configure the reverse proxy! See [point 1](#1-add-this-to-your-reverse-proxy-config)**
@@ -266,7 +266,7 @@ Of course you need to modify `<your-nc-domain>` to the domain on which you want
**Disclaimer:** This config was tested and should normally work on all modern nginx version if you configure it correctly. Improvements to the config are very welcome!
Add the below template to you nginx config.
Add the below template to your nginx config.
**Note:** please check your nginx version by running: `nginx -v` and adjust it the lines marked with version notes, so that they fit your nginx version.
@@ -541,7 +541,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-nextcloud-domain>`)"
entrypoints:
- "https"
service: nextcloud
@@ -604,6 +604,7 @@ After adjusting your reverse proxy config, use the following command to start AI
```
# For Linux:
sudo docker run \
--init \
--sig-proxy=false \
--name nextcloud-aio-mastercontainer \
--restart always \
@@ -629,6 +630,7 @@ On Windows, install [Docker Desktop](https://www.docker.com/products/docker-desk
```
docker run ^
--init ^
--sig-proxy=false ^
--name nextcloud-aio-mastercontainer ^
--restart always ^

View File

@@ -20,5 +20,6 @@ See https://github.com/nextcloud/all-in-one#how-to-trust-user-defined-certificat
- [ ] When starting the mastercontainer with `--env NEXTCLOUD_ADDITIONAL_APKS=zip`, the resulting Nextcloud container should have the zip package installed and not imagemagick.
- [ ] When starting the mastercontainer with `--env NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS=inotify`, the resulting Nextcloud container should have the inotify extension installed and not the imagick extension.
- [ ] When starting the mastercontainer with `--env NEXTCLOUD_ENABLE_DRI_DEVICE=true`, the resulting Nextcloud container should have the /dev/dri device mounted into the container. (Only works if a `/dev/dri` device is present on the host)
- [ ] When starting the mastercontainer with `--env NEXTCLOUD_KEEP_DISABLED_APPS=true` it should keep apps in Nextcloud that are disabled in the AIO interface. For example if Collabora is disabled in the AIO interface and you install the richdocuments app in Nextcloud, a restart should not uninstall the richdocuments app in Nextcloud anymore.
You can now continue with [070-timezone-change.md](./070-timezone-change.md)