Compare commits

..

117 Commits

Author SHA1 Message Date
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
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
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
65 changed files with 452 additions and 92 deletions

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

@@ -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

@@ -1,5 +1,5 @@
# Probably from here https://github.com/elastic/elasticsearch/blob/main/distribution/docker/src/docker/Dockerfile
FROM elasticsearch:8.10.4
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

@@ -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; \

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

@@ -464,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..."
@@ -491,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
@@ -503,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
@@ -550,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,13 +131,14 @@ if ! sudo -E -u www-data bash /entrypoint.sh; then
exit 1
fi
while [ -z "$(dig nextcloud-aio-apache A +short +search)" ]; 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
# 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)"

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

@@ -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_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

@@ -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

@@ -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.2-dev
version: 7.7.1-dev
apiVersion: v2
keywords:
- latest

View File

@@ -57,7 +57,7 @@ spec:
value: nextcloud-aio-talk
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-apache:develop
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:develop
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

@@ -10,6 +10,7 @@ metadata:
name: nextcloud-aio-clamav
namespace: {{ .Values.NAMESPACE }}
spec:
ipFamilyPolicy: PreferDualStack
ports:
- name: "3310"
port: 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:develop
image: nextcloud/aio-collabora:20231123_084113-latest
name: nextcloud-aio-collabora
ports:
- containerPort: 9980

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:develop
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:develop
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:develop
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

@@ -37,6 +37,26 @@ 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_APKS
value: "{{ .Values.NEXTCLOUD_ADDITIONAL_APKS }}"
- name: ADDITIONAL_PHP_EXTENSIONS
@@ -124,6 +144,7 @@ spec:
- name: UPDATE_NEXTCLOUD_APPS
value: "{{ .Values.UPDATE_NEXTCLOUD_APPS }}"
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:develop
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:develop
image: nextcloud/aio-onlyoffice:20231123_084113-latest
name: nextcloud-aio-onlyoffice
ports:
- containerPort: 80

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:develop
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:develop
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:develop
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,34 @@ 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
# 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"
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"
@@ -101,6 +120,8 @@ for variable in "${DEPLOYMENTS[@]}"; do
# 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
@@ -132,6 +153,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 +187,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 +211,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 +266,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)"

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,20 @@ 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'
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.

114
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",
@@ -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.1</h1>
<h1>Nextcloud AIO v7.7.0</h1>
{# Add 2nd tab warning #}
<script type="text/javascript" src="second-tab-warning.js"></script>