Compare commits

...

146 Commits

Author SHA1 Message Date
Simon L
4a9c344473 Merge pull request #3792 from nextcloud/enh/noid/remove-lost+found 2023-11-23 19:36:40 +01:00
Simon L
b85ffbb0cc helm - fix lost+found in nextcloud
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-23 19:33:07 +01:00
Simon L
f0fd5b692d increase to 7.7.1
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-23 19:16:02 +01:00
Simon L
6f1ad8d0e9 Merge pull request #3812 from nextcloud/nextcloud-container-update 2023-11-23 19:14:05 +01:00
szaimen
4d46894f94 nextcloud-update automated change
Signed-off-by: GitHub <noreply@github.com>
2023-11-23 18:12:58 +00:00
Simon L
2c440b4b27 Merge pull request #3809 from nextcloud/aio-yaml-update 2023-11-23 14:51:29 +01:00
Simon L
a149f75795 add ADDITIONAL_TRUSTED_PROXY to the chart
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-23 14:50:52 +01:00
szaimen
c82ad75d7c Yaml updates
Signed-off-by: GitHub <noreply@github.com>
2023-11-23 12:24:27 +00:00
Simon L
a43f75542e Merge pull request #3805 from nextcloud/enh/noid/disable-volumes 2023-11-23 12:00:11 +01:00
Simon L
e6d0059986 helm - disable volumes if corresponding feature is disabled
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-23 11:59:04 +01:00
Simon L
75784dc736 Merge pull request #3804 from nextcloud/enh/noid/publish-helm-dev 2023-11-23 10:57:03 +01:00
Simon L
42ddbfde34 helm - publish new dev release
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-23 10:53:07 +01:00
Simon L
f577221fa7 elasticsearch 8.11.1 is still not available for arm64
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-23 10:50:32 +01:00
Simon L
6fe494cc9f Merge pull request #3795 from nextcloud/enh/noid/define-additional-trusted-proxy 2023-11-23 10:44:59 +01:00
Simon L
8b39a5ec73 Merge pull request #3774 from nextcloud/enh/3769/make-pull-image-failure-proof 2023-11-23 10:10:55 +01:00
Simon L
8c17fa0a7c Merge pull request #3775 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.2.1-16
Bump clamav/clamav from 1.2.1-15 to 1.2.1-16 in /Containers/clamav
2023-11-23 09:53:34 +01:00
Simon L
aae79af1b5 Merge pull request #3773 from nextcloud/enh/noid/rename-pullcontainer
rename pullContainer to pullImage
2023-11-23 09:53:04 +01:00
Simon L
907dca670e Merge pull request #3765 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.11.1
Bump elasticsearch from 8.11.0 to 8.11.1 in /Containers/fulltextsearch
2023-11-23 09:51:44 +01:00
Simon L
66c90e976f Merge pull request #3776 from nextcloud/dependabot/docker/Containers/docker-socket-proxy/haproxy-2.8.4-alpine3.18
Bump haproxy from 2.8.3-alpine3.18 to 2.8.4-alpine3.18 in /Containers/docker-socket-proxy
2023-11-23 09:51:19 +01:00
Simon L
c67bd8f7db Merge pull request #3781 from nextcloud/enh/noid/collabora-mknod
add mknod capability to collabora
2023-11-23 09:50:47 +01:00
Simon L
e1019ee9ff Merge pull request #3799 from nextcloud/aio-dependency-update
PHP dependency updates
2023-11-23 09:50:14 +01:00
Simon L
0b23271af0 Merge pull request #3801 from nextcloud/automated/noid/psalm-baseline-update
[Automated] Update psalm-baseline.xml
2023-11-23 09:49:24 +01:00
Simon L
53d5191da7 Merge pull request #3786 from nextcloud/aio-helm-update
Helm Chart updates
2023-11-23 09:46:49 +01:00
szaimen
95850d30bb Helm Chart updates
Signed-off-by: GitHub <noreply@github.com>
2023-11-23 08:45:28 +00:00
nextcloud-command
92664f7964 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2023-11-23 04:09:07 +00:00
szaimen
4e3b93da82 php dependency updates
Signed-off-by: GitHub <noreply@github.com>
2023-11-22 12:02:17 +00:00
Simon L
25c5b3dd65 helm - add namespace to different section
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-21 19:10:06 +01:00
Simon L
89a87d8b60 helm - allow to define an additional_trusted_proxy
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-21 17:34:37 +01:00
Simon L
5a385ebdd3 Merge pull request #3784 from nextcloud/enh/noid/fix-clamav 2023-11-21 16:41:09 +01:00
Simon L
feec123292 fix clamav permissions
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-21 12:07:05 +01:00
Simon L
ec33279209 Merge pull request #3783 from nextcloud/st3iny-patch-1 2023-11-21 11:45:30 +01:00
Simon L
e20f31ab90 address some other details
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-21 11:44:17 +01:00
Richard Steinmetz
98e671403c helm: fix duplicate SMTP_HOST env variable
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-11-21 11:38:08 +01:00
Simon L
5ed71e8a88 add mknod capability to collabora
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-21 09:11:31 +01:00
Simon L
ebbc68e4e5 add section how to connect to database
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-20 15:09:03 +01:00
dependabot[bot]
f7ea98ef24 Bump haproxy in /Containers/docker-socket-proxy
Bumps haproxy from 2.8.3-alpine3.18 to 2.8.4-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-11-20 13:08:42 +00:00
Simon L
10a8f5b099 Make sure that image is correctly pulled before continuing
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-20 14:05:40 +01:00
dependabot[bot]
2d2d7a2e7a Bump clamav/clamav from 1.2.1-15 to 1.2.1-16 in /Containers/clamav
Bumps clamav/clamav from 1.2.1-15 to 1.2.1-16.

---
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-11-20 12:44:59 +00:00
Simon L
01625b1b7a fix removing THIS_IS_AIO
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-20 13:29:19 +01:00
Simon L
f935993ac6 rename pullContainer to pullImage
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-20 13:16:59 +01:00
dependabot[bot]
db0c20584d Bump elasticsearch from 8.11.0 to 8.11.1 in /Containers/fulltextsearch
Bumps elasticsearch from 8.11.0 to 8.11.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-17 12:33:42 +00:00
Simon L
03aa7a1ce1 name loadbalancer ports in a different way for a test
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-17 11:03:03 +01:00
Simon L
57b5f61f5b Merge pull request #3760 from nextcloud/enh/noid/create-beta-helm-chart 2023-11-16 21:38:27 +01:00
Simon L
0714ea0234 helm chart - create beta release
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-16 21:36:08 +01:00
Simon L
72e7dc29a8 fix the path
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-16 17:13:47 +01:00
Simon L
fac9169f59 Merge pull request #3758 from nextcloud/revert-3755-dependabot/docker/Containers/fulltextsearch/elasticsearch-8.11.1 2023-11-16 17:02:18 +01:00
Simon L
7bdf1bf49e Revert "Bump elasticsearch from 8.11.0 to 8.11.1 in /Containers/fulltextsearch" 2023-11-16 17:01:33 +01:00
Simon L
42c721d4f0 fix permissions for notify-push
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-16 16:49:03 +01:00
Simon L
dee692f3e9 fix it
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-16 16:16:41 +01:00
Simon L
5e843a9a9a gcc seems to be required for pip install now
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-16 16:13:00 +01:00
Simon L
2af3be98e9 increase to 7.7.0
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-16 16:01:08 +01:00
Simon L
6854145b91 Merge pull request #3735 from nextcloud/enh/noid/limit-php-fpm-again
re-introduce limiting the php-fpm port to certain containers
2023-11-16 15:58:37 +01:00
Simon L
d3e7557446 Merge pull request #3756 from nextcloud/enh/3742/helm-chart-improvements
helm chart - allow to configure additional values
2023-11-16 15:52:09 +01:00
Simon L
a2c8fa5aa0 Merge pull request #3752 from nextcloud/enh/3570/talk-recording-repo 2023-11-16 14:52:54 +01:00
Simon L
ded000e614 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-11-16 14:42:00 +01:00
Simon L
78e133bd3a Merge pull request #3755 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.11.1 2023-11-16 14:23:36 +01:00
Simon L
a0dd9d6605 helm chart - allow to configure additional values
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-16 14:20:07 +01:00
dependabot[bot]
ab3ec7fc75 Bump elasticsearch from 8.11.0 to 8.11.1 in /Containers/fulltextsearch
Bumps elasticsearch from 8.11.0 to 8.11.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-16 12:12:21 +00:00
Simon L
97a4960726 Merge pull request #3754 from nextcloud/aio-dependency-update
PHP dependency updates
2023-11-16 13:04:14 +01:00
szaimen
f1b9d86394 php dependency updates
Signed-off-by: GitHub <noreply@github.com>
2023-11-16 12:02:11 +00:00
Simon L
542a6a0cbe get recording server from its repo
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-16 12:14:41 +01:00
Simon L
ea5965c149 Merge pull request #3734 from nextcloud/enh/noid/add-json-decode-and-encode 2023-11-15 22:57:32 +01:00
Simon L
e60331e987 Merge pull request #3751 from nextcloud/enh/noid/log-whole-logs 2023-11-15 22:57:00 +01:00
Simon L
2f56756423 Merge pull request #3736 from nextcloud/enh/noid/add-memories 2023-11-15 22:56:12 +01:00
Simon L
db582816d3 community containers - add memories
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-15 21:09:42 +01:00
Simon L
cfeb8d872a log whole error messages
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-15 21:04:25 +01:00
Simon L
088fd118be Merge pull request #3749 from nextcloud/dependabot/docker/Containers/talk/strukturag/nextcloud-spreed-signaling-1.2.1 2023-11-15 13:30:59 +01:00
dependabot[bot]
0374ec96c4 Bump strukturag/nextcloud-spreed-signaling in /Containers/talk
Bumps strukturag/nextcloud-spreed-signaling from 1.2.0 to 1.2.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-15 12:25:30 +00:00
Simon L
1922e06fcc Merge pull request #3748 from nextcloud/aio-dependency-update 2023-11-15 13:21:29 +01:00
szaimen
7b507e5107 php dependency updates
Signed-off-by: GitHub <noreply@github.com>
2023-11-15 12:02:22 +00:00
Simon L
50d50a63a9 Merge pull request #3744 from nextcloud/dependabot/docker/Containers/postgresql/postgres-15.5-alpine 2023-11-14 14:55:28 +01:00
dependabot[bot]
eb22484e9e Bump postgres from 15.4-alpine to 15.5-alpine in /Containers/postgresql
Bumps postgres from 15.4-alpine to 15.5-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-14 13:01:26 +00:00
Simon L
7d3335a9a7 Merge pull request #3743 from nextcloud/dependabot/github_actions/dessant/lock-threads-5 2023-11-14 13:31:38 +01:00
dependabot[bot]
344270b805 Bump dessant/lock-threads from 4 to 5
Bumps [dessant/lock-threads](https://github.com/dessant/lock-threads) from 4 to 5.
- [Release notes](https://github.com/dessant/lock-threads/releases)
- [Changelog](https://github.com/dessant/lock-threads/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dessant/lock-threads/compare/v4...v5)

---
updated-dependencies:
- dependency-name: dessant/lock-threads
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-14 12:19:41 +00:00
Simon L
2de67a38bd add hint regarding collabora in rootless mode
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-13 20:33:46 +01:00
Simon L
72ecbfec49 re-introduce limiting the php-fpm port to certain containers
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-13 16:45:36 +01:00
Simon L
779f9e4889 Merge pull request #3732 from nextcloud/enh/noid/add-dual-stack 2023-11-13 16:44:16 +01:00
Simon L
40d7c05362 add JSON_THROW_ON_ERROR to json_encode and json_decode in config manager
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-13 15:39:55 +01:00
Simon L
2abad75461 helm chart - add dualstack functionality
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-13 14:40:39 +01:00
Simon L
85933dd149 Merge pull request #3695 from nextcloud/aio-helm-update 2023-11-13 14:16:08 +01:00
szaimen
9d8f172ac6 Helm Chart updates
Signed-off-by: GitHub <noreply@github.com>
2023-11-13 13:11:17 +00:00
Simon L
9a7dea0bf7 Merge pull request #3707 from nextcloud/enh/noid/notify-push 2023-11-13 14:10:39 +01:00
Simon L
bf816c0f53 another attempt
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-13 14:09:36 +01:00
Simon L
75eb25f5d1 Merge pull request #3731 from nextcloud/dependabot/docker/Containers/watchtower/containrrr/watchtower-1.7.1 2023-11-13 14:07:45 +01:00
Simon L
42343413ea Merge pull request #3730 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.2.1-15 2023-11-13 14:07:31 +01:00
Simon L
f10760d3e7 Merge pull request #3729 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-23.05.5.4.1 2023-11-13 14:07:19 +01:00
Simon L
545fd28ab9 Merge pull request #3724 from nextcloud/nextcloud-container-update 2023-11-13 14:07:04 +01:00
Simon L
9b208c3584 Merge pull request #3723 from nextcloud/aio-dependency-update 2023-11-13 14:06:46 +01:00
Simon L
648769c8dc Merge pull request #3716 from nextcloud/dependabot/docker/Containers/talk/nats-2.10.5-scratch 2023-11-13 14:06:33 +01:00
Simon L
8331e5cff8 Merge pull request #3704 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.11.0 2023-11-13 14:06:23 +01:00
Simon L
256ab598f3 Merge pull request #3702 from nextcloud/dependabot/docker/Containers/imaginary/golang-1.21.4-alpine3.18 2023-11-13 14:06:12 +01:00
Simon L
bb1bfd2703 update OO
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-13 14:05:23 +01:00
Simon L
4ef2848442 try to fix helm update script
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-13 14:01:33 +01:00
dependabot[bot]
9e8c039d8e Bump containrrr/watchtower from 1.6.0 to 1.7.1 in /Containers/watchtower
Bumps containrrr/watchtower from 1.6.0 to 1.7.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-13 12:41:10 +00:00
dependabot[bot]
fe1c145d1a Bump clamav/clamav from 1.2.1-14 to 1.2.1-15 in /Containers/clamav
Bumps clamav/clamav from 1.2.1-14 to 1.2.1-15.

---
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-11-13 12:36:41 +00:00
dependabot[bot]
18f2eba949 Bump collabora/code in /Containers/collabora
Bumps collabora/code from 23.05.5.3.1 to 23.05.5.4.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-13 12:27:10 +00:00
szaimen
f6e35dd5e6 nextcloud-update automated change
Signed-off-by: GitHub <noreply@github.com>
2023-11-12 12:07:22 +00:00
szaimen
2f4b4cde66 php dependency updates
Signed-off-by: GitHub <noreply@github.com>
2023-11-12 12:02:15 +00:00
dependabot[bot]
9705ada112 Bump nats from 2.10.4-scratch to 2.10.5-scratch in /Containers/talk
Bumps nats from 2.10.4-scratch to 2.10.5-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-11-10 12:28:20 +00:00
Simon L
04e5c5e592 make sure that notify-push is executable
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-08 17:02:15 +01:00
Simon L
c7a6fbba33 fix typo
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-08 15:29:00 +01:00
Simon L
dc581f2321 Merge pull request #3705 from nextcloud/enh/noid/fix-getting-ipaddress 2023-11-08 15:18:19 +01:00
Simon L
5808898b38 address review and fix another detail
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-08 15:17:03 +01:00
Simon L
30f5e27889 fix getting ip-address
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-08 15:09:19 +01:00
dependabot[bot]
2e596a921a Bump elasticsearch from 8.10.4 to 8.11.0 in /Containers/fulltextsearch
Bumps elasticsearch from 8.10.4 to 8.11.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-08 12:46:31 +00:00
dependabot[bot]
aa98c93806 Bump golang in /Containers/imaginary
Bumps golang from 1.21.3-alpine3.18 to 1.21.4-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-11-08 12:30:27 +00:00
Simon L
ebac4c928b Merge pull request #3701 from nextcloud/enh/noid/change-trafficpolicy 2023-11-08 11:18:02 +01:00
Simon L
17c413039d adjust version number
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-08 11:17:24 +01:00
Simon L
fbc9885713 also adjust script
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-08 11:14:47 +01:00
Simon L
1e8250af93 change externaltrafficpolicy
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-08 11:03:50 +01:00
Simon L
3ea6a956e4 fix detail
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-06 21:47:31 +01:00
Simon L
e133814052 increase to 7.6.2
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-06 20:20:27 +01:00
Simon L
b5e07bae90 comment some more details
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-06 20:17:21 +01:00
Simon L
dee51b3804 Merge pull request #3682 from nextcloud/fix/3671/skip-starting-container 2023-11-06 16:10:47 +01:00
Simon L
7f3fbbde0d update values for default storage size
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-06 16:08:10 +01:00
Simon L
9c3dedfebc create new version
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-06 16:05:47 +01:00
Simon L
c33e8be21b Merge pull request #3694 from nextcloud/enh/noid/change-storage-size 2023-11-06 16:04:43 +01:00
Simon L
33a87aeb18 Merge pull request #3693 from nextcloud/enh/noid/disable-it 2023-11-06 16:04:32 +01:00
Simon L
6066a4b097 Merge pull request #3692 from nextcloud/fix/rwx 2023-11-06 16:02:51 +01:00
Simon L
ce079d1e0d disaable limiting the listen.allowed clients again
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-06 16:01:29 +01:00
Simon L
b8c70b73ca change defaults of NEXTCLOUD*STORAGE_SIZE
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-06 16:00:49 +01:00
Richard Steinmetz
7968fab485 fix: request shared RWX nextcloud volume
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-11-06 15:54:26 +01:00
Simon L
bc5ff285d9 Merge pull request #3688 from nextcloud/dependabot/docker/Containers/redis/redis-7.2.3-alpine 2023-11-06 14:56:22 +01:00
Simon L
279865686c Merge pull request #3687 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.2.1-14 2023-11-06 14:56:12 +01:00
Simon L
d9cf8de28d Merge pull request #3690 from nextcloud/enh/noid/helm-beta 2023-11-06 14:28:24 +01:00
Simon L
c99284a7c0 create helm-dev release
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-06 14:27:41 +01:00
Simon L
78cfe96845 Merge pull request #3689 from nextcloud/enh/noid/fix-kubernetes 2023-11-06 14:19:44 +01:00
Simon L
ce84eb7bfe fix dig inside kubernetes
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-06 14:16:54 +01:00
dependabot[bot]
e875c8eba3 Bump redis from 7.2.2-alpine to 7.2.3-alpine in /Containers/redis
Bumps redis from 7.2.2-alpine to 7.2.3-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-06 13:05:14 +00:00
dependabot[bot]
717de9090d Bump clamav/clamav from 1.2.1-12 to 1.2.1-14 in /Containers/clamav
Bumps clamav/clamav from 1.2.1-12 to 1.2.1-14.

---
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-11-06 12:46:23 +00:00
Simon L
713d155265 Merge pull request #3685 from nextcloud/enh/3679/fix-pi-hole 2023-11-05 20:46:00 +01:00
Simon L
1f9055063a fix detail
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-05 20:30:23 +01:00
Simon L
cdf24a032c Merge pull request #3686 from nextcloud/enh/3679/rm-docs 2023-11-05 20:28:30 +01:00
Simon L
e272f26f6f community containers - add docs how to remove containers
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-05 20:27:51 +01:00
Simon L
4614364f20 pi-hole does not like init
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-05 20:16:20 +01:00
Simon L
0f5f6c41e3 Merge pull request #3668 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-8.10.4 2023-11-05 20:11:23 +01:00
Simon L
bdb4a8cfed do not start container if it is started already
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-05 20:06:25 +01:00
Simon L
94edf5f671 update some details in the RP docs
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-05 19:42:40 +01:00
Simon L
ffe5ba2a1b Merge pull request #3669 from nextcloud/dependabot/github_actions/helm/chart-testing-action-2.6.1 2023-11-03 15:43:45 +01:00
dependabot[bot]
4bca0fec32 Bump helm/chart-testing-action from 2.6.0 to 2.6.1
Bumps [helm/chart-testing-action](https://github.com/helm/chart-testing-action) from 2.6.0 to 2.6.1.
- [Release notes](https://github.com/helm/chart-testing-action/releases)
- [Commits](https://github.com/helm/chart-testing-action/compare/v2.6.0...v2.6.1)

---
updated-dependencies:
- dependency-name: helm/chart-testing-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-03 13:04:33 +00:00
dependabot[bot]
f2a79f6346 Bump elasticsearch from 8.10.2 to 8.10.4 in /Containers/fulltextsearch
Bumps elasticsearch from 8.10.2 to 8.10.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-03 12:24:39 +00:00
Simon L
d13c88c176 increase to 7.6.1
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-03 10:23:53 +01:00
Simon L
2635354137 Merge pull request #3666 from nextcloud/enh/noid/fix-some-values 2023-11-03 10:22:28 +01:00
Simon L
597c8c8c57 Merge pull request #3663 from nextcloud/aio-dependency-update 2023-11-03 10:21:18 +01:00
Simon L
112c9ad583 fix some values
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-02 20:23:22 +01:00
szaimen
4b6720436d php dependency updates
Signed-off-by: GitHub <noreply@github.com>
2023-11-02 13:14:58 +00:00
75 changed files with 546 additions and 144 deletions

View File

@@ -21,7 +21,7 @@ jobs:
version: v3.11.1
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.6.0
uses: helm/chart-testing-action@v2.6.1
- name: Run chart-testing (lint)
id: lint

View File

@@ -14,7 +14,7 @@ jobs:
action:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v4
- uses: dessant/lock-threads@v5
with:
issue-inactive-days: '14'
process-only: 'issues'

View File

@@ -11,18 +11,18 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run talk-update
- name: Run talk-container-update
run: |
# Spreed
spreed_version="$(
git ls-remote https://github.com/nextcloud/spreed v*.*.* \
# Recording
recording_version="$(
git ls-remote https://github.com/nextcloud/nextcloud-talk-recording v* \
| cut -d/ -f3 \
| sort -V \
| grep -E "^v[0-9]+\.[0-9]+\.[0-9]+$" \
| grep -E "^v[0-9\.]+$" \
| tail -1
)"
sed -i "s|^ENV RECORDING_VERSION.*$|ENV RECORDING_VERSION $spreed_version|" ./Containers/talk-recording/Dockerfile
curl -L "https://raw.githubusercontent.com/nextcloud/spreed/$spreed_version/recording/server.conf.in" -o Containers/talk-recording/recording.conf
sed -i "s|^ENV RECORDING_VERSION.*$|ENV RECORDING_VERSION $recording_version|" ./Containers/talk-recording/Dockerfile
curl -L "https://raw.githubusercontent.com/nextcloud/nextcloud-talk-recording/$recording_version/server.conf.in" -o Containers/talk-recording/recording.conf
# Signaling
signaling_version="$(
@@ -49,7 +49,7 @@ jobs:
with:
commit-message: talk-update automated change
signoff: true
title: talk update
title: talk container update
body: Automated talk container update
labels: dependencies, 3. to review
milestone: next

View File

@@ -18,7 +18,7 @@ while ! nc -z "$NEXTCLOUD_HOST" 9000; do
done
# Get ipv4-address of Apache
IPv4_ADDRESS="$(dig nextcloud-aio-apache A +short | head -1)"
IPv4_ADDRESS="$(dig nextcloud-aio-apache A +short +search | head -1)"
# Bring it in CIDR notation
# shellcheck disable=SC2001
IPv4_ADDRESS="$(echo "$IPv4_ADDRESS" | sed 's|[0-9]\+$|1/32|')"

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
FROM haproxy:2.8.3-alpine3.18
FROM haproxy:2.8.4-alpine3.18
# hadolint ignore=DL3002
USER root

View File

@@ -7,11 +7,11 @@ while ! nc -z "$NEXTCLOUD_HOST" 9001; do
done
set -x
IPv4_ADDRESS_NC="$(dig nextcloud-aio-nextcloud IN A +short | grep '^[0-9.]\+$' | sort | head -n1)"
IPv4_ADDRESS_NC="$(dig nextcloud-aio-nextcloud IN A +short +search | 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)"
IPv6_ADDRESS_NC="$(dig nextcloud-aio-nextcloud AAAA +short +search | 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

View File

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

View File

@@ -1,4 +1,4 @@
FROM golang:1.21.3-alpine3.18 as go
FROM golang:1.21.4-alpine3.18 as go
ENV IMAGINARY_HASH 7efb66c243056e5b3b65215e101be7915983e364

View File

@@ -42,7 +42,7 @@ RUN set -ex; \
apk add --no-cache --virtual .build-deps \
autoconf \
build-base; \
pecl install APCu-5.1.22; \
pecl install APCu-5.1.23; \
docker-php-ext-enable apcu; \
rm -r /tmp/pear; \
runDeps="$( \

View File

@@ -3,7 +3,7 @@ FROM php:8.1.25-fpm-alpine3.18
ENV PHP_MEMORY_LIMIT 512M
ENV PHP_UPLOAD_LIMIT 10G
ENV PHP_MAX_TIME 3600
ENV NEXTCLOUD_VERSION 27.1.3
ENV NEXTCLOUD_VERSION 27.1.4
ENV AIO_TOKEN 123456
ENV AIO_URL localhost
@@ -68,7 +68,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 APCu-5.1.23; \
pecl install memcached-3.2.0; \
pecl install redis-6.0.2; \
pecl install imagick-3.7.0; \
@@ -195,10 +195,10 @@ RUN set -ex; \
\
grep -q '^pm = dynamic' /usr/local/etc/php-fpm.d/www.conf; \
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/^pm.start_servers =.*/pm.start_servers = 2/' /usr/local/etc/php-fpm.d/www.conf; \
sed -i 's/^pm.min_spare_servers =.*/pm.min_spare_servers = 1/' /usr/local/etc/php-fpm.d/www.conf; \
sed -i 's/^pm.max_spare_servers =.*/pm.max_spare_servers = 3/' /usr/local/etc/php-fpm.d/www.conf; \
# Sync this with max db connections
# We don't actually expect so many children but don't want to limit it artificially because people will report issues otherwise.
# Also children will usually be terminated again after the process is done due to the ondemand setting
sed -i 's/^pm.max_children =.*/pm.max_children = 5000/' /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; \
\
rm -rf /tmp/nextcloud-aio && \

View File

@@ -12,4 +12,5 @@ $CONFIG = array (
'writable' => true,
),
),
'appsallowlist' => getenv('APPS_ALLOWLIST') ? explode(" ", getenv('APPS_ALLOWLIST')) : [],
);

View File

@@ -0,0 +1,20 @@
<?php
if (getenv('SMTP_HOST') && getenv('MAIL_FROM_ADDRESS') && getenv('MAIL_DOMAIN')) {
$CONFIG = array (
'mail_smtpmode' => 'smtp',
'mail_smtphost' => getenv('SMTP_HOST'),
'mail_smtpport' => getenv('SMTP_PORT') ?: (getenv('SMTP_SECURE') ? 465 : 25),
'mail_smtpsecure' => getenv('SMTP_SECURE') ?: '',
'mail_smtpauth' => getenv('SMTP_NAME') && getenv('SMTP_PASSWORD'),
'mail_smtpauthtype' => getenv('SMTP_AUTHTYPE') ?: 'LOGIN',
'mail_smtpname' => getenv('SMTP_NAME') ?: '',
'mail_from_address' => getenv('MAIL_FROM_ADDRESS'),
'mail_domain' => getenv('MAIL_DOMAIN'),
);
if (getenv('SMTP_PASSWORD')) {
$CONFIG['mail_smtppassword'] = getenv('SMTP_PASSWORD');
} else {
$CONFIG['mail_smtppassword'] = '';
}
}

View File

@@ -30,18 +30,6 @@ redis.session.lock_retries = -1
redis.session.lock_wait_time = 10000
REDIS_CONF
echo "Setting php max children..."
MEMORY=$(awk '/MemTotal/ {printf "%d", $2/1024}' /proc/meminfo)
PHP_MAX_CHILDREN=$((MEMORY/50))
# 100 is the default, we do not want to go lower than this
if [ "$PHP_MAX_CHILDREN" -lt 100 ]; then
PHP_MAX_CHILDREN=100
fi
if [ -n "$PHP_MAX_CHILDREN" ]; then
sed -i "s/^pm.max_children =.*/pm.max_children = $PHP_MAX_CHILDREN/" /usr/local/etc/php-fpm.d/www.conf
sed -i "s/^;pm.process_idle_timeout =.*/pm.process_idle_timeout = 3s/" /usr/local/etc/php-fpm.d/www.conf
fi
# Check permissions in ncdata
touch "$NEXTCLOUD_DATA_DIR/this-is-a-test-file" &>/dev/null
if ! [ -f "$NEXTCLOUD_DATA_DIR/this-is-a-test-file" ]; then
@@ -476,6 +464,10 @@ php /var/www/html/occ config:system:set one-click-instance --value=true --type=b
php /var/www/html/occ config:system:set one-click-instance.user-limit --value=100 --type=int
php /var/www/html/occ config:system:set one-click-instance.link --value="https://nextcloud.com/all-in-one/"
php /var/www/html/occ app:enable support
if [ -n "$SUBSCRIPTION_KEY" ] && [ -z "$(php /var/www/html/occ config:app:get support potential_subscription_key)" ]; then
php /var/www/html/occ config:app:set support potential_subscription_key --value="$SUBSCRIPTION_KEY"
php /var/www/html/occ config:app:delete support last_check
fi
# Adjusting log files to be stored on a volume
echo "Adjusting log files..."
@@ -503,8 +495,14 @@ else
fi
# AIO app
if [ "$(php /var/www/html/occ config:app:get nextcloud-aio enabled)" != "yes" ]; then
php /var/www/html/occ app:enable nextcloud-aio
if [ "$THIS_IS_AIO" = "true" ]; then
if [ "$(php /var/www/html/occ config:app:get nextcloud-aio enabled)" != "yes" ]; then
php /var/www/html/occ app:enable nextcloud-aio
fi
else
if [ "$(php /var/www/html/occ config:app:get nextcloud-aio enabled)" != "no" ]; then
php /var/www/html/occ app:disable nextcloud-aio
fi
fi
# Notify push
@@ -515,8 +513,12 @@ elif [ "$(php /var/www/html/occ config:app:get notify_push enabled)" != "yes" ];
elif [ "$SKIP_UPDATE" != 1 ]; then
php /var/www/html/occ app:update notify_push
fi
chmod 775 -R /var/www/html/custom_apps/notify_push/bin/
php /var/www/html/occ config:system:set trusted_proxies 0 --value="127.0.0.1"
php /var/www/html/occ config:system:set trusted_proxies 1 --value="::1"
if [ -n "$ADDITIONAL_TRUSTED_PROXY" ]; then
php /var/www/html/occ config:system:set trusted_proxies 2 --value="$ADDITIONAL_TRUSTED_PROXY"
fi
php /var/www/html/occ config:app:set notify_push base_endpoint --value="https://$NC_DOMAIN/push"
# Collabora
@@ -532,8 +534,8 @@ if [ "$COLLABORA_ENABLED" = 'yes' ]; then
# Fix https://github.com/nextcloud/all-in-one/issues/188:
php /var/www/html/occ config:system:set allow_local_remote_servers --type=bool --value=true
# Make collabora more save
COLLABORA_IPv4_ADDRESS="$(dig "$NC_DOMAIN" A +short | grep '^[0-9.]\+$' | sort | head -n1)"
COLLABORA_IPv6_ADDRESS="$(dig "$NC_DOMAIN" AAAA +short | grep '^[0-9a-f:]\+$' | sort | head -n1)"
COLLABORA_IPv4_ADDRESS="$(dig "$NC_DOMAIN" A +short +search | grep '^[0-9.]\+$' | sort | head -n1)"
COLLABORA_IPv6_ADDRESS="$(dig "$NC_DOMAIN" AAAA +short +search | grep '^[0-9a-f:]\+$' | sort | head -n1)"
COLLABORA_ALLOW_LIST="$(php /var/www/html/occ config:app:get richdocuments wopi_allowlist)"
if [ -n "$COLLABORA_IPv4_ADDRESS" ]; then
if ! echo "$COLLABORA_ALLOW_LIST" | grep -q "$COLLABORA_IPv4_ADDRESS"; then
@@ -562,6 +564,11 @@ if [ "$COLLABORA_ENABLED" = 'yes' ]; then
if ! echo "$COLLABORA_ALLOW_LIST" | grep -q "$PRIVATE_IP_RANGES"; then
COLLABORA_ALLOW_LIST+=",$PRIVATE_IP_RANGES"
fi
if [ -n "$ADDITIONAL_TRUSTED_PROXY" ]; then
if ! echo "$COLLABORA_ALLOW_LIST" | grep -q "$ADDITIONAL_TRUSTED_PROXY"; then
COLLABORA_ALLOW_LIST+=",$ADDITIONAL_TRUSTED_PROXY"
fi
fi
php /var/www/html/occ config:app:set richdocuments wopi_allowlist --value="$COLLABORA_ALLOW_LIST"
else
echo "Warning: wopi_allowlist is empty which should not be the case!"

View File

@@ -131,17 +131,18 @@ if ! sudo -E -u www-data bash /entrypoint.sh; then
exit 1
fi
while [ -z "$(dig nextcloud-aio-apache A +short)" ]; do
while [ "$THIS_IS_AIO" = "true" ] && [ -z "$(dig nextcloud-aio-apache A +short +search)" ]; do
echo "Waiting for nextcloud-aio-apache to start..."
sleep 5
done
set -x
if [ "$APACHE_PORT" = 443 ] || [ "$APACHE_IP_BINDING" = "127.0.0.1" ] || [ "$APACHE_IP_BINDING" = "::1" ]; then
IPv4_ADDRESS_APACHE="$(dig nextcloud-aio-apache A +short | grep '^[0-9.]\+$' | sort | head -n1)"
IPv6_ADDRESS_APACHE="$(dig nextcloud-aio-apache AAAA +short | grep '^[0-9a-f:]\+$' | sort | head -n1)"
IPv4_ADDRESS_MASTERCONTAINER="$(dig nextcloud-aio-mastercontainer A +short | grep '^[0-9.]\+$' | sort | head -n1)"
IPv6_ADDRESS_MASTERCONTAINER="$(dig nextcloud-aio-mastercontainer AAAA +short | grep '^[0-9a-f:]\+$' | sort | head -n1)"
# shellcheck disable=SC2235
if [ "$THIS_IS_AIO" = "true" ] && ([ "$APACHE_PORT" = 443 ] || [ "$APACHE_IP_BINDING" = "127.0.0.1" ] || [ "$APACHE_IP_BINDING" = "::1" ]); then
IPv4_ADDRESS_APACHE="$(dig nextcloud-aio-apache A +short +search | grep '^[0-9.]\+$' | sort | head -n1)"
IPv6_ADDRESS_APACHE="$(dig nextcloud-aio-apache AAAA +short +search | grep '^[0-9a-f:]\+$' | sort | head -n1)"
IPv4_ADDRESS_MASTERCONTAINER="$(dig nextcloud-aio-mastercontainer A +short +search | grep '^[0-9.]\+$' | sort | head -n1)"
IPv6_ADDRESS_MASTERCONTAINER="$(dig nextcloud-aio-mastercontainer AAAA +short +search | grep '^[0-9a-f:]\+$' | sort | head -n1)"
sed -i "s|^;listen.allowed_clients|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,$IPv4_ADDRESS_APACHE,$IPv6_ADDRESS_APACHE,$IPv4_ADDRESS_MASTERCONTAINER,$IPv6_ADDRESS_MASTERCONTAINER|" /usr/local/etc/php-fpm.d/www.conf

View File

@@ -1,5 +1,5 @@
# From https://github.com/ONLYOFFICE/Docker-DocumentServer/blob/master/Dockerfile
FROM onlyoffice/documentserver:7.5.0.1
FROM onlyoffice/documentserver:7.5.1.1
# USER root is probably used

View File

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

View File

@@ -148,24 +148,22 @@ fi
# Modify postgresql.conf
if [ -f "/var/lib/postgresql/data/postgresql.conf" ]; then
echo "Setting max connections..."
MEMORY=$(awk '/MemTotal/ {printf "%d", $2/1024}' /proc/meminfo)
MAX_CONNECTIONS=$((MEMORY/50+3))
if [ -n "$MAX_CONNECTIONS" ]; then
# 100 is the default, we do not want to go lower than this
if [ "$MAX_CONNECTIONS" -lt 100 ]; then
MAX_CONNECTIONS=100
fi
sed -i "s|^max_connections =.*|max_connections = $MAX_CONNECTIONS|" "/var/lib/postgresql/data/postgresql.conf"
fi
echo "Setting postgres values..."
# 5000 connections is apparently the highest possible value with postgres so set it to that so that we don't run into a limit here.
# We don't actually expect so many connections but don't want to limit it artificially because people will report issues otherwise
# Also connections should usually be closed again after the process is done
# If we should actually exceed this limit, it is definitely a bug in Nextcloud server or some of its apps that does not close connections correctly and not a bug in AIO
sed -i "s|^max_connections =.*|max_connections = 5000|" "/var/lib/postgresql/data/postgresql.conf"
# Do not log checkpoints
if grep -q "#log_checkpoints" /var/lib/postgresql/data/postgresql.conf; then
sed -i 's|#log_checkpoints.*|log_checkpoints = off|' /var/lib/postgresql/data/postgresql.conf
fi
# Close idling connections automatically after 3s which does not seem to happen automatically so that we run into max_connections limits
if grep -q "#idle_session_timeout" /var/lib/postgresql/data/postgresql.conf; then
sed -i 's|#idle_session_timeout.*|idle_session_timeout = 3000|' /var/lib/postgresql/data/postgresql.conf
# Closing idling connections automatically seems to break any logic so was reverted again to default where it is disabled
if grep -q "^idle_session_timeout" /var/lib/postgresql/data/postgresql.conf; then
sed -i 's|^idle_session_timeout.*|#idle_session_timeout|' /var/lib/postgresql/data/postgresql.conf
fi
fi

View File

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

View File

@@ -2,7 +2,7 @@ FROM python:3.12.0-alpine3.18
COPY --chmod=775 start.sh /start.sh
ENV RECORDING_VERSION v17.1.2
ENV RECORDING_VERSION v0.1
ENV ALLOW_ALL false
ENV HPB_PROTOCOL https
ENV SKIP_VERIFY false
@@ -22,15 +22,16 @@ RUN set -ex; \
wget \
shadow \
pulseaudio \
openssl; \
openssl \
build-base \
linux-headers; \
# chromium chromium-chromedriver?
apk add --no-cache geckodriver --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing; \
useradd -d /tmp --system recording; \
# Give root a random password
echo "root:$(openssl rand -base64 12)" | chpasswd; \
git clone --recursive https://github.com/nextcloud/spreed --depth=1 --single-branch --branch "$RECORDING_VERSION" /src; \
mv -v /src/recording/pyproject.toml /src/recording/src/pyproject.toml; \
python3 -m pip install --no-cache-dir /src/recording/src; \
git clone --recursive https://github.com/nextcloud/nextcloud-talk-recording --depth=1 --single-branch --branch "$RECORDING_VERSION" /src; \
python3 -m pip install --no-cache-dir /src; \
rm -rf /src; \
touch /etc/recording.conf; \
chown recording:recording -R \
@@ -42,7 +43,9 @@ RUN set -ex; \
git \
wget \
shadow \
openssl;
openssl \
build-base \
linux-headers;
WORKDIR /tmp
USER recording

View File

@@ -96,11 +96,15 @@
#internalsecret = the-shared-secret-for-internal-clients
[ffmpeg]
# The options given to FFmpeg to encode the audio output. The options given here
# The ffmpeg executable (name or full path) and the global options given to
# ffmpeg. The options given here fully override the default global options.
#common = ffmpeg -loglevel level+warning -n
# The options given to ffmpeg to encode the audio output. The options given here
# fully override the default options for the audio output.
#outputaudio = -c:a libopus
# The options given to FFmpeg to encode the video output. The options given here
# The options given to ffmpeg to encode the video output. The options given here
# fully override the default options for the video output.
#outputvideo = -c:v libvpx -deadline:v realtime -crf 10 -b:v 1M
@@ -109,3 +113,11 @@
# The extension of the file for audio and video recordings.
#extensionvideo = .webm
[recording]
# Browser to use for recordings. Please note that the "chrome" value does not
# refer to the web browser, but to the Selenium WebDriver. In practice, "chrome"
# will use Google Chrome, or Chromium if Google Chrome is not installed.
# Allowed values: firefox, chrome
# Defaults to firefox
# browser = firefox

View File

@@ -26,8 +26,6 @@ listen = 0.0.0.0:1234
[backend]
allowall = ${ALLOW_ALL}
# TODO: remove secret below when https://github.com/nextcloud/spreed/issues/9580 is fixed
secret = ${RECORDING_SECRET}
backends = backend-1
skipverify = ${SKIP_VERIFY}
maxmessagesize = 1024
@@ -48,10 +46,14 @@ url = ${HPB_PROTOCOL}://${HPB_DOMAIN}${HPB_PATH}
internalsecret = ${INTERNAL_SECRET}
[ffmpeg]
# common = ffmpeg -loglevel level+warning -n
# outputaudio = -c:a libopus
# outputvideo = -c:v libvpx -deadline:v realtime -crf 10 -b:v 1M
extensionaudio = .ogg
extensionvideo = .webm
[recording]
browser = firefox
RECORDING_CONF
exec "$@"

View File

@@ -1,6 +1,6 @@
FROM nats:2.10.4-scratch as nats
FROM nats:2.10.5-scratch as nats
FROM eturnal/eturnal:1.12.0 AS eturnal
FROM strukturag/nextcloud-spreed-signaling:1.2.0 as signaling
FROM strukturag/nextcloud-spreed-signaling:1.2.1 as signaling
FROM alpine:3.18.4 as janus
ARG JANUS_VERSION=v0.14.0
@@ -65,7 +65,8 @@ RUN set -ex; \
libusrsctp \
libwebsockets \
\
shadow; \
shadow \
grep; \
useradd --system -u 1000 eturnal; \
apk del --no-cache \
shadow; \

View File

@@ -19,10 +19,15 @@ elif [ -z "$INTERNAL_SECRET" ]; then
fi
set -x
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)"
IPv4_ADDRESS_TALK_RELAY="$(hostname -i | grep -oP '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | head -1)"
IPv4_ADDRESS_TALK="$(dig nextcloud-aio-talk IN A +short +search | grep '^[0-9.]\+$' | sort | head -n1)"
IPv6_ADDRESS_TALK="$(dig nextcloud-aio-talk AAAA +short +search | grep '^[0-9a-f:]\+$' | sort | head -n1)"
set +x
if [ -n "$IPv4_ADDRESS_TALK" ] && [ "$IPv4_ADDRESS_TALK_RELAY" = "$IPv4_ADDRESS_TALK" ]; then
IPv4_ADDRESS_TALK=""
fi
# Turn
cat << TURN_CONF > "/conf/eturnal.yml"
eturnal:
@@ -36,13 +41,14 @@ eturnal:
log_dir: stdout
log_level: warning
secret: "$TURN_SECRET"
relay_ipv4_addr: "$IPv4_ADDRESS_TALK"
relay_ipv4_addr: "$IPv4_ADDRESS_TALK_RELAY"
relay_ipv6_addr: "$IPv6_ADDRESS_TALK"
blacklist_peers:
- recommended
whitelist_peers:
- 127.0.0.1
- ::1
- "$IPv4_ADDRESS_TALK_RELAY"
- "$IPv4_ADDRESS_TALK"
- "$IPv6_ADDRESS_TALK"
TURN_CONF

View File

@@ -1,5 +1,5 @@
# From https://github.com/containrrr/watchtower/blob/main/dockerfiles/Dockerfile.self-contained
FROM containrrr/watchtower:1.6.0 as watchtower
FROM containrrr/watchtower:1.7.1 as watchtower
FROM alpine:3.18.4

View File

@@ -0,0 +1,33 @@
{
"aio_services_v1": [
{
"container_name": "nextcloud-aio-memories",
"display_name": "Memories Transcoder",
"documentation": "https://github.com/nextcloud/all-in-one/tree/main/community-containers/memories",
"image": "radialapps/go-vod",
"image_tag": "latest",
"internal_port": "47788",
"restart": "unless-stopped",
"environment": [
"TZ=%TIMEZONE%",
"NEXTCLOUD_HOST=https://%NC_DOMAIN%"
],
"volumes": [
{
"source": "%NEXTCLOUD_DATADIR%",
"destination": "/mnt/ncdata",
"writeable": false
}
],
"devices": [
"/dev/dri"
],
"nextcloud_exec_commands": [
"php /var/www/html/occ app:install memories",
"php /var/www/html/occ app:enable memories",
"php /var/www/html/occ config:system:set memories.vod.external --value true --type bool",
"php /var/www/html/occ config:system:set memories.vod.connect --value nextcloud-aio-memories:47788"
]
}
]
}

View File

@@ -0,0 +1,12 @@
## Memories
This container bundles the hardware-transcoding container of memories and auto-configures it for you.
### Notes
- In order to actually enable the hardware transcoding, you need to add the following flag to AIO apart from adding this container: https://github.com/nextcloud/all-in-one#how-to-enable-hardware-transcoding-for-nextcloud
- See https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers how to add it to the AIO stack
### Repository
https://github.com/pulsejet/memories
### Maintainer
https://github.com/pulsejet

View File

@@ -8,6 +8,7 @@
"image_tag": "latest",
"internal_port": "8573",
"restart": "unless-stopped",
"init": false,
"ports": [
{
"ip_binding": "",

View File

@@ -16,3 +16,10 @@ Simply submit a PR by creating a new folder in this directory: https://github.co
### Is there a list of ideas for new community containers?
Yes, see [this list](https://github.com/nextcloud/all-in-one/discussions/categories/ideas?discussions_q=is%3Aopen+category%3AIdeas+label%3A%22help+wanted%22) for already existing ideas for new community containers. Feel free to pick one up and add it to this folder by following the instructions above.
## How to remove containers from AIOs stack?
In some cases, you might want to remove some community containers from the AIO stack again. Here is how to do this.
First, do a backup from the AIO interface in order to save the current state. Do not start the containers again afterwards! Now simply recreate the mastercontainer and remove any container from the `--env AIO_COMMUNITY_CONTAINERS="container1 container2"` that you do not actually need. If you want to remove all, simply use `--env AIO_COMMUNITY_CONTAINERS=" "`.
After removing the containers, there might be some data left on your server that you might want to remove. You can get rid of the data by first running `sudo docker rm nextcloud-aio-container1`, (adjust `container1` accordingly) per community-container that you removed. Then run `sudo docker image prune -a` in order to remove all images that are not used anymore. As last step you can get rid of persistent data of these containers that is stored in volumes. You can check if there is some by running `sudo docker volume ls` and look for any volume that matches the ones that you removed. If so, you can remove them with `sudo docker volume rm nextcloud_aio_volume-id` (of course you need to adjust the `volume-id`).

View File

@@ -38,3 +38,6 @@ This is documented here: https://github.com/nextcloud-releases/all-in-one/tree/m
1. Verify that no job is running here: https://github.com/nextcloud-releases/all-in-one/actions/workflows/promote-to-beta.yml
2. Go to https://github.com/nextcloud-releases/all-in-one/actions/workflows/promote-to-latest.yml, click on `Run workflow`.
## How to connect to the database?
Simply run `sudo docker exec -it nextcloud-aio-database psql -U oc_nextcloud nextcloud_database` and you should be in.

View File

@@ -1,5 +1,7 @@
# Docker rootless
**Please note:** Due to a bug in Collabora is the Collabora container currently in rootless mode not working. See https://github.com/CollaboraOnline/online/issues/2800. In that case, you need to run a separate Collabora instance on your own if you want to use this feature. The following flag will be useful https://github.com/nextcloud/all-in-one#how-to-keep-disabled-apps.
You can run AIO with docker rootless by following the steps below.
0. If docker is already installed, you should consider disabling it first: (`sudo systemctl disable --now docker.service docker.socket`)

View File

@@ -202,6 +202,8 @@ services:
- collabora
networks:
- nextcloud-aio
cap_add:
- MKNOD
nextcloud-aio-talk:
image: nextcloud/aio-talk:latest

View File

@@ -32,6 +32,7 @@ echo "$OUTPUT" | yq -P > ./manual-install/containers.yml
cd manual-install || exit
sed -i "s|'||g" containers.yml
sed -i '/display_name:/d' containers.yml
sed -i '/THIS_IS_AIO/d' containers.yml
sed -i '/stop_grace_period:/s/$/s/' containers.yml
sed -i '/: \[\]/d' containers.yml
sed -i 's|- source: |- |' containers.yml

View File

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

View File

@@ -57,7 +57,7 @@ spec:
value: nextcloud-aio-talk
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-apache:20231030_072910-latest
image: nextcloud/aio-apache:20231123_084113-latest
name: nextcloud-aio-apache
ports:
- containerPort: {{ .Values.APACHE_PORT }}

View File

@@ -9,7 +9,9 @@ metadata:
name: nextcloud-aio-apache
namespace: {{ .Values.NAMESPACE }}
spec:
ipFamilyPolicy: PreferDualStack
type: LoadBalancer
externalTrafficPolicy: Local
ports:
- name: "{{ .Values.APACHE_PORT }}"
port: {{ .Values.APACHE_PORT }}

View File

@@ -24,11 +24,22 @@ spec:
io.kompose.service: nextcloud-aio-clamav
spec:
initContainers:
- name: init-subpath
image: alpine
command:
- mkdir
- "-p"
- /nextcloud-aio-clamav/data
- /nextcloud-aio-clamav
volumeMounts:
- name: nextcloud-aio-clamav
mountPath: /nextcloud-aio-clamav
- name: init-volumes
image: alpine
command:
- chmod
- "777"
- chown
- 100:100
- "-R"
- /nextcloud-aio-clamav
volumeMounts:
- name: nextcloud-aio-clamav
@@ -39,13 +50,14 @@ spec:
value: "90"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-clamav:20231030_072910-latest
image: nextcloud/aio-clamav:20231123_084113-latest
name: nextcloud-aio-clamav
ports:
- containerPort: 3310
protocol: TCP
volumeMounts:
- mountPath: /var/lib/clamav
subPath: data
name: nextcloud-aio-clamav
volumes:
- name: nextcloud-aio-clamav

View File

@@ -1,3 +1,4 @@
{{- if eq .Values.CLAMAV_ENABLED "yes" }}
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
@@ -14,3 +15,4 @@ spec:
resources:
requests:
storage: {{ .Values.CLAMAV_STORAGE_SIZE }}
{{- end }}

View File

@@ -10,6 +10,7 @@ metadata:
name: nextcloud-aio-clamav
namespace: {{ .Values.NAMESPACE }}
spec:
ipFamilyPolicy: PreferDualStack
ports:
- name: "3310"
port: 3310

View File

@@ -37,9 +37,13 @@ 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:20231030_072910-latest
image: nextcloud/aio-collabora:20231123_084113-latest
name: nextcloud-aio-collabora
ports:
- containerPort: 9980
protocol: TCP
securityContext:
capabilities:
add:
- MKNOD
{{- end }}

View File

@@ -10,6 +10,7 @@ metadata:
name: nextcloud-aio-collabora
namespace: {{ .Values.NAMESPACE }}
spec:
ipFamilyPolicy: PreferDualStack
ports:
- name: "9980"
port: 9980

View File

@@ -61,7 +61,7 @@ spec:
value: nextcloud
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-postgresql:20231030_072910-latest
image: nextcloud/aio-postgresql:20231123_084113-latest
name: nextcloud-aio-database
ports:
- containerPort: 5432

View File

@@ -9,6 +9,7 @@ metadata:
name: nextcloud-aio-database
namespace: {{ .Values.NAMESPACE }}
spec:
ipFamilyPolicy: PreferDualStack
ports:
- name: "5432"
port: 5432

View File

@@ -55,7 +55,7 @@ spec:
value: basic
- name: xpack.security.enabled
value: "false"
image: nextcloud/aio-fulltextsearch:20231030_072910-latest
image: nextcloud/aio-fulltextsearch:20231123_084113-latest
name: nextcloud-aio-fulltextsearch
ports:
- containerPort: 9200

View File

@@ -10,6 +10,7 @@ metadata:
name: nextcloud-aio-fulltextsearch
namespace: {{ .Values.NAMESPACE }}
spec:
ipFamilyPolicy: PreferDualStack
ports:
- name: "9200"
port: 9200

View File

@@ -27,7 +27,7 @@ spec:
- env:
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-imaginary:20231030_072910-latest
image: nextcloud/aio-imaginary:20231123_084113-latest
name: nextcloud-aio-imaginary
ports:
- containerPort: 9000

View File

@@ -10,6 +10,7 @@ metadata:
name: nextcloud-aio-imaginary
namespace: {{ .Values.NAMESPACE }}
spec:
ipFamilyPolicy: PreferDualStack
ports:
- name: "9000"
port: 9000

View File

@@ -23,6 +23,17 @@ spec:
io.kompose.service: nextcloud-aio-nextcloud
spec:
initContainers:
- name: delete lost+found
image: alpine
command:
- rm
- "-rf"
- /nextcloud-aio-nextcloud/lost+found
volumeMounts:
- name: nextcloud-aio-nextcloud-trusted-cacerts
mountPath: /nextcloud-aio-nextcloud-trusted-cacerts
- name: nextcloud-aio-nextcloud
mountPath: /nextcloud-aio-nextcloud
- name: init-volumes
image: alpine
command:
@@ -37,6 +48,28 @@ spec:
mountPath: /nextcloud-aio-nextcloud
containers:
- env:
- name: SMTP_HOST
value: "{{ .Values.SMTP_HOST }}"
- name: SMTP_SECURE
value: "{{ .Values.SMTP_SECURE }}"
- name: SMTP_PORT
value: "{{ .Values.SMTP_PORT }}"
- name: SMTP_AUTHTYPE
value: "{{ .Values.SMTP_AUTHTYPE }}"
- name: SMTP_NAME
value: "{{ .Values.SMTP_NAME }}"
- name: SMTP_PASSWORD
value: "{{ .Values.SMTP_PASSWORD }}"
- name: MAIL_FROM_ADDRESS
value: "{{ .Values.MAIL_FROM_ADDRESS }}"
- name: MAIL_DOMAIN
value: "{{ .Values.MAIL_DOMAIN }}"
- name: SUBSCRIPTION_KEY
value: "{{ .Values.SUBSCRIPTION_KEY }}"
- name: APPS_ALLOWLIST
value: "{{ .Values.APPS_ALLOWLIST }}"
- name: ADDITIONAL_TRUSTED_PROXY
value: "{{ .Values.ADDITIONAL_TRUSTED_PROXY }}"
- name: ADDITIONAL_APKS
value: "{{ .Values.NEXTCLOUD_ADDITIONAL_APKS }}"
- name: ADDITIONAL_PHP_EXTENSIONS
@@ -123,7 +156,8 @@ spec:
value: "{{ .Values.TIMEZONE }}"
- name: UPDATE_NEXTCLOUD_APPS
value: "{{ .Values.UPDATE_NEXTCLOUD_APPS }}"
image: nextcloud/aio-nextcloud:20231030_072910-latest
image: nextcloud/aio-nextcloud:develop
imagePullPolicy: Always
name: nextcloud-aio-nextcloud
ports:
- containerPort: 9000

View File

@@ -10,7 +10,7 @@ spec:
storageClassName: {{ .Values.STORAGE_CLASS }}
{{- end }}
accessModes:
- ReadWriteOnce
- ReadWriteMany
resources:
requests:
storage: {{ .Values.NEXTCLOUD_STORAGE_SIZE }}

View File

@@ -9,6 +9,7 @@ metadata:
name: nextcloud-aio-nextcloud
namespace: {{ .Values.NAMESPACE }}
spec:
ipFamilyPolicy: PreferDualStack
ports:
- name: "9000"
port: 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:20231030_072910-latest
image: nextcloud/aio-notify-push:20231123_084113-latest
name: nextcloud-aio-notify-push
ports:
- containerPort: 7867

View File

@@ -9,6 +9,7 @@ metadata:
name: nextcloud-aio-notify-push
namespace: {{ .Values.NAMESPACE }}
spec:
ipFamilyPolicy: PreferDualStack
ports:
- name: "7867"
port: 7867

View File

@@ -43,7 +43,7 @@ spec:
value: "{{ .Values.ONLYOFFICE_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-onlyoffice:20231030_072910-latest
image: nextcloud/aio-onlyoffice:20231123_084113-latest
name: nextcloud-aio-onlyoffice
ports:
- containerPort: 80

View File

@@ -1,3 +1,4 @@
{{- if eq .Values.ONLYOFFICE_ENABLED "yes" }}
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
@@ -14,3 +15,4 @@ spec:
resources:
requests:
storage: {{ .Values.ONLYOFFICE_STORAGE_SIZE }}
{{- end }}

View File

@@ -10,6 +10,7 @@ metadata:
name: nextcloud-aio-onlyoffice
namespace: {{ .Values.NAMESPACE }}
spec:
ipFamilyPolicy: PreferDualStack
ports:
- name: "80"
port: 80

View File

@@ -38,7 +38,7 @@ spec:
value: "{{ .Values.REDIS_PASSWORD }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-redis:20231030_072910-latest
image: nextcloud/aio-redis:20231123_084113-latest
name: nextcloud-aio-redis
ports:
- containerPort: 6379

View File

@@ -9,6 +9,7 @@ metadata:
name: nextcloud-aio-redis
namespace: {{ .Values.NAMESPACE }}
spec:
ipFamilyPolicy: PreferDualStack
ports:
- name: "6379"
port: 6379

View File

@@ -37,7 +37,7 @@ spec:
value: "{{ .Values.TURN_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-talk:20231030_072910-latest
image: nextcloud/aio-talk:20231123_084113-latest
name: nextcloud-aio-talk
ports:
- containerPort: {{ .Values.TALK_PORT }}

View File

@@ -33,7 +33,7 @@ spec:
value: "{{ .Values.RECORDING_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-talk-recording:20231030_072910-latest
image: nextcloud/aio-talk-recording:20231123_084113-latest
name: nextcloud-aio-talk-recording
ports:
- containerPort: 1234

View File

@@ -10,6 +10,7 @@ metadata:
name: nextcloud-aio-talk-recording
namespace: {{ .Values.NAMESPACE }}
spec:
ipFamilyPolicy: PreferDualStack
ports:
- name: "1234"
port: 1234

View File

@@ -11,7 +11,9 @@ metadata:
name: nextcloud-aio-talk-public
namespace: {{ .Values.NAMESPACE }}
spec:
ipFamilyPolicy: PreferDualStack
type: LoadBalancer
externalTrafficPolicy: Local
ports:
- name: "{{ .Values.TALK_PORT }}"
port: {{ .Values.TALK_PORT }}
@@ -34,6 +36,7 @@ metadata:
name: nextcloud-aio-talk
namespace: {{ .Values.NAMESPACE }}
spec:
ipFamilyPolicy: PreferDualStack
ports:
- name: "8081"
port: 8081

View File

@@ -81,15 +81,52 @@ cat << EOL > /tmp/initcontainers.database
- "-R"
volumeMountsInitContainer:
EOL
cat << EOL > /tmp/initcontainers.clamav
initContainers:
- name: init-subpath
image: alpine
command:
- mkdir
- "-p"
- /nextcloud-aio-clamav/data
volumeMountsInitContainer:
- name: init-volumes
image: alpine
command:
- chown
- 100:100
- "-R"
volumeMountsInitContainer:
EOL
cat << EOL > /tmp/initcontainers.nextcloud
initContainers:
- name: delete lost+found
image: alpine
command:
- rm
- "-rf"
- /nextcloud-aio-nextcloud/lost+found
volumeMountsInitRmLostFound:
- name: init-volumes
image: alpine
command:
- chmod
- "777"
volumeMountsInitContainer:
EOL
# shellcheck disable=SC1083
DEPLOYMENTS="$(find ./ -name '*deployment.yaml')"
mapfile -t DEPLOYMENTS <<< "$DEPLOYMENTS"
for variable in "${DEPLOYMENTS[@]}"; do
if grep -q volumeMounts "$variable"; then
if ! echo "$variable" | grep -q database; then
sed -i "/^ spec:/r /tmp/initcontainers" "$variable"
else
if echo "$variable" | grep -q database; then
sed -i "/^ spec:/r /tmp/initcontainers.database" "$variable"
elif echo "$variable" | grep -q clamav; then
sed -i "/^ spec:/r /tmp/initcontainers.clamav" "$variable"
elif echo "$variable" | grep -q "nextcloud-deployment.yaml"; then
sed -i "/^ spec:/r /tmp/initcontainers.nextcloud" "$variable"
else
sed -i "/^ spec:/r /tmp/initcontainers" "$variable"
fi
volumeNames="$(grep -A1 mountPath "$variable" | grep -v mountPath | sed 's|.*name: ||' | sed '/^--$/d')"
mapfile -t volumeNames <<< "$volumeNames"
@@ -98,14 +135,18 @@ for variable in "${DEPLOYMENTS[@]}"; do
if [ "$volumeName" != "nextcloud-aio-nextcloud-data" ]; then
sed -i "/^.*volumeMountsInitContainer:/i\ \ \ \ \ \ \ \ \ \ \ \ - /$volumeName" "$variable"
sed -i "/volumeMountsInitContainer:/a\ \ \ \ \ \ \ \ \ \ \ \ - name: $volumeName\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ mountPath: /$volumeName" "$variable"
sed -i "/volumeMountsInitRmLostFound:/a\ \ \ \ \ \ \ \ \ \ \ \ - name: $volumeName\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ mountPath: /$volumeName" "$variable"
# Workaround for the database volume
if [ "$volumeName" = nextcloud-aio-database ]; then
sed -i "/mountPath: \/var\/lib\/postgresql\/data/a\ \ \ \ \ \ \ \ \ \ \ \ \ \ subPath: data" "$variable"
elif [ "$volumeName" = nextcloud-aio-clamav ]; then
sed -i "/mountPath: \/var\/lib\/clamav/a\ \ \ \ \ \ \ \ \ \ \ \ \ \ subPath: data" "$variable"
fi
fi
done
sed -i "s|volumeMountsInitContainer|volumeMounts|" "$variable"
sed -i "s|volumeMountsInitContainer:|volumeMounts:|" "$variable"
sed -i "s|volumeMountsInitRmLostFound:|volumeMounts:|" "$variable"
if grep -q claimName "$variable"; then
claimNames="$(grep claimName "$variable")"
mapfile -t claimNames <<< "$claimNames"
@@ -132,6 +173,8 @@ find ./ -name '*deployment.yaml' -exec sed -i "/hostPort:/d" \{} \;
# shellcheck disable=SC1083
find ./ -name '*persistentvolumeclaim.yaml' -exec sed -i "s|ReadOnlyMany|ReadWriteOnce|" \{} \;
# shellcheck disable=SC1083
find ./ -name 'nextcloud-aio-nextcloud-persistentvolumeclaim.yaml' -exec sed -i "s|ReadWriteOnce|ReadWriteMany|" \{} \;
# shellcheck disable=SC1083
find ./ -name '*persistentvolumeclaim.yaml' -exec sed -i "/accessModes:/i\ \ {{- if .Values.STORAGE_CLASS }}" \{} \;
# shellcheck disable=SC1083
find ./ -name '*persistentvolumeclaim.yaml' -exec sed -i "/accessModes:/i\ \ storageClassName: {{ .Values.STORAGE_CLASS }}" \{} \;
@@ -164,6 +207,10 @@ find ./ -name '*talk-service.yaml' -exec grep -v '{{ .Values.TALK.*}}\|protocol:
# shellcheck disable=SC1083
find ./ -name '*talk-service.yaml' -exec mv /tmp/talk-service.copy \{} \;
# shellcheck disable=SC1083
find ./ -name '*service.yaml' -exec sed -i "/type: LoadBalancer/a\ \ externalTrafficPolicy: Local" \{} \;
# shellcheck disable=SC1083
find ./ -name '*service.yaml' -exec sed -i "/^spec:/a\ \ ipFamilyPolicy: PreferDualStack" \{} \;
# shellcheck disable=SC1083
find ./ -name '*.yaml' -exec sed -i "s|'{{|\"{{|g;s|}}'|}}\"|g" \{} \;
# shellcheck disable=SC1083
find ./ -name '*.yaml' -exec sed -i "/type: Recreate/d" \{} \;
@@ -184,6 +231,34 @@ for variable in "${VOLUMES[@]}"; do
find ./ -name "*nextcloud-aio-$variable-persistentvolumeclaim.yaml" -exec sed -i "s|storage: 100Mi|storage: {{ .Values.$name }}|" \{} \;
done
# Additional config
cat << EOL > /tmp/additional.config
- name: SMTP_HOST
value: "{{ .Values.SMTP_HOST }}"
- name: SMTP_SECURE
value: "{{ .Values.SMTP_SECURE }}"
- name: SMTP_PORT
value: "{{ .Values.SMTP_PORT }}"
- name: SMTP_AUTHTYPE
value: "{{ .Values.SMTP_AUTHTYPE }}"
- name: SMTP_NAME
value: "{{ .Values.SMTP_NAME }}"
- name: SMTP_PASSWORD
value: "{{ .Values.SMTP_PASSWORD }}"
- name: MAIL_FROM_ADDRESS
value: "{{ .Values.MAIL_FROM_ADDRESS }}"
- name: MAIL_DOMAIN
value: "{{ .Values.MAIL_DOMAIN }}"
- name: SUBSCRIPTION_KEY
value: "{{ .Values.SUBSCRIPTION_KEY }}"
- name: APPS_ALLOWLIST
value: "{{ .Values.APPS_ALLOWLIST }}"
- name: ADDITIONAL_TRUSTED_PROXY
value: "{{ .Values.ADDITIONAL_TRUSTED_PROXY }}"
EOL
# shellcheck disable=SC1083
find ./ -name '*nextcloud-deployment.yaml' -exec sed -i "/^.*\- env:/r /tmp/additional.config" \{} \;
cd ../
mkdir -p ../helm-chart/
rm latest/Chart.yaml
@@ -211,14 +286,32 @@ sed -i '/_ENABLED.*/s/ no / "no" /' /tmp/sample.conf
sed -i 's|^NEXTCLOUD_TRUSTED_CACERTS_DIR: .*|NEXTCLOUD_TRUSTED_CACERTS_DIR: # Setting this to any value allows to automatically import root certificates into the Nextcloud container|' /tmp/sample.conf
sed -i 's|10737418240|"10737418240"|' /tmp/sample.conf
# shellcheck disable=SC2129
echo "NAMESPACE: default # By changing this, you can adjust the namespace of the installation which allows to install multiple instances on one kubernetes cluster" >> /tmp/sample.conf
# shellcheck disable=SC2129
echo "" >> /tmp/sample.conf
# shellcheck disable=SC2129
echo 'STORAGE_CLASS: # By setting this, you can adjust the storage class for your volumes' >> /tmp/sample.conf
for variable in "${VOLUME_VARIABLE[@]}"; do
echo "$variable: 1Gi # You can change the size of the $(echo "$variable" | sed 's|_STORAGE_SIZE||;s|_|-|g' | tr '[:upper:]' '[:lower:]') volume that default to 1Gi with this value" >> /tmp/sample.conf
done
sed -i "s|NEXTCLOUD_STORAGE_SIZE: 1Gi|NEXTCLOUD_STORAGE_SIZE: 5Gi|" /tmp/sample.conf
sed -i "s|NEXTCLOUD_DATA_STORAGE_SIZE: 1Gi|NEXTCLOUD_DATA_STORAGE_SIZE: 5Gi|" /tmp/sample.conf
# Additional config
cat << ADDITIONAL_CONFIG >> /tmp/sample.conf
NAMESPACE: default # By changing this, you can adjust the namespace of the installation which allows to install multiple instances on one kubernetes cluster
SUBSCRIPTION_KEY: # This allows to set the Nextcloud Enterprise key via ENV
APPS_ALLOWLIST: # This allows to configure allowed apps that will be shown in Nextcloud's Appstore. You need to enter the app-IDs of the apps here and separate them with spaces. E.g. 'files richdocuments'
ADDITIONAL_TRUSTED_PROXY: # Allows to add one additional ip-address to Nextcloud's trusted proxies and to the Office WOPI-allowlist automatically. Set it e.g. like this: 'your.public.ip-address'. You can also use an ip-range here.
SMTP_HOST: # (empty by default): The hostname of the SMTP server.
SMTP_SECURE: # (empty by default): Set to 'ssl' to use SSL, or 'tls' to use STARTTLS.
SMTP_PORT: # (default: '465' for SSL and '25' for non-secure connections): Optional port for the SMTP connection. Use '587' for an alternative port for STARTTLS.
SMTP_AUTHTYPE: # (default: 'LOGIN'): The method used for authentication. Use 'PLAIN' if no authentication or STARTLS is required.
SMTP_NAME: # (empty by default): The username for the authentication.
SMTP_PASSWORD: # (empty by default): The password for the authentication.
MAIL_FROM_ADDRESS: # (not set by default): Set the local-part for the 'from' field in the emails sent by Nextcloud.
MAIL_DOMAIN: # (not set by default): Set a different domain for the emails than the domain where Nextcloud is installed.
ADDITIONAL_CONFIG
mv /tmp/sample.conf ../helm-chart/values.yaml
ENABLED_VARIABLES="$(grep -oP '^[A-Z_]+_ENABLED' ../helm-chart/values.yaml)"
@@ -235,6 +328,10 @@ for variable in "${ENABLED_VARIABLES[@]}"; do
find ./ -name "*nextcloud-aio-$name-service.yaml" -exec sed -i "1i\\{{- if eq .Values.$variable \"yes\" }}" \{} \;
# shellcheck disable=SC1083
find ./ -name "*nextcloud-aio-$name-service.yaml" -exec sed -i "$ a {{- end }}" \{} \;
# shellcheck disable=SC1083
find ./ -name "*nextcloud-aio-$name-persistentvolumeclaim.yaml" -exec sed -i "1i\\{{- if eq .Values.$variable \"yes\" }}" \{} \;
# shellcheck disable=SC1083
find ./ -name "*nextcloud-aio-$name-persistentvolumeclaim.yaml" -exec sed -i "$ a {{- end }}" \{} \;
done
chmod 777 -R ./

View File

@@ -33,7 +33,6 @@ NEXTCLOUD_UPLOAD_LIMIT: 10G # This allows to change the upload limit of
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.
TALK_PORT: 3478 # This allows to adjust the port that the talk container is using.
UPDATE_NEXTCLOUD_APPS: no # When setting to yes (with quotes), it will automatically update all installed Nextcloud apps upon container startup on saturdays.
NAMESPACE: default # By changing this, you can adjust the namespace of the installation which allows to install multiple instances on one kubernetes cluster
STORAGE_CLASS: # By setting this, you can adjust the storage class for your volumes
APACHE_STORAGE_SIZE: 1Gi # You can change the size of the apache volume that default to 1Gi with this value
@@ -41,8 +40,21 @@ CLAMAV_STORAGE_SIZE: 1Gi # You can change the size of the clamav volume th
DATABASE_STORAGE_SIZE: 1Gi # You can change the size of the database volume that default to 1Gi with this value
DATABASE_DUMP_STORAGE_SIZE: 1Gi # You can change the size of the database-dump volume that default to 1Gi with this value
ELASTICSEARCH_STORAGE_SIZE: 1Gi # You can change the size of the elasticsearch volume that default to 1Gi with this value
NEXTCLOUD_STORAGE_SIZE: 1Gi # You can change the size of the nextcloud volume that default to 1Gi with this value
NEXTCLOUD_DATA_STORAGE_SIZE: 1Gi # You can change the size of the nextcloud-data volume that default to 1Gi with this value
NEXTCLOUD_STORAGE_SIZE: 5Gi # You can change the size of the nextcloud volume that default to 1Gi with this value
NEXTCLOUD_DATA_STORAGE_SIZE: 5Gi # You can change the size of the nextcloud-data volume that default to 1Gi with this value
NEXTCLOUD_TRUSTED_CACERTS_STORAGE_SIZE: 1Gi # You can change the size of the nextcloud-trusted-cacerts volume that default to 1Gi with this value
ONLYOFFICE_STORAGE_SIZE: 1Gi # You can change the size of the onlyoffice volume that default to 1Gi with this value
REDIS_STORAGE_SIZE: 1Gi # You can change the size of the redis volume that default to 1Gi with this value
NAMESPACE: default # By changing this, you can adjust the namespace of the installation which allows to install multiple instances on one kubernetes cluster
SUBSCRIPTION_KEY: # This allows to set the Nextcloud Enterprise key via ENV
APPS_ALLOWLIST: # This allows to configure allowed apps that will be shown in Nextcloud's Appstore. You need to enter the app-IDs of the apps here and separate them with spaces. E.g. 'files richdocuments'
ADDITIONAL_TRUSTED_PROXY: # Allows to add one additional ip-address to Nextcloud's trusted proxies and to the Office WOPI-allowlist automatically. Set it e.g. like this: 'your.public.ip-address'. You can also use an ip-range here.
SMTP_HOST: # (empty by default): The hostname of the SMTP server.
SMTP_SECURE: # (empty by default): Set to 'ssl' to use SSL, or 'tls' to use STARTTLS.
SMTP_PORT: # (default: '465' for SSL and '25' for non-secure connections): Optional port for the SMTP connection. Use '587' for an alternative port for STARTTLS.
SMTP_AUTHTYPE: # (default: 'LOGIN'): The method used for authentication. Use 'PLAIN' if no authentication or STARTLS is required.
SMTP_NAME: # (empty by default): The username for the authentication.
SMTP_PASSWORD: # (empty by default): The password for the authentication.
MAIL_FROM_ADDRESS: # (not set by default): Set the local-part for the 'from' field in the emails sent by Nextcloud.
MAIL_DOMAIN: # (not set by default): Set a different domain for the emails than the domain where Nextcloud is installed.

126
php/composer.lock generated
View File

@@ -391,16 +391,16 @@
},
{
"name": "laravel/serializable-closure",
"version": "v1.3.2",
"version": "v1.3.3",
"source": {
"type": "git",
"url": "https://github.com/laravel/serializable-closure.git",
"reference": "076fe2cf128bd54b4341cdc6d49b95b34e101e4c"
"reference": "3dbf8a8e914634c48d389c1234552666b3d43754"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/076fe2cf128bd54b4341cdc6d49b95b34e101e4c",
"reference": "076fe2cf128bd54b4341cdc6d49b95b34e101e4c",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/3dbf8a8e914634c48d389c1234552666b3d43754",
"reference": "3dbf8a8e914634c48d389c1234552666b3d43754",
"shasum": ""
},
"require": {
@@ -447,7 +447,7 @@
"issues": "https://github.com/laravel/serializable-closure/issues",
"source": "https://github.com/laravel/serializable-closure"
},
"time": "2023-10-17T13:38:16+00:00"
"time": "2023-11-08T14:08:06+00:00"
},
{
"name": "nikic/fast-route",
@@ -556,16 +556,16 @@
},
{
"name": "php-di/php-di",
"version": "7.0.5",
"version": "7.0.6",
"source": {
"type": "git",
"url": "https://github.com/PHP-DI/PHP-DI.git",
"reference": "9ea40a5a6970bf1ca5cbe148bc16cbad6ca3db6c"
"reference": "8097948a89f6ec782839b3e958432f427cac37fd"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/9ea40a5a6970bf1ca5cbe148bc16cbad6ca3db6c",
"reference": "9ea40a5a6970bf1ca5cbe148bc16cbad6ca3db6c",
"url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/8097948a89f6ec782839b3e958432f427cac37fd",
"reference": "8097948a89f6ec782839b3e958432f427cac37fd",
"shasum": ""
},
"require": {
@@ -613,7 +613,7 @@
],
"support": {
"issues": "https://github.com/PHP-DI/PHP-DI/issues",
"source": "https://github.com/PHP-DI/PHP-DI/tree/7.0.5"
"source": "https://github.com/PHP-DI/PHP-DI/tree/7.0.6"
},
"funding": [
{
@@ -625,7 +625,7 @@
"type": "tidelift"
}
],
"time": "2023-08-10T14:57:56+00:00"
"time": "2023-11-02T10:04:50+00:00"
},
{
"name": "php-di/slim-bridge",
@@ -1328,7 +1328,7 @@
},
{
"name": "symfony/deprecation-contracts",
"version": "v3.3.0",
"version": "v3.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
@@ -1375,7 +1375,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.3.0"
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0"
},
"funding": [
{
@@ -1558,6 +1558,89 @@
],
"time": "2023-07-28T09:04:16+00:00"
},
{
"name": "symfony/polyfill-php80",
"version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
"reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
"reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php80\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ion Bazan",
"email": "ion.bazan@gmail.com"
},
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-php81",
"version": "v1.28.0",
@@ -1639,26 +1722,27 @@
},
{
"name": "twig/twig",
"version": "v3.7.1",
"version": "v3.8.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "a0ce373a0ca3bf6c64b9e3e2124aca502ba39554"
"reference": "9d15f0ac07f44dc4217883ec6ae02fd555c6f71d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/a0ce373a0ca3bf6c64b9e3e2124aca502ba39554",
"reference": "a0ce373a0ca3bf6c64b9e3e2124aca502ba39554",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/9d15f0ac07f44dc4217883ec6ae02fd555c6f71d",
"reference": "9d15f0ac07f44dc4217883ec6ae02fd555c6f71d",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony/polyfill-ctype": "^1.8",
"symfony/polyfill-mbstring": "^1.3"
"symfony/polyfill-mbstring": "^1.3",
"symfony/polyfill-php80": "^1.22"
},
"require-dev": {
"psr/container": "^1.0|^2.0",
"symfony/phpunit-bridge": "^5.4.9|^6.3"
"symfony/phpunit-bridge": "^5.4.9|^6.3|^7.0"
},
"type": "library",
"autoload": {
@@ -1694,7 +1778,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
"source": "https://github.com/twigphp/Twig/tree/v3.7.1"
"source": "https://github.com/twigphp/Twig/tree/v3.8.0"
},
"funding": [
{
@@ -1706,7 +1790,7 @@
"type": "tidelift"
}
],
"time": "2023-08-28T11:09:02+00:00"
"time": "2023-11-21T18:54:41+00:00"
}
],
"packages-dev": [],

View File

@@ -212,7 +212,8 @@
"DOCKER_SOCKET_PROXY_ENABLED=%DOCKER_SOCKET_PROXY_ENABLED%",
"REMOVE_DISABLED_APPS=%REMOVE_DISABLED_APPS%",
"APACHE_PORT=%APACHE_PORT%",
"APACHE_IP_BINDING=%APACHE_IP_BINDING%"
"APACHE_IP_BINDING=%APACHE_IP_BINDING%",
"THIS_IS_AIO=true"
],
"restart": "unless-stopped",
"devices": [
@@ -322,6 +323,9 @@
],
"networks": [
"nextcloud-aio"
],
"cap_add": [
"MKNOD"
]
},
{

View File

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

View File

@@ -7,6 +7,9 @@ ini_set('memory_limit', '2048M');
// set max execution time to 2h just in case of a very slow internet connection
ini_set('max_execution_time', '7200');
// Log whole log messages
ini_set('log_errors_max_len', '0');
use DI\Container;
use Slim\Csrf\Guard;
use Slim\Factory\AppFactory;

View File

@@ -26,23 +26,32 @@ class DockerController
$this->configurationManager = $configurationManager;
}
private function PerformRecursiveContainerStart(string $id, bool $pullContainer = true) : void {
private function PerformRecursiveContainerStart(string $id, bool $pullImage = true) : void {
$container = $this->containerDefinitionFetcher->GetContainerById($id);
foreach($container->GetDependsOn() as $dependency) {
$this->PerformRecursiveContainerStart($dependency, $pullContainer);
$this->PerformRecursiveContainerStart($dependency, $pullImage);
}
// Don't start if container is already running
// This is expected to happen if a container is defined in depends_on of multiple containers
if ($container->GetRunningState() instanceof RunningState) {
error_log('Not starting ' . $id . ' because it was already started.');
return;
}
// Skip database image pull if the last shutdown was not clean
if ($id === 'nextcloud-aio-database') {
if ($this->dockerActionManager->GetDatabasecontainerExitCode() > 0) {
$pullContainer = false;
$pullImage = false;
error_log('Not pulling the latest database image because the container was not correctly shut down.');
}
}
$this->dockerActionManager->DeleteContainer($container);
$this->dockerActionManager->CreateVolumes($container);
if ($pullContainer) {
$this->dockerActionManager->PullContainer($container);
if ($pullImage) {
$this->dockerActionManager->PullImage($container);
}
$this->dockerActionManager->CreateContainer($container);
$this->dockerActionManager->StartContainer($container);
@@ -179,7 +188,7 @@ class DockerController
return $response->withStatus(201)->withHeader('Location', '/');
}
public function startTopContainer(bool $pullContainer) : void {
public function startTopContainer(bool $pullImage) : void {
$config = $this->configurationManager->GetConfig();
// set AIO_TOKEN
$config['AIO_TOKEN'] = bin2hex(random_bytes(24));
@@ -190,7 +199,7 @@ class DockerController
$id = self::TOP_CONTAINER;
$this->PerformRecursiveContainerStart($id, $pullContainer);
$this->PerformRecursiveContainerStart($id, $pullImage);
}
public function StartWatchtowerContainer(Request $request, Response $response, array $args) : Response {

View File

@@ -4,6 +4,9 @@ declare(strict_types=1);
// increase memory limit to 2GB
ini_set('memory_limit', '2048M');
// Log whole log messages
ini_set('log_errors_max_len', '0');
use DI\Container;
require __DIR__ . '/../../vendor/autoload.php';

View File

@@ -4,6 +4,9 @@ declare(strict_types=1);
// increase memory limit to 2GB
ini_set('memory_limit', '2048M');
// Log whole log messages
ini_set('log_errors_max_len', '0');
use DI\Container;
require __DIR__ . '/../../vendor/autoload.php';

View File

@@ -12,7 +12,7 @@ class ConfigurationManager
if(file_exists(DataConst::GetConfigFile()))
{
$configContent = file_get_contents(DataConst::GetConfigFile());
return json_decode($configContent, true);
return json_decode($configContent, true, 512, JSON_THROW_ON_ERROR);
}
return [];
@@ -514,7 +514,7 @@ class ConfigurationManager
throw new InvalidSettingConfigurationException(DataConst::GetDataDirectory() . " does not exist! Something was set up falsely!");
}
$df = disk_free_space(DataConst::GetDataDirectory());
$content = json_encode($config, JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
$content = json_encode($config, JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT|JSON_THROW_ON_ERROR);
$size = strlen($content) + 10240;
if ($df !== false && (int)$df < $size) {
throw new InvalidSettingConfigurationException(DataConst::GetDataDirectory() . " does not have enough space for writing the config file! Not writing it back!");

View File

@@ -577,11 +577,17 @@ class DockerActionManager
}
public function PullContainer(Container $container) : void
public function PullImage(Container $container) : void
{
$url = $this->BuildApiUrl(sprintf('images/create?fromImage=%s', urlencode($this->BuildImageName($container))));
// do not catch any exception so that it always throws and logs the error
$this->guzzleClient->post($url);
$imageName = urlencode($this->BuildImageName($container));
$url = $this->BuildApiUrl(sprintf('images/create?fromImage=%s', $imageName));
try {
$this->guzzleClient->post($url);
$imageUrl = $this->BuildApiUrl(sprintf('images/%s/json', $imageName));
$this->guzzleClient->get($imageUrl)->getBody()->getContents();
} catch (\Throwable $e) {
throw new \Exception("Could not pull image " . $imageName . ". Please run 'sudo docker exec -it nextcloud-aio-mastercontainer docker pull " . $imageName . "' in order to find out why it failed.");
}
}
private function isContainerUpdateAvailable(string $id) : string

View File

@@ -16,7 +16,7 @@
</header>
<div class="content">
<h1>Nextcloud AIO v7.6.0</h1>
<h1>Nextcloud AIO v7.7.1</h1>
{# Add 2nd tab warning #}
<script type="text/javascript" src="second-tab-warning.js"></script>

View File

@@ -25,12 +25,12 @@ Of course you need to modify `<your-nc-domain>` to the domain on which you want
For this setup, the default sample configurations with `localhost:$APACHE_PORT` should work.
**Running the Reverse Proxy in a Docker container on the same server**<br>
For this setup, you can use as target `host.docker.internal:$APACHE_PORT` instead of `localhost:$APACHE_PORT`.<br>
For this setup, you can use as target `host.docker.internal:$APACHE_PORT` instead of `localhost:$APACHE_PORT`. **⚠️ Important:** In order to make this work on Docker for Linux, you need to add `--add-host=host.docker.internal:host-gateway` to the docker run command of your reverse proxy container or `extra_hosts: ["host.docker.internal:host-gateway"]` in docker compose (it works on Docker Desktop by default).<br>
Another option and actually the recommended way in this case is to use `--network host` option (or `network_mode: host` for docker-compose) as setting for the reverse proxy container to connect it to the host network. If you are using a firewall on the server, you need to open ports 80 and 443 for the reverse proxy manually. By doing so, the default sample configurations that point at `localhost:$APACHE_PORT` should work without having to modify them.
**Running the Reverse Proxy on a different server (no matter if in container or not)**<br>
For this setup, you need to use as target the private ip-address of the host that shall be running AIO. So e.g. `private.ip.address.of.aio.server:$APACHE_PORT` instead of `localhost:$APACHE_PORT`.<br>
If you are not sure how to retrieve that, you can run: `ip a | grep "scope global" | head -1 | awk '{print $2}' | sed 's|/.*||'` on the server that shall be running AIO. If the command returns a public ip-address, use `ip a | grep "scope global" | grep docker0 | awk '{print $2}' | sed 's|/.*||'` instead (the commands only work on Linux).
If you are not sure how to retrieve that, you can run: `ip a | grep "scope global" | head -1 | awk '{print $2}' | sed 's|/.*||'` on the server that shall be running AIO (the commands only work on Linux).
### Apache