Compare commits

..

819 Commits

Author SHA1 Message Date
Simon L
bfcbc41141 Merge pull request #1136 from nextcloud/enh/noid/add-tz-confirmation
add a confirmation for the timezone
2022-09-08 17:39:29 +02:00
szaimen
3ac6fc590a add a confirmation for the timezone
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-09-08 17:33:33 +02:00
Simon L
0aee7c6bb9 Merge pull request #1135 from nextcloud/revert-1118-enh/1073/add-db-check
Revert "add a check for init-user-db.sh"
2022-09-08 17:32:57 +02:00
Simon L
feb6438d39 Revert "add a check for init-user-db.sh"
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-09-08 17:27:15 +02:00
szaimen
4ecfaa0650 increase to 2.0.2
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-09-08 16:15:16 +02:00
Simon L
8dec561045 Merge pull request #1093 from nextcloud/fix/noid/container-logs
fix container logs new line
2022-09-08 16:07:07 +02:00
Simon L
2ab42b06ed Merge pull request #1094 from nextcloud/enh/1077/backup-check
rework the daily backup script and allow to start the backup check from it
2022-09-08 16:05:24 +02:00
Simon L
d25c74e382 Merge pull request #1118 from nextcloud/enh/1073/add-db-check
add a check for init-user-db.sh
2022-09-08 15:49:22 +02:00
Simon L
8c544d96c9 Merge pull request #1069 from nextcloud/fix/1067/fix-pulling-images
do not pull containers if START_CONTAINERS was provided and not …
2022-09-08 15:45:54 +02:00
Simon L
3280a08430 Merge pull request #1092 from nextcloud/fix/1085/fix-dbpassword
the dbpassword and dbuser do not need to be overwritten anymore
2022-09-08 15:44:57 +02:00
Simon L
29f3952713 Merge pull request #1095 from nextcloud/enh/noid/borg-logs
do not show progress for borg operations
2022-09-08 15:44:36 +02:00
Simon L
3bc55fb104 Merge pull request #1096 from nextcloud/fix/noid/mastercontainer-logs
get rid of some strange lines in the mastercontainer logs
2022-09-08 15:44:11 +02:00
Simon L
d01eed902a Merge pull request #1107 from nextcloud/enh/596/allow-to-change-backup-location
Allow to choose a different backup location if the first backup fails
2022-09-08 15:32:23 +02:00
Simon L
88751452c7 Merge pull request #1129 from MartinM01/fix/1121/fix-hpb-participants-limited-7-8
TURN_CONF set total-quota unlimited
2022-09-08 15:31:23 +02:00
Simon L
f7b0787fe5 Merge pull request #1134 from nextcloud/nextcloud-container-update
Nextcloud update
2022-09-08 15:30:25 +02:00
szaimen
46b1a0c068 nextcloud-update automated change
Signed-off-by: GitHub <noreply@github.com>
2022-09-08 12:50:47 +00:00
martin.mueller
80482657be TURN_CONF set total-quota unlimited
Signed-off-by: martin.mueller <martin.mueller@model-engineers.com>
2022-09-07 13:28:04 +02:00
Simon L
2c7e0518f1 Merge pull request #1120 from nextcloud/dependabot/docker/Containers/imaginary/nextcloud/imaginary-20220905
Bump nextcloud/imaginary from 20220822 to 20220905 in /Containers/imaginary
2022-09-07 09:59:24 +02:00
Simon L
fbb9180c0f Merge pull request #1104 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.0.23-fpm-alpine3.16
Bump php from 8.0.22-fpm-alpine3.16 to 8.0.23-fpm-alpine3.16 in /Containers/nextcloud
2022-09-07 09:58:29 +02:00
Simon L
5a91eeb55c Merge pull request #1103 from nextcloud/dependabot/docker/Containers/talk/ubuntu-focal-20220826
Bump ubuntu from focal-20220801 to focal-20220826 in /Containers/talk
2022-09-07 09:58:10 +02:00
Simon L
b8d686fa00 Merge pull request #1102 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.0.23-apache-bullseye
Bump php from 8.0.22-apache-bullseye to 8.0.23-apache-bullseye in /Containers/mastercontainer
2022-09-07 09:57:53 +02:00
Simon L
0614d9d3f5 Merge pull request #1081 from nextcloud/aio-dependency-update
Dependency updates
2022-09-07 09:56:26 +02:00
dependabot[bot]
16c75492f3 Bump php in /Containers/mastercontainer
Bumps php from 8.0.22-apache-bullseye to 8.0.23-apache-bullseye.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-07 07:46:40 +00:00
dependabot[bot]
0cc5d278fb Bump php in /Containers/nextcloud
Bumps php from 8.0.22-fpm-alpine3.16 to 8.0.23-fpm-alpine3.16.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-07 07:46:39 +00:00
Simon L
d14ece713f Merge pull request #1045 from nextcloud/aio-yaml-update
Yaml updates
2022-09-07 09:45:53 +02:00
dependabot[bot]
06315218b8 Bump nextcloud/imaginary in /Containers/imaginary
Bumps nextcloud/imaginary from 20220822 to 20220905.

---
updated-dependencies:
- dependency-name: nextcloud/imaginary
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 16:04:45 +00:00
szaimen
e03e3cfc08 dependency updates
Signed-off-by: GitHub <noreply@github.com>
2022-09-05 12:19:49 +00:00
szaimen
04abdbed9e Yaml updates
Signed-off-by: GitHub <noreply@github.com>
2022-09-05 12:19:49 +00:00
szaimen
abb414129a add a check for init-user-db.sh
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-09-05 14:06:16 +02:00
szaimen
3f48169f5c increase to 2.0.1
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-09-05 13:32:14 +02:00
Simon L
db91ede42a Merge pull request #1116 from nextcloud/fix/1115/mastercontainer-healthcheck
improve healthcheck for mastercontainer
2022-09-05 13:31:25 +02:00
szaimen
59bbff23fe improve healthcheck for mastercontainer
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-09-05 13:29:57 +02:00
Simon L
1a84679537 Merge pull request #1113 from nextcloud/start.sh-typo
Fix typo in mastercontainer start.sh
2022-09-05 13:25:09 +02:00
Álvaro Brey
27e0080ed0 Fix typo in mastercontainer start.sh
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-09-05 10:01:43 +02:00
szaimen
fa4eb44898 Allow to choose a different backup location if the first backup fails
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-09-03 15:43:40 +02:00
dependabot[bot]
b61d2d46fd Bump ubuntu from focal-20220801 to focal-20220826 in /Containers/talk
Bumps ubuntu from focal-20220801 to focal-20220826.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-02 12:35:07 +00:00
Simon L
5cebbcd7b3 Merge pull request #1100 from nextcloud/automated/noid/psalm-baseline-update-1662096933
[Automated] Update psalm-baseline.xml
2022-09-02 08:11:22 +02:00
nextcloud-command
92b1639329 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2022-09-02 05:35:32 +00:00
szaimen
999c74a731 get rid of some strange lines in the mastercontainer logs
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-31 19:04:47 +02:00
szaimen
ec1605d29a do not show progress for borg operations
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-31 14:22:11 +02:00
szaimen
d6e1f62202 rework the daily backup script and allow to start the backup check from it
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-31 14:08:40 +02:00
szaimen
5eaff0ba2f fix container logs new line
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-31 13:45:23 +02:00
szaimen
7ad975f4b1 the dbpassword and dbuser do not need to be overwritten anymore
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-31 12:31:56 +02:00
szaimen
ed82a41bc1 remove resolved issues from nginx docs
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-27 16:13:08 +02:00
szaimen
c872c259c1 do not pull containers START_CONTAINERS was provided and not AUTOMATIC_UPDATES
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-26 22:52:19 +02:00
szaimen
34d5ee6298 use the correct syntax for running from an external script
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-26 22:35:42 +02:00
szaimen
c29839f65f also save and restore daily backup time upon restore
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-26 15:26:51 +02:00
szaimen
b22c239998 fix restoring of addional bakup dirs
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-26 15:04:52 +02:00
Simon L
2b05939f17 Merge pull request #1065 from nextcloud/enh/noid/fix-fts
fix FTS
2022-08-26 14:47:42 +02:00
szaimen
f8017a0a02 fix FTS
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-26 14:12:29 +02:00
Simon L
06b3e82522 Merge pull request #1064 from nextcloud/enh/noid/publish
use long syntax for port publishing
2022-08-26 14:03:45 +02:00
szaimen
f188ac8ebf reorder dependencies
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-26 14:03:18 +02:00
Simon L
e9d9fb1ae6 Merge pull request #1063 from nextcloud/enh/noid/sig-proxy
modify the docker run command to not exit if you press ctrl+c
2022-08-26 12:35:45 +02:00
szaimen
c6b9bf20e7 modify the docker run command to not exit if you press ctrl+c
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-26 12:27:13 +02:00
szaimen
84333607e8 use long syntax for port publishing
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-26 12:21:56 +02:00
szaimen
40b2e014fb Fix additional backup dirs
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-25 19:03:29 +02:00
Simon L
14fdec4dd4 Merge pull request #1060 from nextcloud/healthcheck-apache-fix
fix apache healthcheck
2022-08-25 18:21:04 +02:00
Zoey
a9c4b1fdf4 fix apache healthcheck
Signed-off-by: Zoey <zoey@z0ey.de>
Co-Authored-By: Simon L. <szaimen@e.mail.de>
2022-08-25 18:17:29 +02:00
Simon L
90bf396b9e Merge pull request #1059 from nextcloud/healthcheck-fulltextsearch-patch-1
fix healthcheck in fulltextsearch container
2022-08-25 17:47:11 +02:00
Zoey
bf165642dc fix healthcheck in fulltextsearch container
Signed-off-by: Zoey <zoey@z0ey.de>
2022-08-25 16:18:46 +02:00
szaimen
ce7027d026 increase to 2.0.0
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-25 15:29:23 +02:00
Simon L
f15a28b9e7 Merge pull request #1058 from nextcloud/Zoey2936-patch-1
add docker healthchecks to the docker images
2022-08-25 15:28:05 +02:00
Zoey
1edb422f3d add docker healthchecks to the docker images
Signed-off-by: Zoey <zoey@z0ey.de>
2022-08-25 15:18:35 +02:00
szaimen
c90ee1c4db add PHP_MAX_TIME to containers.json
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-25 14:59:57 +02:00
Simon L
f3ce490a8c Merge pull request #1046 from nextcloud/enh/695/additional-directories
allow to back up additional directories
2022-08-25 14:31:50 +02:00
Simon L
687707731f add command-rebase
Signed-off-by: szaimen <szaimen@e.mail.de>

Signed-off-by: Simon L. <szaimen@e.mail.de>
2022-08-25 13:52:58 +02:00
szaimen
2ee63dbe42 allow to back up additional directories
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-25 13:44:04 +02:00
szaimen
6c63adc37f fix fulltextsearch build
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-25 13:33:16 +02:00
Simon L
267378998c Merge pull request #1057 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-7.17.6
Bump elasticsearch from 7.17.5 to 7.17.6 in /Containers/fulltextsearch
2022-08-25 13:04:23 +02:00
dependabot[bot]
9dbad0592c Bump elasticsearch from 7.17.5 to 7.17.6 in /Containers/fulltextsearch
Bumps elasticsearch from 7.17.5 to 7.17.6.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-25 11:01:18 +00:00
szaimen
c353406f24 do not update elasticsearch to major automatically
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-25 13:00:39 +02:00
Simon L
40efd3092f Merge pull request #1044 from nextcloud/enh/1036/fulltextsearch
add fulltextsearch as option
2022-08-25 12:58:18 +02:00
Simon L
37d40f0992 Merge pull request #1042 from nextcloud/enh/noid/temp_dir
Configure tempdirectory automatically
2022-08-25 12:57:45 +02:00
szaimen
b94b72e893 substitute 365d through inf
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-25 12:53:36 +02:00
szaimen
201dfc67f3 fix removing clamav and onlyoffice correctly
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-25 12:20:06 +02:00
Simon L
8ff05aa80a Merge pull request #1052 from flortsch/patch-2
Fix bad error message in start.sh
2022-08-25 11:55:51 +02:00
Florian Latifi
cc19fd4e74 Fix bad error message in start.sh
Fix bad error message in start.sh which seems to be a copy/paste error from the previous if check.

Signed-off-by: Florian Latifi <mail@florian-latifi.at>
2022-08-23 21:45:48 +02:00
Simon L
7af4c3a2ec Merge pull request #1050 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-22.05.5.4.1
Bump collabora/code from 22.05.5.3.1 to 22.05.5.4.1 in /Containers/collabora
2022-08-23 15:20:29 +02:00
Simon L
387fa30056 Merge pull request #1049 from nextcloud/dependabot/docker/Containers/borgbackup/debian-bullseye-20220822-slim
Bump debian from bullseye-20220801-slim to bullseye-20220822-slim in /Containers/borgbackup
2022-08-23 15:17:23 +02:00
Simon L
8628ab06c3 Merge pull request #1051 from nextcloud/dependabot/docker/Containers/apache/debian-bullseye-20220822-slim
Bump debian from bullseye-20220801-slim to bullseye-20220822-slim in /Containers/apache
2022-08-23 15:16:55 +02:00
dependabot[bot]
c264cc3a02 Bump debian in /Containers/apache
Bumps debian from bullseye-20220801-slim to bullseye-20220822-slim.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-23 12:40:04 +00:00
dependabot[bot]
212e5eff1c Bump collabora/code in /Containers/collabora
Bumps collabora/code from 22.05.5.3.1 to 22.05.5.4.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-23 12:39:57 +00:00
dependabot[bot]
aa957ad4f4 Bump debian in /Containers/borgbackup
Bumps debian from bullseye-20220801-slim to bullseye-20220822-slim.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-23 12:39:57 +00:00
szaimen
8010030a5d add fulltextsearch as option
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-23 11:37:59 +02:00
szaimen
096be7107a fix enabling of imaginary
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-22 23:14:05 +02:00
szaimen
7b4876c681 fix changing the max_children
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-22 23:05:14 +02:00
szaimen
2e1e53e9d3 fix setting max connections
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-22 22:45:03 +02:00
szaimen
20892c2d40 fix onlyoffice not being there anymore
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-22 22:36:34 +02:00
szaimen
2ba61b8971 remove Onlyoffice from QA section
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-22 14:05:53 +02:00
szaimen
25bd890a71 add imaginary to QA section
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-22 14:03:54 +02:00
szaimen
09003fcce1 rework collabora activation
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-22 13:25:14 +02:00
Simon L
7ddb60cce9 Merge pull request #1029 from nextcloud/enh/noid/set-values-based-on-hardware
set max connections and max php children based on available hardware
2022-08-22 12:31:16 +02:00
Simon L
b38a7e11c1 Merge pull request #1030 from nextcloud/enh/901/upload-time
allow to adjust the max upload time
2022-08-22 12:28:02 +02:00
szaimen
f42cb98b98 allow to adjust the max upload time
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-22 12:27:06 +02:00
Simon L
9a83c3af47 Merge pull request #1035 from Zoey2936/patch-1
Set default talk port inside Dockerfile
2022-08-22 12:21:59 +02:00
Simon L
eb744398d7 Merge pull request #1028 from nextcloud/enh/880/upload-limit
allow to adjust the upload limit
2022-08-22 12:18:52 +02:00
szaimen
e152185fe9 allow to adjust the upload limit
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-22 12:11:55 +02:00
Simon L
7ba83089ec Merge pull request #1043 from nextcloud/dependabot/docker/Containers/imaginary/nextcloud/imaginary-20220822
Bump nextcloud/imaginary from 20220819 to 20220822 in /Containers/imaginary
2022-08-22 12:07:00 +02:00
dependabot[bot]
de99fb89f9 Bump nextcloud/imaginary in /Containers/imaginary
Bumps nextcloud/imaginary from 20220819 to 20220822.

---
updated-dependencies:
- dependency-name: nextcloud/imaginary
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 10:05:45 +00:00
Simon L
2fab890ac0 Merge pull request #1026 from nextcloud/enh/393/imaginary
add imaginary as option
2022-08-22 12:05:14 +02:00
szaimen
05e90d6110 add imaginary
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-22 12:02:56 +02:00
Simon L
c926f92b6f Merge pull request #1024 from nextcloud/enh/noid/disable-onlyoffice
disable onlyoffice
2022-08-22 11:58:45 +02:00
Simon L
8350aad484 Merge pull request #1025 from nextcloud/aio-yaml-update
Yaml updates
2022-08-22 11:54:36 +02:00
szaimen
b75074f30d Configure tempdirectory automatically
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-22 11:14:19 +02:00
szaimen
ae29ce409e Support big file uploads in Apache
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-22 10:19:28 +02:00
szaimen
fa265a84c5 improve wording
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-21 21:09:41 +02:00
szaimen
5cfdb32081 Yaml updates
Signed-off-by: GitHub <noreply@github.com>
2022-08-21 12:16:25 +00:00
szaimen
539727a19d fix dependency updates
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-20 15:34:14 +02:00
szaimen
8754cd3571 disable onlyoffice
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-20 13:50:13 +02:00
Zoey
365c1065fe Set default talk port inside Dockerfile
Should close https://github.com/nextcloud/all-in-one/issues/1011, because so the default env is set and when the talk container is launched by the mastercontainer, the env should be overridden by the env send from the mastercontainer.
If I have an image with an env (myenv=456) set inside the Dockerfile and then launch it with "-e myenv=123" the env is set to 123 inside the container,
I hope it's the same when the container is launched through the docker socket. But if yes, this should change help.

Signed-off-by: Zoey <zoey@z0ey.de>
2022-08-19 20:34:51 +02:00
szaimen
cbec4df965 fix dependency updates
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-18 14:28:19 +02:00
szaimen
bd4b3d69d6 add s3 and swift back for manual installations
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-18 13:36:24 +02:00
Simon L
115b295999 Make system requirements a bit more clear
Signed-off-by: Simon L. <szaimen@e.mail.de>
2022-08-18 00:46:45 +02:00
szaimen
5804f68824 set max connections and max php children based on available hardware
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-17 19:10:54 +02:00
szaimen
b307c39f70 fix the layout
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-17 13:01:58 +02:00
szaimen
b8d29c5c96 increase to 1.7.1
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-17 12:28:30 +02:00
Simon L
c311a1d062 Merge pull request #1019 from nextcloud/enh/noid/nextcloud-update-failed
don't allow the Nextcloud container to start if the update failed
2022-08-17 12:26:53 +02:00
Simon L
df92b4bf61 Merge pull request #1018 from nextcloud/enh/noid/wait-for-database
wait for the database startup correctly
2022-08-17 12:25:28 +02:00
szaimen
9f6c532170 don't allow the Nextcloud container to start if the update failed
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-17 12:24:01 +02:00
Simon L
d90c3f095d Merge pull request #1022 from nextcloud/office-home-mode
Set collabora home option
2022-08-17 12:18:28 +02:00
szaimen
12750837a6 wait for the database startup correctly
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-16 17:58:13 +02:00
Simon L
315e97c460 Merge pull request #1023 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-22.05.5.3.1
Bump collabora/code from 22.05.5.2.1 to 22.05.5.3.1 in /Containers/collabora
2022-08-16 16:04:17 +02:00
dependabot[bot]
b3e2fadbc9 Bump collabora/code in /Containers/collabora
Bumps collabora/code from 22.05.5.2.1 to 22.05.5.3.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-16 12:37:17 +00:00
Julius Härtl
0b49031058 Set collabora home option
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-15 21:24:34 +02:00
Simon L
8f857906d8 Merge pull request #1021 from andygeorge/andygeorge/replace-loose-with-lose
Grammar fix: Replace "loose" with "lose"
2022-08-15 17:52:28 +02:00
Andy George
faa449b9c2 Update setup.twig
Signed-off-by: Andy George <andygeorge@users.noreply.github.com>
2022-08-15 09:53:37 -05:00
Andy George
27a7598eb7 Update containers.twig
Signed-off-by: Andy George <andygeorge@users.noreply.github.com>
2022-08-15 09:53:20 -05:00
Andy George
8f3bbe1fb9 Update readme.md
Signed-off-by: Andy George <andygeorge@users.noreply.github.com>
2022-08-15 09:52:48 -05:00
Simon L
d331f6e65e Merge pull request #1020 from nextcloud/dependabot/docker/Containers/postgresql/postgres-14.5-alpine
Bump postgres from 14.4-alpine to 14.5-alpine in /Containers/postgresql
2022-08-15 15:08:15 +02:00
dependabot[bot]
7e4d54a3e0 Bump postgres from 14.4-alpine to 14.5-alpine in /Containers/postgresql
Bumps postgres from 14.4-alpine to 14.5-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 12:34:56 +00:00
szaimen
1411a0d8b1 add a hint how to skip the domain validation
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-15 13:28:12 +02:00
szaimen
22e9d009bf add it also to the multiple instances documentation
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-15 13:17:41 +02:00
szaimen
090842e334 document how to adjust the talk-port
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-15 13:15:25 +02:00
Simon L
815e65d7b0 Merge pull request #1003 from nextcloud/dependabot/docker/Containers/domaincheck/alpine-3.16.2
Bump alpine from 3.16.1 to 3.16.2 in /Containers/domaincheck
2022-08-15 12:08:13 +02:00
Simon L
be39df9e98 Merge pull request #1002 from nextcloud/dependabot/docker/Containers/watchtower/alpine-3.16.2
Bump alpine from 3.16.1 to 3.16.2 in /Containers/watchtower
2022-08-15 12:08:09 +02:00
Simon L
c102f1f59a Merge pull request #1007 from nextcloud/aio-dependency-update
Dependency updates
2022-08-15 12:08:01 +02:00
Simon L
95f590fc24 Merge pull request #1006 from nextcloud/nextcloud-container-update
Nextcloud update
2022-08-15 12:07:38 +02:00
dependabot[bot]
3f1131d5f3 Bump alpine from 3.16.1 to 3.16.2 in /Containers/domaincheck
Bumps alpine from 3.16.1 to 3.16.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 10:07:12 +00:00
dependabot[bot]
2545b3fd16 Bump alpine from 3.16.1 to 3.16.2 in /Containers/watchtower
Bumps alpine from 3.16.1 to 3.16.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 10:07:11 +00:00
Simon L
801bd2ce4b Merge pull request #997 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.0.22-apache-bullseye
Bump php from 8.0.21-apache-bullseye to 8.0.22-apache-bullseye in /Containers/mastercontainer
2022-08-15 12:06:44 +02:00
Simon L
b7401866fb Merge pull request #996 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.0.22-fpm-alpine3.16
Bump php from 8.0.21-fpm-alpine3.16 to 8.0.22-fpm-alpine3.16 in /Containers/nextcloud
2022-08-15 12:06:27 +02:00
Simon L
018dac5639 Merge pull request #989 from nextcloud/dependabot/docker/Containers/talk/ubuntu-focal-20220801
Bump ubuntu from focal-20220531 to focal-20220801 in /Containers/talk
2022-08-15 12:06:02 +02:00
Simon L
0aaa25068e Merge pull request #988 from nextcloud/dependabot/docker/Containers/borgbackup/debian-bullseye-20220801-slim
Bump debian from bullseye-20220711-slim to bullseye-20220801-slim in /Containers/borgbackup
2022-08-15 12:05:36 +02:00
Simon L
8019c70f88 Merge pull request #987 from nextcloud/dependabot/docker/Containers/apache/debian-bullseye-20220801-slim
Bump debian from bullseye-20220711-slim to bullseye-20220801-slim in /Containers/apache
2022-08-15 12:05:20 +02:00
Simon L
5e71675a8a Merge pull request #977 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-0.105.1
Bump clamav/clamav from 0.105.0 to 0.105.1 in /Containers/clamav
2022-08-15 12:05:04 +02:00
szaimen
177e115b2b document how to skip the domain validation
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-08-15 11:51:54 +02:00
Julius Härtl
abe463eaba Merge pull request #1010 from flortsch/patch-1
Fix sed line in start.sh
2022-08-14 21:10:53 +02:00
Florian Latifi
7109e22acc Fix sed line in start.sh
Signed-off-by: Florian Latifi <mail@florian-latifi.at>
2022-08-14 15:43:14 +02:00
szaimen
1a4729fcd9 dependency updates
Signed-off-by: GitHub <noreply@github.com>
2022-08-12 12:18:22 +00:00
szaimen
50602b52ac nextcloud-update automated change
Signed-off-by: GitHub <noreply@github.com>
2022-08-11 12:51:07 +00:00
Julius Härtl
5d044d8fea Merge pull request #995 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-22.05.5.2.1 2022-08-05 16:10:13 +02:00
dependabot[bot]
ad72f07fa0 Bump php in /Containers/mastercontainer
Bumps php from 8.0.21-apache-bullseye to 8.0.22-apache-bullseye.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-05 12:28:00 +00:00
dependabot[bot]
6ec26ae310 Bump php in /Containers/nextcloud
Bumps php from 8.0.21-fpm-alpine3.16 to 8.0.22-fpm-alpine3.16.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-05 12:27:59 +00:00
dependabot[bot]
5ce4d9ce91 Bump collabora/code in /Containers/collabora
Bumps collabora/code from 22.05.5.1.1 to 22.05.5.2.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-05 12:27:57 +00:00
Julius Härtl
5ac481803d Merge pull request #993 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-22.05.5.1.1 2022-08-04 16:35:59 +02:00
dependabot[bot]
c01d7bd990 Bump collabora/code in /Containers/collabora
Bumps collabora/code from 22.05.4.1.1 to 22.05.5.1.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-04 12:31:48 +00:00
Julius Härtl
37d1ac9fba Merge pull request #991 from nextcloud/automated/noid/psalm-baseline-update-1659503285
[Automated] Update psalm-baseline.xml
2022-08-03 08:06:46 +02:00
nextcloud-command
52afdac462 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2022-08-03 05:08:05 +00:00
dependabot[bot]
de20e07f43 Bump ubuntu from focal-20220531 to focal-20220801 in /Containers/talk
Bumps ubuntu from focal-20220531 to focal-20220801.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-02 12:31:40 +00:00
dependabot[bot]
d4e3495d10 Bump debian in /Containers/borgbackup
Bumps debian from bullseye-20220711-slim to bullseye-20220801-slim.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-02 12:31:39 +00:00
dependabot[bot]
d217afcf64 Bump debian in /Containers/apache
Bumps debian from bullseye-20220711-slim to bullseye-20220801-slim.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-02 12:31:29 +00:00
szaimen
e7867e1265 fix detail
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-31 21:43:22 +02:00
szaimen
c4e7a0ea0b document that buying a certificate is also an option
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-31 19:27:37 +02:00
szaimen
42dac435ec add a comment on ports
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-31 11:25:20 +02:00
szaimen
82a5a15ce5 document the user_migration app for migrating
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-31 11:02:58 +02:00
Simon L
699a40c6f5 Merge pull request #980 from nextcloud/automated/noid/psalm-baseline-update-1659070391
[Automated] Update psalm-baseline.xml
2022-07-29 10:16:52 +02:00
nextcloud-command
d8d13549f3 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2022-07-29 04:53:10 +00:00
szaimen
8e2df6dfa2 improve notes
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-28 15:33:21 +02:00
szaimen
4674b6899f improve the link
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-27 16:03:36 +02:00
szaimen
1cf03ec378 add a section on how to test things
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-27 16:01:10 +02:00
dependabot[bot]
ee728d7f2d Bump clamav/clamav from 0.105.0 to 0.105.1 in /Containers/clamav
Bumps clamav/clamav from 0.105.0 to 0.105.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-27 12:32:38 +00:00
szaimen
46ca08858a fix database import
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-26 20:41:47 +02:00
szaimen
da79cf777d update to 1.7.0
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-26 20:10:01 +02:00
Simon L
0313187846 Merge pull request #945 from nextcloud/enh/910/disable-backup-section
allow to disable the backup section
2022-07-26 20:08:30 +02:00
szaimen
9052828dde allow to disable the backup section
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-26 20:05:59 +02:00
szaimen
adcba6b751 make clear when apache_ip_binding needs to be set
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-26 19:56:36 +02:00
Simon L
7e24978a8c Merge pull request #840 from nextcloud/enh/669/nextcloud-24
update Nextcloud to 24
2022-07-26 19:53:35 +02:00
Simon L
1e82dada6b Merge pull request #955 from nextcloud/dependabot/docker/Containers/watchtower/alpine-3.16.1
Bump alpine from 3.15.4 to 3.16.1 in /Containers/watchtower
2022-07-26 19:53:03 +02:00
Simon L
af997e5ede Merge pull request #956 from nextcloud/dependabot/docker/Containers/domaincheck/alpine-3.16.1
Bump alpine from 3.15.4 to 3.16.1 in /Containers/domaincheck
2022-07-26 19:52:52 +02:00
dependabot[bot]
f6fd2e69b3 Bump alpine from 3.15.4 to 3.16.1 in /Containers/domaincheck
Bumps alpine from 3.15.4 to 3.16.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-26 17:48:03 +00:00
dependabot[bot]
5bb6dc4c38 Bump alpine from 3.15.4 to 3.16.1 in /Containers/watchtower
Bumps alpine from 3.15.4 to 3.16.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-26 17:48:01 +00:00
Simon L
651a9ac99f Merge pull request #958 from nextcloud/enh/noid/update-php-fpm-alpine
update php:fpm-alpine to 3.16
2022-07-26 19:47:32 +02:00
Simon L
7d1f8272c7 Merge pull request #969 from nextcloud/enh/noid/clamav-update
update clamav to 0.105.0
2022-07-26 19:47:19 +02:00
Simon L
3ec271bbc5 Merge pull request #970 from nextcloud/fix/967/fix-import
fix database import for cases where the owner is not one of the expec…
2022-07-26 19:47:06 +02:00
Simon L
e7024127cf Merge pull request #954 from nextcloud/aio-yaml-update
Yaml updates
2022-07-25 19:19:21 +02:00
szaimen
659a2537a2 Yaml updates
Signed-off-by: GitHub <noreply@github.com>
2022-07-23 12:17:00 +00:00
szaimen
55ed50228b add a few hints
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-23 13:25:26 +02:00
szaimen
0bc4fb384a add a hint to the windows documentation
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-23 13:16:39 +02:00
szaimen
f0dba693d5 Remove this warning as it is not correct anymore
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-23 09:51:37 +02:00
szaimen
d86adc7438 this is not needed to be run manually anymore
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-23 09:49:09 +02:00
szaimen
7aa433a9a4 fix database import for cases where the owner is not one of the expected ones
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-23 09:39:45 +02:00
szaimen
1e8ab5e3bf update clamav to 0.105.0
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-23 09:09:52 +02:00
Simon L
4f98879c26 Merge pull request #968 from fa-ribeiro/patch-1
Fixes small typo in multiple-instances.md
2022-07-22 22:16:12 +02:00
Fernando Ribeiro
36f0ef419e typo correction
"rootles" must be "rootless"

Signed-off-by: Fernando Ribeiro <fribeiro@fribeiro.org>
2022-07-22 13:59:02 +01:00
szaimen
e6a9fcd3c8 change the recommendation how to run clean the database
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-22 00:37:09 +02:00
szaimen
a864e74105 fix some links
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-21 01:31:50 +02:00
szaimen
bf38592e98 improve headings
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-21 01:17:42 +02:00
Simon L
bc7516857f Merge pull request #940 from nextcloud/enh/854/multiple-aio-instances
add documentation on how to run multiple AIO instances on the same server
2022-07-20 21:00:13 +02:00
Simon L
691bcc00cb Merge pull request #946 from nextcloud/enh/356/mail-server
add documentation for mail server
2022-07-20 20:59:40 +02:00
szaimen
9906b58270 document some more restrictions
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-20 20:55:50 +02:00
Simon L
9825199dcb Merge pull request #947 from nextcloud/enh/876/dns-challenge
add documentation on how use ACME DNS-challenge for AIO
2022-07-20 19:55:44 +02:00
szaimen
0a43ec8750 add documentation on how use ACME DNS-challenge for AIO
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-20 19:51:07 +02:00
Julius Härtl
f24933cd0a Merge pull request #949 from nextcloud/enh/878/run-locally 2022-07-20 13:40:33 +02:00
szaimen
d8d7d1c04c update php:fpm-alpine to 3.16
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-19 17:40:23 +02:00
szaimen
636744a3ca update Nextcloud to 24
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-18 17:57:17 +02:00
szaimen
bba267511c use a verb for the login button
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-18 17:53:10 +02:00
szaimen
2e64f989d6 improve the wording
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-18 17:44:30 +02:00
Simon L
9de369e6ab Merge pull request #951 from nextcloud/revert-950-aio-yaml-update
Revert "Yaml updates"
2022-07-18 17:13:59 +02:00
Simon L
10485045b4 Revert "Yaml updates" 2022-07-18 17:12:39 +02:00
Simon L
4f9ed2bcd3 Merge pull request #950 from nextcloud/aio-yaml-update
Yaml updates
2022-07-18 15:05:08 +02:00
szaimen
f84b84eb6b Yaml updates
Signed-off-by: GitHub <noreply@github.com>
2022-07-18 12:23:42 +00:00
szaimen
94694cc0ac document how to run it locally
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-18 02:00:48 +02:00
szaimen
4913231a98 add documentation for mail server
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-17 22:32:55 +02:00
szaimen
fc01a07d38 add documentation on how to run multiple AIO instances on the same server
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-17 20:36:23 +02:00
Simon L
63a74beeab Merge pull request #909 from nextcloud/enh/722/run-externally
add documentation for running from an external script
2022-07-17 20:30:48 +02:00
Simon L
57adc3a137 Merge pull request #887 from nextcloud/enh/884/apache-listen-localhost
Document how to restrict the apache_port only listen on localhost
2022-07-17 20:29:39 +02:00
szaimen
0dd9177630 fix automatic updates
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-17 20:19:11 +02:00
szaimen
02ec273971 update to 1.6.0
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-17 19:46:36 +02:00
Simon L
70c4223a29 Merge pull request #908 from nextcloud/enh/722/automatic-updates
allow to run daily backups without automatic updates
2022-07-17 19:45:58 +02:00
szaimen
79e53f0d00 allow to run daily backups without automatic updates
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-17 19:45:16 +02:00
szaimen
cd6e0ed9d4 fix the lighttpd config
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-17 19:30:34 +02:00
szaimen
ac9f86a525 update postgres to 14.4
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-17 18:54:49 +02:00
szaimen
675b2025d2 Document how to restrict the apache_port only listen on localhost
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-17 18:25:00 +02:00
Simon L
8021c8119f Merge pull request #898 from nextcloud/enh/noid/lighttpd-ipv6
enable ipv6 for lighttpd
2022-07-17 18:24:05 +02:00
Simon L
a58185bb6e Merge pull request #897 from nextcloud/enh/noid/update-on-saturdays
only update apps on saturdays
2022-07-17 18:23:53 +02:00
Simon L
ce0ede2bcc Merge pull request #904 from nextcloud/enh/889/ip-binding
allow to specify an apache ip-binding
2022-07-17 18:23:16 +02:00
szaimen
a708102ca7 recommend lldap as ldap container
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-17 17:32:24 +02:00
Simon L
def0509bb3 Merge pull request #941 from MiguelGuthridge/patch-1
Improve docs for Cloudflare Tunnel setup
2022-07-17 10:44:01 +02:00
Miguel Guthridge
3b2e4a22ae Improve docs for Cloudflare Tunnel setup
Signed-off-by: Miguel Guthridge <hdsq@outlook.com.au>
2022-07-16 21:46:01 +10:00
szaimen
478aadf3fa add the docker rootless script to the documentation
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-16 10:52:42 +02:00
Simon L
443daa092f Merge pull request #899 from nextcloud/enh/noid/ipv6-support
document how to enable ipv6 support
2022-07-16 10:43:48 +02:00
Simon L
8425fa1b6d Merge pull request #938 from nextcloud/enh/933/document-domain-change
document how to change the domain
2022-07-16 10:42:21 +02:00
Simon L
07d1b5e240 Merge pull request #939 from nextcloud/enh/934/portainer
document how to run it with Portainer
2022-07-16 10:41:11 +02:00
szaimen
bdedc6ab24 document how to run it with Portainer
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-14 19:21:59 +02:00
szaimen
dd1287469d document how to change the domain
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-14 19:11:36 +02:00
Simon L
2bf511a935 Remove Lukas from codeowners and Max as well
Signed-off-by: Simon L. <szaimen@e.mail.de>
2022-07-14 15:41:38 +02:00
Simon L
72140ddf36 Merge pull request #935 from HedgeShot/patch-1
add docs on fail2ban config
2022-07-14 11:09:48 +02:00
HedgeShot
e2ca219cf5 add docs on fail2ban config
fail2ban and docker don't play nice by default, need to add a rule in the config file to make sure docker doesn't bypass fail2ban jail.


Signed-off-by: HedgeShot <HedgeShot@users.noreply.github.com>
2022-07-14 11:06:18 +02:00
szaimen
6e84405249 add configuration for running from an external script
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-13 21:28:05 +02:00
Simon L
1a4e5ce3f4 Merge pull request #930 from nextcloud/dependabot/docker/Containers/mastercontainer/caddy-2.5.2-alpine
Bump caddy from 2.5.1-alpine to 2.5.2-alpine in /Containers/mastercontainer
2022-07-13 19:56:43 +02:00
Simon L
5a7aa1cb1f Merge pull request #929 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-22.05.4.1.1
Bump collabora/code from 22.05.3.1.1 to 22.05.4.1.1 in /Containers/collabora
2022-07-13 19:56:25 +02:00
dependabot[bot]
45b031545a Bump caddy in /Containers/mastercontainer
Bumps caddy from 2.5.1-alpine to 2.5.2-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-13 17:55:47 +00:00
Simon L
3ce14dc23c Merge pull request #928 from nextcloud/dependabot/docker/Containers/apache/caddy-2.5.2-alpine
Bump caddy from 2.5.1-alpine to 2.5.2-alpine in /Containers/apache
2022-07-13 19:55:28 +02:00
Simon L
bc34ab31bc Merge pull request #924 from nextcloud/dependabot/docker/Containers/apache/debian-bullseye-20220711-slim
Bump debian from bullseye-20220622-slim to bullseye-20220711-slim in /Containers/apache
2022-07-13 19:55:10 +02:00
Simon L
dba9980202 Merge pull request #923 from nextcloud/dependabot/docker/Containers/borgbackup/debian-bullseye-20220711-slim
Bump debian from bullseye-20220622-slim to bullseye-20220711-slim in /Containers/borgbackup
2022-07-13 19:54:56 +02:00
Simon L
bd5301cd48 Merge pull request #903 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.0.21-apache-bullseye
Bump php from 8.0.20-apache-bullseye to 8.0.21-apache-bullseye in /Containers/mastercontainer
2022-07-13 19:54:38 +02:00
Simon L
e4aff51ea5 Merge pull request #902 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.0.21-fpm-alpine3.15
Bump php from 8.0.20-fpm-alpine3.15 to 8.0.21-fpm-alpine3.15 in /Containers/nextcloud
2022-07-13 19:54:19 +02:00
dependabot[bot]
84dbfc1ed3 Bump collabora/code in /Containers/collabora
Bumps collabora/code from 22.05.3.1.1 to 22.05.4.1.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-13 12:41:23 +00:00
dependabot[bot]
750c61a8df Bump caddy from 2.5.1-alpine to 2.5.2-alpine in /Containers/apache
Bumps caddy from 2.5.1-alpine to 2.5.2-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-13 12:41:19 +00:00
dependabot[bot]
11fdf29fdd Bump debian in /Containers/apache
Bumps debian from bullseye-20220622-slim to bullseye-20220711-slim.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-12 12:45:25 +00:00
dependabot[bot]
cfe839f3f6 Bump debian in /Containers/borgbackup
Bumps debian from bullseye-20220622-slim to bullseye-20220711-slim.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-12 12:45:25 +00:00
Simon L
0224304dca Merge pull request #868 from nextcloud/aio-yaml-update
Yaml updates
2022-07-11 11:55:11 +02:00
szaimen
482b279f3c allow to specify an apache ip-binding
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-08 17:11:49 +02:00
dependabot[bot]
f78620402e Bump php in /Containers/mastercontainer
Bumps php from 8.0.20-apache-bullseye to 8.0.21-apache-bullseye.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-08 12:32:57 +00:00
dependabot[bot]
1b6a3142cd Bump php in /Containers/nextcloud
Bumps php from 8.0.20-fpm-alpine3.15 to 8.0.21-fpm-alpine3.15.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-08 12:32:55 +00:00
szaimen
71549c49eb document how to enable ipv6 support
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-08 11:54:29 +02:00
szaimen
4db1b278b1 enable ipv6 for lighttpd
Signed-off-by: szaimen <szaimen@e.mail.de>

Revert "enable ipv6 for lighttpd"

This reverts commit 3d03d45d0b024845fdd58eb08e490df75219b335.

Update lighttpd.conf
2022-07-08 11:50:52 +02:00
szaimen
1ebb03aef7 only update apps on saturdays
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-08 11:24:03 +02:00
szaimen
97f59ac009 Yaml updates
Signed-off-by: GitHub <noreply@github.com>
2022-07-07 12:20:18 +00:00
Simon L
005ad34741 Merge pull request #896 from grossamos/main
fixed typo in backup section of README
2022-07-07 09:36:13 +02:00
grossamos
7cc922c18f fixed typo in readme
incorrect use of the verb "save"
Signed-off-by: grossamos <email@amosgross.com>
2022-07-07 08:42:40 +02:00
szaimen
5ece00e496 fix shouldDomainValidationBeSkipped
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-04 15:32:39 +02:00
szaimen
db620e035a increase to 1.5.0
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-04 14:36:54 +02:00
Simon L
f99d4f19c6 Merge pull request #865 from nextcloud/enh/761/collabora-dictionaries
allow to set collabora dictionaries
2022-07-04 14:35:21 +02:00
szaimen
97f053228c allow to set collabora dictionaries
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-04 14:32:48 +02:00
Simon L
a26d36c084 Merge pull request #793 from nextcloud/enh/734/talk-port
allow to adjust the talk port
2022-07-04 14:21:35 +02:00
szaimen
7ae718300f allow to adjust the talk port
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-04 14:17:33 +02:00
Simon L
8b7aa71d15 Merge pull request #869 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-22.05.3.1.1
Bump collabora/code from 21.11.5.3.1 to 22.05.3.1.1 in /Containers/collabora
2022-07-04 14:15:45 +02:00
Simon L
8f5966dae9 Merge pull request #873 from nextcloud/enh/858/skip-domain-verification
allow to skip the domain validation and add documentation for cloud…
2022-07-04 14:15:28 +02:00
szaimen
263b5605e1 onlyoffice now needs allow_local_remote_servers, too
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-07-04 13:35:23 +02:00
szaimen
7f245bd048 allow to skip the domain verification and add documentation for cloudflare argo tunnel
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-30 17:00:00 +02:00
Simon L
758a721d84 Merge pull request #867 from nextcloud/aio-dependency-update
Dependency updates
2022-06-30 16:56:47 +02:00
szaimen
49d94b388e remove the onlyoffice secret from latest-arm64.yml
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-30 16:55:35 +02:00
Simon L
973ea5ff4f Merge pull request #875 from nextcloud/enh/noid/internal-ip-address-documentation
add documentation on how to fix the internal or reserved ip-address e…
2022-06-30 16:51:17 +02:00
szaimen
0bd376743f add documentation on how to fix the internal or reserved ip-address error
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-30 16:41:12 +02:00
Simon L
86f15d0911 Merge pull request #874 from nextcloud/fix/872/ipv6-domain-validatioin
domain validation should be compatible with ipv6 only as well
2022-06-30 16:11:02 +02:00
szaimen
00c6eeda44 domain validation should be compatible with ipv6 only
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-30 14:47:37 +02:00
dependabot[bot]
9d8990348b Bump collabora/code in /Containers/collabora
Bumps collabora/code from 21.11.5.3.1 to 22.05.3.1.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-29 12:33:52 +00:00
szaimen
036bba94c0 dependency updates
Signed-off-by: GitHub <noreply@github.com>
2022-06-28 12:19:27 +00:00
Simon L
dfb672811f Merge pull request #866 from nextcloud/automated/noid/psalm-baseline-update-1656391562
[Automated] Update psalm-baseline.xml
2022-06-28 07:58:02 +02:00
nextcloud-command
db89be5e9c Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2022-06-28 04:46:02 +00:00
szaimen
847e5a887c fix onlyoffice secret
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-27 17:29:37 +02:00
Simon L
dc87c7d3f4 Merge pull request #794 from nextcloud/enh/748/onlyoffice-collabora-secret
add a secret to onlyoffice
2022-06-27 16:47:57 +02:00
Simon L
bea77e4642 Merge pull request #859 from nextcloud/enh/noid/setdomain-logging
improve logging of setdomain and allow private ip-addresses again when running behind a reverse proxy
2022-06-27 16:47:30 +02:00
Simon L
e6211d93fe Merge pull request #864 from nextcloud/enh/862/change-backup-path
allow to change the backup path again if the initial backup was not s…
2022-06-27 16:46:45 +02:00
szaimen
2cf98773cc add a secret to onlyoffice and collabora
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-27 14:11:29 +02:00
Simon L
85caab7507 Merge pull request #853 from nextcloud/enh/noid/requirements
add a list of requirements for integrating new containers
2022-06-27 12:56:37 +02:00
Simon L
13beca4072 Merge pull request #852 from nextcloud/enh/noid/netdata
document how to install Netdata
2022-06-27 12:55:57 +02:00
Simon L
988c37f60b Merge pull request #851 from nextcloud/enh/noid/fail2ban
add docs on how to set up fail2ban
2022-06-27 12:54:57 +02:00
Simon L
d462813e4f Merge pull request #835 from nextcloud/enh/834/push-proxy
apache documentation - make the push proxy work
2022-06-27 12:54:17 +02:00
Simon L
4a651fc44e Merge pull request #850 from nextcloud/enh/noid/add-bruteforce-and-database-docs
add some bruteforce documentation and some documentation on phpmyadmi…
2022-06-27 12:53:39 +02:00
Simon L
9d971902d7 Merge pull request #856 from nextcloud/dependabot/docker/Containers/borgbackup/debian-bullseye-20220622-slim
Bump debian from bullseye-20220527-slim to bullseye-20220622-slim in /Containers/borgbackup
2022-06-27 12:52:26 +02:00
Simon L
fb8c2a524d Merge pull request #857 from nextcloud/dependabot/docker/Containers/apache/debian-bullseye-20220622-slim
Bump debian from bullseye-20220527-slim to bullseye-20220622-slim in /Containers/apache
2022-06-27 12:52:13 +02:00
szaimen
95a3323993 allow to change the backup path again if the initial backup was not successful
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-27 12:49:19 +02:00
szaimen
b454660599 allow to continue with local ip-address when behind reverse proxy
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-27 12:21:20 +02:00
szaimen
21422f2e1c the timezone needs to be UTC for the mastercontainer
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-27 12:12:07 +02:00
szaimen
3beee36872 apache documentation - make the push proxy work
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-25 19:38:56 +02:00
szaimen
fc58ec2ac2 make visible that automatic updates is already implemented
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-24 21:22:09 +02:00
szaimen
036c1707d6 add a list of requirements for integratingnew containers
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-24 20:27:13 +02:00
szaimen
9b68d3c157 improve logging of setdomain
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-24 01:00:05 +02:00
dependabot[bot]
fc49283a5e Bump debian in /Containers/borgbackup
Bumps debian from bullseye-20220527-slim to bullseye-20220622-slim.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-23 14:49:59 +00:00
dependabot[bot]
cf0b8bdb2a Bump debian in /Containers/apache
Bumps debian from bullseye-20220527-slim to bullseye-20220622-slim.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-23 14:49:59 +00:00
Simon L
62e4ea3238 Merge pull request #855 from pmocek/patch-1
docs(manual-install): Fix typo in env var
2022-06-23 14:17:18 +02:00
Phil Mocek
8ff0536705 docs: Fix typo
In manual-install/readme.md, environmental variable NEXTCLOUD_DATADIR was misspelled NEXTLOUD_DATADIR.
2022-06-22 20:00:24 -07:00
szaimen
c88696809a port 80 should not be exposed since it can be changed
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-23 03:12:28 +02:00
szaimen
96888c2ffa document how to install Netdata
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-22 16:48:38 +02:00
szaimen
693df4d4e2 add docs on how to set up fail2ban
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-22 16:21:55 +02:00
szaimen
ffcace3688 add some bruteforce documentation and some documentation on phpmyadmin, adminer and pgadmin
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-22 15:56:10 +02:00
szaimen
4ae556422a enable psalm-security workflow again
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-22 15:05:07 +02:00
szaimen
3de963c238 increase to v1.4.2
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-22 15:03:23 +02:00
Simon L
effeb44690 Merge pull request #795 from nextcloud/enh/723/external-backup-locking
allow to lock the backup archive for external scripts
2022-06-22 15:02:32 +02:00
szaimen
4dc2400a87 disable psalm-security analysis as it fails currently
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-22 14:43:53 +02:00
szaimen
b5d5b1f4bc allow to lock the backup archive for external scripts
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-22 14:33:35 +02:00
Simon L
14dbc49863 Merge pull request #824 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-20.10.17-dind-alpine3.16
Bump docker from 20.10.16-dind-alpine3.16 to 20.10.17-dind-alpine3.16 in /Containers/mastercontainer
2022-06-22 14:28:15 +02:00
Simon L
dc4e251b05 Merge pull request #830 from nextcloud/enh/828/trusted-proxies
fix trusted_proxies for caddy in case of a reverse proxy situation
2022-06-22 14:27:57 +02:00
dependabot[bot]
06779d09ba Bump docker in /Containers/mastercontainer
Bumps docker from 20.10.16-dind-alpine3.16 to 20.10.17-dind-alpine3.16.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-22 12:26:25 +00:00
Simon L
686128c9d4 Merge pull request #832 from nextcloud/enh/791/interned-strings-buffer
set the interned strings buffer to 32
2022-06-22 14:25:58 +02:00
Simon L
ae056c8c06 Merge pull request #831 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-21.11.5.3.1
Bump collabora/code from 21.11.5.1.1 to 21.11.5.3.1 in /Containers/collabora
2022-06-22 14:25:30 +02:00
Simon L
538f5e5bd3 Merge pull request #843 from nextcloud/aio-dependency-update
Dependency updates
2022-06-22 14:22:30 +02:00
Simon L
ad751595a8 Merge pull request #846 from nextcloud/nextcloud-container-update
Nextcloud update
2022-06-22 14:21:30 +02:00
szaimen
9b1e734efc nextcloud-update automated change
Signed-off-by: GitHub <noreply@github.com>
2022-06-21 12:51:43 +00:00
szaimen
44f6cc0d16 dependency updates
Signed-off-by: GitHub <noreply@github.com>
2022-06-21 12:18:55 +00:00
szaimen
aed1cd9700 set the interned strings buffer to 32
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-17 13:17:43 +02:00
Simon L
56948a8140 Merge pull request #829 from nextcloud/enh/823/docker-rootless-docs
add a note on docker-rootless regarding permissions outside the conta…
2022-06-16 09:23:04 +02:00
szaimen
66484803c3 add a note on docker-rootless regarding permissions outside the containers
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-15 22:33:36 +02:00
szaimen
f0ddf95a3e fix trusted_proxies for caddy in case of a reverse proxy situation
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-15 19:17:57 +02:00
dependabot[bot]
6fe4b99306 Bump collabora/code in /Containers/collabora
Bumps collabora/code from 21.11.5.1.1 to 21.11.5.3.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-15 12:36:30 +00:00
szaimen
145d83c000 the dind tag was not found
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-13 12:11:47 +02:00
Simon L
9f6f638d1b Merge pull request #821 from nextcloud/dependabot/docker/Containers/redis/redis-6.2.7-alpine
Bump redis from 6.2.6-alpine to 6.2.7-alpine in /Containers/redis
2022-06-13 12:03:06 +02:00
dependabot[bot]
5d0f344839 Bump redis from 6.2.6-alpine to 6.2.7-alpine in /Containers/redis
Bumps redis from 6.2.6-alpine to 6.2.7-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 10:02:36 +00:00
szaimen
334c879a5e update redis dependabot settings
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-13 12:02:01 +02:00
szaimen
61e1939de4 increase to 1.4.1
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-13 11:59:30 +02:00
Simon L
c2c4698119 Merge pull request #792 from nextcloud/enh/745/improve-ip-check
improve the ip-address check for setdomain
2022-06-13 11:57:03 +02:00
Simon L
69382b638a Merge pull request #814 from nextcloud/enh/813/support-no-give-channel
allow to use it even if no channel was provided
2022-06-13 11:47:24 +02:00
szaimen
d5afe84c78 fix false psalm report
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-13 11:45:06 +02:00
Simon L
bfab40f0d8 Merge pull request #791 from nextcloud/enh/772/opcache-buffer
increase opcache buffer to 64
2022-06-13 11:41:48 +02:00
szaimen
565f77759f increase opcache buffer to 64
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-13 11:41:14 +02:00
Simon L
bdc07b940f Merge pull request #806 from nextcloud/aio-dependency-update
Dependency updates
2022-06-13 11:39:02 +02:00
Simon L
9f6821c703 Merge pull request #811 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.0.20-apache-bullseye
Bump php from 8.0.19-apache-bullseye to 8.0.20-apache-bullseye in /Containers/mastercontainer
2022-06-13 11:36:59 +02:00
Simon L
ca0371f1f1 Merge pull request #812 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.0.20-fpm-alpine3.15
Bump php from 8.0.19-fpm-alpine3.15 to 8.0.20-fpm-alpine3.15 in /Containers/nextcloud
2022-06-13 11:36:43 +02:00
Simon L
ad9eadb7f9 Merge pull request #648 from nextcloud/enh/558/docker-rootless
add documentation for docker rootless
2022-06-13 11:31:58 +02:00
szaimen
80d3d71ae9 remove alpine3.15 tag from certain containers
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-12 22:59:04 +02:00
szaimen
45bb084ae5 allow to use it even if no channel was provided
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-11 14:48:05 +02:00
dependabot[bot]
620ef5ad7f Bump php in /Containers/nextcloud
Bumps php from 8.0.19-fpm-alpine3.15 to 8.0.20-fpm-alpine3.15.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-10 12:29:37 +00:00
dependabot[bot]
a1a9db3404 Bump php in /Containers/mastercontainer
Bumps php from 8.0.19-apache-bullseye to 8.0.20-apache-bullseye.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-10 12:29:35 +00:00
szaimen
6590f1d12e dependency updates
Signed-off-by: GitHub <noreply@github.com>
2022-06-10 12:17:48 +00:00
szaimen
bad431984e improve wording
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-10 01:08:11 +02:00
Simon L
f5d942f4c9 Merge pull request #679 from nextcloud/enh/676/apache
add apache to reverse proxy documentation
2022-06-08 10:46:33 +02:00
szaimen
a80f56bb17 make clear that this is for cmd
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-08 01:13:33 +02:00
szaimen
e5fa3e683b remove HSTS
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-08 00:40:57 +02:00
szaimen
8a43baf837 address review
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-08 00:40:06 +02:00
Simon L
b575bf4028 Merge pull request #799 from nextcloud/dependabot/docker/Containers/talk/ubuntu-focal-20220531
Bump ubuntu from focal-20220426 to focal-20220531 in /Containers/talk
2022-06-07 19:22:57 +02:00
dependabot[bot]
ace4410e78 Bump ubuntu from focal-20220426 to focal-20220531 in /Containers/talk
Bumps ubuntu from focal-20220426 to focal-20220531.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-07 12:38:34 +00:00
szaimen
f3bd9eba66 improve the ip-address check for setdomain
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-07 00:15:02 +02:00
szaimen
3c14cc2676 fix a detail
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-06 23:44:25 +02:00
szaimen
bbdb874f90 increase to 1.4.0
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-06 23:08:14 +02:00
szaimen
a1a85dde8d address review
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-06 22:54:07 +02:00
szaimen
f73d1e39b4 add documentation for docker rootless
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-06 22:54:05 +02:00
Simon L
2d9a1afa33 Merge pull request #636 from nextcloud/enh/558/docker-socket-path
allow to specify the docker socket path
2022-06-06 22:51:47 +02:00
szaimen
3db57c6290 allow to specify the docker socket path
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-06 22:49:22 +02:00
szaimen
3f079bd0f3 fix localhost
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-06 22:39:45 +02:00
szaimen
cf0a5c9cbc add apache to reverse proxy documentation
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-06 22:39:44 +02:00
Simon L
8764824870 Merge pull request #758 from nextcloud/fix/750/caddyfile-permissions
fix writing to the caddyfile
2022-06-06 22:31:10 +02:00
Simon L
703bfa9335 Merge pull request #759 from nextcloud/fix/753/notification-spam
fix the notification spam
2022-06-06 22:29:39 +02:00
szaimen
141887c635 fix the notification spam
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-06 22:27:23 +02:00
Simon L
5e9069c450 Merge pull request #773 from nextcloud/enh/noid/do-not-break-borg-lock
Do not break the borg lock automatically
2022-06-06 22:23:17 +02:00
Simon L
3ff65dda79 Merge pull request #775 from nextcloud/aio-dependency-update
Dependency updates
2022-06-06 22:21:36 +02:00
Simon L
f470cd8fb5 Merge pull request #776 from nextcloud/dependabot/docker/Containers/onlyoffice/onlyoffice/documentserver-7.1.1.23
Bump onlyoffice/documentserver from 7.1.0.215 to 7.1.1.23 in /Containers/onlyoffice
2022-06-06 22:20:51 +02:00
Simon L
bb4f3e34db Merge pull request #765 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-21.11.5.1.1
Bump collabora/code from 21.11.4.2.1 to 21.11.5.1.1 in /Containers/collabora
2022-06-06 22:20:21 +02:00
Simon L
a1c58d9189 Merge pull request #764 from nextcloud/dependabot/docker/Containers/apache/debian-bullseye-20220527-slim
Bump debian from bullseye-20220509-slim to bullseye-20220527-slim in /Containers/apache
2022-06-06 22:19:23 +02:00
Simon L
fc9d0ce7a3 Merge pull request #766 from nextcloud/dependabot/docker/Containers/borgbackup/debian-bullseye-20220527-slim
Bump debian from bullseye-20220509-slim to bullseye-20220527-slim in /Containers/borgbackup
2022-06-06 22:19:15 +02:00
dependabot[bot]
603c980f00 Bump onlyoffice/documentserver in /Containers/onlyoffice
Bumps onlyoffice/documentserver from 7.1.0.215 to 7.1.1.23.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-02 12:36:55 +00:00
szaimen
f2f816257d dependency updates
Signed-off-by: GitHub <noreply@github.com>
2022-06-02 12:20:37 +00:00
szaimen
3358f53b84 Do not break the borg lock automatically
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-06-01 15:10:39 +02:00
szaimen
d15e2d7637 make the advice better understandable
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-31 18:53:46 +02:00
szaimen
39b5925d07 add some more hints on what is not allowed to be changed
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-30 22:53:17 +02:00
dependabot[bot]
12d54ff260 Bump collabora/code in /Containers/collabora
Bumps collabora/code from 21.11.4.2.1 to 21.11.5.1.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-30 12:29:41 +00:00
dependabot[bot]
81d2a660ec Bump debian in /Containers/apache
Bumps debian from bullseye-20220509-slim to bullseye-20220527-slim.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-30 12:29:41 +00:00
dependabot[bot]
a42349f8ec Bump debian in /Containers/borgbackup
Bumps debian from bullseye-20220509-slim to bullseye-20220527-slim.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-30 12:29:41 +00:00
szaimen
1f6b8d48a9 fix writing to the caddyfile
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-30 12:27:45 +02:00
Simon L
7ba10559fd Merge pull request #746 from nextcloud/aio-dependency-update
Dependency updates
2022-05-26 15:02:10 +02:00
szaimen
af43635fea dependency updates
Signed-off-by: GitHub <noreply@github.com>
2022-05-26 12:18:43 +00:00
szaimen
a60ac1bbf4 increase to 1.3.1
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-26 10:47:04 +02:00
Simon L
00964ae824 Merge pull request #728 from nextcloud/enh/725/log-files
adjust log files to be stored in a volume
2022-05-26 10:43:41 +02:00
szaimen
f7011b2459 Revert "Merge pull request #712 from nextcloud/dependabot/docker/Containers/domaincheck/alpine-3.16.0"
This reverts commit c6a356714d, reversing
changes made to 6240e2e44e.
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-26 10:42:33 +02:00
Simon L
c6a356714d Merge pull request #712 from nextcloud/dependabot/docker/Containers/domaincheck/alpine-3.16.0
Bump alpine from 3.15.4 to 3.16.0 in /Containers/domaincheck
2022-05-26 10:41:21 +02:00
Simon L
6240e2e44e Merge pull request #720 from nextcloud/enh/noid/timezone-visibility
show timezone also while container are running
2022-05-26 10:40:16 +02:00
szaimen
8dc83171d6 improve timezone
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-26 10:39:00 +02:00
Simon L
709a1315dd Merge pull request #739 from nextcloud/dependabot/composer/php/guzzlehttp/guzzle-7.4.3
Bump guzzlehttp/guzzle from 7.4.2 to 7.4.3 in /php
2022-05-26 10:32:42 +02:00
Simon L
10d686a44f Merge pull request #741 from nextcloud/fix/740/timezone
it should work even if no timezone was set
2022-05-26 10:32:26 +02:00
szaimen
0c2177bead it should work even if no timezone was set
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-26 01:57:31 +02:00
dependabot[bot]
4238044199 Bump guzzlehttp/guzzle from 7.4.2 to 7.4.3 in /php
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.2 to 7.4.3.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.4.2...7.4.3)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-25 22:25:32 +00:00
szaimen
5e1c252b2a fix detail
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-25 15:46:16 +02:00
Simon L
bdd8f87763 Merge pull request #729 from nextcloud/enh/724/rework-workflows
rework some workflows
2022-05-25 15:42:58 +02:00
szaimen
66995c9c7b rework some workflows
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-25 15:38:39 +02:00
szaimen
f7b04cda0e adjust log files to be stored in a volume
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-25 15:15:52 +02:00
szaimen
3f5f11dfd9 don't wrap windows in a details tag anymore
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-24 21:30:42 +02:00
Simon L
8be1816f92 Merge pull request #710 from nextcloud/aio-yaml-update
Yaml updates
2022-05-24 20:39:51 +02:00
szaimen
20080daa71 show timezone also while container are running
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-24 20:23:11 +02:00
szaimen
abfc70b71d ipv6 networks fail
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-24 19:43:36 +02:00
Simon L
22b702f23d Merge pull request #713 from nextcloud/enh/708/auto-backup-visibility
improve the visibility of automatic updates
2022-05-24 19:27:59 +02:00
szaimen
a53c8442fd revert 8443 http listen since this does not work
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-24 19:24:45 +02:00
Simon L
9e62e7f135 Merge pull request #719 from nextcloud/enh/noid/timezone-improvements
move the timezone change section to a better place
2022-05-24 19:09:50 +02:00
Simon L
56b6425f46 Merge pull request #670 from Eeemil/fix/https-redirects
Fix https redirects
2022-05-24 19:08:55 +02:00
szaimen
f618460a9f increase to 7775
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-24 19:07:33 +02:00
szaimen
13ca4c164a move the timezone change section to a better place
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-24 19:03:03 +02:00
Simon L
4740ff1370 Merge pull request #718 from nextcloud/fix/715/network-connections
fix the docker network
2022-05-24 18:53:08 +02:00
szaimen
b371a30531 fix the docker network
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-24 18:50:57 +02:00
dependabot[bot]
dd18312f68 Bump alpine from 3.15.4 to 3.16.0 in /Containers/domaincheck
Bumps alpine from 3.15.4 to 3.16.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-24 12:42:19 +00:00
szaimen
f17ea0f8e4 improve the visibility of automatic updates
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-24 14:40:30 +02:00
szaimen
39a40b153a Yaml updates
Signed-off-by: GitHub <noreply@github.com>
2022-05-24 12:18:38 +00:00
Simon L
331bced264 Merge pull request #704 from nextcloud/enh/701/windows-volume-docs
improve windows volume create docs
2022-05-23 20:21:38 +02:00
szaimen
dc8ec276f2 improve windows volume create docs
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-23 20:19:23 +02:00
szaimen
76bdd92c7f set PGTZ, too
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-23 20:16:05 +02:00
szaimen
8669f49811 add a note hint
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-23 20:05:30 +02:00
szaimen
f2f70904d1 fix the timezone PR
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-23 19:55:50 +02:00
szaimen
1e82bd757a use the correct warning sign
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-23 19:19:06 +02:00
szaimen
f47a45b07a add a warning for the volume create command
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-23 17:52:42 +02:00
szaimen
74cdcd27bb fix removal doc for windows
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-23 17:35:52 +02:00
Simon L
24c970b184 Merge pull request #700 from nextcloud/enh/688/windows-host-access
fix windows host access correctly
2022-05-23 17:29:38 +02:00
szaimen
cb24213a31 fix windows host access correctly
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-23 17:19:23 +02:00
szaimen
82dd888109 Revert "fix host mounts for windows"
This reverts commit 3c6cb85c74.
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-23 16:41:21 +02:00
szaimen
4c4080077e fix typo
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-23 16:19:35 +02:00
szaimen
307d6e0228 increase to 1.3.0
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-23 16:14:40 +02:00
Simon L
d42800a7a4 Merge pull request #689 from nextcloud/enh/688/winodws-host-mounts
fix host mounts for windows
2022-05-23 16:13:09 +02:00
szaimen
3c6cb85c74 fix host mounts for windows
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-23 15:55:29 +02:00
Simon L
b4a8322a1a Merge pull request #654 from nextcloud/enh/621/timezone
allow to change the timezone
2022-05-23 15:45:58 +02:00
szaimen
3e019d25f2 allow to change the timezone
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-23 15:39:09 +02:00
Simon L
a3d676b408 add redirect to https for port 8443
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-23 15:16:13 +02:00
Simon L
981166d218 Merge pull request #677 from nextcloud/fix/673/fix-port
set AIO_URL port to 443 if port 8000 was discovered
2022-05-23 15:03:51 +02:00
Simon L
0498e05f25 Merge pull request #680 from nextcloud/enh/noid/improve-domain-check
make the domain check more verbose and allow to debug it better
2022-05-23 15:03:37 +02:00
Simon L
081f6830f5 Merge pull request #696 from DavidBradette/main
Corrected typos
2022-05-23 12:52:12 +02:00
David Bradette
d0c569ba2f Update readme.md
Corrected typos.
2022-05-22 17:18:00 -06:00
Simon L
3beba0e1a8 Merge pull request #693 from nextcloud/enh/687/fedora
document how to resolve problems with firewalld
2022-05-22 19:42:35 +02:00
szaimen
c8eea9397f document how to resolve problems with firewalld
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-22 19:38:18 +02:00
Simon L
7a0c9a7f52 Merge pull request #678 from nextcloud/enh/665/reset-instance
document how to reset the instance properly
2022-05-22 13:42:04 +02:00
szaimen
46ddf8fb86 document how to reset the instance properly
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-22 13:38:23 +02:00
szaimen
3bf0a769c7 make the domain check more verbose and allow to debug it better
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-22 13:03:14 +02:00
Simon L
c9d7db4dc4 Merge pull request #682 from nextcloud/enh/681/add-nginx-proxy-manager
add nginx-proxy-manager to the reverse proxy documentation
2022-05-20 17:56:55 +02:00
szaimen
216f0a8e9e add nginx-proxy-manager to the reverse proxy documentation
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-20 17:41:11 +02:00
Simon L
ccddef46b5 Merge pull request #683 from nextcloud/enh/noid/network-create
improve the network creation
2022-05-20 16:17:08 +02:00
szaimen
2b58c544ff improve the network creation
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-20 16:10:57 +02:00
szaimen
c64bfd7253 set AIO_URL port to 443 if port 8000 was discovered
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-20 12:36:16 +02:00
Emil Marklund
d284812c6b Signing off
Signed-off-by: Emil Marklund <emil@btlcomputing.com>
2022-05-19 16:42:57 +02:00
Emil Marklund
8d0a2d3199 Fix https redirects
Signed-off-by: Emil Marklund <emil@btlcomputing.com>
2022-05-19 16:42:57 +02:00
szaimen
be7d57cf9f increase to 1.2.1
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-19 16:12:45 +02:00
Simon L
9ca1946bbc Merge pull request #652 from nextcloud/enh/638/fix-password-for-firefox
fix password copy for firefox
2022-05-19 16:11:40 +02:00
Simon L
7fc49d3f8d Merge pull request #643 from nextcloud/aio-dependency-update
Dependency updates
2022-05-19 16:10:16 +02:00
Simon L
5aa904fac0 Merge pull request #668 from nextcloud/nextcloud-container-update
Nextcloud update
2022-05-19 16:09:34 +02:00
szaimen
86af333662 nextcloud-update automated change
Signed-off-by: GitHub <noreply@github.com>
2022-05-19 12:50:02 +00:00
szaimen
8dc4bd4c43 dependency updates
Signed-off-by: GitHub <noreply@github.com>
2022-05-19 12:18:50 +00:00
szaimen
159a46db52 fix wrong quotation marks
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-18 23:44:52 +02:00
Simon L
4d29c8bf97 Merge pull request #647 from nextcloud/enh/641/migration-docs
improve migration docs
2022-05-18 22:40:24 +02:00
szaimen
3054711098 fix password copy for firefox
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-18 17:25:16 +02:00
Simon L
1cf5cf5509 Merge pull request #651 from nextcloud/dependabot/docker/Containers/postgresql/postgres-14.3-alpine3.15
Bump postgres from 14.2-alpine3.15 to 14.3-alpine3.15 in /Containers/postgresql
2022-05-18 17:17:53 +02:00
dependabot[bot]
541e030d89 Bump postgres in /Containers/postgresql
Bumps postgres from 14.2-alpine3.15 to 14.3-alpine3.15.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-18 12:31:42 +00:00
szaimen
989e11a89e adjust the headline sizes
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-17 16:16:40 +02:00
szaimen
c1d08769b4 improve migration docs
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-17 12:15:28 +02:00
Simon L
09c0e435ff Merge pull request #642 from ninoppp/patch-2
Fix migration doc by changing PGDP_PASS to PG_PASSWORD
2022-05-17 11:31:05 +02:00
Simon L
2fd91c0a28 fix it in the second place, too
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-17 11:30:13 +02:00
Simon L
b07b365046 Merge pull request #646 from DavidBradette/main
Corrected typos.
2022-05-17 11:03:03 +02:00
David Bradette
e50c63df96 Update readme.md
Corrected a typo.
2022-05-16 21:05:46 -06:00
David Bradette
e2616f79ba Update readme.md
Corrected a typo.
2022-05-16 20:57:57 -06:00
Simon L
1bb0fb7006 Merge pull request #634 from nextcloud/fix/625/onlyoffice
fix onlyoffice for caddy reverse proxy
2022-05-16 14:47:14 +02:00
szaimen
2e92a82a83 also stop the apache container
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-16 13:31:10 +02:00
szaimen
205887f17d improve the manual-upgrade documentation
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-16 13:24:51 +02:00
szaimen
02f07bce72 add docs about manual upgrade
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-16 13:06:08 +02:00
szaimen
a3568cfa00 change php updates to daily
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-16 11:34:40 +02:00
szaimen
c51f91a446 reverse proxy documentation - document that others are currently not documented
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-16 11:09:34 +02:00
szaimen
96bf19a162 correct example for synology
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-16 11:05:29 +02:00
ninoppp
4bf56d7981 Update migration.md 2022-05-15 13:11:53 +02:00
Simon L
f07f1e1deb Merge pull request #633 from nextcloud/dependabot/docker/Containers/onlyoffice/onlyoffice/documentserver-7.1.0.215
Bump onlyoffice/documentserver from 7.0.1.37 to 7.1.0.215 in /Containers/onlyoffice
2022-05-13 19:19:43 +02:00
Simon L
929f3415ed Merge pull request #631 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.0.19-apache-bullseye
Bump php from 8.0.18-apache-bullseye to 8.0.19-apache-bullseye in /Containers/mastercontainer
2022-05-13 19:19:26 +02:00
Simon L
ac3509e257 Merge pull request #630 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.0.19-fpm-alpine3.15
Bump php from 8.0.18-fpm-alpine3.15 to 8.0.19-fpm-alpine3.15 in /Containers/nextcloud
2022-05-13 19:19:09 +02:00
Simon L
b08335718d Merge pull request #632 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-20.10.16-dind-alpine3.15
Bump docker from 20.10.15-dind-alpine3.15 to 20.10.16-dind-alpine3.15 in /Containers/mastercontainer
2022-05-13 17:59:16 +02:00
Simon L
2674b61ae7 Merge pull request #619 from nextcloud/dependabot/docker/Containers/borgbackup/debian-bullseye-20220509-slim
Bump debian from bullseye-20220418-slim to bullseye-20220509-slim in /Containers/borgbackup
2022-05-13 17:59:02 +02:00
Simon L
9eded5ae02 Merge pull request #620 from nextcloud/dependabot/docker/Containers/apache/debian-bullseye-20220509-slim
Bump debian from bullseye-20220418-slim to bullseye-20220509-slim in /Containers/apache
2022-05-13 17:58:48 +02:00
Simon L
c6f9d883db Merge pull request #626 from nextcloud/enh/614/document-chmod
document that chmod is required too
2022-05-13 17:58:10 +02:00
Simon L
7d68f2f3ca Merge pull request #627 from nextcloud/enh/615/document-port-443
explain that it needs port 443 a bit better
2022-05-13 17:57:36 +02:00
szaimen
268c647e5f fix onlyoffice for caddy reverse proxy
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-13 17:14:10 +02:00
dependabot[bot]
bcf051b721 Bump onlyoffice/documentserver in /Containers/onlyoffice
Bumps onlyoffice/documentserver from 7.0.1.37 to 7.1.0.215.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-13 12:33:53 +00:00
dependabot[bot]
74bd6df049 Bump docker in /Containers/mastercontainer
Bumps docker from 20.10.15-dind-alpine3.15 to 20.10.16-dind-alpine3.15.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-13 12:32:13 +00:00
dependabot[bot]
31050b559e Bump php in /Containers/mastercontainer
Bumps php from 8.0.18-apache-bullseye to 8.0.19-apache-bullseye.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-13 12:32:10 +00:00
dependabot[bot]
a17682a533 Bump php in /Containers/nextcloud
Bumps php from 8.0.18-fpm-alpine3.15 to 8.0.19-fpm-alpine3.15.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-13 12:31:55 +00:00
Simon L
7d419695c1 Merge pull request #628 from nextcloud/aio-yaml-update
Yaml updates
2022-05-13 13:35:50 +02:00
szaimen
d23e138d2a Yaml updates
Signed-off-by: GitHub <noreply@github.com>
2022-05-13 11:34:07 +00:00
szaimen
cae24e69f8 improve latest-arm64.yml further
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-13 13:31:45 +02:00
szaimen
0b6a41f385 improve the latest-arm64.yml file
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-13 13:26:12 +02:00
szaimen
2fe227de5d explain that it needs port 443 a bit better
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-13 13:13:04 +02:00
szaimen
2faeceb05a document that chmod is required too
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-13 13:03:30 +02:00
Simon L
23b0ea7c8c Merge pull request #599 from nextcloud/enh/557/add-docker-compose
allow to run the AIO containers with docker compose
2022-05-12 17:04:55 +02:00
szaimen
668cc3694a fix the commands
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-12 16:41:05 +02:00
dependabot[bot]
3bb97b66a1 Bump debian in /Containers/apache
Bumps debian from bullseye-20220418-slim to bullseye-20220509-slim.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-12 12:35:58 +00:00
dependabot[bot]
4695e56011 Bump debian in /Containers/borgbackup
Bumps debian from bullseye-20220418-slim to bullseye-20220509-slim.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-12 12:35:45 +00:00
szaimen
e4f34ef93d add a readme
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-11 19:46:35 +02:00
szaimen
a2f99636bb update only via schedule
Signed-off-by: szaimen <szaimen@e.mail.de>

Revert "update only via schedule"

This reverts commit 86bcad9c4c0047bdc45cb12ce58ede89b8c1a07b.

Revert "Revert "update only via schedule""

This reverts commit 40a4236bd204ed65c25185c1d874378f094db6af.
2022-05-11 12:44:47 +02:00
szaimen
b003a8b49b allow to run containers without access to the docker socket
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-11 12:44:46 +02:00
szaimen
4e361e3ce2 use a different port for Nextcloud internally
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-09 21:49:19 +02:00
szaimen
ff27bd77cc fix access to the aio interface for everyone
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-09 21:00:37 +02:00
Simon L
c152fd7868 Merge pull request #606 from nextcloud/dependabot/github_actions/docker/login-action-2
Bump docker/login-action from 1 to 2
2022-05-09 19:25:45 +02:00
Simon L
e5acc9a108 Merge pull request #607 from nextcloud/dependabot/github_actions/docker/build-push-action-3
Bump docker/build-push-action from 2 to 3
2022-05-09 19:25:26 +02:00
dependabot[bot]
195d009c85 Bump docker/build-push-action from 2 to 3
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 2 to 3.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-09 17:24:07 +00:00
dependabot[bot]
710b6c562b Bump docker/login-action from 1 to 2
Bumps [docker/login-action](https://github.com/docker/login-action) from 1 to 2.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-09 17:24:03 +00:00
szaimen
bb36f7e22c fix the reported gateway problem
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-09 18:20:25 +02:00
szaimen
6d0a68abf3 fix the build
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-09 16:31:28 +02:00
szaimen
9a0e3eccde fix the build
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-09 16:15:17 +02:00
szaimen
3449cd61f1 remove the backup archive from the repo as it produced issues
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-09 16:04:44 +02:00
szaimen
b6f22a04f9 1.2.0
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-09 15:54:06 +02:00
Simon L
346824b5e1 Merge pull request #584 from nextcloud/enh/576/rework-allowed-paths
refactor allowed paths
2022-05-09 15:51:06 +02:00
szaimen
36797305d8 document that windows is currently limited
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-09 15:48:18 +02:00
Simon L
32681c4c95 Merge pull request #536 from nextcloud/enh/535/fix-permission-changes
fix docker socket permission changes
2022-05-09 15:42:25 +02:00
Simon L
f508e7b33a Merge pull request #571 from nextcloud/enh/565/dns-resolution
check the DNS resolving on startup
2022-05-09 15:42:09 +02:00
szaimen
d669a0086c refactor allowed paths
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-09 15:41:01 +02:00
Simon L
5ef9846b61 Merge pull request #602 from nextcloud/dependabot/docker/Containers/mastercontainer/caddy-2.5.1-alpine
Bump caddy from 2.5.0-alpine to 2.5.1-alpine in /Containers/mastercontainer
2022-05-09 15:05:07 +02:00
Simon L
4025ac15ae Merge pull request #601 from nextcloud/dependabot/docker/Containers/apache/caddy-2.5.1-alpine
Bump caddy from 2.5.0-alpine to 2.5.1-alpine in /Containers/apache
2022-05-09 15:04:41 +02:00
dependabot[bot]
3baaf02969 Bump caddy in /Containers/mastercontainer
Bumps caddy from 2.5.0-alpine to 2.5.1-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-09 12:30:18 +00:00
dependabot[bot]
ddf45ad73f Bump caddy from 2.5.0-alpine to 2.5.1-alpine in /Containers/apache
Bumps caddy from 2.5.0-alpine to 2.5.1-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-09 12:30:12 +00:00
szaimen
c5066f2b31 make error message more clear
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-08 17:42:10 +02:00
szaimen
3b85396afe fix detail
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-07 13:31:14 +02:00
Simon L
b9dc1b26d2 Merge pull request #593 from nextcloud/enh/568/improve-reverse-proxy
improve the reverse-proxy documentation another time
2022-05-07 13:25:02 +02:00
szaimen
375ddad429 improve the reverse-proxy documentation another time
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-07 13:22:59 +02:00
Simon L
f699c57f07 Merge pull request #595 from nextcloud/fix/594/apache-not-starting
fix apache not starting
2022-05-07 12:36:36 +02:00
Simon L
199102918e Merge pull request #592 from nextcloud/enh/543/treafik
improve the traefik reverse proxy documentation
2022-05-07 12:24:49 +02:00
szaimen
31d369117a fix apache not starting
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-07 11:25:35 +02:00
szaimen
575150fb92 fix word
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-06 21:07:30 +02:00
szaimen
b3b8c85ace add another debug point
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-06 21:05:53 +02:00
szaimen
0bf4538fb9 don't allow access from nextcloud-aio-nextcloud
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-06 20:24:12 +02:00
szaimen
0b0d872c05 document possibilities for nginx-proxy
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-06 17:12:19 +02:00
szaimen
177477d3cb improve the traefik reverse proxy documentation
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-06 17:03:54 +02:00
Simon L
ed646c5cde Merge pull request #589 from nextcloud/enh/575/caddy
add an example caddy conf to the docker-compose file
2022-05-06 16:04:40 +02:00
Simon L
44584431e2 Merge pull request #590 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-20.10.15-dind-alpine3.15
Bump docker from 20.10.14-dind-alpine3.15 to 20.10.15-dind-alpine3.15 in /Containers/mastercontainer
2022-05-06 14:32:38 +02:00
dependabot[bot]
8de4655db6 Bump docker in /Containers/mastercontainer
Bumps docker from 20.10.14-dind-alpine3.15 to 20.10.15-dind-alpine3.15.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-06 12:26:37 +00:00
Simon L
9f13f15eb2 Merge pull request #587 from marekschneider/patch-2
Fixed WebDav Uploads Nginx
2022-05-06 12:45:02 +02:00
szaimen
f732bed008 add an example caddy conf to the docker-compose file
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-06 12:40:37 +02:00
marekschneider
d02ff5fc9f Fixed WebDav Uploads Nginx
Signed-off-by: marekschneider <marek@kms.onl>
2022-05-06 12:26:19 +02:00
Simon L
b0d83d45a1 Merge pull request #573 from nextcloud/enh/565/synology-paths
allow volume directories for synology
2022-05-06 11:48:06 +02:00
Julius Härtl
be9a5f01ea Merge pull request #566 from nextcloud/enh/543/increase-timeout
increase forms error timeout
2022-05-06 09:28:32 +02:00
szaimen
895ec0387d increase error timeout
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-06 01:35:24 +02:00
szaimen
9f88384f12 document that nginx-proxy is not supported
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-06 01:02:06 +02:00
szaimen
f110d3e345 improve the reverse proxy ddocumentation again
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-06 00:34:37 +02:00
Simon L
c6ad842c62 Merge pull request #562 from nextcloud/enh/559/update-policy
document the update policy
2022-05-05 21:53:13 +02:00
Simon L
99ee0d6744 Merge pull request #574 from nextcloud/enh/570/reverse-proxy-documentation
improve the reverse proxy documentation
2022-05-05 21:45:09 +02:00
szaimen
aaf7bcca99 improve the reverse proxy documentation
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-05 21:43:25 +02:00
Simon L
84d164de41 Merge pull request #544 from nextcloud/enh/noid/system-requirements
improve optional addons section and add system requirements
2022-05-05 20:14:25 +02:00
szaimen
4759f8fad4 allow volume directories for synology
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-05 20:13:17 +02:00
Simon L
ee790d999a Merge pull request #561 from nextcloud/enh/560/verbose-output
make the variables check more verbose
2022-05-05 19:32:27 +02:00
Simon L
8ec7bb4af9 Merge pull request #555 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-21.11.4.2.1
Bump collabora/code from 21.11.4.1.1 to 21.11.4.2.1 in /Containers/collabora
2022-05-05 19:31:39 +02:00
szaimen
c5973d9875 check the DNS resolving on startup
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-05 18:36:02 +02:00
Simon L
92bca4f424 Merge pull request #563 from nextcloud/enh/494/document-options
document all options in the docker-compose file
2022-05-05 09:24:40 +02:00
Simon L
ae36756476 Merge pull request #564 from nextcloud/enh/543/traefik
add Treafik 2 to reverse proxy documentation
2022-05-05 09:22:04 +02:00
szaimen
2c4ba5f4a8 add Treafik 2 to reverse proxy documentation
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-04 18:13:08 +02:00
Simon L
0a1e2c48e6 Merge pull request #550 from bentongxyz/patch-1
change some wordings to read more smoothly
2022-05-04 15:05:03 +02:00
szaimen
61cdb6b950 document all options in the docker-compose file
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-04 10:08:17 +02:00
szaimen
d6de2ea76f fix a detail
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-04 10:02:13 +02:00
szaimen
433db49eaf document the update policy
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-04 09:42:37 +02:00
szaimen
9af6a5fe4d make the variables check more verbose
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-04 09:16:16 +02:00
szaimen
732c8e7dd9 document vps builds
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-04 09:10:58 +02:00
szaimen
7f82405c8b fix the nextcloud update workflow
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-03 14:59:57 +02:00
dependabot[bot]
abdb477e8c Bump collabora/code in /Containers/collabora
Bumps collabora/code from 21.11.4.1.1 to 21.11.4.2.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-03 12:25:37 +00:00
bentongxyz
dd19188d6f change some wordings to read more smoothly 2022-05-03 02:17:24 +08:00
Simon L
55a2f40eca Merge pull request #547 from nextcloud/dependabot/docker/Containers/talk/ubuntu-focal-20220426
Bump ubuntu from focal-20220415 to focal-20220426 in /Containers/talk
2022-05-02 19:46:03 +02:00
Simon L
de6a79ab5c Merge pull request #549 from nextcloud/dependabot/github_actions/github/codeql-action-2
Bump github/codeql-action from 1 to 2
2022-05-02 19:45:25 +02:00
dependabot[bot]
d53c2b21cb Bump github/codeql-action from 1 to 2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1 to 2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-02 17:42:11 +00:00
szaimen
3d1cf55f50 copy nextcloud-aio app to the next major update
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-02 17:01:04 +02:00
dependabot[bot]
318310efef Bump ubuntu from focal-20220415 to focal-20220426 in /Containers/talk
Bumps ubuntu from focal-20220415 to focal-20220426.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-02 12:40:32 +00:00
szaimen
531f0d7f52 improve optional addons section
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-05-02 11:31:53 +02:00
Julius Härtl
3ccc58fefd Merge pull request #545 from nextcloud/automated/noid/psalm-baseline-update-1651467315
[Automated] Update psalm-baseline.xml
2022-05-02 08:53:12 +02:00
nextcloud-command
edb987bdb7 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2022-05-02 04:55:15 +00:00
szaimen
0659414118 fix detail
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-30 12:21:09 +02:00
szaimen
82621cccdc improve the steps for the rsync backup
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-30 12:19:33 +02:00
szaimen
603ce7cca0 don't allow access from nextcloud-aio-nextcloud
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-28 21:57:19 +02:00
szaimen
8ba392ba0a fix docker socket permission changes
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-27 13:52:03 +02:00
szaimen
f518ea7fee simply turn autocomplete off
password is bad in terms of UX because you cannot see the password anymore
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-27 01:02:34 +02:00
szaimen
04b51a9467 password field should be a password
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-26 23:34:52 +02:00
szaimen
046aad7b1a increase to 1.1.0
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-26 22:00:02 +02:00
Simon L
0bd106e44a Merge pull request #527 from nextcloud/enh/525/instance-restore-process
make the instance restore process better understandable
2022-04-26 21:59:09 +02:00
Simon L
e7c24196ad Merge pull request #534 from nextcloud/enh/528/php-version
Block Nextcloud from starting if php version is not compatible with i…
2022-04-26 21:58:25 +02:00
Simon L
09f9a24fa2 Merge pull request #533 from nextcloud/enh/529/data-fingerprint
update data fingerprint when restore was done
2022-04-26 21:57:46 +02:00
Simon L
d979383993 Merge pull request #532 from nextcloud/enh/noid/improve-wording-daily-backup
improve wording regarding daily backup
2022-04-26 21:57:28 +02:00
Simon L
ca47e2d912 Merge pull request #523 from nextcloud/enh/522/improve-docker-api-version-message
improve message when docker api version is not supported
2022-04-26 21:56:58 +02:00
Simon L
2b89156bb1 Merge pull request #520 from nextcloud/enh/noid/show-initial-credentials-better
show the initial credentials more prominent when being new
2022-04-26 21:56:44 +02:00
szaimen
316ea5a618 Block Nextcloud from starting if php version is not compatible with installed NC version
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-26 19:17:38 +02:00
szaimen
8e00812e0d update data fingerprint when restore was done
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-26 15:44:13 +02:00
szaimen
e44fbc880b improve wording regarding daily backup
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-26 15:22:00 +02:00
Simon L
77fa851391 Merge pull request #531 from nextcloud/dependabot/docker/Containers/mastercontainer/caddy-2.5.0-alpine
Bump caddy from 2.4.6-alpine to 2.5.0-alpine in /Containers/mastercontainer
2022-04-26 14:44:49 +02:00
Simon L
75446409fb Merge pull request #530 from nextcloud/dependabot/docker/Containers/apache/caddy-2.5.0-alpine
Bump caddy from 2.4.6-alpine to 2.5.0-alpine in /Containers/apache
2022-04-26 14:44:32 +02:00
dependabot[bot]
249a0e4a55 Bump caddy in /Containers/mastercontainer
Bumps caddy from 2.4.6-alpine to 2.5.0-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-26 12:34:53 +00:00
dependabot[bot]
6a1ce7cd2e Bump caddy from 2.4.6-alpine to 2.5.0-alpine in /Containers/apache
Bumps caddy from 2.4.6-alpine to 2.5.0-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-26 12:34:51 +00:00
szaimen
d288bdd023 make the instance restore process better understandable
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-24 14:12:03 +02:00
szaimen
8da25b6c35 improve message when docker api version is not supported
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-23 22:16:46 +02:00
szaimen
388dadb587 show the initial credentials more prominent when being new
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-23 20:11:33 +02:00
Simon L
6037b4402b Merge pull request #519 from nextcloud/qa-test-plans-2
additional qa test plans
2022-04-23 20:01:39 +02:00
szaimen
933eddae6d additional qa test plans
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-23 19:58:20 +02:00
Simon L
e28a2c4559 Merge pull request #516 from nextcloud/enh/noid/qa-test-plans
add qa test plans
2022-04-23 19:00:54 +02:00
szaimen
1276a1a51f add qa test plans
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-23 18:58:25 +02:00
szaimen
73924df349 fix pecl dependency update regex
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-22 18:00:35 +02:00
szaimen
3ad2f2e2b1 1.0.2
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-22 17:02:22 +02:00
Simon L
bad7b8106b Merge pull request #512 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-21.11.4.1.1
Bump collabora/code from 21.11.3.6.1 to 21.11.4.1.1 in /Containers/collabora
2022-04-22 16:59:07 +02:00
Simon L
82784a0297 Merge pull request #333 from nextcloud/nextcloud-container-update
Nextcloud update
2022-04-22 16:59:01 +02:00
Simon L
1f26c70865 Update Containers/nextcloud/Dockerfile
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-22 16:56:21 +02:00
Simon L
5129fcacdd Merge pull request #513 from nextcloud/dependabot/docker/Containers/talk/ubuntu-focal-20220415
Bump ubuntu from focal-20220404 to focal-20220415 in /Containers/talk
2022-04-22 15:19:46 +02:00
szaimen
1c0ab8a9e3 nextcloud-update automated change
Signed-off-by: GitHub <noreply@github.com>
2022-04-22 12:48:09 +00:00
dependabot[bot]
0b718acf82 Bump ubuntu from focal-20220404 to focal-20220415 in /Containers/talk
Bumps ubuntu from focal-20220404 to focal-20220415.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-22 12:46:05 +00:00
dependabot[bot]
079a944c07 Bump collabora/code in /Containers/collabora
Bumps collabora/code from 21.11.3.6.1 to 21.11.4.1.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-21 12:34:40 +00:00
Julius Härtl
657e384367 Merge pull request #511 from nextcloud/automated/noid/psalm-baseline-update-1650516559
[Automated] Update psalm-baseline.xml
2022-04-21 08:25:51 +02:00
nextcloud-command
32862a4d8a Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2022-04-21 04:49:19 +00:00
szaimen
324d75bbee fix a few details
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-20 17:49:13 +02:00
szaimen
5d787e9167 increase to 1.0.1
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-20 17:27:15 +02:00
Simon L
a2047dc04b Merge pull request #497 from nextcloud/fix/489/channel-switch
refactor detection of available container updates
2022-04-20 17:26:26 +02:00
Simon L
5dfc30afa5 Merge pull request #510 from nextcloud/enh/495/send-notification
send notification for Nextcloud and app updates
2022-04-20 17:25:40 +02:00
Simon L
301f30dd2c Merge pull request #509 from nextcloud/enh/503/caddy-user
run caddy as different user
2022-04-20 17:24:11 +02:00
Simon L
dd751a9fe4 Merge pull request #507 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.0.18-apache-bullseye
Bump php from 8.0.17-apache-bullseye to 8.0.18-apache-bullseye in /Containers/mastercontainer
2022-04-20 17:21:44 +02:00
Simon L
265c0d563b Merge pull request #506 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.0.18-fpm-alpine3.15
Bump php from 8.0.17-fpm-alpine3.15 to 8.0.18-fpm-alpine3.15 in /Containers/nextcloud
2022-04-20 17:21:22 +02:00
Simon L
43aba16204 Merge pull request #505 from nextcloud/dependabot/docker/Containers/apache/debian-bullseye-20220418-slim
Bump debian from bullseye-20220328-slim to bullseye-20220418-slim in /Containers/apache
2022-04-20 17:21:06 +02:00
Simon L
324a1156a0 Merge pull request #504 from nextcloud/dependabot/docker/Containers/borgbackup/debian-bullseye-20220418-slim
Bump debian from bullseye-20220328-slim to bullseye-20220418-slim in /Containers/borgbackup
2022-04-20 17:20:50 +02:00
szaimen
d994512140 add info regarding reverse proxy in docker container
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-20 17:19:28 +02:00
szaimen
130ca73dd2 send notification for Nextcloud and app updates
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-20 17:16:43 +02:00
szaimen
456f26b9d5 run caddy as different user
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-20 17:02:57 +02:00
dependabot[bot]
37997cc091 Bump php in /Containers/mastercontainer
Bumps php from 8.0.17-apache-bullseye to 8.0.18-apache-bullseye.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-20 12:53:41 +00:00
dependabot[bot]
f3a7dfafa2 Bump php in /Containers/nextcloud
Bumps php from 8.0.17-fpm-alpine3.15 to 8.0.18-fpm-alpine3.15.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-20 12:53:36 +00:00
dependabot[bot]
6be5bb6370 Bump debian in /Containers/apache
Bumps debian from bullseye-20220328-slim to bullseye-20220418-slim.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-20 12:52:45 +00:00
dependabot[bot]
a6ffb5495e Bump debian in /Containers/borgbackup
Bumps debian from bullseye-20220328-slim to bullseye-20220418-slim.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-20 12:52:41 +00:00
szaimen
3e59616b5d remove the found a bug notice
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-18 12:06:02 +02:00
szaimen
9930a368f0 fix switching between channels
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-17 13:57:22 +02:00
szaimen
ed319492f1 wrap password change section
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-16 11:34:22 +02:00
szaimen
a0cef69483 rework setup screen
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-14 20:25:08 +02:00
szaimen
d37a0f509d change link
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-14 15:07:12 +02:00
szaimen
3c34963504 add a disclaimer to the nginx config
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-14 15:04:19 +02:00
szaimen
460469feb4 this is also needed
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-13 17:06:57 +02:00
szaimen
c642f03d43 seems like this is needed anyways
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-13 16:55:55 +02:00
szaimen
1c172b4dd7 mention OnlyOffice and ClamAV
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-13 16:21:58 +02:00
szaimen
3a79002322 improve channel info
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-13 15:56:12 +02:00
Simon L
8aeee368d4 Merge pull request #468 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-21.11.3.6.1
Bump collabora/code from 21.11.3.4.1 to 21.11.3.6.1 in /Containers/collabora
2022-04-13 15:42:22 +02:00
Simon L
541aa9c6c0 Merge pull request #478 from nextcloud/enh/noid/update-handling
improve update handling when changing channels
2022-04-13 15:41:06 +02:00
szaimen
627e9d325f fix domain config
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-13 15:39:32 +02:00
Simon L
1c85e3e825 Merge pull request #479 from nextcloud/aio-dependency-update
Dependency updates
2022-04-13 15:31:27 +02:00
Simon L
c4a8fef8e9 Merge pull request #487 from nextcloud/enh/276/beta-channel
add a beta channel
2022-04-13 15:20:47 +02:00
szaimen
76cbefafb5 adjust documentation
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-13 15:14:30 +02:00
szaimen
68447c9211 fix reviewdog
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-13 14:50:10 +02:00
szaimen
810d0590eb add a beta channel
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-13 14:39:00 +02:00
szaimen
3c81a90920 dependency updates
Signed-off-by: GitHub <noreply@github.com>
2022-04-10 12:14:47 +00:00
szaimen
d2cadf6b9f improve update handling when changing channels
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-09 14:17:53 +02:00
szaimen
18b3c76a67 update config to redirecto to discussions for questions
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-09 13:30:28 +02:00
dependabot[bot]
7312dac0f8 Bump collabora/code in /Containers/collabora
Bumps collabora/code from 21.11.3.4.1 to 21.11.3.6.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-07 12:26:50 +00:00
szaimen
dfafec2314 it is UTC not CT
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-06 22:15:26 +02:00
szaimen
947be33fcf some small improvements
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-06 21:58:01 +02:00
Simon L
340f7450ca Merge pull request #465 from nextcloud/fix/424/fix-collabora-finally
make collabora work
2022-04-06 21:17:42 +02:00
szaimen
09bbe2fd87 make collabora work
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-06 21:14:41 +02:00
Simon L
e8d66a06d1 Merge pull request #464 from nextcloud/fix/noid/small-fixes
a few small improvements
2022-04-06 21:03:18 +02:00
szaimen
c66b31901a a few small improvements
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-06 21:01:29 +02:00
Simon L
94f0a799fc Merge pull request #463 from nextcloud/enh/459/only-one-session
make sure that only one session is active at a time
2022-04-06 15:27:41 +02:00
szaimen
c00a1efdac make sure that only one session is active at a time
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-06 15:21:05 +02:00
Simon L
73227b4f9d Merge pull request #462 from nextcloud/dependabot/docker/Containers/talk/ubuntu-focal-20220404
Bump ubuntu from focal-20220316 to focal-20220404 in /Containers/talk
2022-04-06 15:07:18 +02:00
dependabot[bot]
1a65c49331 Bump ubuntu from focal-20220316 to focal-20220404 in /Containers/talk
Bumps ubuntu from focal-20220316 to focal-20220404.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-06 12:37:15 +00:00
Simon L
9ce1434f34 Merge pull request #461 from nextcloud/aio-dependency-update
Dependency updates
2022-04-06 14:22:47 +02:00
szaimen
8a62b4a2ea dependency updates
Signed-off-by: GitHub <noreply@github.com>
2022-04-06 12:22:06 +00:00
szaimen
9febf2bade increase version
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-06 14:07:43 +02:00
Simon L
098e1347a1 Merge pull request #458 from nextcloud/dependabot/docker/Containers/domaincheck/alpine-3.15.4
Bump alpine from 3.15.3 to 3.15.4 in /Containers/domaincheck
2022-04-06 14:06:22 +02:00
Simon L
74579ba7ea Merge pull request #457 from nextcloud/dependabot/docker/Containers/watchtower/alpine-3.15.4
Bump alpine from 3.15.3 to 3.15.4 in /Containers/watchtower
2022-04-06 14:06:08 +02:00
Simon L
5dc4fbdb21 Merge pull request #456 from nextcloud/aio-dependency-update
Dependency updates
2022-04-06 13:56:11 +02:00
Simon L
931b92b8b9 Merge pull request #449 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-0.104.2-3
Bump clamav/clamav from 0.104.2-2 to 0.104.2-3 in /Containers/clamav
2022-04-06 13:55:04 +02:00
Simon L
888d16d790 Merge pull request #455 from nextcloud/enh/47/auto-backup
add option to enable daily backups
2022-04-06 13:54:00 +02:00
Simon L
21086df922 Merge pull request #454 from nextcloud/fix/424/fix-collabora
fix collabora not working out of the box
2022-04-06 13:53:23 +02:00
szaimen
5185a9f4ae fix collabora not working out of the box
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-06 13:52:34 +02:00
Simon L
7eba523e86 Merge pull request #451 from nextcloud/enh/noid/improve-instance-restore
improve instance restore for when nextcloud_datadir is set/not set
2022-04-06 13:50:59 +02:00
szaimen
bcf36406a8 add option to enable daily backups
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-06 00:59:55 +02:00
dependabot[bot]
abf9684d0d Bump alpine from 3.15.3 to 3.15.4 in /Containers/domaincheck
Bumps alpine from 3.15.3 to 3.15.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-05 12:29:28 +00:00
dependabot[bot]
cbb5e8f359 Bump alpine from 3.15.3 to 3.15.4 in /Containers/watchtower
Bumps alpine from 3.15.3 to 3.15.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-05 12:29:27 +00:00
szaimen
64c3f61b48 dependency updates
Signed-off-by: GitHub <noreply@github.com>
2022-04-05 12:18:22 +00:00
szaimen
936b4ebb0f add link about borgbackup also to the readme
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-04 13:01:18 +02:00
szaimen
7db547732d some further enhancements
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-04 00:27:57 +02:00
szaimen
912fa0697d another small improvement
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-04 00:03:41 +02:00
szaimen
68fd14bc86 improve instance restore for when nextcloud_datadir is set/not set
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-03 20:46:28 +02:00
szaimen
0d4152a7f9 some further small enhancements
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-04-03 20:20:11 +02:00
dependabot[bot]
78fc3c1343 Bump clamav/clamav from 0.104.2-2 to 0.104.2-3 in /Containers/clamav
Bumps clamav/clamav from 0.104.2-2 to 0.104.2-3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-01 12:33:16 +00:00
szaimen
b4e18256a6 some small fixes
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-31 20:30:15 +02:00
szaimen
f9b13a7786 increase version
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-31 19:01:32 +02:00
szaimen
37b33c7f4b fix detail
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-31 19:00:59 +02:00
Simon L
1f819e403b Merge pull request #443 from nextcloud/enh/418/improve-backup-container-running-check
improve is_backup_container_running check
2022-03-31 17:46:29 +02:00
szaimen
e3826f85b9 improve is_backup_container_running check
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-31 16:21:19 +02:00
Simon L
3e5ab69512 Merge pull request #445 from nextcloud/enh/418/move-stuff-around
move some stuff a bit around
2022-03-31 16:09:53 +02:00
Simon L
7d6695de7e Merge pull request #444 from nextcloud/enh/418/mention-reverse-proxies-early
update the documentation to mention reverse proxies in the first place
2022-03-31 16:09:18 +02:00
Simon L
06dd83f07a Merge pull request #442 from nextcloud/enh/418/show-current-status-better
improve showing the current status
2022-03-31 16:06:05 +02:00
Simon L
cd055c0838 Merge pull request #441 from nextcloud/enh/418/add-before-unload
add before-unload animation
2022-03-31 16:04:40 +02:00
Simon L
1e3bb9ccfe Merge pull request #440 from nextcloud/fix/418/improve-restore-process
improve the restore process
2022-03-31 16:04:01 +02:00
Simon L
7144eb84ff Merge pull request #439 from nextcloud/fix/424/try-to-fix-collabora
try to fix collabora
2022-03-31 15:55:27 +02:00
Simon L
def87f38e8 Merge pull request #438 from nextcloud/enh/242/document-external-backup
document how to create backup on external drive
2022-03-31 15:54:19 +02:00
Simon L
0a63b49504 Merge pull request #436 from nextcloud/dependabot/github_actions/actions/checkout-3
Bump actions/checkout from 2 to 3
2022-03-31 15:50:59 +02:00
Simon L
e672a5029b Merge pull request #437 from nextcloud/enh/315/add-nginx
improve reverse proxy conf - add nginx
2022-03-31 15:48:58 +02:00
Simon L
e22c6d6cef Merge pull request #435 from nextcloud/dependabot/github_actions/peter-evans/create-pull-request-4
Bump peter-evans/create-pull-request from 3 to 4
2022-03-31 15:48:08 +02:00
Simon L
2290c0aede Merge pull request #433 from nextcloud/dependabot/docker/Containers/domaincheck/alpine-3.15.3
Bump alpine from 3.15.1 to 3.15.3 in /Containers/domaincheck
2022-03-31 15:47:26 +02:00
dependabot[bot]
e448bc1f64 Bump alpine from 3.15.1 to 3.15.3 in /Containers/domaincheck
Bumps alpine from 3.15.1 to 3.15.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-31 13:47:13 +00:00
Simon L
fb898b0ab3 Merge pull request #432 from nextcloud/dependabot/docker/Containers/apache/debian-bullseye-20220328-slim
Bump debian from bullseye-20220316-slim to bullseye-20220328-slim in /Containers/apache
2022-03-31 15:46:35 +02:00
Simon L
9cb2801e0f Merge pull request #431 from nextcloud/dependabot/docker/Containers/borgbackup/debian-bullseye-20220328-slim
Bump debian from bullseye-20220316-slim to bullseye-20220328-slim in /Containers/borgbackup
2022-03-31 15:46:00 +02:00
Simon L
d7a528075a Merge pull request #422 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-20.10.14-dind-alpine3.15
Bump docker from 20.10.13-dind-alpine3.15 to 20.10.14-dind-alpine3.15 in /Containers/mastercontainer
2022-03-31 15:45:17 +02:00
dependabot[bot]
9c80cc1bb3 Bump docker in /Containers/mastercontainer
Bumps docker from 20.10.13-dind-alpine3.15 to 20.10.14-dind-alpine3.15.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-31 13:44:32 +00:00
Simon L
8d93da24d6 Merge pull request #430 from nextcloud/dependabot/docker/Containers/watchtower/alpine-3.15.3
Bump alpine from 3.15.1 to 3.15.3 in /Containers/watchtower
2022-03-31 15:44:30 +02:00
Simon L
faaa59e29a Merge pull request #429 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-21.11.3.4.1
Bump collabora/code from 21.11.2.4.1 to 21.11.3.4.1 in /Containers/collabora
2022-03-31 15:43:54 +02:00
Simon L
3b1014d34d Merge pull request #417 from nextcloud/aio-dependency-update
Dependency updates
2022-03-31 15:43:15 +02:00
szaimen
3e9b191f94 move some stuff a bit around
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-30 18:21:51 +02:00
szaimen
b95bb65af8 update the documentation to mention reverse proxies in the first place
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-30 18:14:28 +02:00
szaimen
b72a1c0e59 improve showing the current status
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-30 17:30:22 +02:00
szaimen
8c7e0bc63a add before-unload animation
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-30 17:06:01 +02:00
szaimen
f5e8e5630d improve the restore process
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-30 16:35:04 +02:00
szaimen
89ff6ea408 try to fix collabora
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-30 14:37:02 +02:00
szaimen
814f4942f5 dependency updates
Signed-off-by: GitHub <noreply@github.com>
2022-03-30 12:21:43 +00:00
szaimen
0941b6dee0 document how to create backup on external drive
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-30 14:16:53 +02:00
szaimen
ae36403762 improve reverse proxy conf - add nginx
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-30 14:05:09 +02:00
dependabot[bot]
30eaaaa5f9 Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-30 11:34:46 +00:00
dependabot[bot]
92a96ca245 Bump peter-evans/create-pull-request from 3 to 4
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3 to 4.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v3...v4)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-30 11:34:41 +00:00
szaimen
59a49c62b4 add github actions workflow
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-30 13:34:08 +02:00
dependabot[bot]
0b9108f566 Bump debian in /Containers/apache
Bumps debian from bullseye-20220316-slim to bullseye-20220328-slim.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-29 12:38:02 +00:00
dependabot[bot]
7c04f844a1 Bump debian in /Containers/borgbackup
Bumps debian from bullseye-20220316-slim to bullseye-20220328-slim.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-29 12:38:02 +00:00
dependabot[bot]
c2056ec215 Bump alpine from 3.15.1 to 3.15.3 in /Containers/watchtower
Bumps alpine from 3.15.1 to 3.15.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-29 12:38:01 +00:00
dependabot[bot]
8032f5b966 Bump collabora/code in /Containers/collabora
Bumps collabora/code from 21.11.2.4.1 to 21.11.3.4.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-28 12:35:44 +00:00
szaimen
c79d46b868 ad a test to rsync script
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-26 19:38:17 +01:00
szaimen
1e7161d524 add notification to rsync script
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-26 19:25:12 +01:00
szaimen
3eede90e86 fix the restore UX flow and some other small improvements
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-22 23:18:46 +01:00
Simon L
33c822fd1e Merge pull request #410 from nextcloud/enh/38/allow-to-restore-instance-from-backup
allow to restore the whole instance from backup
2022-03-22 20:51:27 +01:00
szaimen
32935d1c33 move nextcloud talk once up
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-22 20:49:49 +01:00
szaimen
72ca611d2f don't put password change in a details tag
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-22 20:47:16 +01:00
szaimen
6c6c56fa1b allow to restore the whole instance from backup
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-22 20:31:06 +01:00
Simon L
6aa0b7097a Merge pull request #415 from nextcloud/enh/noid/reorder-interface
reorder the aio interface a bit more
2022-03-22 20:26:32 +01:00
szaimen
89caf9d725 reorder the aio interface a bit more
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-22 20:24:50 +01:00
szaimen
90ba2f7e92 fix a few things
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-22 19:37:31 +01:00
Simon L
55f4a8ec7f Merge pull request #414 from nextcloud/enh/noid/update-nextcloud
update Nextcloud to 23.0.3
2022-03-22 19:33:45 +01:00
szaimen
5f130528ce increase version to v0.9.0
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-22 13:45:15 +01:00
szaimen
9cffb5a6ee update Nextcloud to 23.0.3
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-22 13:41:07 +01:00
Simon L
164f7026b0 Merge pull request #412 from nextcloud/dependabot/composer/php/guzzlehttp/guzzle-7.4.2
Bump guzzlehttp/guzzle from 7.4.1 to 7.4.2 in /php
2022-03-21 22:53:42 +01:00
dependabot[bot]
a89358ead8 Bump guzzlehttp/guzzle from 7.4.1 to 7.4.2 in /php
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.1 to 7.4.2.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.4.1...7.4.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-21 12:46:19 +00:00
Simon L
31bba7ab80 Merge pull request #399 from nextcloud/enh/396/support-windows-paths
add support for Windows paths
2022-03-21 12:07:17 +01:00
Simon L
7d49155fc1 Merge pull request #394 from nextcloud/enh/381/cleanup-interface-a-bit
clean up the AIO interface a bit
2022-03-21 12:07:04 +01:00
szaimen
9dfe5ab770 make port description better for talk
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-21 12:01:48 +01:00
szaimen
87e018b55f improve the open port documentation
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-19 07:42:03 +01:00
szaimen
fa916c95a7 improve some documentation
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-19 07:34:58 +01:00
szaimen
dbef6f1d4a move sections
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-19 06:34:13 +01:00
Simon L
fe83acd3cc Merge pull request #395 from nextcloud/enh/noid/windows-docs
add docs on how to run it on windows and improve macOS docs
2022-03-19 06:20:59 +01:00
szaimen
3a0ad6a66f add header
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-19 06:16:10 +01:00
szaimen
1976223efb improve issue templates
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-19 06:10:44 +01:00
szaimen
9ff9a7901c fix talk hpb
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-18 18:40:43 +01:00
Simon L
9c6425308f Merge pull request #402 from nextcloud/enh/400/increase-talk-hpb-limit
adjust talk hpb config
2022-03-18 16:17:38 +01:00
szaimen
52c926e052 adjust talk hpb config
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-18 16:13:56 +01:00
Simon L
1854417c28 Merge pull request #405 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.0.17-fpm-alpine3.15
Bump php from 8.0.16-fpm-alpine3.15 to 8.0.17-fpm-alpine3.15 in /Containers/nextcloud
2022-03-18 13:33:27 +01:00
Simon L
9cc4393e99 Merge pull request #404 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.0.17-apache-bullseye
Bump php from 8.0.16-apache-bullseye to 8.0.17-apache-bullseye in /Containers/mastercontainer
2022-03-18 13:32:58 +01:00
Simon L
cfa207916e Merge pull request #403 from nextcloud/dependabot/docker/Containers/talk/ubuntu-focal-20220316
Bump ubuntu from focal-20220302 to focal-20220316 in /Containers/talk
2022-03-18 13:32:32 +01:00
dependabot[bot]
7586ecefad Bump php in /Containers/nextcloud
Bumps php from 8.0.16-fpm-alpine3.15 to 8.0.17-fpm-alpine3.15.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-18 12:31:10 +00:00
dependabot[bot]
12e30fe316 Bump php in /Containers/mastercontainer
Bumps php from 8.0.16-apache-bullseye to 8.0.17-apache-bullseye.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-18 12:31:00 +00:00
dependabot[bot]
4c50b606bc Bump ubuntu from focal-20220302 to focal-20220316 in /Containers/talk
Bumps ubuntu from focal-20220302 to focal-20220316.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-18 12:30:55 +00:00
szaimen
38bd04ded9 add docs on how to run it on windows
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-18 11:44:53 +01:00
szaimen
95ba20d7f9 add support for Windows paths
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-18 11:15:26 +01:00
szaimen
ff042fc742 clean up the AIO interface a bit
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-18 11:03:46 +01:00
Simon L
8fedcb4810 Merge pull request #391 from nextcloud/dependabot/docker/Containers/watchtower/alpine-3.15.1
Bump alpine from 3.15.0 to 3.15.1 in /Containers/watchtower
2022-03-17 13:36:14 +01:00
Simon L
9a85799220 Merge pull request #390 from nextcloud/dependabot/docker/Containers/domaincheck/alpine-3.15.1
Bump alpine from 3.15.0 to 3.15.1 in /Containers/domaincheck
2022-03-17 13:36:04 +01:00
dependabot[bot]
7fc95050d4 Bump alpine from 3.15.0 to 3.15.1 in /Containers/watchtower
Bumps alpine from 3.15.0 to 3.15.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-17 12:33:25 +00:00
dependabot[bot]
666064389b Bump alpine from 3.15.0 to 3.15.1 in /Containers/domaincheck
Bumps alpine from 3.15.0 to 3.15.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-17 12:33:18 +00:00
Simon L
7c333037fc Merge pull request #385 from nextcloud/enh/366/macos
add docs for macOS and improve docker testing
2022-03-17 12:32:39 +01:00
Simon L
955692a874 Merge pull request #387 from nextcloud/dependabot/docker/Containers/borgbackup/debian-bullseye-20220316-slim
Bump debian from bullseye-20220125-slim to bullseye-20220316-slim in /Containers/borgbackup
2022-03-17 12:03:24 +01:00
dependabot[bot]
f2b26d262f Bump debian in /Containers/borgbackup
Bumps debian from bullseye-20220125-slim to bullseye-20220316-slim.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-17 11:01:22 +00:00
Simon L
c46b81da93 Merge pull request #388 from nextcloud/dependabot/docker/Containers/apache/debian-bullseye-20220316-slim
Bump debian from bullseye-20220228-slim to bullseye-20220316-slim in /Containers/apache
2022-03-17 12:00:45 +01:00
dependabot[bot]
be0bad4740 Bump debian in /Containers/apache
Bumps debian from bullseye-20220228-slim to bullseye-20220316-slim.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-17 10:57:30 +00:00
Simon L
f40f4a54b6 Merge pull request #384 from nextcloud/enh/noid/onlyoffice-talk-collabora
add onlyoffice and allow to disable talk and collabora
2022-03-17 11:57:10 +01:00
szaimen
1b86445b6a add onlyoffice and allow to disable talk and collabora
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-17 11:37:41 +01:00
szaimen
7bcd0c16c0 add docs for macOS and improve docker testing
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-17 10:58:04 +01:00
Simon L
68ac85e60b Merge pull request #380 from nextcloud/automated/noid/psalm-baseline-update-1647491101
[Automated] Update psalm-baseline.xml
2022-03-17 09:33:06 +01:00
nextcloud-command
8ce9bd2cc2 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2022-03-17 04:25:00 +00:00
szaimen
ea098a4d1a wait for clamav to become available
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-16 22:29:33 +01:00
szaimen
b5e45e270b increase version to v0.8.0
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-16 16:02:01 +01:00
Simon L
1fc8f2dd0f Merge pull request #339 from nextcloud/enh/noid/improve-logging
improve error logging in dockeractionmanager
2022-03-16 15:49:00 +01:00
Julius Härtl
8317b30658 Add error middleware
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-03-16 15:43:48 +01:00
szaimen
1a62857df7 improve error logging in dockeractionmanager
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-16 15:43:48 +01:00
szaimen
172ae49cdf improve/fix some things
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-16 14:41:52 +01:00
szaimen
d385d43af0 fix clamav build
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-16 13:38:23 +01:00
Simon L
064ea0f931 Merge pull request #378 from nextcloud/enh/376/add-clamav
add clamav as option
2022-03-16 13:17:33 +01:00
szaimen
7f645b1c1a fix psalm like this as no idea how to fix that
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-16 13:14:05 +01:00
szaimen
38726f039a add clamav as option
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-16 13:14:05 +01:00
Simon L
79fdbee6b4 Merge pull request #347 from nextcloud/enh/noid/move-inline-js-to-file
move inline javascript to its own file
2022-03-16 13:08:51 +01:00
szaimen
4c304d8775 move inline javascript to its own file
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-16 13:07:13 +01:00
Simon L
8a21f2a8f5 Merge pull request #377 from nextcloud/enh/noid/move-mastercontainer
move the mastercontainer section
2022-03-16 13:02:33 +01:00
Simon L
1be6c725c2 Merge pull request #379 from nextcloud/automated/noid/psalm-baseline-update-1647404662
[Automated] Update psalm-baseline.xml
2022-03-16 13:01:19 +01:00
nextcloud-command
c6d40e91e0 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2022-03-16 04:24:21 +00:00
szaimen
4fc4ca1e3e move the mastercontainer section
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-15 19:28:01 +01:00
Simon L
31f86c1570 Merge pull request #375 from nextcloud/enh/374/list-newest-backups-first
list newest backups first
2022-03-15 16:46:42 +01:00
Simon L
a8d380ec7a Merge pull request #370 from nextcloud/enh/noid/allow-upgrades-always
allow to upgrade the mastercontainer even if no update was found
2022-03-15 16:46:34 +01:00
Simon L
6dd88239d1 Merge pull request #372 from nextcloud/enh/noid/restarting-state
allow to check for restarting state
2022-03-15 16:46:02 +01:00
szaimen
ead69baae3 simplify syntax to make it better understandable
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-15 16:30:09 +01:00
szaimen
6be1154914 list newest backups first
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-15 16:02:43 +01:00
Simon L
f9772a856c Merge pull request #373 from nextcloud/aio-dependency-update
Dependency updates
2022-03-15 13:21:54 +01:00
szaimen
83ae27ef76 allow to check for restarting state
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-15 13:19:26 +01:00
szaimen
e60949aec9 dependency updates
Signed-off-by: GitHub <noreply@github.com>
2022-03-15 12:14:50 +00:00
Simon L
817df30465 Merge pull request #352 from nextcloud/enh/fix-domaincheck-startup
fix domaincheck startup
2022-03-15 12:25:55 +01:00
Simon L
07ad9a7eb8 Merge pull request #371 from nextcloud/automated/noid/psalm-baseline-update-1647318331
[Automated] Update psalm-baseline.xml
2022-03-15 10:25:07 +01:00
nextcloud-command
9c96806084 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2022-03-15 04:25:31 +00:00
szaimen
0e1edde3a7 allow to upgrade the mastercontainer even if no update was found
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-14 22:40:13 +01:00
szaimen
8661bdf020 run locking once a day
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-14 20:47:37 +01:00
szaimen
c3579476c6 improve logging of rate limit issues
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-14 17:20:45 +01:00
szaimen
ae349b8afb log if not pulling the latest database image
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-14 17:11:36 +01:00
Simon L
20bf2cfa7e Merge pull request #369 from nextcloud/enh/345/get-caddy-apcu-correctly
get caddy and apcu correctly
2022-03-14 16:43:21 +01:00
Simon L
0cbffeb90a Merge pull request #368 from nextcloud/enh/55/disallow-local-external-storage
Disallow creation of local external storage in some cases
2022-03-14 16:43:13 +01:00
szaimen
8983a97ef6 get caddy and apcu correctly
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-14 16:28:07 +01:00
szaimen
0670c7cedf Disallow creation of local external storage in some cases
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-14 15:35:37 +01:00
Simon L
cd00e5af83 Merge pull request #348 from nextcloud/enh/noid/refactor-some-logic
refactor some config logic
2022-03-14 15:17:48 +01:00
Simon L
2c7146b15f Merge pull request #343 from nextcloud/enh/340/add-headings
add some sensible headings
2022-03-14 15:02:38 +01:00
Simon L
975f4220d4 Merge pull request #338 from nextcloud/enh/noid/domain-change-docs
add docs for how to change domain in button
2022-03-14 15:01:47 +01:00
Simon L
6beaa3b391 Merge pull request #336 from nextcloud/enh/noid/allow-to-get-mastercontainer-logs
allow to get the mastercontainer logs from the frontend
2022-03-14 15:01:08 +01:00
Simon L
6b3cba411e Merge pull request #335 from nextcloud/enh/noid/disallow-database-update-if-failed
correctly disable database update if it failed before
2022-03-14 15:00:55 +01:00
szaimen
ab747de69d adress review
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-14 14:59:46 +01:00
szaimen
480b57178b lock closed issues after 14 days of inactivity
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-13 20:42:39 +01:00
szaimen
c9650aa0ef add issue templates and config
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-13 19:30:10 +01:00
szaimen
0e660f4c04 don't wait for collabora since we might allow to disable it in the future
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-13 18:31:07 +01:00
szaimen
6722dee1d6 fix attempt
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-12 22:50:34 +01:00
szaimen
79af222c2d fix startdomaincheckcontainer logic
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-12 22:50:34 +01:00
szaimen
79473fac76 refactor some config logic
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-11 17:28:55 +01:00
Simon L
9b11c817b2 Merge pull request #344 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-20.10.13-dind-alpine3.15
Bump docker from 20.10.12-dind-alpine3.15 to 20.10.13-dind-alpine3.15 in /Containers/mastercontainer
2022-03-11 13:25:49 +01:00
dependabot[bot]
fb05818764 Bump docker in /Containers/mastercontainer
Bumps docker from 20.10.12-dind-alpine3.15 to 20.10.13-dind-alpine3.15.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-11 12:23:54 +00:00
szaimen
15a289e820 fix typo in backup script
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-11 09:27:38 +01:00
szaimen
d5868a9626 add some sensible headings
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-11 09:25:38 +01:00
szaimen
22d3b0ba30 allow to get the mastercontainer logs from the frontend
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-09 19:00:04 +01:00
szaimen
2b98a936b9 correctly disable database update if it failed before
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-09 18:31:44 +01:00
szaimen
3263184e8f add docs for how to change domain in button
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-03-09 17:12:16 +01:00
129 changed files with 4931 additions and 850 deletions

32
.github/ISSUE_TEMPLATE/Bug_report.md vendored Normal file
View File

@@ -0,0 +1,32 @@
---
name: 🐛 Bug report
about: Help us improving by reporting a bug
labels: bug, 0. Needs triage
---
<!--- Please keep this note for other contributors -->
### How to use GitHub
* Please use the 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to show that you are affected by the same issue.
* Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
* Subscribe to receive notifications on status change and new comments.
<!--- Please fill out the whole template below -->
### Steps to reproduce
1.
2.
3.
### Expected behavior <!--- Tell us what should happen -->
### Actual behavior <!--- Tell us what happens instead -->
### Host OS <!--- (the host OS on which you are trying to install AIO on) -->
#### Nextcloud AIO version <!--- (see Nextcloud AIO interface) -->
#### Current channel <!--- (see the channel name in the AIO interface) -->
#### Other valuable info <!--- (like logs, screenshots & Co.) -->

View File

@@ -0,0 +1,24 @@
---
name: 📖 Existing feature/documentation enhancement
about: Suggest an enhancement of an existing feature/documentation - for other types, please use the feature request option below
labels: enhancement, 0. Needs triage
---
<!--- Please keep this note for other contributors -->
### How to use GitHub
* Please use the 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to show that you are interested into the same feature.
* Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
* Subscribe to receive notifications on status change and new comments.
<!--- Please fill out the whole template below -->
### Is your feature request related to a problem? Please describe.
<!--- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->
### Describe the solution you'd like
<!--- A clear and concise description of what you want to happen. -->
### Describe alternatives you've considered
<!--- A clear and concise description of any alternative solutions or features you've considered. -->
### Additional context
<!--- Add any other context or screenshots about the feature request below. -->

14
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: 💡 Suggest a new feature or discuss one
url: https://github.com/nextcloud/all-in-one/discussions/categories/ideas
about: For new feature requests and discussion of existing ones
- name: ❓ Questions on AIO
url: https://github.com/nextcloud/all-in-one/discussions/categories/questions
about: For questions regarding AIO
- name: ⛑️ Community Support and Help
url: https://help.nextcloud.com/tag/aio
about: For other types of questions
- name: 💼 Nextcloud Enterprise
url: https://portal.nextcloud.com/
about: If you are a Nextcloud Enterprise customer, or need Professional support, so it can be resolved directly by our dedicated engineers more quickly

View File

@@ -1,9 +1,15 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
time: "12:00"
open-pull-requests-limit: 10
- package-ecosystem: composer
directory: "/php/"
schedule:
interval: daily
interval: "daily"
time: "12:00"
open-pull-requests-limit: 10
labels:
@@ -86,6 +92,9 @@ updates:
schedule:
interval: "daily"
time: "12:00"
ignore:
- dependency-name: "redis"
update-types: ["version-update:semver-major"]
open-pull-requests-limit: 10
labels:
- 3. to review
@@ -108,3 +117,42 @@ updates:
labels:
- 3. to review
- dependencies
- package-ecosystem: "docker"
directory: "/Containers/clamav"
schedule:
interval: "daily"
time: "12:00"
open-pull-requests-limit: 10
labels:
- 3. to review
- dependencies
- package-ecosystem: "docker"
directory: "/Containers/onlyoffice"
schedule:
interval: "daily"
time: "12:00"
open-pull-requests-limit: 10
labels:
- 3. to review
- dependencies
- package-ecosystem: "docker"
directory: "/Containers/imaginary"
schedule:
interval: "daily"
time: "12:00"
open-pull-requests-limit: 10
labels:
- 3. to review
- dependencies
- package-ecosystem: "docker"
directory: "/Containers/fulltextsearch"
schedule:
interval: "daily"
time: "12:00"
ignore:
- dependency-name: "elasticsearch"
update-types: ["version-update:semver-major"]
open-pull-requests-limit: 10
labels:
- 3. to review
- dependencies

51
.github/workflows/command-rebase.yml vendored Normal file
View File

@@ -0,0 +1,51 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Rebase command
on:
issue_comment:
types: created
permissions:
contents: read
jobs:
rebase:
runs-on: ubuntu-latest
permissions:
contents: none
# On pull requests and if the comment starts with `/rebase`
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/rebase')
steps:
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@v2
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reaction-type: "+1"
- name: Checkout the latest code
uses: actions/checkout@v3
with:
fetch-depth: 0
token: ${{ secrets.COMMAND_BOT_PAT }}
- name: Automatic Rebase
uses: cirrus-actions/rebase@1.7
env:
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@v2
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reaction-type: "-1"

View File

@@ -31,21 +31,21 @@ jobs:
APCU
- name: Log in to GitHub Docker Registry
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
registry: docker.pkg.github.com
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Log in to GitHub Container Registry
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build container image
uses: docker/build-push-action@v2
uses: docker/build-push-action@v3
with:
push: true
context: 'psalm-github-actions'

View File

@@ -9,7 +9,7 @@ jobs:
name: Run dependency update script
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- uses: nanasess/setup-php@master
with:
php-version: '8.0'
@@ -22,7 +22,7 @@ jobs:
cd ./php
composer update
set +e
ALL_LINES="$(composer outdated | grep -v "psr/container")"
ALL_LINES="$(composer outdated | grep -v "psr/container\|^$\|Direct dependencies\|Everything up to date\|Transitive dependencies")"
set -e
while [ -n "$ALL_LINES" ]; do
CURRENT_LINE="$(echo "$ALL_LINES" | head -1)"
@@ -31,8 +31,20 @@ jobs:
done
echo "outdated dependencies:
$(composer outdated)"
- name: Update apcu
run: |
# APCU
apcu_version="$(
git ls-remote --tags https://github.com/krakjoe/apcu.git \
| cut -d/ -f3 \
| grep -viE -- 'rc|b' \
| sed -E 's/^v//' \
| sort -V \
| tail -1
)"
sed -i "s|pecl install APCu.*\;|pecl install APCu-$apcu_version\;|" ./Containers/mastercontainer/Dockerfile
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
uses: peter-evans/create-pull-request@v4
with:
commit-message: dependency updates
signoff: true

20
.github/workflows/json-validator.yml vendored Normal file
View File

@@ -0,0 +1,20 @@
name: Json Validator
on:
pull_request:
push:
branches:
- main
jobs:
psalm:
name: Json Validator
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Validate Json
run: |
sudo apt install python3-pip --no-install-recommends
sudo pip3 install json-spec
json validate --schema-file=php/containers-schema.json --document-file=php/containers.json

48
.github/workflows/lint-php.yml vendored Normal file
View File

@@ -0,0 +1,48 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Lint
on:
pull_request:
push:
branches:
- main
- master
- stable*
jobs:
php-lint:
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: ["8.0"]
name: php-lint
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
coverage: none
- name: Lint
run: cd php && composer run lint
summary:
runs-on: ubuntu-latest
needs: php-lint
if: always()
name: php-lint-summary
steps:
- name: Summary status
run: if ${{ needs.php-lint.result != 'success' && needs.php-lint.result != 'skipped' }}; then exit 1; fi

20
.github/workflows/lock-threads.yml vendored Normal file
View File

@@ -0,0 +1,20 @@
name: 'Lock Threads'
on:
schedule:
- cron: '0 0 * * *'
permissions:
issues: write
concurrency:
group: lock
jobs:
action:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v3
with:
issue-inactive-days: '14'
process-only: 'issues'

View File

@@ -10,7 +10,7 @@ jobs:
name: Run nextcloud-update script
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Run nextcloud-update script
run: |
# Inspired by https://github.com/nextcloud/docker/blob/master/update.sh
@@ -19,7 +19,7 @@ jobs:
apcu_version="$(
git ls-remote --tags https://github.com/krakjoe/apcu.git \
| cut -d/ -f3 \
| grep -vE -- '-rc|-b' \
| grep -viE -- 'rc|b' \
| sed -E 's/^v//' \
| sort -V \
| tail -1
@@ -30,7 +30,7 @@ jobs:
memcached_version="$(
git ls-remote --tags https://github.com/php-memcached-dev/php-memcached.git \
| cut -d/ -f3 \
| grep -vE -- '-rc|-b' \
| grep -viE -- 'rc|b' \
| sed -E 's/^[rv]//' \
| sort -V \
| tail -1
@@ -60,11 +60,12 @@ jobs:
sed -i "s|pecl install imagick.*\;|pecl install imagick-$imagick_version\;|" ./Containers/nextcloud/Dockerfile
# Nextcloud
NCVERSION=$(curl -s -m 900 https://download.nextcloud.com/server/releases/ | sed --silent 's/.*href="nextcloud-\([^"]\+\).zip.asc".*/\1/p' | sort --version-sort | tail -1)
NC_MAJOR="$(grep "ENV NEXTCLOUD_VERSION" ./Containers/nextcloud/Dockerfile | grep -oP '[23][0-9]')"
NCVERSION=$(curl -s -m 900 https://download.nextcloud.com/server/releases/ | sed --silent 's/.*href="nextcloud-\([^"]\+\).zip.asc".*/\1/p' | grep "$NC_MAJOR" | sort --version-sort | tail -1)
sed -i "s|^ENV NEXTCLOUD_VERSION.*|ENV NEXTCLOUD_VERSION $NCVERSION|" ./Containers/nextcloud/Dockerfile
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
uses: peter-evans/create-pull-request@v4
with:
commit-message: nextcloud-update automated change
signoff: true

View File

@@ -3,16 +3,26 @@ name: Psalm Analysis
on:
pull_request:
push:
branches:
- main
jobs:
psalm:
name: Psalm
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Psalm
uses: docker://ghcr.io/nextcloud/all-in-one-psalm
- uses: actions/checkout@v3
- name: Set up php8.0
uses: shivammathur/setup-php@v2
with:
composer_ignore_platform_reqs: false
relative_dir: php
php-version: 8.0
extensions: apcu
coverage: none
- name: Run script
run: |
set -x
cd php
composer global require vimeo/psalm --prefer-dist --no-progress --dev
composer install
composer run psalm

View File

@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Psalm
uses: docker://ghcr.io/nextcloud/all-in-one-psalm
with:
@@ -20,6 +20,6 @@ jobs:
composer_ignore_platform_reqs: false
report_file: results.sarif
- name: Upload Security Analysis results to GitHub
uses: github/codeql-action/upload-sarif@v1
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: php/results.sarif

View File

@@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Set up php8.0
uses: shivammathur/setup-php@v2
@@ -31,7 +31,7 @@ jobs:
continue-on-error: true
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
uses: peter-evans/create-pull-request@v4
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: Update psalm baseline

View File

@@ -3,13 +3,15 @@ name: Shellcheck
on:
pull_request:
push:
branches:
- main
jobs:
shellcheck:
name: Github Actions
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Run Shellcheck
uses: ludeeus/action-shellcheck@master
with:

View File

@@ -3,6 +3,8 @@ name: 'Spellcheck'
on:
pull_request:
push:
branches:
- main
jobs:
spellcheck:
@@ -10,7 +12,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: spelling or typos
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: fix permission for reviewdog
run: sudo chown -R root:root $GITHUB_WORKSPACE
- name: misspell
uses: reviewdog/action-misspell@v1
with:

27
.github/workflows/update-yaml.yml vendored Normal file
View File

@@ -0,0 +1,27 @@
name: Update Yaml files
on:
workflow_dispatch:
schedule:
- cron: '00 12 * * *'
jobs:
psalm:
name: update yaml files
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: update yaml files
run: |
sudo bash manual-install/update-yaml.sh
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4
with:
commit-message: Yaml updates
signoff: true
title: Yaml updates
body: Automated yaml updates for the docker-compose files. Should only be merged shortly before the next latest release.
labels: dependencies
milestone: next
branch: aio-yaml-update

3
.gitignore vendored
View File

@@ -3,3 +3,6 @@
/php/data/configuration.json
/php/data/backupsecret.json
/php/vendor
/manual-install/*.conf
!/manual-install/sample.conf
/manual-install/docker-compose.yml

View File

@@ -1 +1 @@
* @szaimen @LukasReschke @azul @juliushaertl
* @szaimen @juliushaertl

View File

@@ -11,24 +11,44 @@
# Notify Push
route /push/* {
uri strip_prefix /push
reverse_proxy {$NEXTCLOUD_HOST}:7867
reverse_proxy {$NEXTCLOUD_HOST}:7867 {
# trusted_proxies placeholder
}
}
# Talk
route /standalone-signaling/* {
uri strip_prefix /standalone-signaling
reverse_proxy {$TALK_HOST}:8081
reverse_proxy {$TALK_HOST}:8081 {
# trusted_proxies placeholder
}
}
# Collabora
route /browser/* {
reverse_proxy {$COLLABORA_HOST}:9980
reverse_proxy {$COLLABORA_HOST}:9980 {
# trusted_proxies placeholder
}
}
route /hosting/* {
reverse_proxy {$COLLABORA_HOST}:9980
reverse_proxy {$COLLABORA_HOST}:9980 {
# trusted_proxies placeholder
}
}
route /cool/* {
reverse_proxy {$COLLABORA_HOST}:9980
reverse_proxy {$COLLABORA_HOST}:9980 {
# trusted_proxies placeholder
}
}
# Onlyoffice
route /onlyoffice/* {
uri strip_prefix /onlyoffice
reverse_proxy {$ONLYOFFICE_HOST}:80 {
header_up X-Forwarded-Host {http.request.host}/onlyoffice
header_up X-Forwarded-Proto https
# trusted_proxies placeholder
}
}
# Nextcloud
@@ -36,7 +56,10 @@
rewrite /.well-known/carddav /remote.php/dav
rewrite /.well-known/caldav /remote.php/dav
header Strict-Transport-Security max-age=31536000;
reverse_proxy localhost:80
reverse_proxy localhost:8000 {
# See https://github.com/nextcloud/all-in-one/issues/828
# trusted_proxies placeholder
}
}
# TLS options

View File

@@ -1,6 +1,7 @@
FROM debian:bullseye-20220228-slim
# Caddy is a requirement
FROM caddy:2.5.2-alpine as caddy
EXPOSE 80
FROM debian:bullseye-20220822-slim
RUN mkdir -p /mnt/data; \
chown www-data:www-data /mnt/data;
@@ -18,13 +19,12 @@ RUN set -ex; \
openssl \
netcat \
dpkg-dev \
curl \
; \
rm -rf /var/lib/apt/lists/*
RUN set -ex; \
wget "https://caddyserver.com/api/download?os=linux&arch=$(dpkg-architecture --query DEB_BUILD_ARCH)" -O "/usr/bin/caddy" \
&& chmod +x /usr/bin/caddy \
&& /usr/bin/caddy version
COPY --from=caddy /usr/bin/caddy /usr/bin/
RUN chmod +x /usr/bin/caddy
RUN a2enmod rewrite \
headers \
@@ -39,12 +39,17 @@ RUN a2enmod rewrite \
COPY nextcloud.conf /etc/apache2/sites-available/
RUN a2dissite 000-default && \
RUN rm /etc/apache2/ports.conf; \
sed -s -i -e "s/Include ports.conf//" /etc/apache2/apache2.conf; \
sed -i "/^Listen /d" /etc/apache2/apache2.conf
RUN set -ex; \
a2dissite 000-default && \
a2dissite default-ssl && \
a2ensite nextcloud.conf && \
rm -rf /var/www/html/* && \
service apache2 restart; \
chown www-data:www-data -R /var/log/apache2; \
mkdir -p /var/run/apache2; \
chown -R www-data:www-data /var/run/apache2; \
chown -R www-data:www-data /var/www;
@@ -56,11 +61,13 @@ RUN mkdir /var/log/supervisord; \
COPY Caddyfile /
COPY start.sh /usr/bin/
COPY healthcheck.sh /usr/bin/
COPY supervisord.conf /
RUN chmod +x /usr/bin/start.sh; \
chmod +x /usr/bin/healthcheck.sh; \
chmod +r /supervisord.conf; \
chmod a+w /Caddyfile; \
chmod a+w /
chown www-data:www-data /Caddyfile; \
chmod +r -R /etc/apache2
# Give root a random password
RUN echo "root:$(openssl rand -base64 12)" | chpasswd
@@ -68,4 +75,6 @@ RUN echo "root:$(openssl rand -base64 12)" | chpasswd
USER www-data
ENTRYPOINT ["start.sh"]
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
HEALTHCHECK CMD healthcheck.sh

View File

@@ -0,0 +1,8 @@
#!/bin/bash
curl -skfI localhost:8000 || exit 1
if [ "$APACHE_PORT" != '443' ]; then
curl -skfI localhost:"$APACHE_PORT" || exit 1
else
curl -skfI https://"$NC_DOMAIN":"$APACHE_PORT" || exit 1
fi

View File

@@ -1,4 +1,5 @@
<VirtualHost *:80>
Listen 8000
<VirtualHost *:8000>
# PHP match
<FilesMatch "\.php$">
SetHandler "proxy:fcgi://nextcloud-aio-nextcloud:9000"
@@ -23,4 +24,7 @@
# Fix zero file sizes
# See https://github.com/nextcloud/server/issues/3056#issuecomment-954209565
SetEnv proxy-sendcl 1
# See https://httpd.apache.org/docs/current/en/mod/core.html#limitrequestbody
LimitRequestBody 0
</VirtualHost>

View File

@@ -17,25 +17,34 @@ while ! nc -z "$NEXTCLOUD_HOST" 9000; do
sleep 5
done
# Only start container if collabora is started
while ! nc -z "$COLLABORA_HOST" 9980; do
echo "Waiting for Collabora to start..."
sleep 5
done
if [ -z "$APACHE_PORT" ]; then
export APACHE_PORT="443"
fi
# Change variables in case of reverse proxies
if [ "$APACHE_PORT" != '443' ]; then
export PROTOCOL="http"
export NC_DOMAIN=""
sed -i 's|auto_https.*|auto_https off|' /Caddyfile
else
export PROTOCOL="https"
sed -i 's|auto_https.*|auto_https disable_redirects|' /Caddyfile
fi
# Change the auto_https in case of reverse proxies
if [ "$APACHE_PORT" != '443' ]; then
CADDYFILE="$(sed 's|auto_https.*|auto_https off|' /Caddyfile)"
else
CADDYFILE="$(sed 's|auto_https.*|auto_https disable_redirects|' /Caddyfile)"
fi
echo "$CADDYFILE" > /Caddyfile
# Change the trusted_proxies in case of reverse proxies
if [ "$APACHE_PORT" != '443' ]; then
CADDYFILE="$(sed 's|# trusted_proxies placeholder|trusted_proxies private_ranges|' /Caddyfile)"
else
CADDYFILE="$(sed 's|trusted_proxies private_ranges|# trusted_proxies placeholder|' /Caddyfile)"
fi
echo "$CADDYFILE" > /Caddyfile
# Add caddy path
mkdir -p /mnt/data/caddy/

View File

@@ -1,4 +1,4 @@
FROM debian:bullseye-20220125-slim
FROM debian:bullseye-20220822-slim
RUN set -ex; \
\
@@ -8,6 +8,7 @@ RUN set -ex; \
rsync \
fuse \
python3-llfuse \
jq \
; \
rm -rf /var/lib/apt/lists/*

View File

@@ -32,18 +32,16 @@ if ! mountpoint -q /mnt/borgbackup; then
fi
# Check if target is empty
if [ "$BORG_MODE" != backup ] && ! [ -f "$BORG_BACKUP_DIRECTORY/config" ]; then
if [ "$BORG_MODE" != backup ] && [ "$BORG_MODE" != test ] && ! [ -f "$BORG_BACKUP_DIRECTORY/config" ]; then
echo "The repository is empty. cannot perform check or restore."
exit 1
fi
# Break the borg lock if it exists
if [ -f "$BORG_BACKUP_DIRECTORY/lock.roster" ]; then
echo "Breaking the borg lock..."
if ! borg break-lock "$BORG_BACKUP_DIRECTORY"; then
echo "Could not break the borg lock!"
exit 1
fi
# Do not continue if this file exists (needed for simple external blocking)
if [ -f "$BORG_BACKUP_DIRECTORY/aio-lockfile" ]; then
echo "Not continuing because aio-lockfile exists - it seems like a script is externally running which is locking the backup archive."
echo "If this should not be the case, you can fix this by deleting the 'aio-lockfile' file from the backup archive directory."
exit 1
fi
# Create lockfile
@@ -89,10 +87,12 @@ if [ "$BORG_MODE" = backup ]; then
# Don't initialize if already initialized
if [ -f "/nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/borg.config" ]; then
echo "Cannot initialize a new repository as that was already done at least one time."
echo "If you still want to do so, you may delete the 'borg.config' file that is stored in the mastercontainer volume manually, which will allow you to initialize a new borg repository in the chosen directory."
exit 1
fi
echo "initializing repository..."
NEW_REPOSITORY=1
if ! borg init --debug --encryption=repokey-blake2 "$BORG_BACKUP_DIRECTORY"; then
echo "Could not initialize borg repository."
rm -f "$BORG_BACKUP_DIRECTORY/config"
@@ -126,15 +126,19 @@ if [ "$BORG_MODE" = backup ]; then
# Borg options
# auto,zstd compression seems to has the best ratio based on:
# https://forum.level1techs.com/t/optimal-compression-for-borg-backups/145870/6
BORG_OPTS=(--stats --progress --compression "auto,zstd" --exclude-caches --checkpoint-interval 86400)
BORG_OPTS=(--stats --compression "auto,zstd" --exclude-caches --checkpoint-interval 86400)
# Create the backup
echo "Starting the backup..."
get_start_time
if ! borg create "${BORG_OPTS[@]}" "$BORG_BACKUP_DIRECTORY::$CURRENT_DATE-nextcloud-aio" "/nextcloud_aio_volumes/"; then
echo "Deleting the failed backup archive..."
borg delete --stats --progress "$BORG_BACKUP_DIRECTORY::$CURRENT_DATE-nextcloud-aio"
borg delete --stats "$BORG_BACKUP_DIRECTORY::$CURRENT_DATE-nextcloud-aio"
echo "Backup failed!"
if [ "$NEW_REPOSITORY" = 1 ]; then
echo "Deleting borg.config file so that you can choose a different location for the backup."
rm "/nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/borg.config"
fi
exit 1
fi
@@ -142,7 +146,7 @@ if [ "$BORG_MODE" = backup ]; then
rm -f "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/skip.update"
# Prune options
BORG_PRUNE_OPTS=(--stats --progress --keep-within=7d --keep-weekly=4 --keep-monthly=6 "$BORG_BACKUP_DIRECTORY")
BORG_PRUNE_OPTS=(--stats --keep-within=7d --keep-weekly=4 --keep-monthly=6 "$BORG_BACKUP_DIRECTORY")
# Prune archives
echo "Pruning the archives..."
@@ -151,9 +155,62 @@ if [ "$BORG_MODE" = backup ]; then
exit 1
fi
# Back up additional directories of the host
if [ "$ADDITIONAL_DIRECTORIES_BACKUP" = 'yes' ]; then
if [ -d "/docker_volumes/" ]; then
DOCKER_VOLUME_DIRS="$(find /docker_volumes -mindepth 1 -maxdepth 1 -type d)"
mapfile -t DOCKER_VOLUME_DIRS <<< "$DOCKER_VOLUME_DIRS"
for directory in "${DOCKER_VOLUME_DIRS[@]}"; do
if [ -z "$(ls -A "$directory")" ]; then
echo "$directory is empty which is not allowed."
exit 1
fi
done
if ! borg create "${BORG_OPTS[@]}" "$BORG_BACKUP_DIRECTORY::$CURRENT_DATE-additional-docker-volumes" "/docker_volumes/"; then
echo "Deleting the failed backup archive..."
borg delete --stats "$BORG_BACKUP_DIRECTORY::$CURRENT_DATE-additional-docker-volumes"
echo "Backup of additional docker-volumes failed!"
exit 1
fi
if ! borg prune --prefix '*_*-additional-docker-volumes' "${BORG_PRUNE_OPTS[@]}"; then
echo "Failed to prune additional docker-volumes archives!"
exit 1
fi
fi
if [ -d "/host_mounts/" ]; then
EXCLUDED_DIRECTORIES=(home/*/.cache root/.cache var/cache lost+found run var/run dev tmp sys proc)
# Exclude borg backup cache
EXCLUDED_DIRECTORIES+=(var/lib/docker/volumes/nextcloud_aio_backup_cache/_data)
# Exclude target directory
if [ -n "$BORGBACKUP_HOST_LOCATION" ] && [ "$BORGBACKUP_HOST_LOCATION" != "nextcloud_aio_backupdir" ]; then
EXCLUDED_DIRECTORIES+=("$BORGBACKUP_HOST_LOCATION")
fi
for directory in "${EXCLUDED_DIRECTORIES[@]}"
do
EXCLUDE_DIRS+=(--exclude "/host_mounts/$directory/")
done
if ! borg create "${BORG_OPTS[@]}" "${EXCLUDE_DIRS[@]}" "$BORG_BACKUP_DIRECTORY::$CURRENT_DATE-additional-host-mounts" "/host_mounts/"; then
echo "Deleting the failed backup archive..."
borg delete --stats "$BORG_BACKUP_DIRECTORY::$CURRENT_DATE-additional-host-mounts"
echo "Backup of additional host-mounts failed!"
exit 1
fi
if ! borg prune --prefix '*_*-additional-host-mounts' "${BORG_PRUNE_OPTS[@]}"; then
echo "Failed to prune additional host-mount archives!"
exit 1
fi
fi
fi
# Inform user
get_expiration_time
echo "Backup finished successfully on $END_DATE_READABLE ($DURATION_READABLE)"
if [ -f "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/update.failed" ]; then
echo "However a Nextcloud update failed. So reporting that the backup failed which will skip any update attempt the next time."
echo "Please restore a backup from before the failed Nextcloud update attempt."
exit 1
fi
exit 0
fi
@@ -173,17 +230,82 @@ if [ "$BORG_MODE" = restore ]; then
echo "Could not mount the backup!"
exit 1
fi
# Save Additional Backup dirs
if [ -f "/nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/additional_backup_directories" ]; then
ADDITIONAL_BACKUP_DIRECTORIES="$(cat /nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/additional_backup_directories)"
fi
# Save daily backup time
if [ -f "/nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/daily_backup_time" ]; then
DAILY_BACKUPTIME="$(cat /nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/daily_backup_time)"
fi
# Restore everything except the configuration file
if ! rsync --stats --archive --human-readable -vv --delete \
--exclude "nextcloud_aio_mastercontainer/session/"** \
--exclude "nextcloud_aio_mastercontainer/certs/"** \
--exclude "nextcloud_aio_mastercontainer/data/daily_backup_running" \
--exclude "nextcloud_aio_mastercontainer/data/configuration.json" \
/tmp/borg/nextcloud_aio_volumes/ /nextcloud_aio_volumes; then
echo "Something failed while restoring the boot partition."
echo "Something failed while restoring from backup."
umount /tmp/borg
exit 1
fi
umount /tmp/borg
# TODO: reset fetchtimes in configuration.json so that it doesn't get the latest directly...
# Save current aio password
AIO_PASSWORD="$(jq '.password' /nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/configuration.json)"
# Save current path
BORG_LOCATION="$(jq '.borg_backup_host_location' /nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/configuration.json)"
# Save current nextcloud datadir
if grep -q '"nextcloud_datadir":' /nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/configuration.json; then
NEXTCLOUD_DATADIR="$(jq '.nextcloud_datadir' /nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/configuration.json)"
else
NEXTCLOUD_DATADIR='""'
fi
# Restore the configuration file
if ! rsync --archive --human-readable -vv \
/tmp/borg/nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/configuration.json \
/nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/configuration.json; then
echo "Something failed while restoring the configuration.json."
umount /tmp/borg
exit 1
fi
# Set backup-mode to restore since it was a restore
CONTENTS="$(jq '."backup-mode" = "restore"' /nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/configuration.json)"
echo -E "${CONTENTS}" > /nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/configuration.json
# Reset the backup path to the currently used one
CONTENTS="$(jq ".borg_backup_host_location = $BORG_LOCATION" /nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/configuration.json)"
echo -E "${CONTENTS}" > /nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/configuration.json
# Reset the AIO password to the currently used one
CONTENTS="$(jq ".password = $AIO_PASSWORD" /nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/configuration.json)"
echo -E "${CONTENTS}" > /nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/configuration.json
# Reset the datadir to the one that was used for the restore
CONTENTS="$(jq ".nextcloud_datadir = $NEXTCLOUD_DATADIR" /nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/configuration.json)"
echo -E "${CONTENTS}" > /nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/configuration.json
# Reset the additional backup directories
if [ -n "$ADDITIONAL_BACKUP_DIRECTORIES" ]; then
echo "$ADDITIONAL_BACKUP_DIRECTORIES" > "/nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/additional_backup_directories"
chown 33:0 "/nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/additional_backup_directories"
chmod 770 "/nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/additional_backup_directories"
fi
# Reset the additional backup directories
if [ -n "$DAILY_BACKUPTIME" ]; then
echo "$DAILY_BACKUPTIME" > "/nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/daily_backup_time"
chown 33:0 "/nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/daily_backup_time"
chmod 770 "/nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/daily_backup_time"
fi
umount /tmp/borg
# Inform user
get_expiration_time
@@ -193,19 +315,18 @@ if [ "$BORG_MODE" = restore ]; then
touch "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/skip.update"
chmod 777 "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/skip.update"
# Set backup-mode to restore since it was a restore
sed -i 's/"backup-mode":"[a-z]\+"/"backup-mode":"restore"/g' /nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/configuration.json
exit 0
# Add file to Nextcloud container so that it performs a fingerprint update the next time
touch "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/fingerprint.update"
chmod 777 "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/fingerprint.update"
fi
# Do the Backup check
if [ "$BORG_MODE" = check ]; then
get_start_time
echo "Checking the backup integity..."
echo "Checking the backup integrity..."
# Perform the check
if ! borg check --verify-data --progress "$BORG_BACKUP_DIRECTORY"; then
if ! borg check --verify-data "$BORG_BACKUP_DIRECTORY"; then
echo "Some errors were found while checking the backup integrity!"
exit 1
fi
@@ -215,3 +336,27 @@ if [ "$BORG_MODE" = check ]; then
echo "Check finished successfully on $END_DATE_READABLE ($DURATION_READABLE)"
exit 0
fi
# Do the backup test
if [ "$BORG_MODE" = test ]; then
if ! [ -d "$BORG_BACKUP_DIRECTORY" ]; then
echo "No 'borg' directory in the given backup directory found!"
echo "Only the files/folders below have been found in the given directory."
ls -a "$MOUNT_DIR"
echo "Please adjust the directory so that the borg archive is positioned in a folder named 'borg' inside the given directory!"
exit 1
elif ! [ -f "$BORG_BACKUP_DIRECTORY/config" ]; then
echo "A 'borg' directory was found but could not find the borg archive."
echo "Only the files/folders below have been found in the borg directory."
ls -a "$BORG_BACKUP_DIRECTORY"
echo "The archive and most importantly the config file must be positioned directly in the 'borg' subfolder."
exit 1
elif ! borg list "$BORG_BACKUP_DIRECTORY"; then
echo "The entered path seems to be valid but could not open the backup archive."
echo "Most likely the entered password was wrong so please adjust it accordingly!"
exit 1
else
echo "Everything looks fine so feel free to continue!"
exit 0
fi
fi

View File

@@ -1,22 +1,27 @@
#!/bin/bash
# Variables
export BORG_BACKUP_DIRECTORY="/mnt/borgbackup/borg"
export MOUNT_DIR="/mnt/borgbackup"
export BORG_BACKUP_DIRECTORY="$MOUNT_DIR/borg"
# Validate BORG_PASSWORD
if [ -z "$BORG_PASSWORD" ]; then
echo "BORG_PASSWORD is not allowed to be empty."
if [ -z "$BORG_PASSWORD" ] && [ -z "$BACKUP_RESTORE_PASSWORD" ]; then
echo "Neither BORG_PASSWORD nor BACKUP_RESTORE_PASSWORD are set."
exit 1
fi
# Export defaults
export BORG_PASSPHRASE="$BORG_PASSWORD"
# Export defaults
if [ -n "$BACKUP_RESTORE_PASSWORD" ]; then
export BORG_PASSPHRASE="$BACKUP_RESTORE_PASSWORD"
else
export BORG_PASSPHRASE="$BORG_PASSWORD"
fi
export BORG_UNKNOWN_UNENCRYPTED_REPO_ACCESS_IS_OK=yes
export BORG_RELOCATED_REPO_ACCESS_IS_OK=yes
# Validate BORG_MODE
if [ "$BORG_MODE" != backup ] && [ "$BORG_MODE" != restore ] && [ "$BORG_MODE" != check ]; then
echo "No correct BORG_MODE mode applied. Valid are 'backup' and 'restore'."
if [ "$BORG_MODE" != backup ] && [ "$BORG_MODE" != restore ] && [ "$BORG_MODE" != check ] && [ "$BORG_MODE" != test ]; then
echo "No correct BORG_MODE mode applied. Valid are 'backup', 'check', 'restore' and 'test'."
exit 1
fi
@@ -31,10 +36,12 @@ fi
rm -f "/nextcloud_aio_volumes/nextcloud_aio_database_dump/backup-is-running"
# Get a list of all available borg archives
set -x
borg list "$BORG_BACKUP_DIRECTORY" | grep "nextcloud-aio" | awk -F " " '{print $1","$3,$4}' > "/nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/backup_archives.list"
if borg list "$BORG_BACKUP_DIRECTORY" &>/dev/null; then
borg list "$BORG_BACKUP_DIRECTORY" | grep "nextcloud-aio" | awk -F " " '{print $1","$3,$4}' > "/nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/backup_archives.list"
else
echo "" > "/nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/backup_archives.list"
fi
chmod +r "/nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/backup_archives.list"
set +x
if [ -n "$FAILED" ]; then
if [ "$BORG_MODE" = backup ]; then

View File

@@ -0,0 +1,6 @@
# Probably from this file: https://github.com/Cisco-Talos/clamav/blob/main/Dockerfile
FROM clamav/clamav:0.105.1
RUN apk add --update --no-cache tzdata
COPY clamav.conf /tmp/
RUN cat /tmp/clamav.conf >> /etc/clamav/clamd.conf

View File

@@ -0,0 +1,4 @@
MaxDirectoryRecursion 30
MaxFileSize 100M
PCREMaxFileSize 100M
StreamMaxLength 100M

View File

@@ -1,2 +1,17 @@
# From a file located probably somewhere here: https://github.com/CollaboraOnline/online/tree/master/docker
FROM collabora/code:21.11.2.4.1
FROM collabora/code:22.05.5.4.1
USER root
RUN set -ex; \
\
apt-get update; \
export DEBIAN_FRONTEND=noninteractive; \
apt-get install -y --no-install-recommends \
tzdata \
; \
rm -rf /var/lib/apt/lists/*
USER 104
HEALTHCHECK CMD curl -skfI localhost:9980 || exit 1

View File

@@ -1,11 +1,12 @@
FROM alpine:3.15.0
RUN apk add --update --no-cache lighttpd bash
FROM alpine:3.16.2
RUN apk add --update --no-cache lighttpd bash curl
RUN adduser -S www-data -G www-data
RUN rm -rf /etc/lighttpd/lighttpd.conf
COPY lighttpd.conf /etc/lighttpd/lighttpd.conf
RUN chmod +r -R /etc/lighttpd && \
chown www-data:www-data -R /var/www
chown www-data:www-data -R /var/www && \
chown www-data:www-data /etc/lighttpd/lighttpd.conf
COPY start.sh /
RUN chmod +x /start.sh
@@ -13,3 +14,5 @@ RUN chmod +x /start.sh
USER www-data
RUN mkdir -p /var/www/domaincheck/
ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD curl -skfI localhost:$APACHE_PORT || exit 1

View File

@@ -13,4 +13,8 @@ mimetype.assign = (
)
static-file.exclude-extensions = ( ".fcgi", ".php", ".rb", "~", ".inc" )
index-file.names = ( "index.html" )
index-file.names = ( "index.html" )
$SERVER["socket"] == "ipv6-placeholder" {
server.document-root = "/var/www/domaincheck/"
}

View File

@@ -11,6 +11,9 @@ if [ -z "$APACHE_PORT" ]; then
export APACHE_PORT="443"
fi
CONF_FILE="$(sed "s|ipv6-placeholder|\[::\]:$APACHE_PORT|" /etc/lighttpd/lighttpd.conf)"
echo "$CONF_FILE" > /etc/lighttpd/lighttpd.conf
# Check config file
lighttpd -tt -f /etc/lighttpd/lighttpd.conf

View File

@@ -0,0 +1,6 @@
# Probably from here https://github.com/elastic/elasticsearch/blob/main/distribution/docker/src/docker/Dockerfile
FROM elasticsearch:7.17.6
RUN elasticsearch-plugin install --batch ingest-attachment
HEALTHCHECK CMD curl -skfI localhost:9200 || exit 1

View File

@@ -0,0 +1,15 @@
# From https://github.com/h2non/imaginary/blob/master/Dockerfile
FROM nextcloud/imaginary:20220905
USER root
RUN set -ex; \
\
apt-get update; \
apt-get install -y --no-install-recommends \
ca-certificates \
curl \
; \
rm -rf /var/lib/apt/lists/*
USER nobody
HEALTHCHECK CMD curl -skI 127.0.0.1:9000 || exit 1

View File

@@ -1,4 +1,6 @@
{
# auto_https will create redirects for https://{host}:8443 instead of https://{host}
# https redirects are added manually in the http://:80 block
auto_https disable_redirects
storage file_system {
@@ -6,6 +8,10 @@
}
}
http://:80 {
redir https://{host}{uri}
}
https://:8443 {
reverse_proxy localhost:8000

View File

@@ -1,8 +1,11 @@
# Docker CLI is a requirement
FROM docker:20.10.12-dind-alpine3.15 as dind
FROM docker:20.10.17-dind-alpine3.16 as dind
# Caddy is a requirement
FROM caddy:2.5.2-alpine as caddy
# From https://github.com/docker-library/php/blob/master/8.0/bullseye/apache/Dockerfile
FROM php:8.0.16-apache-bullseye
FROM php:8.0.23-apache-bullseye
EXPOSE 80
EXPOSE 8080
@@ -23,20 +26,19 @@ RUN apt-get update; \
openssl \
sudo \
dpkg-dev \
netcat \
; \
rm -rf /var/lib/apt/lists/*
RUN set -ex; \
curl "https://caddyserver.com/api/download?os=linux&arch=$(dpkg-architecture --query DEB_BUILD_ARCH)" -o "/usr/bin/caddy" \
&& chmod +x /usr/bin/caddy \
&& /usr/bin/caddy version
COPY --from=caddy /usr/bin/caddy /usr/bin/
RUN chmod +x /usr/bin/caddy
COPY --from=dind /usr/local/bin/docker /usr/local/bin/
RUN chmod +x /usr/local/bin/docker
RUN mkdir -p /usr/src/php/ext/apcu && \
curl -fsSL https://pecl.php.net/get/apcu | tar xvz -C "/usr/src/php/ext/apcu" --strip 1 && \
docker-php-ext-install apcu
RUN set -ex; \
pecl install APCu-5.1.21; \
docker-php-ext-enable apcu
RUN set -e && \
curl -sS https://getcomposer.org/installer | php && \
@@ -83,12 +85,23 @@ RUN mkdir /var/log/supervisord; \
COPY Caddyfile /
COPY start.sh /usr/bin/
COPY backup-time-file-watcher.sh /
COPY session-deduplicator.sh /
COPY cron.sh /
COPY daily-backup.sh /
COPY supervisord.conf /
COPY healthcheck.sh /
RUN chmod +x /usr/bin/start.sh; \
chmod +x /cron.sh
chmod +x /cron.sh; \
chmod +x /session-deduplicator.sh; \
chmod +x /backup-time-file-watcher.sh; \
chmod +x /daily-backup.sh; \
chmod a+r /Caddyfile; \
chmod +x /healthcheck.sh
USER root
ENTRYPOINT ["start.sh"]
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
HEALTHCHECK CMD /healthcheck.sh

View File

@@ -0,0 +1,30 @@
#!/bin/bash
restart_process() {
echo "Restarting cron.sh because daily backup time was set, changed or unset."
pkill cron.sh
}
file_present() {
if [ -f "/mnt/docker-aio-config/data/daily_backup_time" ]; then
if [ "$FILE_PRESENT" = 0 ]; then
restart_process
else
if [ -n "$BACKUP_TIME" ] && [ "$(head -1 "/mnt/docker-aio-config/data/daily_backup_time")" != "$BACKUP_TIME" ]; then
restart_process
fi
fi
FILE_PRESENT=1
BACKUP_TIME="$(head -1 "/mnt/docker-aio-config/data/daily_backup_time")"
else
if [ "$FILE_PRESENT" = 1 ]; then
restart_process
fi
FILE_PRESENT=0
fi
}
while true; do
file_present
sleep 2
done

View File

@@ -1,12 +1,52 @@
#!/bin/sh
set -eux
#!/bin/bash
while true; do
if [ -f "/mnt/docker-aio-config/data/daily_backup_time" ]; then
set -x
BACKUP_TIME="$(head -1 "/mnt/docker-aio-config/data/daily_backup_time")"
export BACKUP_TIME
export DAILY_BACKUP=1
if [ "$(sed -n '2p' "/mnt/docker-aio-config/data/daily_backup_time")" != 'automaticUpdatesAreNotEnabled' ]; then
export AUTOMATIC_UPDATES=1
else
export AUTOMATIC_UPDATES=0
export START_CONTAINERS=1
fi
set +x
else
export BACKUP_TIME="04:00"
export DAILY_BACKUP=0
fi
if [ -f "/mnt/docker-aio-config/data/daily_backup_running" ]; then
export LOCK_FILE_PRESENT=1
else
export LOCK_FILE_PRESENT=0
fi
# Allow to continue directly if e.g. the mastercontainer was updated. Otherwise wait for the next execution
if [ "$LOCK_FILE_PRESENT" = 0 ]; then
while [ "$(date +%H:%M)" != "$BACKUP_TIME" ]; do
sleep 30
done
fi
if [ "$DAILY_BACKUP" = 1 ]; then
bash /daily-backup.sh
fi
# Make sure to delete the lock file always
rm -f "/mnt/docker-aio-config/data/daily_backup_running"
# Check for updates and send notification if yes
sudo -u www-data php /var/www/docker-aio/php/src/Cron/cron.php
# Remove dangling images
sudo -u www-data docker image prune -f
sudo -u www-data php /var/www/docker-aio/php/src/Cron/UpdateNotification.php
# Remove sessions older than 24h
find "/mnt/docker-aio-config/session/" -mindepth 1 -mmin +1440 -delete
sleep 1d
# Remove dangling images
sudo -u www-data docker image prune -f
# Wait 60s so that the whole loop will not be executed again
sleep 60
done

View File

@@ -0,0 +1,101 @@
#!/bin/bash
echo "Daily backup script has started"
# Daily backup and backup check cannot be run at the same time
if [ "$DAILY_BACKUP" = 1 ] && [ "$CHECK_BACKUP" = 1 ]; then
echo "Daily backup and backup check cannot be run at the same time. Exiting..."
exit 1
fi
# Delete all active sessions and create a lock file
# But don't kick out the user if the mastercontainer was just updated since we block the interface either way with the lock file
if [ "$LOCK_FILE_PRESENT" = 0 ] || ! [ -f "/mnt/docker-aio-config/data/daily_backup_running" ]; then
rm -f "/mnt/docker-aio-config/session/"*
fi
sudo -u www-data touch "/mnt/docker-aio-config/data/daily_backup_running"
# Check if apache is running/stopped, watchtower is stopped and backupcontainer is stopped
APACHE_PORT="$(docker inspect nextcloud-aio-apache --format "{{.HostConfig.PortBindings}}" | grep -oP '[0-9]+' | head -1)"
while docker ps --format "{{.Names}}" | grep -q "^nextcloud-aio-apache$" && ! nc -z nextcloud-aio-apache "$APACHE_PORT"; do
echo "Waiting for apache to become available"
sleep 30
done
while docker ps --format "{{.Names}}" | grep -q "^nextcloud-aio-watchtower$"; do
echo "Waiting for watchtower to stop"
sleep 30
done
while docker ps --format "{{.Names}}" | grep -q "^nextcloud-aio-borgbackup$"; do
echo "Waiting for borgbackup to stop"
sleep 30
done
# Update the mastercontainer
if [ "$AUTOMATIC_UPDATES" = 1 ]; then
echo "Starting mastercontainer update..."
echo "(The script might get exited due to that. In order to update all the other containers correctly, you need to run this script with the same settings a second time.)"
sudo -u www-data php /var/www/docker-aio/php/src/Cron/UpdateMastercontainer.php
fi
# Wait for watchtower to stop
if [ "$AUTOMATIC_UPDATES" = 1 ] && ! docker ps --format "{{.Names}}" | grep -q "^nextcloud-aio-watchtower$"; then
echo "Something seems to be wrong: Watchtower should be started at this step."
else
while docker ps --format "{{.Names}}" | grep -q "^nextcloud-aio-watchtower$"; do
echo "Waiting for watchtower to stop"
sleep 30
done
fi
# Stop containers if required
# shellcheck disable=SC2235
if [ "$CHECK_BACKUP" != 1 ] && ([ "$DAILY_BACKUP" != 1 ] || [ "$STOP_CONTAINERS" = 1 ]); then
echo "Stopping containers..."
sudo -u www-data php /var/www/docker-aio/php/src/Cron/StopContainers.php
fi
# Execute the backup itself and some related tasks (also stops the containers)
if [ "$DAILY_BACKUP" = 1 ]; then
echo "Creating daily backup..."
sudo -u www-data php /var/www/docker-aio/php/src/Cron/CreateBackup.php
fi
# Execute backup check
if [ "$CHECK_BACKUP" = 1 ]; then
echo "Starting backup check..."
sudo -u www-data php /var/www/docker-aio/php/src/Cron/CheckBackup.php
fi
# Start and/or update containers
if [ "$AUTOMATIC_UPDATES" = 1 ]; then
echo "Starting and updating containers..."
sudo -u www-data php /var/www/docker-aio/php/src/Cron/StartAndUpdateContainers.php
else
if [ "$START_CONTAINERS" = 1 ]; then
echo "Starting containers without updating them..."
sudo -u www-data php /var/www/docker-aio/php/src/Cron/StartContainers.php
fi
fi
# Delete the lock file
rm -f "/mnt/docker-aio-config/data/daily_backup_running"
if [ "$DAILY_BACKUP" = 1 ]; then
# Wait for the nextcloud container to start and send if the backup was successful
if ! docker ps --format "{{.Names}}" | grep -q "^nextcloud-aio-nextcloud$"; then
echo "Something seems to be wrong: Nextcloud should be started at this step."
else
while docker ps --format "{{.Names}}" | grep -q "^nextcloud-aio-nextcloud$" && ! nc -z nextcloud-aio-nextcloud 9000; do
echo "Waiting for the Nextcloud container to start"
sleep 30
if [ "$(docker inspect nextcloud-aio-nextcloud --format "{{.State.Restarting}}")" = "true" ]; then
echo "Nextcloud container restarting. Skipping this check!"
break
fi
done
fi
echo "Sending backup notification..."
sudo -u www-data php /var/www/docker-aio/php/src/Cron/BackupNotification.php
fi
echo "Daily backup script has finished"

View File

@@ -0,0 +1,5 @@
#!/bin/bash
if [ -f "/mnt/docker-aio-config/data/configuration.json" ]; then
curl -skfI https://localhost:8080 || exit 1
fi

View File

@@ -0,0 +1,26 @@
#!/bin/bash
while true; do
while [ "$(find "/mnt/docker-aio-config/session/" -mindepth 1 -exec grep "aio_authenticated|[a-z]:1" {} \; | wc -l)" -gt 1 ]; do
# First delete all session files that are not authenticated
unset SESSION_FILES
SESSION_FILES="$(find "/mnt/docker-aio-config/session/" -mindepth 1)"
unset SESSION_FILES_ARRAY
mapfile -t SESSION_FILES_ARRAY <<< "$SESSION_FILES"
for SESSION_FILE in "${SESSION_FILES_ARRAY[@]}"; do
if [ -f "$SESSION_FILE" ] && ! grep -q "aio_authenticated|[a-z]:1" "$SESSION_FILE"; then
rm "$SESSION_FILE"
fi
done
# Second clean up all sessions that are authenticated
echo "Deleting duplicate sessions"
unset OLDEST_FILE
set -x
# shellcheck disable=SC2012
OLDEST_FILE="$(ls -t "/mnt/docker-aio-config/session/" | tail -1)"
rm "/mnt/docker-aio-config/session/$OLDEST_FILE"
set +x
done
sleep 5
done

View File

@@ -31,6 +31,9 @@ elif ! sudo -u www-data test -r /var/run/docker.sock; then
echo "Adding internal www-data to group $DOCKER_GROUP"
usermod -aG "$DOCKER_GROUP" www-data
else
# Delete the docker group for cases when the docker socket permissions changed between restarts
groupdel docker &>/dev/null
# If the group doesn't exist, create it
echo "Creating docker group internally with id $DOCKER_GROUP_ID"
groupadd -g "$DOCKER_GROUP_ID" docker
@@ -43,7 +46,7 @@ elif ! sudo -u www-data test -r /var/run/docker.sock; then
fi
# Check if api version is supported
if ! docker info &>/dev/null; then
if ! sudo -u www-data docker info &>/dev/null; then
echo "Cannot connect to the docker socket. Cannot proceed."
exit 1
fi
@@ -51,10 +54,10 @@ API_VERSION_FILE="$(find ./ -name DockerActionManager.php | head -1)"
API_VERSION="$(grep -oP 'const API_VERSION.*\;' "$API_VERSION_FILE" | grep -oP '[0-9]+.[0-9]+' | head -1)"
# shellcheck disable=SC2001
API_VERSION_NUMB="$(echo "$API_VERSION" | sed 's/\.//')"
LOCAL_API_VERSION_NUMB="$(docker version | grep -i "api version" | grep -oP '[0-9]+.[0-9]+' | head -1 | sed 's/\.//')"
LOCAL_API_VERSION_NUMB="$(sudo -u www-data docker version | grep -i "api version" | grep -oP '[0-9]+.[0-9]+' | head -1 | sed 's/\.//')"
if [ -n "$LOCAL_API_VERSION_NUMB" ] && [ -n "$API_VERSION_NUMB" ]; then
if ! [ "$LOCAL_API_VERSION_NUMB" -ge "$API_VERSION_NUMB" ]; then
echo "Docker v$API_VERSION is not supported by your docker engine. Cannot proceed."
echo "Docker API v$API_VERSION is not supported by your docker engine. Cannot proceed. Please upgrade your docker engine if you want to run Nextcloud AIO!"
exit 1
fi
else
@@ -63,38 +66,35 @@ else
fi
# Check if startup command was executed correctly
if ! docker ps | grep -q "nextcloud-aio-mastercontainer"; then
echo "It seems like you did not give the mastercontainer the correct name?"
if ! sudo -u www-data docker ps | grep -q "nextcloud-aio-mastercontainer"; then
echo "It seems like you did not give the mastercontainer the correct name?
Using a different name is not supported!"
exit 1
elif ! docker volume ls | grep -q "nextcloud_aio_mastercontainer"; then
echo "It seems like you did not give the mastercontainer volume the correct name?"
elif ! sudo -u www-data docker volume ls | grep -q "nextcloud_aio_mastercontainer"; then
echo "It seems like you did not give the mastercontainer volume the correct name?
Using a different name is not supported!"
exit 1
fi
# Check for other options
if [ -n "$NEXTCLOUD_DATADIR" ]; then
if ! echo "$NEXTCLOUD_DATADIR" | grep -q "^/mnt/" \
&& ! echo "$NEXTCLOUD_DATADIR" | grep -q "^/media/"
then
if [ "$NEXTCLOUD_DATADIR" = "nextcloud_aio_nextcloud_datadir" ]; then
echo "NEXTCLOUD_DATADIR is set to $NEXTCLOUD_DATADIR"
elif ! echo "$NEXTCLOUD_DATADIR" | grep -q "^/" || [ "$NEXTCLOUD_DATADIR" = "/" ]; then
echo "You've set NEXTCLOUD_DATADIR but not to an allowed value.
The string must start with '/mnt/' or '/media/'. E.g. '/mnt/ncdata'"
exit 1
elif [ "$NEXTCLOUD_DATADIR" = "/mnt/" ] || [ "$NEXTCLOUD_DATADIR" = "/media/" ]; then
echo "You've set NEXTCLOUD_DATADIR but not to an allowed value.
The string must start with '/mnt/' or '/media/' and not be equal to these."
The string must start with '/' and must not be equal to '/'.
It is set to '$NEXTCLOUD_DATADIR'."
exit 1
fi
fi
if [ -n "$NEXTCLOUD_MOUNT" ]; then
if ! echo "$NEXTCLOUD_MOUNT" | grep -q "^/mnt/" \
&& ! echo "$NEXTCLOUD_MOUNT" | grep -q "^/media/" \
&& ! echo "$NEXTCLOUD_MOUNT" | grep -q "^/var/backups$"
then
if ! echo "$NEXTCLOUD_MOUNT" | grep -q "^/" || [ "$NEXTCLOUD_MOUNT" = "/" ]; then
echo "You've set NEXCLOUD_MOUNT but not to an allowed value.
The string must be equal to/start with '/mnt/' or '/media/' or be equal to '/var/backups'."
The string must start with '/' and must not be equal to '/'.
It is set to '$NEXTCLOUD_MOUNT'."
exit 1
elif [ "$NEXTCLOUD_MOUNT" = "/mnt/ncdata" ] || echo "$NEXTCLOUD_MOUNT" | grep -q "^/mnt/ncdata/"; then
echo "/mnt/ncdata and /mnt/ncdata/ are not allowed for NEXTCLOUD_MOUNT."
echo "'/mnt/ncdata' and '/mnt/ncdata/' are not allowed as values for NEXTCLOUD_MOUNT."
exit 1
fi
fi
@@ -104,15 +104,73 @@ if [ -n "$NEXTCLOUD_DATADIR" ] && [ -n "$NEXTCLOUD_MOUNT" ]; then
exit 1
fi
fi
if [ -n "$NEXTCLOUD_UPLOAD_LIMIT" ]; then
if ! echo "$NEXTCLOUD_UPLOAD_LIMIT" | grep -q '^[0-9]\+G$'; then
echo "You've set NEXTCLOUD_UPLOAD_LIMIT but not to an allowed value.
The string must start with a number and end with 'G'.
It is set to '$NEXTCLOUD_UPLOAD_LIMIT'."
exit 1
fi
fi
if [ -n "$NEXTCLOUD_MAX_TIME" ]; then
if ! echo "$NEXTCLOUD_MAX_TIME" | grep -q '^[0-9]\+$'; then
echo "You've set NEXTCLOUD_MAX_TIME but not to an allowed value.
The string must be a number. E.g. '3600'.
It is set to '$NEXTCLOUD_MAX_TIME'."
exit 1
fi
fi
if [ -n "$APACHE_PORT" ]; then
if ! check_if_number "$APACHE_PORT"; then
echo "You provided an Apache port but did not only use numbers"
echo "You provided an Apache port but did not only use numbers.
It is set to '$APACHE_PORT'."
exit 1
elif ! [ "$APACHE_PORT" -le 65535 ] || ! [ "$APACHE_PORT" -ge 1 ]; then
echo "The provided Apache port is invalid. It must be between 1 and 65535"
exit 1
fi
fi
if [ -n "$APACHE_IP_BINDING" ]; then
if ! echo "$APACHE_IP_BINDING" | grep -q '^[0-9.]\+$'; then
echo "You provided an ip-address for the apache container's ip-binding but it was not a valid ip-address.
It is set to '$APACHE_IP_BINDING'."
exit 1
fi
fi
if [ -n "$TALK_PORT" ]; then
if ! check_if_number "$TALK_PORT"; then
echo "You provided an Talk port but did not only use numbers.
It is set to '$TALK_PORT'."
exit 1
elif ! [ "$TALK_PORT" -le 65535 ] || ! [ "$TALK_PORT" -ge 1 ]; then
echo "The provided Talk port is invalid. It must be between 1 and 65535"
exit 1
fi
fi
if [ -n "$APACHE_PORT" ] && [ -n "$TALK_PORT" ]; then
if [ "$APACHE_PORT" = "$TALK_PORT" ]; then
echo "APACHE_PORT and TALK_PORT are not allowed to be equal."
exit 1
fi
fi
if [ -n "$DOCKER_SOCKET_PATH" ]; then
if ! echo "$DOCKER_SOCKET_PATH" | grep -q "^/" || echo "$DOCKER_SOCKET_PATH" | grep -q "/$"; then
echo "You've set DOCKER_SOCKET_PATH but not to an allowed value.
The string must start with '/' and must not end with '/'.
It is set to '$DOCKER_SOCKET_PATH'."
exit 1
fi
fi
# Check DNS resolution
# Prevents issues like https://github.com/nextcloud/all-in-one/discussions/565
curl https://nextcloud.com &>/dev/null
if [ "$?" = 6 ]; then
echo "Could not resolve the host nextcloud.com."
echo "Most likely the DNS resolving does not work."
echo "You should be able to fix this by adding the '--dns=\"ip.address.of.dns.server\"' option to the docker run command."
exit 1
fi
# Add important folders
mkdir -p /mnt/docker-aio-config/data/
@@ -125,9 +183,23 @@ chmod 770 -R /mnt/docker-aio-config
chmod 777 /mnt/docker-aio-config
chown www-data:www-data -R /mnt/docker-aio-config/data/
chown www-data:www-data -R /mnt/docker-aio-config/session/
chown root:root -R /mnt/docker-aio-config/caddy/
chown www-data:www-data -R /mnt/docker-aio-config/caddy/
chown root:root -R /mnt/docker-aio-config/certs/
# Don't allow access to the AIO interface from the Nextcloud container
# Probably more cosmetic than anything but at least an attempt
if ! grep -q '# nextcloud-aio-block' /etc/apache2/apache2.conf; then
cat << APACHE_CONF >> /etc/apache2/apache2.conf
# nextcloud-aio-block-start
<Location />
order allow,deny
deny from nextcloud-aio-nextcloud.nextcloud-aio
allow from all
</Location>
# nextcloud-aio-block-end
APACHE_CONF
fi
# Adjust certs
GENERATED_CERTS="/mnt/docker-aio-config/certs"
TMP_CERTS="/etc/apache2/certs"
@@ -148,7 +220,10 @@ print_green "Initial startup of Nextcloud All In One complete!
You should be able to open the Nextcloud AIO Interface now on port 8080 of this server!
E.g. https://internal.ip.of.this.server:8080
If your server has port 80 and 8443 open and you point a domain to your server, you can get a valid certificate automatially by opening the Nextcloud AIO Interface via:
If your server has port 80 and 8443 open and you point a domain to your server, you can get a valid certificate automatically by opening the Nextcloud AIO Interface via:
https://your-domain-that-points-to-this-server.tld:8443"
# Set the timezone to UTC
export TZ=UTC
exec "$@"

View File

@@ -20,7 +20,7 @@ stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=/usr/bin/caddy run -config /Caddyfile
command=sudo -u www-data /usr/bin/caddy run -config /Caddyfile
[program:cron]
stdout_logfile=/dev/stdout
@@ -28,3 +28,17 @@ stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=/cron.sh
[program:backup-time-file-watcher]
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=/backup-time-file-watcher.sh
[program:session-deduplicator]
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=/session-deduplicator.sh

View File

@@ -1,5 +1,5 @@
# From https://github.com/nextcloud/docker/blob/master/23/fpm-alpine/Dockerfile
FROM php:8.0.16-fpm-alpine3.15
FROM php:8.0.23-fpm-alpine3.16
# Custom: change id of www-data user as it needs to be the same like on old installations
RUN set -ex; \
@@ -21,6 +21,7 @@ RUN set -ex; \
# see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html
ENV PHP_MEMORY_LIMIT 512M
ENV PHP_UPLOAD_LIMIT 10G
ENV PHP_MAX_TIME 3600
RUN set -ex; \
\
apk add --no-cache --virtual .build-deps \
@@ -61,7 +62,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.21; \
pecl install memcached-3.1.5; \
pecl install memcached-3.2.0; \
pecl install redis-5.3.7; \
pecl install imagick-3.7.0; \
\
@@ -85,7 +86,7 @@ RUN set -ex; \
# set recommended PHP.ini settings
# see https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/server_tuning.html#enable-php-opcache
RUN { \
echo 'opcache.interned_strings_buffer=16'; \
echo 'opcache.interned_strings_buffer=32'; \
echo 'opcache.save_comments=1'; \
echo 'opcache.revalidate_freq=60'; \
} > /usr/local/etc/php/conf.d/opcache-recommended.ini; \
@@ -96,6 +97,8 @@ RUN { \
echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \
echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \
echo 'post_max_size=${PHP_UPLOAD_LIMIT}'; \
echo 'max_execution_time=${PHP_MAX_TIME}'; \
echo 'max_input_time=${PHP_MAX_TIME}'; \
} > /usr/local/etc/php/conf.d/nextcloud.ini; \
\
mkdir /var/www/data; \
@@ -104,8 +107,7 @@ RUN { \
VOLUME /var/www/html
ENV NEXTCLOUD_VERSION 23.0.2
ENV NEXTCLOUD_VERSION 24.0.5
RUN set -ex; \
apk add --no-cache --virtual .fetch-deps \
@@ -198,15 +200,18 @@ RUN set -ex; \
gnupg \
git \
postgresql-client \
tzdata \
mawk \
; \
rm -rf /var/lib/apt/lists/*
RUN set -ex; \
grep -q '^pm = dynamic' /usr/local/etc/php-fpm.d/www.conf; \
sed -i 's/^pm.max_children =.*/pm.max_children = 100/' /usr/local/etc/php-fpm.d/www.conf; \
sed -i 's/^pm.start_servers =.*/pm.start_servers = 25/' /usr/local/etc/php-fpm.d/www.conf; \
sed -i 's/^pm.min_spare_servers =.*/pm.min_spare_servers = 25/' /usr/local/etc/php-fpm.d/www.conf; \
sed -i 's/^pm.max_spare_servers =.*/pm.max_spare_servers = 75/' /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
RUN set -ex; \
rm -rf /tmp/nextcloud-aio && \
@@ -219,10 +224,9 @@ RUN set -ex; \
RUN set -ex; \
chown www-data:root -R /usr/src && \
chown www-data:root -R /usr/local/etc/php/conf.d && \
chown www-data:root -R /usr/local/etc/php-fpm.d && \
chown www-data:root -R /var/log/supervisord/ && \
chown www-data:root -R /var/run/supervisord/ && \
mkdir -p /var/log/nextcloud/ && \
chown -R www-data:root /var/log/nextcloud/ && \
rm -r /usr/src/nextcloud/apps/updatenotification
COPY start.sh /
@@ -233,7 +237,8 @@ RUN set -ex; \
chmod +x /entrypoint.sh && \
chmod +r /upgrade.exclude && \
chmod +x /cron.sh && \
chmod +x /notify.sh
chmod +x /notify.sh && \
chmod +x /activate-collabora.sh
RUN set -ex; \
mkdir /mnt/ncdata; \
@@ -246,3 +251,5 @@ RUN echo "root:$(openssl rand -base64 12)" | chpasswd
USER www-data
ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD (nc -z localhost 9000 && curl -skI localhost:7867) || exit 1

View File

@@ -0,0 +1,13 @@
#!/bin/bash
if [ "$COLLABORA_ENABLED" != yes ]; then
# Basically sleep for forever if collabora is not enabled
sleep inf
fi
while ! nc -z "$NC_DOMAIN" 443; do
sleep 5
done
sleep 10
echo "Activating collabora config..."
php /var/www/html/occ richdocuments:activate-config
sleep inf

View File

@@ -0,0 +1,27 @@
<?php
if (getenv('OBJECTSTORE_S3_BUCKET')) {
$use_ssl = getenv('OBJECTSTORE_S3_SSL');
$use_path = getenv('OBJECTSTORE_S3_USEPATH_STYLE');
$use_legacyauth = getenv('OBJECTSTORE_S3_LEGACYAUTH');
$autocreate = getenv('OBJECTSTORE_S3_AUTOCREATE');
$CONFIG = array(
'objectstore' => array(
'class' => '\OC\Files\ObjectStore\S3',
'arguments' => array(
'bucket' => getenv('OBJECTSTORE_S3_BUCKET'),
'key' => getenv('OBJECTSTORE_S3_KEY') ?: '',
'secret' => getenv('OBJECTSTORE_S3_SECRET') ?: '',
'region' => getenv('OBJECTSTORE_S3_REGION') ?: '',
'hostname' => getenv('OBJECTSTORE_S3_HOST') ?: '',
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
'objectPrefix' => getenv("OBJECTSTORE_S3_OBJECT_PREFIX") ? getenv("OBJECTSTORE_S3_OBJECT_PREFIX") : "urn:oid:",
'autocreate' => (strtolower($autocreate) === 'false' || $autocreate == false) ? false : true,
'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true,
// required for some non Amazon S3 implementations
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
// required for older protocol versions
'legacy_auth' => $use_legacyauth == true && strtolower($use_legacyauth) !== 'false'
)
)
);
}

View File

@@ -0,0 +1,31 @@
<?php
if (getenv('OBJECTSTORE_SWIFT_URL')) {
$autocreate = getenv('OBJECTSTORE_SWIFT_AUTOCREATE');
$CONFIG = array(
'objectstore' => [
'class' => 'OC\\Files\\ObjectStore\\Swift',
'arguments' => [
'autocreate' => $autocreate == true && strtolower($autocreate) !== 'false',
'user' => [
'name' => getenv('OBJECTSTORE_SWIFT_USER_NAME'),
'password' => getenv('OBJECTSTORE_SWIFT_USER_PASSWORD'),
'domain' => [
'name' => (getenv('OBJECTSTORE_SWIFT_USER_DOMAIN')) ?: 'Default',
],
],
'scope' => [
'project' => [
'name' => getenv('OBJECTSTORE_SWIFT_PROJECT_NAME'),
'domain' => [
'name' => (getenv('OBJECTSTORE_SWIFT_PROJECT_DOMAIN')) ?: 'Default',
],
],
],
'serviceName' => (getenv('OBJECTSTORE_SWIFT_SERVICE_NAME')) ?: 'swift',
'region' => getenv('OBJECTSTORE_SWIFT_REGION'),
'url' => getenv('OBJECTSTORE_SWIFT_URL'),
'bucket' => getenv('OBJECTSTORE_SWIFT_CONTAINER_NAME'),
]
]
);
}

View File

@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -eu
while true; do

View File

@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
# version_greater A B returns whether A > B
version_greater() {
@@ -10,7 +10,7 @@ directory_empty() {
[ -z "$(ls -A "$1/")" ]
}
echo "Configuring Redis as session handler"
echo "Configuring Redis as session handler..."
cat << REDIS_CONF > /usr/local/etc/php/conf.d/redis-session.ini
session.save_handler = redis
session.save_path = "tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}"
@@ -21,6 +21,13 @@ redis.session.lock_retries = -1
redis.session.lock_wait_time = 10000
REDIS_CONF
echo "Setting php max children..."
MEMORY=$(mawk '/MemTotal/ {printf "%d", $2/1024}' /proc/meminfo)
PHP_MAX_CHILDREN=$((MEMORY/50))
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
fi
# Check permissions in ncdata
touch "/mnt/ncdata/this-is-a-test-file"
if ! [ -f "/mnt/ncdata/this-is-a-test-file" ]; then
@@ -48,6 +55,23 @@ if [ "$installed_version" != "0.0.0.0" ]; then
unset ADMIN_PASSWORD
fi
# Don't start the container if Nextcloud is not compatible with the PHP version
if [ -f "/var/www/html/lib/versioncheck.php" ] && ! php /var/www/html/lib/versioncheck.php; then
echo "It seems like your installed Nextcloud is not compatible with the by the container provided PHP version."
echo "This most likely happened because you tried to restore an old Nextcloud version from backup that is not compatible with the PHP version that comes with the container."
echo "Please try to restore a more recent backup which contains a Nextcloud version that is compatible with the PHP version that comes with the container."
echo "If you do not have a more recent backup, feel free to have a look at this documentation: https://github.com/nextcloud/all-in-one/blob/main/manual-upgrade.md"
exit 1
fi
# Do not start the container if the last update failed
if [ -f "/mnt/ncdata/update.failed" ]; then
echo "The last Nextcloud update failed."
echo "Please restore from backup and try again!"
echo "If you do not have a backup in place, you can simply delete the update.failed file in the datadir which will allow the container to start again."
exit 1
fi
# Skip any update if Nextcloud was just restored
if ! [ -f "/mnt/ncdata/skip.update" ]; then
if version_greater "$image_version" "$installed_version"; then
@@ -73,6 +97,8 @@ if ! [ -f "/mnt/ncdata/skip.update" ]; then
mkdir -p /usr/src/tmp/nextcloud/custom_apps
chmod +x /usr/src/tmp/nextcloud/occ
cp /usr/src/nextcloud/config/* /usr/src/tmp/nextcloud/config/
mkdir -p /usr/src/tmp/nextcloud/apps/nextcloud-aio
cp /usr/src/nextcloud/apps/nextcloud-aio/* /usr/src/tmp/nextcloud/apps/nextcloud-aio/
mv /usr/src/nextcloud /usr/src/temp-nextcloud
mv /usr/src/tmp/nextcloud /usr/src/nextcloud
rm -r /usr/src/tmp
@@ -159,10 +185,10 @@ if ! [ -f "/mnt/ncdata/skip.update" ]; then
mkdir -p /var/www/html/data
php /var/www/html/occ config:system:set loglevel --value=2
php /var/www/html/occ config:system:set log_type --value=file
php /var/www/html/occ config:system:set logfile --value="/var/log/nextcloud/nextcloud.log"
php /var/www/html/occ config:system:set logfile --value="/var/www/html/data/nextcloud.log"
php /var/www/html/occ config:system:set log_rotate_size --value="10485760"
php /var/www/html/occ app:enable admin_audit
php /var/www/html/occ config:app:set admin_audit logfile --value="/var/log/nextcloud/audit.log"
php /var/www/html/occ config:app:set admin_audit logfile --value="/var/www/html/data/audit.log"
php /var/www/html/occ config:system:set log.condition apps 0 --value="admin_audit"
# Apply preview settings
@@ -202,6 +228,7 @@ if ! [ -f "/mnt/ncdata/skip.update" ]; then
#upgrade
else
touch "/mnt/ncdata/update.failed"
while [ -n "$(pgrep -f cron.php)" ]
do
echo "Waiting for Nextclouds cronjob to finish..."
@@ -211,9 +238,13 @@ if ! [ -f "/mnt/ncdata/skip.update" ]; then
echo "Upgrading nextcloud from $installed_version to $image_version..."
if ! php /var/www/html/occ upgrade || ! php /var/www/html/occ -V; then
echo "Upgrade failed. Please restore from backup."
bash /notify.sh "Nextcloud update to $image_version failed!" "Please restore from backup!"
exit 1
fi
rm "/mnt/ncdata/update.failed"
bash /notify.sh "Nextcloud update to $image_version successful!" "Feel free to inspect the Nextcloud container logs for more info."
php /var/www/html/occ app:list | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after
echo "The following apps have been disabled:"
diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1
@@ -230,6 +261,14 @@ if ! [ -f "/mnt/ncdata/skip.update" ]; then
php /var/www/html/occ maintenance:mimetype:update-db
fi
fi
# Performing update of all apps if daily backups are enabled, running and successful and if it is saturday
if [ "$UPDATE_NEXTCLOUD_APPS" = 'yes' ] && [ "$(date +%u)" = 6 ]; then
UPDATED_APPS="$(php /var/www/html/occ app:update --all)"
if [ -n "$UPDATED_APPS" ]; then
bash /notify.sh "Your apps just got updated!" "$UPDATED_APPS"
fi
fi
fi
# Check if appdata is present
@@ -239,11 +278,31 @@ if [ -z "$(find "/mnt/ncdata/" -maxdepth 1 -mindepth 1 -type d -name "appdata_*"
exit 1
fi
# Configure tempdirectory
if [ -z "$OBJECTSTORE_S3_BUCKET" ] && [ -z "$OBJECTSTORE_SWIFT_URL" ]; then
mkdir -p "/mnt/ncdata/tmp/"
if ! grep -q upload_tmp_dir /usr/local/etc/php/conf.d/nextcloud.ini; then
echo "upload_tmp_dir = /mnt/ncdata/tmp/" >> /usr/local/etc/php/conf.d/nextcloud.ini
fi
php /var/www/html/occ config:system:set tempdirectory --value="/mnt/ncdata/tmp/"
fi
# Perform fingerprint update if instance was restored
if [ -f "/mnt/ncdata/fingerprint.update" ]; then
php /var/www/html/occ maintenance:data-fingerprint
rm "/mnt/ncdata/fingerprint.update"
fi
# Apply one-click-instance settings
echo "Applying one-click-instance settings..."
php /var/www/html/occ config:system:set one-click-instance --value=true --type=bool
php /var/www/html/occ config:system:set one-click-instance.user-limit --value=100 --type=int
# Adjusting log files to be stored on a volume
echo "Adjusting log files..."
php /var/www/html/occ config:system:set logfile --value="/var/www/html/data/nextcloud.log"
php /var/www/html/occ config:app:set admin_audit logfile --value="/var/www/html/data/audit.log"
# Apply network settings
echo "Applying network settings..."
php /var/www/html/occ config:system:set trusted_domains 1 --value="$NC_DOMAIN"
@@ -251,6 +310,13 @@ php /var/www/html/occ config:system:set overwrite.cli.url --value="https://$NC_D
php /var/www/html/occ config:system:set htaccess.RewriteBase --value="/"
php /var/www/html/occ maintenance:update:htaccess
# Disallow creating local external storages when nothing was mounted
if [ -z "$NEXTCLOUD_MOUNT" ]; then
php /var/www/html/occ config:system:set files_external_allow_create_new_local --type=bool --value=false
else
php /var/www/html/occ config:system:set files_external_allow_create_new_local --type=bool --value=true
fi
# AIO app
if [ "$(php /var/www/html/occ config:app:get nextcloud-aio enabled)" = "" ]; then
php /var/www/html/occ app:enable nextcloud-aio
@@ -267,35 +333,160 @@ else
php /var/www/html/occ app:update notify_push
fi
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"
php /var/www/html/occ config:app:set notify_push base_endpoint --value="https://$NC_DOMAIN/push"
# Collabora
if ! [ -d "/var/www/html/custom_apps/richdocuments" ]; then
php /var/www/html/occ app:install richdocuments
elif [ "$(php /var/www/html/occ config:app:get richdocuments enabled)" = "no" ]; then
php /var/www/html/occ app:enable richdocuments
if [ "$COLLABORA_ENABLED" = 'yes' ]; then
if ! [ -d "/var/www/html/custom_apps/richdocuments" ]; then
php /var/www/html/occ app:install richdocuments
elif [ "$(php /var/www/html/occ config:app:get richdocuments enabled)" = "no" ]; then
php /var/www/html/occ app:enable richdocuments
else
php /var/www/html/occ app:update richdocuments
fi
php /var/www/html/occ config:app:set richdocuments wopi_url --value="https://$NC_DOMAIN/"
# 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
else
php /var/www/html/occ app:update richdocuments
if [ -d "/var/www/html/custom_apps/richdocuments" ]; then
php /var/www/html/occ app:remove richdocuments
fi
fi
# OnlyOffice
if [ "$ONLYOFFICE_ENABLED" = 'yes' ]; then
while ! nc -z "$ONLYOFFICE_HOST" 80; do
echo "waiting for OnlyOffice to become available..."
sleep 5
done
if ! [ -d "/var/www/html/custom_apps/onlyoffice" ]; then
php /var/www/html/occ app:install onlyoffice
elif [ "$(php /var/www/html/occ config:app:get onlyoffice enabled)" = "no" ]; then
php /var/www/html/occ app:enable onlyoffice
else
php /var/www/html/occ app:update onlyoffice
fi
php /var/www/html/occ config:system:set onlyoffice jwt_secret --value="$ONLYOFFICE_SECRET"
php /var/www/html/occ config:system:set onlyoffice jwt_header --value="AuthorizationJwt"
php /var/www/html/occ config:app:set onlyoffice DocumentServerUrl --value="https://$NC_DOMAIN/onlyoffice"
php /var/www/html/occ config:system:set allow_local_remote_servers --type=bool --value=true
else
if [ -d "/var/www/html/custom_apps/onlyoffice" ]; then
php /var/www/html/occ app:remove onlyoffice
fi
fi
php /var/www/html/occ config:app:set richdocuments wopi_url --value="https://$NC_DOMAIN/"
# php /var/www/html/occ richdocuments:activate-config
# 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
# Talk
if ! [ -d "/var/www/html/custom_apps/spreed" ]; then
php /var/www/html/occ app:install spreed
elif [ "$(php /var/www/html/occ config:app:get spreed enabled)" = "no" ]; then
php /var/www/html/occ app:enable spreed
if [ "$TALK_ENABLED" = 'yes' ]; then
if ! [ -d "/var/www/html/custom_apps/spreed" ]; then
php /var/www/html/occ app:install spreed
elif [ "$(php /var/www/html/occ config:app:get spreed enabled)" = "no" ]; then
php /var/www/html/occ app:enable spreed
else
php /var/www/html/occ app:update spreed
fi
STUN_SERVERS="[\"$NC_DOMAIN:$TALK_PORT\"]"
TURN_SERVERS="[{\"server\":\"$NC_DOMAIN:$TALK_PORT\",\"secret\":\"$TURN_SECRET\",\"protocols\":\"udp,tcp\"}]"
SIGNALING_SERVERS="{\"servers\":[{\"server\":\"https://$NC_DOMAIN/standalone-signaling/\",\"verify\":true}],\"secret\":\"$SIGNALING_SECRET\"}"
php /var/www/html/occ config:app:set spreed stun_servers --value="$STUN_SERVERS" --output json
php /var/www/html/occ config:app:set spreed turn_servers --value="$TURN_SERVERS" --output json
php /var/www/html/occ config:app:set spreed signaling_servers --value="$SIGNALING_SERVERS" --output json
else
php /var/www/html/occ app:update spreed
if [ -d "/var/www/html/custom_apps/spreed" ]; then
php /var/www/html/occ app:remove spreed
fi
fi
# Clamav
if [ "$CLAMAV_ENABLED" = 'yes' ]; then
while ! nc -z "$CLAMAV_HOST" 3310; do
echo "waiting for clamav to become available..."
sleep 5
done
if ! [ -d "/var/www/html/custom_apps/files_antivirus" ]; then
php /var/www/html/occ app:install files_antivirus
elif [ "$(php /var/www/html/occ config:app:get files_antivirus enabled)" = "no" ]; then
php /var/www/html/occ app:enable files_antivirus
else
php /var/www/html/occ app:update files_antivirus
fi
php /var/www/html/occ config:app:set files_antivirus av_mode --value="daemon"
php /var/www/html/occ config:app:set files_antivirus av_port --value="3310"
php /var/www/html/occ config:app:set files_antivirus av_host --value="$CLAMAV_HOST"
php /var/www/html/occ config:app:set files_antivirus av_stream_max_length --value="104857600"
php /var/www/html/occ config:app:set files_antivirus av_max_file_size --value="-1"
php /var/www/html/occ config:app:set files_antivirus av_infected_action --value="only_log"
else
if [ -d "/var/www/html/custom_apps/files_antivirus" ]; then
php /var/www/html/occ app:remove files_antivirus
fi
fi
# Imaginary
if version_greater "$installed_version" "24.0.0.0"; then
if [ "$IMAGINARY_ENABLED" = 'yes' ]; then
php /var/www/html/occ config:system:set enabledPreviewProviders 0 --value="OC\\Preview\\Imaginary"
php /var/www/html/occ config:system:set preview_imaginary_url --value="http://$IMAGINARY_HOST:9000"
else
php /var/www/html/occ config:system:delete enabledPreviewProviders 0
php /var/www/html/occ config:system:delete preview_imaginary_url
fi
fi
# Fulltextsearch
if [ "$FULLTEXTSEARCH_ENABLED" = 'yes' ]; then
while ! nc -z "$FULLTEXTSEARCH_HOST" 9200; do
echo "waiting for Fulltextsearch to become available..."
sleep 5
done
if ! [ -d "/var/www/html/custom_apps/fulltextsearch" ]; then
php /var/www/html/occ app:install fulltextsearch
elif [ "$(php /var/www/html/occ config:app:get fulltextsearch enabled)" = "no" ]; then
php /var/www/html/occ app:enable fulltextsearch
else
php /var/www/html/occ app:update fulltextsearch
fi
if ! [ -d "/var/www/html/custom_apps/fulltextsearch_elasticsearch" ]; then
php /var/www/html/occ app:install fulltextsearch_elasticsearch
elif [ "$(php /var/www/html/occ config:app:get fulltextsearch_elasticsearch enabled)" = "no" ]; then
php /var/www/html/occ app:enable fulltextsearch_elasticsearch
else
php /var/www/html/occ app:update fulltextsearch_elasticsearch
fi
if ! [ -d "/var/www/html/custom_apps/files_fulltextsearch" ]; then
php /var/www/html/occ app:install files_fulltextsearch
elif [ "$(php /var/www/html/occ config:app:get files_fulltextsearch enabled)" = "no" ]; then
php /var/www/html/occ app:enable files_fulltextsearch
else
php /var/www/html/occ app:update files_fulltextsearch
fi
php /var/www/html/occ fulltextsearch:configure '{"search_platform":"OCA\\FullTextSearch_Elasticsearch\\Platform\\ElasticSearchPlatform"}'
php /var/www/html/occ fulltextsearch_elasticsearch:configure "{\"elastic_host\":\"http://$FULLTEXTSEARCH_HOST:9200\",\"elastic_index\":\"nextcloud-aio\"}"
php /var/www/html/occ files_fulltextsearch:configure "{\"files_pdf\":\"1\",\"files_office\":\"1\"}"
# Do the index
if ! [ -f "/mnt/ncdata/fts-index.done" ]; then
echo "Waiting 10s before activating FTS..."
sleep 10
echo "Activating fulltextsearch..."
if php /var/www/html/occ fulltextsearch:test && php /var/www/html/occ fulltextsearch:index; then
touch "/mnt/ncdata/fts-index.done"
else
echo "Fulltextsearch failed. Could not index."
fi
fi
else
if [ -d "/var/www/html/custom_apps/fulltextsearch" ]; then
php /var/www/html/occ app:remove fulltextsearch
fi
if [ -d "/var/www/html/custom_apps/fulltextsearch_elasticsearch" ]; then
php /var/www/html/occ app:remove fulltextsearch_elasticsearch
fi
if [ -d "/var/www/html/custom_apps/files_fulltextsearch" ]; then
php /var/www/html/occ app:remove files_fulltextsearch
fi
fi
STUN_SERVERS="[\"$NC_DOMAIN:3478\"]"
TURN_SERVERS="[{\"server\":\"$NC_DOMAIN:3478\",\"secret\":\"$TURN_SECRET\",\"protocols\":\"udp,tcp\"}]"
SIGNALING_SERVERS="{\"servers\":[{\"server\":\"https://$NC_DOMAIN/standalone-signaling/\",\"verify\":true}],\"secret\":\"$SIGNALING_SECRET\"}"
php /var/www/html/occ config:app:set spreed stun_servers --value="$STUN_SERVERS" --output json
php /var/www/html/occ config:app:set spreed turn_servers --value="$TURN_SERVERS" --output json
php /var/www/html/occ config:app:set spreed signaling_servers --value="$SIGNALING_SERVERS" --output json
# Remove the update skip file always
rm -f /mnt/ncdata/skip.update

View File

@@ -11,9 +11,15 @@ POSTGRES_USER="oc_$POSTGRES_USER"
export POSTGRES_USER
# Fix false database connection on old instances
if [ -f "/var/www/html/config/config.php" ] && sleep 2 && psql -d "postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:5432/$POSTGRES_DB" -c "select now()"; then
sed -i "s|'dbuser'.*=>.*$|'dbuser' => '$POSTGRES_USER',|" /var/www/html/config/config.php
sed -i "s|'dbpassword'.*=>.*$|'dbpassword' => '$POSTGRES_PASSWORD',|" /var/www/html/config/config.php
if [ -f "/var/www/html/config/config.php" ]; then
sleep 2
while ! psql -d "postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:5432/$POSTGRES_DB" -c "select now()"; do
echo "Waiting for the database to start..."
sleep 5
done
# The code below is hopefully not needed anymore. Was introduced with https://github.com/nextcloud/all-in-one/pull/218
# sed -i "s|'dbuser'.*=>.*$|'dbuser' => '$POSTGRES_USER',|" /var/www/html/config/config.php
# sed -i "s|'dbpassword'.*=>.*$|'dbpassword' => '$POSTGRES_PASSWORD',|" /var/www/html/config/config.php
fi
# Run original entrypoint

View File

@@ -28,3 +28,10 @@ stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=/var/www/html/custom_apps/notify_push/bin/%(ENV_CPU_ARCH)s/notify_push /var/www/html/config/config.php --port 7867 --redis-url redis://:%(ENV_REDIS_HOST_PASSWORD)s@%(ENV_REDIS_HOST)s
[program:activate-collabora]
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=/activate-collabora.sh

View File

@@ -0,0 +1,4 @@
# From https://github.com/ONLYOFFICE/Docker-DocumentServer/blob/master/Dockerfile
FROM onlyoffice/documentserver:7.1.1.23
HEALTHCHECK CMD curl -skfI localhost || exit 1

View File

@@ -1,7 +1,7 @@
# From https://github.com/docker-library/postgres/blob/master/13/alpine/Dockerfile
FROM postgres:14.2-alpine3.15
FROM postgres:14.5-alpine
RUN apk add --update --no-cache bash openssl shadow netcat-openbsd
RUN apk add --update --no-cache bash openssl shadow netcat-openbsd grep mawk
# We need to use the same gid and uid as on old installations
RUN set -ex; \
@@ -31,3 +31,5 @@ RUN echo "root:$(openssl rand -base64 12)" | chpasswd
USER postgres
ENTRYPOINT ["start.sh"]
HEALTHCHECK CMD psql -d "postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@localhost:5432/$POSTGRES_DB" -c "select now()" || exit 1

View File

@@ -39,7 +39,7 @@ if ( [ -f "$DATADIR/PG_VERSION" ] && [ "$PG_MAJOR" != "$(cat "$DATADIR/PG_VERSIO
# If database export was unsuccessful, skip update
if [ -f "$DUMP_DIR/export.failed" ]; then
echo "Database export failed the last time. Most likely was the export time not high enough."
echo "Plese report this to https://github.com/nextcloud/all-in-one/issues. Thanks!"
echo "Please report this to https://github.com/nextcloud/all-in-one/issues. Thanks!"
exit 1
fi
@@ -64,12 +64,21 @@ if ( [ -f "$DATADIR/PG_VERSION" ] && [ "$PG_MAJOR" != "$(cat "$DATADIR/PG_VERSIO
sleep 5
done
# Set correct permissions
if grep -q "Owner: oc_admin" "$DUMP_FILE" && ! grep -q "Owner: oc_$POSTGRES_USER" "$DUMP_FILE"; then
OC_ADMIN_EXISTS=1
# Check if the line we grep for later on is there
GREP_STRING='Name: oc_appconfig; Type: TABLE; Schema: public; Owner:'
if ! grep -q "$GREP_STRING" "$DUMP_FILE"; then
echo "The needed oc_appconfig line is not there which is unexpected."
echo "Please report this to https://github.com/nextcloud/all-in-one/issues. Thanks!"
exit 1
fi
# Get the Owner
DB_OWNER="$(grep "$GREP_STRING" "$DUMP_FILE" | grep -oP 'Owner:.*$' | sed 's|Owner:||;s| ||g')"
if [ "$DB_OWNER" != "oc_$POSTGRES_USER" ]; then
DIFFERENT_DB_OWNER=1
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
CREATE USER oc_admin WITH PASSWORD '$POSTGRES_PASSWORD' CREATEDB;
ALTER DATABASE "$POSTGRES_DB" OWNER TO oc_admin;
CREATE USER "$DB_OWNER" WITH PASSWORD '$POSTGRES_PASSWORD' CREATEDB;
ALTER DATABASE "$POSTGRES_DB" OWNER TO "$DB_OWNER";
EOSQL
fi
@@ -78,10 +87,10 @@ EOSQL
psql "$POSTGRES_DB" -U "$POSTGRES_USER" < "$DUMP_FILE"
# Correct permissions
if [ -n "$OC_ADMIN_EXISTS" ]; then
if [ -n "$DIFFERENT_DB_OWNER" ]; then
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
ALTER DATABASE "$POSTGRES_DB" OWNER TO "oc_$POSTGRES_USER";
REASSIGN OWNED BY oc_admin TO "oc_$POSTGRES_USER";
REASSIGN OWNED BY "$DB_OWNER" TO "oc_$POSTGRES_USER";
EOSQL
fi
@@ -101,6 +110,13 @@ if ! [ -f "$DATADIR/PG_VERSION" ] && ! [ -f "$DUMP_FILE" ]; then
rm -rf "${DATADIR:?}/"*
fi
echo "Setting max connections..."
MEMORY=$(mawk '/MemTotal/ {printf "%d", $2/1024}' /proc/meminfo)
MAX_CONNECTIONS=$((MEMORY/50+3))
if [ -n "$MAX_CONNECTIONS" ]; then
sed -i "s|^max_connections =.*|max_connections = $MAX_CONNECTIONS|" "/var/lib/postgresql/data/postgresql.conf"
fi
# Catch docker stop attempts
trap 'true' SIGINT SIGTERM

View File

@@ -1,5 +1,5 @@
# From https://github.com/docker-library/redis/blob/master/6.2/alpine/Dockerfile
FROM redis:6.2.6-alpine3.15
FROM redis:6.2.7-alpine
RUN apk add --update --no-cache openssl bash
@@ -11,3 +11,5 @@ RUN echo "root:$(openssl rand -base64 12)" | chpasswd
USER redis
ENTRYPOINT ["start.sh"]
HEALTHCHECK CMD redis-cli -a $REDIS_HOST_PASSWORD PING || exit 1

View File

@@ -1,6 +1,4 @@
FROM ubuntu:focal-20220302
EXPOSE 3478
FROM ubuntu:focal-20220826
RUN set -ex; \
\
@@ -11,6 +9,7 @@ RUN set -ex; \
supervisor \
curl \
ca-certificates \
netcat \
; \
rm -rf /var/lib/apt/lists/*
@@ -49,16 +48,25 @@ RUN chmod +x /usr/bin/start.sh; \
sed -i '/TURNSERVER_ENABLED/c\TURNSERVER_ENABLED=1' /etc/default/coturn; \
mkdir -p /var/tmp;
RUN curl -sL -o "/usr/share/janus/lua/json.lua" "https://raw.githubusercontent.com/rxi/json.lua/master/json.lua"; \
curl -sL -o "/usr/share/janus/lua/ansicolors.lua" "https://raw.githubusercontent.com/kikito/ansicolors.lua/master/ansicolors.lua"
RUN mkdir -p /etc/nats; \
echo "listen: 127.0.0.1:4222" > /etc/nats/nats.conf; \
chown talk:talk /etc; \
chown talk:talk -R /etc/nats; \
chown talk:talk -R /etc/janus; \
chown talk:talk -R /etc/signaling; \
chown talk:talk -R /usr/share/janus
chown talk:talk -R /usr
# Give root a random password
RUN echo "root:$(openssl rand -base64 12)" | chpasswd
# Set default talk port https://github.com/nextcloud/all-in-one/issues/1011
ENV TALK_PORT=3478
USER talk
ENTRYPOINT ["start.sh"]
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
HEALTHCHECK CMD (curl -skI localhost:8081 && curl -skI localhost:8188 && curl -skf --http0.9 localhost:4222 && nc -z localhost $TALK_PORT) || exit 1

View File

@@ -11,18 +11,19 @@ elif [ -z "$JANUS_API_KEY" ]; then
echo "You need to provide the JANUS_API_KEY."
exit 1
elif [ -z "$SIGNALING_SECRET" ]; then
echo "You need to provide the JANUS_API_KEY."
echo "You need to provide the SIGNALING_SECRET."
exit 1
fi
# Turn
cat << TURN_CONF > "/etc/turnserver.conf"
listening-port=3478
listening-port=$TALK_PORT
fingerprint
lt-cred-mech
use-auth-secret
static-auth-secret=$TURN_SECRET
realm=$NC_DOMAIN
total-quota=100
total-quota=0
bps-capacity=0
stale-nonce
no-multicast-peers
@@ -31,37 +32,55 @@ pidfile=/var/tmp/turnserver.pid
TURN_CONF
# Janus
sed -i "s|#turn_rest_api_key.*|turn_rest_api_key = $JANUS_API_KEY|" /etc/janus/janus.jcfg
sed -i "s|#full_trickle|full_trickle|g" /etc/janus/janus.jcfg
set -x
sed -i "s|#turn_rest_api_key.*|turn_rest_api_key = \"$JANUS_API_KEY\"|" /etc/janus/janus.jcfg
sed -i "s|#full_trickle.*|full_trickle = true|g" /etc/janus/janus.jcfg
sed -i 's|#stun_server.*|stun_server = "127.0.0.1"|g' /etc/janus/janus.jcfg
sed -i "s|#stun_port.*|stun_port = $TALK_PORT|g" /etc/janus/janus.jcfg
sed -i "s|#turn_port.*|turn_port = $TALK_PORT|g" /etc/janus/janus.jcfg
sed -i 's|#turn_server.*|turn_server = "127.0.0.1"|g' /etc/janus/janus.jcfg
sed -i 's|#turn_type .*|turn_type = "udp"|g' /etc/janus/janus.jcfg
sed -i 's|#ice_ignore_list .*|ice_ignore_list = "udp"|g' /etc/janus/janus.jcfg
sed -i 's|#interface.*|interface = "lo"|g' /etc/janus/janus.transport.websockets.jcfg
sed -i 's|#ws_interface.*|ws_interface = "lo"|g' /etc/janus/janus.transport.websockets.jcfg
set +x
# Signling
cat << SIGNALING_CONF > "/etc/signaling/server.conf"
[http]
listen = 0.0.0.0:8081
[app]
debug = false
[sessions]
hashkey = $(openssl rand -hex 16)
blockkey = $(openssl rand -hex 16)
[clients]
internalsecret = $(openssl rand -hex 16)
[backend]
allowed = ${NC_DOMAIN}
backends = backend-1
allowall = false
secret = ${SIGNALING_SECRET}
timeout = 10
connectionsperhost = 8
[backend-1]
url = https://${NC_DOMAIN}
secret = ${SIGNALING_SECRET}
[nats]
url = nats://127.0.0.1:4222
[mcu]
type = janus
url = ws://127.0.0.1:8188
[turn]
apikey = ${JANUS_API_KEY}
secret = ${TURN_SECRET}
servers = turn:$NC_DOMAIN:3478?transport=tcp,turn:$NC_DOMAIN:3478?transport=udp
servers = turn:$NC_DOMAIN:$TALK_PORT?transport=tcp,turn:$NC_DOMAIN:$TALK_PORT?transport=udp
SIGNALING_CONF
exec "$@"

View File

@@ -27,7 +27,7 @@ stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=janus
command=/usr/bin/janus --config=/etc/janus/janus.jcfg --disable-colors --daemon --log-stdout
[program:signaling]
stdout_logfile=/dev/stdout

View File

@@ -1,7 +1,7 @@
# From https://github.com/containrrr/watchtower/blob/main/dockerfiles/Dockerfile.self-contained
FROM containrrr/watchtower:1.4.0 as watchtower
FROM alpine:3.15.0
FROM alpine:3.16.2
RUN apk add --update --no-cache bash
COPY --from=watchtower /watchtower /

View File

@@ -5,7 +5,7 @@
<name>Nextcloud All In One</name>
<summary>Provides a login link for admins.</summary>
<description>Add a link to the admin settings that gives access to the Nextcloud All In One admin interface</description>
<version>0.1.0</version>
<version>0.2.0</version>
<licence>agpl</licence>
<author>Azul</author>
<namespace>AllInOne</namespace>
@@ -13,7 +13,7 @@
<category>monitoring</category>
<bugs>https://github.com/nextcloud/all-in-one/issues</bugs>
<dependencies>
<nextcloud min-version="22" max-version="23"/>
<nextcloud min-version="23" max-version="24"/>
</dependencies>
<settings>

View File

@@ -1,12 +1,13 @@
## Developer channel
If you want to switch to the develop channel, you simply stop and delete the mastercontainer and create a new one with a changed tag to develop:
```shell
sudo docker run -it \
sudo docker run \
--sig-proxy=false \
--name nextcloud-aio-mastercontainer \
--restart always \
-p 80:80 \
-p 8080:8080 \
-p 8443:8443 \
--publish 80:80 \
--publish 8080:8080 \
--publish 8443:8443 \
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
nextcloud/all-in-one:develop
@@ -14,11 +15,23 @@ nextcloud/all-in-one:develop
And you are done :)
It will now also select the developer channel for all other containers automatically.
## How to build new containers
## How to publish new releases?
Simply use https://github.com/nextcloud/all-in-one/issues/180 as template.
## How to build new containers
Go to https://github.com/nextcloud-releases/all-in-one/actions/workflows/repo-sync.yml and run the workflow that will first sync the repo and then build new container that automatically get published to `develop` and `develop-arm64`.
## How to promote builds from develop to latest
## How to test things correctly?
There is a testing-VM available for the maintainer of AIO that allows for some final testing before releasing new version. See [this](https://cloud.nextcloud.com/apps/collectives/Nextcloud%20Handbook/Technical/AIO%20testing%20VM?fileId=6350152) for details.
## How to promote builds from develop to beta
1. Verify that no job is running here: https://github.com/nextcloud-releases/all-in-one/actions/workflows/build_images.yml
2. Go to https://github.com/nextcloud-releases/all-in-one/actions/workflows/promote-to-latest.yml, click on `Run workflow` and enter your desired container image name that you want to publish from develop to latest. Available image names are listed here: https://github.com/nextcloud-releases/all-in-one/blob/main/.github/workflows/build_images.yml#L21-L30
2. Go to https://github.com/nextcloud-releases/all-in-one/actions/workflows/promote-to-beta.yml, click on `Run workflow`.
## Where to find the VPS and other builds?
This is documented here: https://github.com/nextcloud-releases/all-in-one/tree/main/.build
## How to promote builds from beta to latest
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`.

View File

@@ -2,17 +2,41 @@ version: "3.8"
volumes:
nextcloud_aio_mastercontainer:
name: nextcloud_aio_mastercontainer
name: nextcloud_aio_mastercontainer # This line is not allowed to be changed
services:
nextcloud:
image: nextcloud/all-in-one:latest
restart: unless-stopped
container_name: nextcloud-aio-mastercontainer
image: nextcloud/all-in-one:latest # Must be changed to 'nextcloud/all-in-one:latest-arm64' when used with an arm64 CPU
restart: always
container_name: nextcloud-aio-mastercontainer # This line is not allowed to be changed
volumes:
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config
- /var/run/docker.sock:/var/run/docker.sock:ro
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config # This line is not allowed to be changed
- /var/run/docker.sock:/var/run/docker.sock:ro # May be changed on macOS, Windows or docker rootless. See the applicable documentation
ports:
- 80:80
- 80:80 # Can be removed when running behind a reverse proxy. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
- 8080:8080
- 8443:8443
- 8443:8443 # Can be removed when running behind a reverse proxy. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# environment: # Is needed when using any of the options below
# - APACHE_PORT=11000 # Is needed when running behind a reverse proxy. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# - APACHE_IP_BINDING=127.0.0.1 # Should be set when running behind a reverse proxy that is running on the same host. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# - TALK_PORT=3478 # This allows to adjust the port that the talk container is using.
# - NEXTCLOUD_DATADIR=/mnt/ncdata # Allows to set the host directory for Nextcloud's datadir. See https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir
# - NEXTCLOUD_MOUNT=/mnt/ # Allows the Nextcloud container to access the chosen directory on the host. See https://github.com/nextcloud/all-in-one#how-to-allow-the-nextcloud-container-to-access-directories-on-the-host
# - DOCKER_SOCKET_PATH=/var/run/docker.sock # Needs to be specified if the docker socket on the host is not located in the default '/var/run/docker.sock'. Otherwise mastercontainer updates will fail.
# - DISABLE_BACKUP_SECTION=true # Setting this to true allows to hide the backup section in the AIO interface.
# - NEXTCLOUD_UPLOAD_LIMIT=10G # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-upload-limit-for-nextcloud
# - NEXTCLOUD_MAX_TIME=3600 # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-max-execution-time-for-nextcloud
# # Optional: Caddy reverse proxy. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# # You can find further examples here: https://github.com/nextcloud/all-in-one/discussions/588
# caddy:
# image: caddy:alpine
# restart: always
# container_name: caddy
# volumes:
# - ./Caddyfile:/etc/caddy/Caddyfile
# - ./certs:/certs
# - ./config:/config
# - ./data:/data
# - ./sites:/srv
# network_mode: "host"

14
docker-rootless.md Normal file
View File

@@ -0,0 +1,14 @@
# Docker rootless
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`)
1. Install docker rootless by following the official documentation: https://docs.docker.com/engine/security/rootless/#install. The easiest way is installing it **Without packages** (`curl -fsSL https://get.docker.com/rootless | sh`). Further limitations, distribution specific hints, etc. are discussed on the same site. Also do not forget to enable the systemd service, which may not be enabled always by default. See https://docs.docker.com/engine/security/rootless/#usage. (`systemctl --user enable docker`)
1. If you need ipv6 support, you should enable it by following https://docs.docker.com/config/daemon/ipv6/. The daemon.json file is most likely stored in `~/.config/docker/daemon.json`.
1. Do not forget to set the mentioned environmental variables and in best case add them to your `~/.bashrc` file as shown!
1. Also do not forget to run `loginctl enable-linger USERNAME` (and substitute USERNAME with the correct one) in order to make sure that user services are automatically started after every reboot.
1. Expose the privileged ports by following https://docs.docker.com/engine/security/rootless/#exposing-privileged-ports. (`sudo setcap cap_net_bind_service=ep $(which rootlesskit); systemctl --user restart docker`)
1. Use the official AIO startup command but use `--volume $XDG_RUNTIME_DIR/docker.sock:/var/run/docker.sock:ro` instead of `--volume /var/run/docker.sock:/var/run/docker.sock:ro` and also add `-e DOCKER_SOCKET_PATH=$XDG_RUNTIME_DIR/docker.sock` to the initial container startup (which is needed for mastercontainer updates to work correctly).
1. Now everything should work like without docker rootless. You can consider using docker-compose for this or running it behind a reverse proxy. Basically the only thing that needs to be adjusted always in the startup command or docker-compose file (after installing docker rootles) are things that are mentioned in point 3.
**Please note:** All files outside the containers get created, written to and accessed as the user that is running the docker daemon or a subuid of it. So for the built-in backup to work you need to allow this user to write to the target directory. For changing Nextcloud's datadir, you need to adjust the permissions of the chosen folders to be accessible/writeable by the userid `100032:100032` (if running `grep ^$(whoami): /etc/subuid` as the user that is running the docker daemon returns 100000 as first value). This logically also applies to the NEXTCLOUD_MOUNT option.

19
local-instance.md Normal file
View File

@@ -0,0 +1,19 @@
# Local instance
It is possible due to several reasons that you do not want or cannot open Nextcloud to the public internet. However AIO requires a valid certificate to work correctly. Below is discussed how you can achieve both: Having a valid certificate for Nextcloud and only using it locally.
## 1. The recommended way
The recommended way is the following:
1. Set up your domain correctly to point to your home network
1. Set up a reverse proxy by following the [reverse proxy documentation](./reverse-proxy.md) but only open port 80 (which is needed for the ACME challenge to work - however no real traffic will use this port).
1. Set up a local DNS-server like a pi-hole and configure it to be your local DNS-server for the whole network. Then in the Pi-hole interface, add a custom DNS-record for your domain and overwrite the A-record (and possibly the AAAA-record, too) to point to the local ip-address of your reverse proxy
1. Enter the the ip-address of your local dns-server in the deamon.json file for docker so that you are sure that all docker containers use the correct local dns-server.
1. Now, entering the domain in the AIO-interface should work as expected and should allow you to continue with the setup
## 2. Use the ACME DNS-challenge
You can alternatively use the ACME DNS-challenge to get a valid certificate for Nextcloud. Here is described how to set it up: https://github.com/nextcloud/all-in-one#how-to-get-nextcloud-running-using-the-acme-dns-challenge
## 3. Use Cloudflare
If you do not have any contol over the network, you may think about using Cloudflare Argo Tunnel to get a valid certificate for your Nextcloud. However it will be opened to the public internet then. See https://github.com/nextcloud/all-in-one#how-to-run-nextcloud-behind-a-cloudflare-argo-tunnel how to set this up.
## 4. Buy a certificate and use that
If none of the above ways work for you, you may simply buy a certificate from an issuer for your domain. You then download the certificate onto your server, configure AIO in [reverse proxy mode](./reverse-proxy.md) and use the certificate for your domain in your reverse proxy config.

View File

@@ -0,0 +1,173 @@
version: "3.8"
services:
nextcloud-aio-apache:
container_name: nextcloud-aio-apache
depends_on:
- nextcloud-aio-collabora
- nextcloud-aio-talk
- nextcloud-aio-nextcloud
image: nextcloud/aio-apache:latest-arm64
ports:
- ${APACHE_PORT}:${APACHE_PORT}/tcp
environment:
- NC_DOMAIN=${NC_DOMAIN}
- NEXTCLOUD_HOST=nextcloud-aio-nextcloud
- COLLABORA_HOST=nextcloud-aio-collabora
- TALK_HOST=nextcloud-aio-talk
- APACHE_PORT=${APACHE_PORT}
- TZ=${TIMEZONE}
volumes:
- nextcloud_aio_nextcloud:/var/www/html:ro
- nextcloud_aio_apache:/mnt/data:rw
stop_grace_period: 10s
restart: unless-stopped
networks:
- nextcloud-aio
nextcloud-aio-database:
container_name: nextcloud-aio-database
image: nextcloud/aio-postgresql:latest-arm64
volumes:
- nextcloud_aio_database:/var/lib/postgresql/data:rw
- nextcloud_aio_database_dump:/mnt/data:rw
environment:
- POSTGRES_PASSWORD=${DATABASE_PASSWORD}
- POSTGRES_DB=nextcloud_database
- POSTGRES_USER=nextcloud
- TZ=${TIMEZONE}
- PGTZ=${TIMEZONE}
stop_grace_period: 1800s
restart: unless-stopped
networks:
- nextcloud-aio
nextcloud-aio-nextcloud:
container_name: nextcloud-aio-nextcloud
depends_on:
- nextcloud-aio-database
- nextcloud-aio-redis
- nextcloud-aio-fulltextsearch
- nextcloud-aio-imaginary
image: nextcloud/aio-nextcloud:latest-arm64
volumes:
- nextcloud_aio_nextcloud:/var/www/html:rw
- ${NEXTCLOUD_DATADIR}:/mnt/ncdata:rw
- ${NEXTCLOUD_MOUNT}:${NEXTCLOUD_MOUNT}:rw
environment:
- POSTGRES_HOST=nextcloud-aio-database
- POSTGRES_PASSWORD=${DATABASE_PASSWORD}
- POSTGRES_DB=nextcloud_database
- POSTGRES_USER=nextcloud
- REDIS_HOST=nextcloud-aio-redis
- REDIS_HOST_PASSWORD=${REDIS_PASSWORD}
- AIO_TOKEN=${AIO_TOKEN}
- NC_DOMAIN=${NC_DOMAIN}
- ADMIN_USER=admin
- ADMIN_PASSWORD=${NEXTCLOUD_PASSWORD}
- NEXTCLOUD_DATA_DIR=/mnt/ncdata
- OVERWRITEHOST=${NC_DOMAIN}
- OVERWRITEPROTOCOL=https
- TURN_SECRET=${TURN_SECRET}
- SIGNALING_SECRET=${SIGNALING_SECRET}
- AIO_URL=${AIO_URL}
- NEXTCLOUD_MOUNT=${NEXTCLOUD_MOUNT}
- COLLABORA_ENABLED=${COLLABORA_ENABLED}
- COLLABORA_HOST=nextcloud-aio-collabora
- TALK_ENABLED=${TALK_ENABLED}
- UPDATE_NEXTCLOUD_APPS=${UPDATE_NEXTCLOUD_APPS}
- TZ=${TIMEZONE}
- TALK_PORT=${TALK_PORT}
- IMAGINARY_ENABLED=${IMAGINARY_ENABLED}
- IMAGINARY_HOST=nextcloud-aio-imaginary
- PHP_UPLOAD_LIMIT=${NEXTCLOUD_UPLOAD_LIMIT}
- FULLTEXTSEARCH_ENABLED=${FULLTEXTSEARCH_ENABLED}
- FULLTEXTSEARCH_HOST=nextcloud-aio-fulltextsearch
- PHP_MAX_TIME=${NEXTCLOUD_MAX_TIME}
stop_grace_period: 10s
restart: unless-stopped
networks:
- nextcloud-aio
nextcloud-aio-redis:
container_name: nextcloud-aio-redis
image: nextcloud/aio-redis:latest-arm64
environment:
- REDIS_HOST_PASSWORD=${REDIS_PASSWORD}
- TZ=${TIMEZONE}
stop_grace_period: 10s
restart: unless-stopped
networks:
- nextcloud-aio
nextcloud-aio-collabora:
container_name: nextcloud-aio-collabora
image: nextcloud/aio-collabora:latest-arm64
environment:
- aliasgroup1=https://${NC_DOMAIN}:443
- extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:logging.level=warning --o:home_mode.enable=true
- dictionaries=${COLLABORA_DICTIONARIES}
- TZ=${TIMEZONE}
stop_grace_period: 10s
restart: unless-stopped
networks:
- nextcloud-aio
nextcloud-aio-talk:
container_name: nextcloud-aio-talk
image: nextcloud/aio-talk:latest-arm64
ports:
- ${TALK_PORT}:${TALK_PORT}/tcp
- ${TALK_PORT}:${TALK_PORT}/udp
environment:
- NC_DOMAIN=${NC_DOMAIN}
- TURN_SECRET=${TURN_SECRET}
- SIGNALING_SECRET=${SIGNALING_SECRET}
- JANUS_API_KEY=${JANUS_API_KEY}
- TZ=${TIMEZONE}
- TALK_PORT=${TALK_PORT}
stop_grace_period: 10s
restart: unless-stopped
networks:
- nextcloud-aio
nextcloud-aio-imaginary:
container_name: nextcloud-aio-imaginary
image: nextcloud/aio-imaginary:latest-arm64
environment:
- TZ=${TIMEZONE}
stop_grace_period: 10s
restart: unless-stopped
networks:
- nextcloud-aio
nextcloud-aio-fulltextsearch:
container_name: nextcloud-aio-fulltextsearch
image: nextcloud/aio-fulltextsearch:latest-arm64
environment:
- TZ=${TIMEZONE}
- discovery.type=single-node
- ES_JAVA_OPTS=-Xms1024M -Xmx1024M
volumes:
- nextcloud_aio_elasticsearch:/usr/share/elasticsearch/data:rw
stop_grace_period: 10s
restart: unless-stopped
networks:
- nextcloud-aio
volumes:
nextcloud_aio_apache:
name: nextcloud_aio_apache
nextcloud_aio_database:
name: nextcloud_aio_database
nextcloud_aio_database_dump:
name: nextcloud_aio_database_dump
nextcloud_aio_elasticsearch:
name: nextcloud_aio_elasticsearch
nextcloud_aio_nextcloud:
name: nextcloud_aio_nextcloud
nextcloud_aio_nextcloud_data:
name: nextcloud_aio_nextcloud_data
networks:
nextcloud-aio:

212
manual-install/latest.yml Normal file
View File

@@ -0,0 +1,212 @@
version: "3.8"
services:
nextcloud-aio-apache:
container_name: nextcloud-aio-apache
depends_on:
- nextcloud-aio-onlyoffice
- nextcloud-aio-collabora
- nextcloud-aio-talk
- nextcloud-aio-nextcloud
image: nextcloud/aio-apache:latest
ports:
- ${APACHE_PORT}:${APACHE_PORT}/tcp
environment:
- NC_DOMAIN=${NC_DOMAIN}
- NEXTCLOUD_HOST=nextcloud-aio-nextcloud
- COLLABORA_HOST=nextcloud-aio-collabora
- TALK_HOST=nextcloud-aio-talk
- APACHE_PORT=${APACHE_PORT}
- ONLYOFFICE_HOST=nextcloud-aio-onlyoffice
- TZ=${TIMEZONE}
volumes:
- nextcloud_aio_nextcloud:/var/www/html:ro
- nextcloud_aio_apache:/mnt/data:rw
stop_grace_period: 10s
restart: unless-stopped
networks:
- nextcloud-aio
nextcloud-aio-database:
container_name: nextcloud-aio-database
image: nextcloud/aio-postgresql:latest
volumes:
- nextcloud_aio_database:/var/lib/postgresql/data:rw
- nextcloud_aio_database_dump:/mnt/data:rw
environment:
- POSTGRES_PASSWORD=${DATABASE_PASSWORD}
- POSTGRES_DB=nextcloud_database
- POSTGRES_USER=nextcloud
- TZ=${TIMEZONE}
- PGTZ=${TIMEZONE}
stop_grace_period: 1800s
restart: unless-stopped
networks:
- nextcloud-aio
nextcloud-aio-nextcloud:
container_name: nextcloud-aio-nextcloud
depends_on:
- nextcloud-aio-database
- nextcloud-aio-redis
- nextcloud-aio-clamav
- nextcloud-aio-fulltextsearch
- nextcloud-aio-imaginary
image: nextcloud/aio-nextcloud:latest
volumes:
- nextcloud_aio_nextcloud:/var/www/html:rw
- ${NEXTCLOUD_DATADIR}:/mnt/ncdata:rw
- ${NEXTCLOUD_MOUNT}:${NEXTCLOUD_MOUNT}:rw
environment:
- POSTGRES_HOST=nextcloud-aio-database
- POSTGRES_PASSWORD=${DATABASE_PASSWORD}
- POSTGRES_DB=nextcloud_database
- POSTGRES_USER=nextcloud
- REDIS_HOST=nextcloud-aio-redis
- REDIS_HOST_PASSWORD=${REDIS_PASSWORD}
- AIO_TOKEN=${AIO_TOKEN}
- NC_DOMAIN=${NC_DOMAIN}
- ADMIN_USER=admin
- ADMIN_PASSWORD=${NEXTCLOUD_PASSWORD}
- NEXTCLOUD_DATA_DIR=/mnt/ncdata
- OVERWRITEHOST=${NC_DOMAIN}
- OVERWRITEPROTOCOL=https
- TURN_SECRET=${TURN_SECRET}
- SIGNALING_SECRET=${SIGNALING_SECRET}
- ONLYOFFICE_SECRET=${ONLYOFFICE_SECRET}
- AIO_URL=${AIO_URL}
- NEXTCLOUD_MOUNT=${NEXTCLOUD_MOUNT}
- CLAMAV_ENABLED=${CLAMAV_ENABLED}
- CLAMAV_HOST=nextcloud-aio-clamav
- ONLYOFFICE_ENABLED=${ONLYOFFICE_ENABLED}
- COLLABORA_ENABLED=${COLLABORA_ENABLED}
- COLLABORA_HOST=nextcloud-aio-collabora
- TALK_ENABLED=${TALK_ENABLED}
- ONLYOFFICE_HOST=nextcloud-aio-onlyoffice
- UPDATE_NEXTCLOUD_APPS=${UPDATE_NEXTCLOUD_APPS}
- TZ=${TIMEZONE}
- TALK_PORT=${TALK_PORT}
- IMAGINARY_ENABLED=${IMAGINARY_ENABLED}
- IMAGINARY_HOST=nextcloud-aio-imaginary
- PHP_UPLOAD_LIMIT=${NEXTCLOUD_UPLOAD_LIMIT}
- FULLTEXTSEARCH_ENABLED=${FULLTEXTSEARCH_ENABLED}
- FULLTEXTSEARCH_HOST=nextcloud-aio-fulltextsearch
- PHP_MAX_TIME=${NEXTCLOUD_MAX_TIME}
stop_grace_period: 10s
restart: unless-stopped
networks:
- nextcloud-aio
nextcloud-aio-redis:
container_name: nextcloud-aio-redis
image: nextcloud/aio-redis:latest
environment:
- REDIS_HOST_PASSWORD=${REDIS_PASSWORD}
- TZ=${TIMEZONE}
stop_grace_period: 10s
restart: unless-stopped
networks:
- nextcloud-aio
nextcloud-aio-collabora:
container_name: nextcloud-aio-collabora
image: nextcloud/aio-collabora:latest
environment:
- aliasgroup1=https://${NC_DOMAIN}:443
- extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:logging.level=warning --o:home_mode.enable=true
- dictionaries=${COLLABORA_DICTIONARIES}
- TZ=${TIMEZONE}
stop_grace_period: 10s
restart: unless-stopped
networks:
- nextcloud-aio
nextcloud-aio-talk:
container_name: nextcloud-aio-talk
image: nextcloud/aio-talk:latest
ports:
- ${TALK_PORT}:${TALK_PORT}/tcp
- ${TALK_PORT}:${TALK_PORT}/udp
environment:
- NC_DOMAIN=${NC_DOMAIN}
- TURN_SECRET=${TURN_SECRET}
- SIGNALING_SECRET=${SIGNALING_SECRET}
- JANUS_API_KEY=${JANUS_API_KEY}
- TZ=${TIMEZONE}
- TALK_PORT=${TALK_PORT}
stop_grace_period: 10s
restart: unless-stopped
networks:
- nextcloud-aio
nextcloud-aio-clamav:
container_name: nextcloud-aio-clamav
image: nextcloud/aio-clamav:latest
environment:
- TZ=${TIMEZONE}
volumes:
- nextcloud_aio_clamav:/var/lib/clamav:rw
stop_grace_period: 10s
restart: unless-stopped
networks:
- nextcloud-aio
nextcloud-aio-onlyoffice:
container_name: nextcloud-aio-onlyoffice
image: nextcloud/aio-onlyoffice:latest
environment:
- TZ=${TIMEZONE}
- JWT_ENABLED=true
- JWT_HEADER=AuthorizationJwt
- JWT_SECRET=${ONLYOFFICE_SECRET}
volumes:
- nextcloud_aio_onlyoffice:/var/lib/onlyoffice:rw
stop_grace_period: 10s
restart: unless-stopped
networks:
- nextcloud-aio
nextcloud-aio-imaginary:
container_name: nextcloud-aio-imaginary
image: nextcloud/aio-imaginary:latest
environment:
- TZ=${TIMEZONE}
stop_grace_period: 10s
restart: unless-stopped
networks:
- nextcloud-aio
nextcloud-aio-fulltextsearch:
container_name: nextcloud-aio-fulltextsearch
image: nextcloud/aio-fulltextsearch:latest
environment:
- TZ=${TIMEZONE}
- discovery.type=single-node
- ES_JAVA_OPTS=-Xms1024M -Xmx1024M
volumes:
- nextcloud_aio_elasticsearch:/usr/share/elasticsearch/data:rw
stop_grace_period: 10s
restart: unless-stopped
networks:
- nextcloud-aio
volumes:
nextcloud_aio_apache:
name: nextcloud_aio_apache
nextcloud_aio_clamav:
name: nextcloud_aio_clamav
nextcloud_aio_database:
name: nextcloud_aio_database
nextcloud_aio_database_dump:
name: nextcloud_aio_database_dump
nextcloud_aio_elasticsearch:
name: nextcloud_aio_elasticsearch
nextcloud_aio_nextcloud:
name: nextcloud_aio_nextcloud
nextcloud_aio_onlyoffice:
name: nextcloud_aio_onlyoffice
nextcloud_aio_nextcloud_data:
name: nextcloud_aio_nextcloud_data
networks:
nextcloud-aio:

41
manual-install/readme.md Normal file
View File

@@ -0,0 +1,41 @@
# Manual installation
You can run the containers that are build for AIO with docker-compose. This comes with a few downsides, that are discussed below.
### Advantages
- You can run it without a container having access to the docker socket
- You can modify all values on your own
### Disadvantages
- You lose the AIO interface
- You lose update notifications and automatic updates
- You lose all AIO backup and restore features
- You need to know what you are doing, especially when modifying the docker-compose file
- Probably more
## How to use this?
First, install docker and docker-compose if not already done. Then simply run the following:
```bash
git clone https://github.com/nextcloud/all-in-one.git
cd all-in-one/manual-install
```
Then copy the sample.conf to a new file, e.g. `cp sample.conf my.conf`, open the new conf file, e.g. with `nano my.conf`, edit all values that are marked with `# TODO!`, close and save the file.
Now copy the provided yaml file to a docker-compose file by running on x64 `cp latest.yml docker-compose.yml` and on arm64 `cp latest-arm64.yml docker-compose.yml`.
Now you should be ready to go with `sudo docker-compose --env-file my.conf up`.
## How to update?
Since the AIO containers may change in the future, it is highly recommended to strictly follow the following procedure whenever you want to upgrade your containers.
1. Run `sudo docker-compose --env-file my.conf down` to stop all running containers
1. Back up all important files and folders
1. Run `git pull` in order to get the updated yaml files from the repository. Now bring your `docker-compose.yml` file up-to-date with the updated one from the repository. You can use `diff docker-compose.yml latest.yml` on x64 and `diff docker-compose.yml latest-arm64.yml` on arm64 for comparing.
1. Also have a look at the `sample.conf` if any variable was added or renamed and add that to your conf file as well. Here may help the diff command as well.
1. After the file update was successful, simply run `sudo docker-compose --env-file my.conf pull` to pull the new images.
1. At the end run `sudo docker-compose --env-file my.conf up` in order to start and update the containers with the new configuration.
## FAQ
### Backup and restore?
If you leave `NEXTCLOUD_DATADIR` in your conf file at the default value of `nextcloud_aio_nextcloud_data` and don't modify the yaml file, all data will be stored inside docker volumes which are on Linux by default located here: `/var/lib/docker/volumes`. Simply backing up this location should be a valid backup solution. Then you can also easily restore in case something bad happens. However if you change `NEXTCLOUD_DATADIR` to a path like `/mnt/ncdata`, you obviously need to back up this location, too because the Nextcloud data will be stored there. The same applies to any change to the yaml file.
Obviously you also need to back up the conf file and the yaml file if you modified it.

View File

@@ -0,0 +1,25 @@
AIO_TOKEN=123456 # Has no function but needs to be set!
AIO_URL=localhost # Has no function but needs to be set!
APACHE_PORT=443 # Changing this to a different value than 443 will allow you to run it behind a reverse proxy.
CLAMAV_ENABLED=no # Setting this to "yes" enables the option in Nextcloud automatically.
COLLABORA_DICTIONARIES=de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru # You can change this in order to enable other dictionaries for collabora
COLLABORA_ENABLED=yes # Setting this to "yes" enables the option in Nextcloud automatically.
DATABASE_PASSWORD= # TODO! This needs to be a unique and good password!
FULLTEXTSEARCH_ENABLED=no # Setting this to "yes" enables the option in Nextcloud automatically.
IMAGINARY_ENABLED=no # Setting this to "yes" enables the option in Nextcloud automatically.
JANUS_API_KEY= # TODO! This needs to be a unique and good password!
NC_DOMAIN=yourdomain.com # TODO! Needs to be changed to the domain that you want to use for Nextcloud.
NEXTCLOUD_DATADIR=nextcloud_aio_nextcloud_data # You can change this to e.g. "/mnt/ncdata" to map it to a location on your host. It needs to be adjusted before the first startup and never afterwards!
NEXTCLOUD_MAX_TIME=3600 # This allows to change the upload time limit of the Nextcloud container
NEXTCLOUD_MOUNT=/mnt/ # This allows the Nextcloud container to access directories on the host. It must never be equal to the value of NEXTCLOUD_DATADIR!
NEXTCLOUD_PASSWORD= # TODO! This is the password of the initially created Nextcloud admin with username "admin".
NEXTCLOUD_UPLOAD_LIMIT=10G # This allows to change the upload limit of the Nextcloud container
ONLYOFFICE_ENABLED=no # Setting this to "yes" enables the option in Nextcloud automatically.
ONLYOFFICE_SECRET= # TODO! This needs to be a unique and good password!
REDIS_PASSWORD= # TODO! This needs to be a unique and good password!
SIGNALING_SECRET= # TODO! This needs to be a unique and good password!
TALK_ENABLED=yes # Setting this to "yes" enables the option in Nextcloud automatically.
TALK_PORT=3478 # This allows to adjust the port that the talk container is using.
TIMEZONE=Europe/Berlin # TODO! This is the timezone that your containers will use.
TURN_SECRET= # TODO! This needs to be a unique and good password!
UPDATE_NEXTCLOUD_APPS=no # When setting to yes, it will automatically update all installed Nextcloud apps upon container startup on saturdays.

View File

@@ -0,0 +1,128 @@
#!/bin/bash
jq -c . ./php/containers.json > /tmp/containers.json
sed -i 's|","location":"|:|g' /tmp/containers.json
sed -i 's|","writeable":false|:ro"|g' /tmp/containers.json
sed -i 's|","writeable":true|:rw"|g' /tmp/containers.json
OUTPUT="$(cat /tmp/containers.json)"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.production[].internalPorts)')"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.production[].secrets)')"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.production[] | select(.identifier == "nextcloud-aio-watchtower"))')"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.production[] | select(.identifier == "nextcloud-aio-domaincheck"))')"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.production[] | select(.identifier == "nextcloud-aio-borgbackup"))')"
snap install yq
mkdir -p ./manual-install
echo "$OUTPUT" | yq -P > ./manual-install/containers.yml
cd manual-install || exit
sed -i "s|'||g" containers.yml
sed -i 's|production:|services:|' containers.yml
sed -i 's|- identifier:| container_name:|' containers.yml
sed -i 's|restartPolicy:|restart:|' containers.yml
sed -i 's|environmentVariables:|environment:|' containers.yml
sed -i '/displayName:/d' containers.yml
sed -i 's|maxShutdownTime:|stop_grace_period:|' containers.yml
sed -i '/stop_grace_period:/s/$/s/' containers.yml
sed -i 's|containerName:|image:|' containers.yml
sed -i '/: \[\]/d' containers.yml
sed -i 's|dependsOn:|depends_on:|' containers.yml
sed -i 's|- name: |- |' containers.yml
TCP="$(grep -oP '[%A-Z0-9_]+/tcp' containers.yml | sort -u)"
mapfile -t TCP <<< "$TCP"
for port in "${TCP[@]}"
do
solve_port="${port%%/tcp}"
sed -i "s|$port|$solve_port:$solve_port/tcp|" containers.yml
done
UDP="$(grep -oP '[%A-Z0-9_]+/udp' containers.yml | sort -u)"
mapfile -t UDP <<< "$UDP"
for port in "${UDP[@]}"
do
solve_port="${port%%/udp}"
sed -i "s|$port|$solve_port:$solve_port/udp|" containers.yml
done
rm -f sample.conf
VARIABLES="$(grep -oP '%[A-Z_a-z0-6]+%' containers.yml | sort -u)"
mapfile -t VARIABLES <<< "$VARIABLES"
for variable in "${VARIABLES[@]}"
do
# shellcheck disable=SC2001
sole_variable="$(echo "$variable" | sed 's|%||g')"
echo "$sole_variable=" >> sample.conf
sed -i "s|$variable|\${$sole_variable}|g" containers.yml
done
sed -i 's|_ENABLED=|_ENABLED=no # Setting this to "yes" enables the option in Nextcloud automatically.|' sample.conf
sed -i 's|TALK_ENABLED=no|TALK_ENABLED=yes|' sample.conf
sed -i 's|COLLABORA_ENABLED=no|COLLABORA_ENABLED=yes|' sample.conf
sed -i 's|COLLABORA_DICTIONARIES=|COLLABORA_DICTIONARIES=de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru # You can change this in order to enable other dictionaries for collabora|' sample.conf
sed -i 's|NEXTCLOUD_DATADIR=|NEXTCLOUD_DATADIR=nextcloud_aio_nextcloud_data # You can change this to e.g. "/mnt/ncdata" to map it to a location on your host. It needs to be adjusted before the first startup and never afterwards!|' sample.conf
sed -i 's|NEXTCLOUD_MOUNT=|NEXTCLOUD_MOUNT=/mnt/ # This allows the Nextcloud container to access directories on the host. It must never be equal to the value of NEXTCLOUD_DATADIR!|' sample.conf
sed -i 's|NEXTCLOUD_UPLOAD_LIMIT=|NEXTCLOUD_UPLOAD_LIMIT=10G # This allows to change the upload limit of the Nextcloud container|' sample.conf
sed -i 's|NEXTCLOUD_MAX_TIME=|NEXTCLOUD_MAX_TIME=3600 # This allows to change the upload time limit of the Nextcloud container|' sample.conf
sed -i 's|UPDATE_NEXTCLOUD_APPS=|UPDATE_NEXTCLOUD_APPS=no # When setting to yes, it will automatically update all installed Nextcloud apps upon container startup on saturdays.|' sample.conf
sed -i 's|APACHE_PORT=|APACHE_PORT=443 # Changing this to a different value than 443 will allow you to run it behind a reverse proxy.|' sample.conf
sed -i 's|TALK_PORT=|TALK_PORT=3478 # This allows to adjust the port that the talk container is using.|' sample.conf
sed -i 's|AIO_TOKEN=|AIO_TOKEN=123456 # Has no function but needs to be set!|' sample.conf
sed -i 's|AIO_URL=|AIO_URL=localhost # Has no function but needs to be set!|' sample.conf
sed -i 's|NC_DOMAIN=|NC_DOMAIN=yourdomain.com # TODO! Needs to be changed to the domain that you want to use for Nextcloud.|' sample.conf
sed -i 's|NEXTCLOUD_PASSWORD=|NEXTCLOUD_PASSWORD= # TODO! This is the password of the initially created Nextcloud admin with username "admin".|' sample.conf
sed -i 's|TIMEZONE=|TIMEZONE=Europe/Berlin # TODO! This is the timezone that your containers will use.|' sample.conf
sed -i 's|=$|= # TODO! This needs to be a unique and good password!|' sample.conf
cat sample.conf
OUTPUT="$(cat containers.yml)"
NAMES="$(grep -oP "container_name:.*" containers.yml | grep -oP 'nextcloud-aio.*')"
mapfile -t NAMES <<< "$NAMES"
for name in "${NAMES[@]}"
do
OUTPUT="$(echo "$OUTPUT" | sed "/container_name.*$name/i\ \ $name:")"
if [ "$name" != "nextcloud-aio-apache" ]; then
OUTPUT="$(echo "$OUTPUT" | sed "/ $name:/i\ ")"
fi
done
OUTPUT="$(echo "$OUTPUT" | sed "/restart: /a\ \ \ \ networks:\n\ \ \ \ \ \ - nextcloud-aio")"
echo 'version: "3.8"' > containers.yml
echo "" >> containers.yml
echo "$OUTPUT" >> containers.yml
VOLUMES="$(grep -oP 'nextcloud_aio_[a-z_]+' containers.yml | sort -u)"
mapfile -t VOLUMES <<< "$VOLUMES"
echo "" >> containers.yml
echo "volumes:" >> containers.yml
for volume in "${VOLUMES[@]}" "nextcloud_aio_nextcloud_data"
do
cat << VOLUMES >> containers.yml
$volume:
name: $volume
VOLUMES
done
cat << NETWORK >> containers.yml
networks:
nextcloud-aio:
NETWORK
cat containers.yml > latest.yml
sed -i '/image:/s/$/:latest/' latest.yml
cat containers.yml > latest-arm64.yml
sed -i '/image:/s/$/:latest-arm64/' latest-arm64.yml
sed -i '/ nextcloud-aio-clamav:/,/^ $/d' latest-arm64.yml
sed -i '/nextcloud[-_]aio[-_]clamav/d' latest-arm64.yml
sed -i '/CLAMAV_ENABLED/d' latest-arm64.yml
sed -i '/ nextcloud-aio-onlyoffice:/,/^ $/d' latest-arm64.yml
sed -i '/nextcloud[-_]aio[-_]onlyoffice/d' latest-arm64.yml
sed -i '/ONLYOFFICE_ENABLED/d' latest-arm64.yml
sed -i '/ONLYOFFICE_SECRET/d' latest-arm64.yml
rm containers.yml

25
manual-upgrade.md Normal file
View File

@@ -0,0 +1,25 @@
# Manual upgrade
If you do not install any upgrade for around 6-12 months or longer, it can happen that your instance is so outdated that in the meantime the PHP version of the Nextcloud container got bumped to a version that is not compatible with your currently installed Nextcloud version which means that after doing an upgrade after this long time, Nextcloud will suddenly not work anymore. There is unfortunately no way to fix this from the maintainer side if you refrain from upgrading for so long.
The only way to fix this on your side is upgrading regularly (e.g. by enabling daily backups which will also automatically upgrade all containers) and following the steps below:
1. Start all containers from the aio interface (now, it will report that Nextcloud is restarting because it is not able to start due to the above mentioned problem)
1. Do **not** click on `Stop containers` because you will need them running going forward, see below
1. Stop the Nextcloud container and the Apache container by running `sudo docker stop nextcloud-aio-nextcloud && sudo docker stop nextcloud-aio-apache`.
1. Find out with which PHP version your installed Nextcloud is compatible by running `sudo cat /var/lib/docker/volumes/nextcloud_aio_nextcloud/_data/lib/versioncheck.php`. (There you will find information about the max. supported PHP version.)
1. Run the following commands in order to reverse engineer the Nextcloud container:
```bash
sudo docker pull assaflavie/runlike
echo '#/bin/bash' > /tmp/nextcloud-aio-nextcloud
sudo docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike -p nextcloud-aio-nextcloud >> /tmp/nextcloud-aio-nextcloud
sudo chown root:root /tmp/nextcloud-aio-nextcloud
```
1. Now open the file with e.g. nano: `sudo nano /tmp/nextcloud-aio-nextcloud` and change the line that should probably be `nextcloud/aio-nextcloud:latest` on x64 or `nextcloud/aio-nextcloud:latest-arm64` on arm64 to the highest compatible PHP version: E.g. `nextcloud/aio-nextcloud:php8.0-latest` on x64 or `nextcloud/aio-nextcloud:php8.0-latest-arm64` on arm64. Then save the file and close it with `[Ctrl]+[o]` -> `[Enter]` and `[Ctrl]+[x]`.
1. After doing so, remove the Nextcloud container with `sudo docker rm nextcloud-aio-nextcloud`.
1. Now start the Nextcloud container with the new tag by simply running `sudo bash /tmp/nextcloud-aio-nextcloud` which at startup should automatically upgrade Nextcloud to a more recent version. If not, make sure that there is no `skip.update` file in the Nextcloud datadir. If there is such a file, simply delete the file and restart the container again.<br>
**Info**: You can open the Nextcloud container logs with `sudo docker logs -f nextcloud-aio-nextcloud`.
1. After the Nextcloud container is started (you can tell by looking at the logs), simply restart the container again with `sudo docker restart nextcloud-aio-nextcloud` until it does not install a new Nextcloud update anymore upon the container startup.
1. Now, you should be able to use the AIO interface again by simply stopping the AIO containers and starting them again which should finally bring up your instance again.
1. If not and if you get the same error again, you may repeat the process starting from the beginning again until your Nextcloud version is finally up-to-date.
1. Now, if everything is finally running as usual again, it is recommended to create a backup in order to save the current state. Also you should think about enabling daily backups if doing regularl upgrades is too much effort for you.

View File

@@ -1,11 +1,12 @@
## How to migrate from an already existing Nextcloud installation to Nextcloud AIO?
# How to migrate from an already existing Nextcloud installation to Nextcloud AIO?
There are basically two ways how to migrate from an already existing Nextcloud installation to Nextcloud AIO:
There are basically three ways how to migrate from an already existing Nextcloud installation to Nextcloud AIO:
1. Migrate only the files which is the easiest way
1. Migrate the files and the database which is much more complicated
1. Use the user_migration app that allows to migrate some of the user's data from a former instance to a new instance but needs to be done manually for each user
### Migrate only the files
## Migrate only the files
**Please note**: If you used groupfolders or encrypted your files before, you will need to restore the database, as well!
The procedure for migrating only the files works like this:
@@ -14,16 +15,15 @@ The procedure for migrating only the files works like this:
1. Recreate all users that were present on your former installation
1. Take a backup using Nextcloud AIO's built-in backup solution (so that you can easily restore to this state again) (Note: this will stop all containers and is expected: don't start the container again at this point!)
1. Restore the datadirectory of your former instance into the following directory: `/var/lib/docker/volumes/nextcloud_aio_nextcloud_data/_data/`
1. Next, run `sudo chown -R 33:0 /var/lib/docker/volumes/nextcloud_aio_nextcloud_data/_data/*` to apply the correct permissions
1. Next, run `sudo chown -R 33:0 /var/lib/docker/volumes/nextcloud_aio_nextcloud_data/_data/*` and `sudo chmod -R 750 /var/lib/docker/volumes/nextcloud_aio_nextcloud_data/_data/*` to apply the correct permissions
1. Start the containers again and wait until all containers are running
1. Run `sudo docker exec -it nextcloud-aio-nextcloud php occ files:scan-app-data && sudo docker exec -it nextcloud-aio-nextcloud php occ files:scan --all` in order to scan all files in the datadirectory.
### Migrate the files and the database
**Please note**: this is much more complicated than migrating only the files and also not as failproof so be warned!<br>
Also, you will currently not be able to use local external storage in Nextcloud AIO since that is not supported, yet. See https://github.com/nextcloud/all-in-one/issues/76
## Migrate the files and the database
**Please note**: this is much more complicated than migrating only the files and also not as failproof so be warned!
The procedure for migrating the files and the database works like this:
1. Make sure that your old instance is on exactly the same version like the version used in Nextcloud AIO. (e.g. 23.0.0) If not, simply upgrade your former installation to that version or wait until the version used in Nextcloud AIO got updated to the same version of your former installation or the other way around.
1. Make sure that your old instance is on exactly the same version like the version used in Nextcloud AIO. (e.g. 23.0.0) You can find the used version here: [click here](https://github.com/nextcloud/all-in-one/search?l=Dockerfile&q=NEXTCLOUD_VERSION&type=). If not, simply upgrade your former installation to that version or wait until the version used in Nextcloud AIO got updated to the same version of your former installation or the other way around.
1. Take a backup of your former instance (especially from your datadirectory and database)
1. If your former installation didn't use Postgresql already, you will now need to convert your old installation to use Postgresql as database temporarily (in order to be able to perform a pg_dump afterwards):
1. Install Postgresql on your former installation: on a Debian based OS should the following command work:
@@ -36,13 +36,13 @@ The procedure for migrating the files and the database works like this:
export PG_PASSWORD="my-temporary-password"
export PG_DATABASE="nextcloud_db"
sudo -u postgres psql <<END
CREATE USER $PG_USER WITH PASSWORD '$PGDB_PASS';
CREATE USER $PG_USER WITH PASSWORD '$PG_PASSWORD';
CREATE DATABASE $PG_DATABASE WITH OWNER $PG_USER TEMPLATE template0 ENCODING 'UTF8';
END
```
1. Run the following command to start the conversion:
```
occ db:convert-type --all-apps --password "$PGDB_PASS" pgsql "$PG_USER" 127.0.0.1 "$PG_DATABASE"
occ db:convert-type --all-apps --password "$PG_PASSWORD" pgsql "$PG_USER" 127.0.0.1 "$PG_DATABASE"
```
**Please note:** You might need to change the ip-address `127.0.0.1` based on your exact installation.<br>
Further information on the conversion is additionally available here: https://docs.nextcloud.com/server/stable/admin_manual/configuration_database/db_conversion.html#converting-database-type
@@ -54,7 +54,7 @@ The procedure for migrating the files and the database works like this:
```
**Please note:** The exact name of the database export file is important! (`database-dump.sql`)<br>
And of course you need to to use the correct name that the Postgresql database has for the export (if `$PG_DATABASE` doesn't work directly).
1. At this point, you can finally install Nextcloud AIO on a new server/linux installation, enter your domain (use the same domain that you used on your former installation) and wait until all containers are running
1. At this point, you can finally install Nextcloud AIO on a new server/linux installation, enter your domain in the AIO interface (use the same domain that you used on your former installation) and wait until all containers are running. Then you should check the included Nextcloud version by running `sudo docker inspect nextcloud-aio-nextcloud | grep NEXTCLOUD_VERSION`.
1. Next, take a backup using Nextcloud AIO's built-in backup solution (so that you can easily restore to this state again) (Note: this will stop all containers and is expected: don't start the container again at this point!)
1. Now, we are slowly starting to import your files and database. First, you need to modify the datadirectory that is stored inside the database export:
1. Find out what the directory of your old Nextcloud installation is by e.g. opening the config.php file and looking at the value `datadirectory`.
@@ -70,14 +70,16 @@ The procedure for migrating the files and the database works like this:
sudo rm /var/lib/docker/volumes/nextcloud_aio_database_dump/_data/database-dump.sql
sudo cp database-dump.sql /var/lib/docker/volumes/nextcloud_aio_database_dump/_data/
sudo chmod 777 /var/lib/docker/volumes/nextcloud_aio_database_dump/_data/database-dump.sql
sudo rm -r /var/lib/docker/volumes/nextcloud_aio_database/_data/*
sudo rm /var/lib/docker/volumes/nextcloud_aio_database_dump/_data/initial-cleanup-done
```
1. If the commands above were executed successfully, restore the datadirectory of your former instance into the following directory: `/var/lib/docker/volumes/nextcloud_aio_nextcloud_data/_data/`
1. Next, run `sudo chown -R 33:0 /var/lib/docker/volumes/nextcloud_aio_nextcloud_data/_data/*` to apply the correct permissions
1. Next, run `sudo chown -R 33:0 /var/lib/docker/volumes/nextcloud_aio_nextcloud_data/_data/*` and `sudo chmod -R 750 /var/lib/docker/volumes/nextcloud_aio_nextcloud_data/_data/*`to apply the correct permissions
1. Edit the Nextcloud AIO config.php file that is stored in `/var/lib/docker/volumes/nextcloud_aio_nextcloud/_data/config/config.php` and modify only `passwordsalt`, `secret`, `instanceid` and set it to the old values that you used on your old installation. If you are brave, feel free to modify further values e.g. add your old LDAP config or S3 storage config. (Some things like Mail server config can be added back using Nextcloud's webinterface later on).
1. When you are done and saved your changes to the file, finally start the containers again and wait until all containers are running.
1. Now run `sudo docker exec -it nextcloud-aio-nextcloud php occ maintenance:data-fingerprint`.
1. As last step, install all apps again that were installed before on your old instance by using the webinterface.
Now the whole Nextcloud instance should work again.<br>
If not, feel free to restore the AIO instance from backup and start at step 8 again.
## Use the user_migration app
A new way since the Nextcloud update to 24 is to use the new [user_migration app](https://apps.nextcloud.com/apps/user_migration#app-gallery). It allows to export the most important data on one instance and import it on a different Nextcloud instance. For that, you need to install and enable the user_migration app on your old instance, trigger the export for the user, create the user on the new instance, log in with that user and import the archive that was created during the export. This then needs to be done for each user that you want to migrate.

19
multiple-instances.md Normal file
View File

@@ -0,0 +1,19 @@
# Multiple AIO instances
It is possible to run multiple instances of AIO on one server.
There are two ways to achieve this: The normal way is creating multiple VMs, installing AIO in [reverse proxy mode](./reverse-proxy.md) in each of them and having one reverse proxy in front of them that points to each VM (you also need to [use a different `TALK_PORT`](https://github.com/nextcloud/all-in-one#how-to-adjust-the-talk-port) for each of them). The second and more advanced way is creating multiple users on the server and using docker rootless for each of them in order to install multiple instances on the same server.
Below is described more in detail how the the second way works.
## Run multiple AIO instances on the same server with docker rootless
1. Create as many linux users as you need first. The easiest way is to use `sudo adduser` and follow the setup for that. Make sure to create a strong unique password for each of them and write it down!
1. Log in as each of the users e.g. by opening a new SSH connection and install docker rootless for each of them by following step 0-4 of the [docker rootless documentation](./docker-rootless.md).
1. Then install AIO in reverse proxy mode by using the command that is descriebed in step 2 and 3 of the [reverse proxy documentation](./reverse-proxy.md) but use a different `APACHE_PORT` and [`TALK_PORT`](https://github.com/nextcloud/all-in-one#how-to-adjust-the-talk-port) for each instance as otherwise it will bug out. Also make sure to adjust the docker socket and `DOCKER_SOCKET_PATH` correctly for each of them by following step 6 of the [docker rootless documentation](./docker-rootless.md). Additionally, modify `--publish 8080:8080` to a different port for each container, e.g. `8081:8080` as otherwise it will not work.<br>
**⚠️ Please note:** If you want to adjust the `NEXTCLOUD_DATADIR`, make sure to apply the correct permissions to the chosen path as documented at the bottom of the [docker rootless documentation](./docker-rootless.md). Also for the built-in backup to work, the target path needs to have the correct permissions as documented there, too.
1. Now install your webserver of choice on the host system. It is recommended to use caddy for this as it is by far the easiest solution. You can do so by following https://caddyserver.com/docs/install#debian-ubuntu-raspbian or below. (It needs to be installed directly on the host or on a different server in the same network).
1. Next create your Caddyfile with multiple entries and domains for the different instances like described in step 1 of the [reverse proxy documentation](./reverse-proxy.md). Obviously each domain needs to point correctly to the chosen `APACHE_PORT` that you've configured before. Then start Caddy which should automatically get the needed certificates for you if your domains are configured correctly and ports 80 and 443 are forwarded to your server.
1. Now open each of the AIO interfaces by opening `https://ip.address.of.this.server:8080` or e.g. `https://ip.address.of.this.server:8081` or as chosen during step 3 of this documentation.
1. Finally type in the domain that you've configured for each of the instances during step 5 of this documentation and you are done.
1. Please also do not forget to open each chosen `TALK_PORT` UPD and TCP in your firewall/router as otherwise Talk will not work correctly!
Now everything should be set up correctly and you should have created multiple working instances of AIO on the same server!

View File

@@ -20,6 +20,7 @@
},
"scripts": {
"psalm": "psalm --threads=1",
"psalm:update-baseline": "psalm --threads=1 --update-baseline"
"psalm:update-baseline": "psalm --threads=1 --update-baseline",
"lint": "find . -name \\*.php -not -path './vendor/*' -print0 | xargs -0 -n1 php -l"
}
}

297
php/composer.lock generated
View File

@@ -8,22 +8,22 @@
"packages": [
{
"name": "guzzlehttp/guzzle",
"version": "7.4.1",
"version": "7.5.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
"reference": "ee0a041b1760e6a53d2a39c8c34115adc2af2c79"
"reference": "b50a2a1251152e43f6a37f0fa053e730a67d25ba"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/ee0a041b1760e6a53d2a39c8c34115adc2af2c79",
"reference": "ee0a041b1760e6a53d2a39c8c34115adc2af2c79",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/b50a2a1251152e43f6a37f0fa053e730a67d25ba",
"reference": "b50a2a1251152e43f6a37f0fa053e730a67d25ba",
"shasum": ""
},
"require": {
"ext-json": "*",
"guzzlehttp/promises": "^1.5",
"guzzlehttp/psr7": "^1.8.3 || ^2.1",
"guzzlehttp/psr7": "^1.9 || ^2.4",
"php": "^7.2.5 || ^8.0",
"psr/http-client": "^1.0",
"symfony/deprecation-contracts": "^2.2 || ^3.0"
@@ -32,10 +32,10 @@
"psr/http-client-implementation": "1.0"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.4.1",
"bamarni/composer-bin-plugin": "^1.8.1",
"ext-curl": "*",
"php-http/client-integration-tests": "^3.0",
"phpunit/phpunit": "^8.5.5 || ^9.3.5",
"phpunit/phpunit": "^8.5.29 || ^9.5.23",
"psr/log": "^1.1 || ^2.0 || ^3.0"
},
"suggest": {
@@ -45,8 +45,12 @@
},
"type": "library",
"extra": {
"bamarni-bin": {
"bin-links": true,
"forward-command": false
},
"branch-alias": {
"dev-master": "7.4-dev"
"dev-master": "7.5-dev"
}
},
"autoload": {
@@ -112,7 +116,7 @@
],
"support": {
"issues": "https://github.com/guzzle/guzzle/issues",
"source": "https://github.com/guzzle/guzzle/tree/7.4.1"
"source": "https://github.com/guzzle/guzzle/tree/7.5.0"
},
"funding": [
{
@@ -128,20 +132,20 @@
"type": "tidelift"
}
],
"time": "2021-12-06T18:43:05+00:00"
"time": "2022-08-28T15:39:27+00:00"
},
{
"name": "guzzlehttp/promises",
"version": "1.5.1",
"version": "1.5.2",
"source": {
"type": "git",
"url": "https://github.com/guzzle/promises.git",
"reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da"
"reference": "b94b2807d85443f9719887892882d0329d1e2598"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
"reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
"url": "https://api.github.com/repos/guzzle/promises/zipball/b94b2807d85443f9719887892882d0329d1e2598",
"reference": "b94b2807d85443f9719887892882d0329d1e2598",
"shasum": ""
},
"require": {
@@ -196,7 +200,7 @@
],
"support": {
"issues": "https://github.com/guzzle/promises/issues",
"source": "https://github.com/guzzle/promises/tree/1.5.1"
"source": "https://github.com/guzzle/promises/tree/1.5.2"
},
"funding": [
{
@@ -212,20 +216,20 @@
"type": "tidelift"
}
],
"time": "2021-10-22T20:56:57+00:00"
"time": "2022-08-28T14:55:35+00:00"
},
{
"name": "guzzlehttp/psr7",
"version": "2.1.0",
"version": "2.4.1",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
"reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72"
"reference": "69568e4293f4fa993f3b0e51c9723e1e17c41379"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/089edd38f5b8abba6cb01567c2a8aaa47cec4c72",
"reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/69568e4293f4fa993f3b0e51c9723e1e17c41379",
"reference": "69568e4293f4fa993f3b0e51c9723e1e17c41379",
"shasum": ""
},
"require": {
@@ -239,17 +243,21 @@
"psr/http-message-implementation": "1.0"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.4.1",
"bamarni/composer-bin-plugin": "^1.8.1",
"http-interop/http-factory-tests": "^0.9",
"phpunit/phpunit": "^8.5.8 || ^9.3.10"
"phpunit/phpunit": "^8.5.29 || ^9.5.23"
},
"suggest": {
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
},
"type": "library",
"extra": {
"bamarni-bin": {
"bin-links": true,
"forward-command": false
},
"branch-alias": {
"dev-master": "2.1-dev"
"dev-master": "2.4-dev"
}
},
"autoload": {
@@ -311,7 +319,7 @@
],
"support": {
"issues": "https://github.com/guzzle/psr7/issues",
"source": "https://github.com/guzzle/psr7/tree/2.1.0"
"source": "https://github.com/guzzle/psr7/tree/2.4.1"
},
"funding": [
{
@@ -327,7 +335,7 @@
"type": "tidelift"
}
],
"time": "2021-10-06T17:43:30+00:00"
"time": "2022-08-28T14:45:39+00:00"
},
{
"name": "http-interop/http-factory-guzzle",
@@ -387,6 +395,66 @@
},
"time": "2021-07-21T13:50:14+00:00"
},
{
"name": "laravel/serializable-closure",
"version": "v1.2.1",
"source": {
"type": "git",
"url": "https://github.com/laravel/serializable-closure.git",
"reference": "d78fd36ba031a1a695ea5a406f29996948d7011b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/d78fd36ba031a1a695ea5a406f29996948d7011b",
"reference": "d78fd36ba031a1a695ea5a406f29996948d7011b",
"shasum": ""
},
"require": {
"php": "^7.3|^8.0"
},
"require-dev": {
"nesbot/carbon": "^2.61",
"pestphp/pest": "^1.21.3",
"phpstan/phpstan": "^1.8.2",
"symfony/var-dumper": "^5.4.11"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"Laravel\\SerializableClosure\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Taylor Otwell",
"email": "taylor@laravel.com"
},
{
"name": "Nuno Maduro",
"email": "nuno@laravel.com"
}
],
"description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.",
"keywords": [
"closure",
"laravel",
"serializable"
],
"support": {
"issues": "https://github.com/laravel/serializable-closure/issues",
"source": "https://github.com/laravel/serializable-closure"
},
"time": "2022-08-26T15:25:27+00:00"
},
{
"name": "nikic/fast-route",
"version": "v1.3.0",
@@ -437,71 +505,6 @@
},
"time": "2018-02-13T20:26:39+00:00"
},
{
"name": "opis/closure",
"version": "3.6.3",
"source": {
"type": "git",
"url": "https://github.com/opis/closure.git",
"reference": "3d81e4309d2a927abbe66df935f4bb60082805ad"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/opis/closure/zipball/3d81e4309d2a927abbe66df935f4bb60082805ad",
"reference": "3d81e4309d2a927abbe66df935f4bb60082805ad",
"shasum": ""
},
"require": {
"php": "^5.4 || ^7.0 || ^8.0"
},
"require-dev": {
"jeremeamia/superclosure": "^2.0",
"phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.6.x-dev"
}
},
"autoload": {
"files": [
"functions.php"
],
"psr-4": {
"Opis\\Closure\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marius Sarca",
"email": "marius.sarca@gmail.com"
},
{
"name": "Sorin Sarca",
"email": "sarca_sorin@hotmail.com"
}
],
"description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.",
"homepage": "https://opis.io/closure",
"keywords": [
"anonymous functions",
"closure",
"function",
"serializable",
"serialization",
"serialize"
],
"support": {
"issues": "https://github.com/opis/closure/issues",
"source": "https://github.com/opis/closure/tree/3.6.3"
},
"time": "2022-01-27T09:35:39+00:00"
},
{
"name": "php-di/invoker",
"version": "2.3.3",
@@ -559,21 +562,21 @@
},
{
"name": "php-di/php-di",
"version": "6.3.5",
"version": "6.4.0",
"source": {
"type": "git",
"url": "https://github.com/PHP-DI/PHP-DI.git",
"reference": "b8126d066ce144765300ee0ab040c1ed6c9ef588"
"reference": "ae0f1b3b03d8b29dff81747063cbfd6276246cc4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/b8126d066ce144765300ee0ab040c1ed6c9ef588",
"reference": "b8126d066ce144765300ee0ab040c1ed6c9ef588",
"url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/ae0f1b3b03d8b29dff81747063cbfd6276246cc4",
"reference": "ae0f1b3b03d8b29dff81747063cbfd6276246cc4",
"shasum": ""
},
"require": {
"opis/closure": "^3.5.5",
"php": ">=7.2.0",
"laravel/serializable-closure": "^1.0",
"php": ">=7.4.0",
"php-di/invoker": "^2.0",
"php-di/phpdoc-reader": "^2.0.1",
"psr/container": "^1.0"
@@ -582,12 +585,12 @@
"psr/container-implementation": "^1.0"
},
"require-dev": {
"doctrine/annotations": "~1.2",
"doctrine/annotations": "~1.10",
"friendsofphp/php-cs-fixer": "^2.4",
"mnapoli/phpunit-easymock": "^1.2",
"ocramius/proxy-manager": "^2.0.2",
"ocramius/proxy-manager": "^2.11.2",
"phpstan/phpstan": "^0.12",
"phpunit/phpunit": "^8.5|^9.0"
"phpunit/phpunit": "^9.5"
},
"suggest": {
"doctrine/annotations": "Install it if you want to use annotations (version ~1.2)",
@@ -619,7 +622,7 @@
],
"support": {
"issues": "https://github.com/PHP-DI/PHP-DI/issues",
"source": "https://github.com/PHP-DI/PHP-DI/tree/6.3.5"
"source": "https://github.com/PHP-DI/PHP-DI/tree/6.4.0"
},
"funding": [
{
@@ -631,7 +634,7 @@
"type": "tidelift"
}
],
"time": "2021-09-02T09:49:58+00:00"
"time": "2022-04-09T16:46:38+00:00"
},
{
"name": "php-di/phpdoc-reader",
@@ -1192,22 +1195,22 @@
},
{
"name": "slim/slim",
"version": "4.9.0",
"version": "4.10.0",
"source": {
"type": "git",
"url": "https://github.com/slimphp/Slim.git",
"reference": "44d3c9c0bfcc47e52e42b097b6062689d21b904b"
"reference": "0dfc7d2fdf2553b361d864d51af3fe8a6ad168b0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/slimphp/Slim/zipball/44d3c9c0bfcc47e52e42b097b6062689d21b904b",
"reference": "44d3c9c0bfcc47e52e42b097b6062689d21b904b",
"url": "https://api.github.com/repos/slimphp/Slim/zipball/0dfc7d2fdf2553b361d864d51af3fe8a6ad168b0",
"reference": "0dfc7d2fdf2553b361d864d51af3fe8a6ad168b0",
"shasum": ""
},
"require": {
"ext-json": "*",
"nikic/fast-route": "^1.3",
"php": "^7.3 || ^8.0",
"php": "^7.4 || ^8.0",
"psr/container": "^1.0 || ^2.0",
"psr/http-factory": "^1.0",
"psr/http-message": "^1.0",
@@ -1218,13 +1221,15 @@
"require-dev": {
"adriansuter/php-autoload-override": "^1.2",
"ext-simplexml": "*",
"guzzlehttp/psr7": "^2.0",
"guzzlehttp/psr7": "^2.1",
"httpsoft/http-message": "^1.0",
"httpsoft/http-server-request": "^1.0",
"laminas/laminas-diactoros": "^2.8",
"nyholm/psr7": "^1.4",
"nyholm/psr7": "^1.5",
"nyholm/psr7-server": "^1.0",
"phpspec/prophecy": "^1.14",
"phpspec/prophecy": "^1.15",
"phpspec/prophecy-phpunit": "^2.0",
"phpstan/phpstan": "^0.12.99",
"phpstan/phpstan": "^1.4",
"phpunit/phpunit": "^9.5",
"slim/http": "^1.2",
"slim/psr7": "^1.5",
@@ -1301,7 +1306,7 @@
"type": "tidelift"
}
],
"time": "2021-10-05T03:00:00+00:00"
"time": "2022-03-14T14:18:23+00:00"
},
{
"name": "slim/twig-view",
@@ -1370,16 +1375,16 @@
},
{
"name": "symfony/deprecation-contracts",
"version": "v3.0.0",
"version": "v3.0.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "c726b64c1ccfe2896cb7df2e1331c357ad1c8ced"
"reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/c726b64c1ccfe2896cb7df2e1331c357ad1c8ced",
"reference": "c726b64c1ccfe2896cb7df2e1331c357ad1c8ced",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/26954b3d62a6c5fd0ea8a2a00c0353a14978d05c",
"reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c",
"shasum": ""
},
"require": {
@@ -1417,7 +1422,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.0.0"
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.0.2"
},
"funding": [
{
@@ -1433,20 +1438,20 @@
"type": "tidelift"
}
],
"time": "2021-11-01T23:48:49+00:00"
"time": "2022-01-02T09:55:41+00:00"
},
{
"name": "symfony/polyfill-ctype",
"version": "v1.25.0",
"version": "v1.26.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "30885182c981ab175d4d034db0f6f469898070ab"
"reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab",
"reference": "30885182c981ab175d4d034db0f6f469898070ab",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
"reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
"shasum": ""
},
"require": {
@@ -1461,7 +1466,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.23-dev"
"dev-main": "1.26-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -1499,7 +1504,7 @@
"portable"
],
"support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.25.0"
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.26.0"
},
"funding": [
{
@@ -1515,20 +1520,20 @@
"type": "tidelift"
}
],
"time": "2021-10-20T20:35:02+00:00"
"time": "2022-05-24T11:49:31+00:00"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.25.0",
"version": "v1.26.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825"
"reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825",
"reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e",
"reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e",
"shasum": ""
},
"require": {
@@ -1543,7 +1548,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.23-dev"
"dev-main": "1.26-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -1582,7 +1587,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.25.0"
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.26.0"
},
"funding": [
{
@@ -1598,20 +1603,20 @@
"type": "tidelift"
}
],
"time": "2021-11-30T18:21:41+00:00"
"time": "2022-05-24T11:49:31+00:00"
},
{
"name": "symfony/polyfill-php81",
"version": "v1.25.0",
"version": "v1.26.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php81.git",
"reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f"
"reference": "13f6d1271c663dc5ae9fb843a8f16521db7687a1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/5de4ba2d41b15f9bd0e19b2ab9674135813ec98f",
"reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f",
"url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/13f6d1271c663dc5ae9fb843a8f16521db7687a1",
"reference": "13f6d1271c663dc5ae9fb843a8f16521db7687a1",
"shasum": ""
},
"require": {
@@ -1620,7 +1625,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.23-dev"
"dev-main": "1.26-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -1661,7 +1666,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php81/tree/v1.25.0"
"source": "https://github.com/symfony/polyfill-php81/tree/v1.26.0"
},
"funding": [
{
@@ -1677,20 +1682,20 @@
"type": "tidelift"
}
],
"time": "2021-09-13T13:58:11+00:00"
"time": "2022-05-24T11:49:31+00:00"
},
{
"name": "twig/twig",
"version": "v3.3.8",
"version": "v3.4.2",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "972d8604a92b7054828b539f2febb0211dd5945c"
"reference": "e07cdd3d430cd7e453c31b36eb5ad6c0c5e43077"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/972d8604a92b7054828b539f2febb0211dd5945c",
"reference": "972d8604a92b7054828b539f2febb0211dd5945c",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/e07cdd3d430cd7e453c31b36eb5ad6c0c5e43077",
"reference": "e07cdd3d430cd7e453c31b36eb5ad6c0c5e43077",
"shasum": ""
},
"require": {
@@ -1705,7 +1710,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.3-dev"
"dev-master": "3.4-dev"
}
},
"autoload": {
@@ -1741,7 +1746,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
"source": "https://github.com/twigphp/Twig/tree/v3.3.8"
"source": "https://github.com/twigphp/Twig/tree/v3.4.2"
},
"funding": [
{
@@ -1753,7 +1758,7 @@
"type": "tidelift"
}
],
"time": "2022-02-04T06:59:48+00:00"
"time": "2022-08-12T06:47:24+00:00"
}
],
"packages-dev": [],
@@ -1770,5 +1775,5 @@
"ext-apcu": "*"
},
"platform-dev": [],
"plugin-api-version": "2.2.0"
"plugin-api-version": "2.3.0"
}

View File

@@ -0,0 +1,79 @@
{
"type": "object",
"description": "AIO containers definition schema",
"additionalProperties": false,
"minProperties": 1,
"properties": {
"production": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"minProperties": 11,
"properties": {
"containerName": {
"type": "string"
},
"dependsOn": {
"type": "array",
"items": {
"type": "string"
}
},
"displayName": {
"type": "string"
},
"environmentVariables": {
"type": "array",
"items": {
"type": "string"
}
},
"identifier": {
"type": "string"
},
"internalPorts": {
"type": "array",
"items": {
"type": "string"
}
},
"maxShutdownTime": {
"type": "integer"
},
"ports": {
"type": "array",
"items": {
"type": "string"
}
},
"restartPolicy": {
"type": "string"
},
"secrets": {
"type": "array"
},
"volumes": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"minProperties": 3,
"properties": {
"location": {
"type": "string"
},
"name": {
"type": "string"
},
"writeable": {
"type": "boolean"
}
}
}
}
}
}
}
}
}

View File

@@ -1,12 +1,13 @@
{
"production": [
{
"dependsOn": [
"nextcloud-aio-nextcloud",
"nextcloud-aio-collabora",
"nextcloud-aio-talk"
],
"identifier": "nextcloud-aio-apache",
"dependsOn": [
"nextcloud-aio-onlyoffice",
"nextcloud-aio-collabora",
"nextcloud-aio-talk",
"nextcloud-aio-nextcloud"
],
"displayName": "Apache",
"containerName": "nextcloud/aio-apache",
"ports": [
@@ -21,7 +22,9 @@
"NEXTCLOUD_HOST=nextcloud-aio-nextcloud",
"COLLABORA_HOST=nextcloud-aio-collabora",
"TALK_HOST=nextcloud-aio-talk",
"APACHE_PORT=%APACHE_PORT%"
"APACHE_PORT=%APACHE_PORT%",
"ONLYOFFICE_HOST=nextcloud-aio-onlyoffice",
"TZ=%TIMEZONE%"
],
"volumes": [
{
@@ -39,8 +42,8 @@
"restartPolicy": "unless-stopped"
},
{
"dependsOn": [],
"identifier": "nextcloud-aio-database",
"dependsOn": [],
"displayName": "Database",
"containerName": "nextcloud/aio-postgresql",
"ports": [],
@@ -65,17 +68,22 @@
"environmentVariables": [
"POSTGRES_PASSWORD=%DATABASE_PASSWORD%",
"POSTGRES_DB=nextcloud_database",
"POSTGRES_USER=nextcloud"
"POSTGRES_USER=nextcloud",
"TZ=%TIMEZONE%",
"PGTZ=%TIMEZONE%"
],
"maxShutdownTime": 1800,
"restartPolicy": "unless-stopped"
},
{
"identifier": "nextcloud-aio-nextcloud",
"dependsOn": [
"nextcloud-aio-database",
"nextcloud-aio-redis"
"nextcloud-aio-redis",
"nextcloud-aio-clamav",
"nextcloud-aio-fulltextsearch",
"nextcloud-aio-imaginary"
],
"identifier": "nextcloud-aio-nextcloud",
"displayName": "Nextcloud",
"containerName": "nextcloud/aio-nextcloud",
"ports": [],
@@ -122,14 +130,32 @@
"OVERWRITEPROTOCOL=https",
"TURN_SECRET=%TURN_SECRET%",
"SIGNALING_SECRET=%SIGNALING_SECRET%",
"AIO_URL=%AIO_URL%"
"ONLYOFFICE_SECRET=%ONLYOFFICE_SECRET%",
"AIO_URL=%AIO_URL%",
"NEXTCLOUD_MOUNT=%NEXTCLOUD_MOUNT%",
"CLAMAV_ENABLED=%CLAMAV_ENABLED%",
"CLAMAV_HOST=nextcloud-aio-clamav",
"ONLYOFFICE_ENABLED=%ONLYOFFICE_ENABLED%",
"COLLABORA_ENABLED=%COLLABORA_ENABLED%",
"COLLABORA_HOST=nextcloud-aio-collabora",
"TALK_ENABLED=%TALK_ENABLED%",
"ONLYOFFICE_HOST=nextcloud-aio-onlyoffice",
"UPDATE_NEXTCLOUD_APPS=%UPDATE_NEXTCLOUD_APPS%",
"TZ=%TIMEZONE%",
"TALK_PORT=%TALK_PORT%",
"IMAGINARY_ENABLED=%IMAGINARY_ENABLED%",
"IMAGINARY_HOST=nextcloud-aio-imaginary",
"PHP_UPLOAD_LIMIT=%NEXTCLOUD_UPLOAD_LIMIT%",
"FULLTEXTSEARCH_ENABLED=%FULLTEXTSEARCH_ENABLED%",
"FULLTEXTSEARCH_HOST=nextcloud-aio-fulltextsearch",
"PHP_MAX_TIME=%NEXTCLOUD_MAX_TIME%"
],
"maxShutdownTime": 10,
"restartPolicy": "unless-stopped"
},
{
"dependsOn": [],
"identifier": "nextcloud-aio-redis",
"dependsOn": [],
"displayName": "Redis",
"containerName": "nextcloud/aio-redis",
"ports": [],
@@ -137,18 +163,20 @@
"6379"
],
"environmentVariables": [
"REDIS_HOST_PASSWORD=%REDIS_PASSWORD%"
"REDIS_HOST_PASSWORD=%REDIS_PASSWORD%",
"TZ=%TIMEZONE%"
],
"volumes": [],
"secrets": [
"REDIS_PASSWORD"
"REDIS_PASSWORD",
"ONLYOFFICE_SECRET"
],
"maxShutdownTime": 10,
"restartPolicy": "unless-stopped"
},
{
"dependsOn": [],
"identifier": "nextcloud-aio-collabora",
"dependsOn": [],
"displayName": "Collabora",
"containerName": "nextcloud/aio-collabora",
"ports": [],
@@ -156,8 +184,10 @@
"9980"
],
"environmentVariables": [
"domain=%NC_DOMAIN%",
"extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:logging.level=warning"
"aliasgroup1=https://%NC_DOMAIN%:443",
"extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:logging.level=warning --o:home_mode.enable=true",
"dictionaries=%COLLABORA_DICTIONARIES%",
"TZ=%TIMEZONE%"
],
"volumes": [],
"secrets": [],
@@ -165,22 +195,24 @@
"restartPolicy": "unless-stopped"
},
{
"dependsOn": [],
"identifier": "nextcloud-aio-talk",
"dependsOn": [],
"displayName": "Talk",
"containerName": "nextcloud/aio-talk",
"ports": [
"3478/tcp",
"3478/udp"
"%TALK_PORT%/tcp",
"%TALK_PORT%/udp"
],
"internalPorts": [
"3478"
"%TALK_PORT%"
],
"environmentVariables": [
"NC_DOMAIN=%NC_DOMAIN%",
"TURN_SECRET=%TURN_SECRET%",
"SIGNALING_SECRET=%SIGNALING_SECRET%",
"JANUS_API_KEY=%JANUS_API_KEY%"
"JANUS_API_KEY=%JANUS_API_KEY%",
"TZ=%TIMEZONE%",
"TALK_PORT=%TALK_PORT%"
],
"volumes": [],
"secrets": [
@@ -192,8 +224,8 @@
"restartPolicy": "unless-stopped"
},
{
"dependsOn": [],
"identifier": "nextcloud-aio-borgbackup",
"dependsOn": [],
"displayName": "Borgbackup",
"containerName": "nextcloud/aio-borgbackup",
"ports": [],
@@ -201,7 +233,10 @@
"environmentVariables": [
"BORG_PASSWORD=%BORGBACKUP_PASSWORD%",
"BORG_MODE=%BORGBACKUP_MODE%",
"SELECTED_RESTORE_TIME=%SELECTED_RESTORE_TIME%"
"SELECTED_RESTORE_TIME=%SELECTED_RESTORE_TIME%",
"BACKUP_RESTORE_PASSWORD=%BACKUP_RESTORE_PASSWORD%",
"ADDITIONAL_DIRECTORIES_BACKUP=%ADDITIONAL_DIRECTORIES_BACKUP%",
"BORGBACKUP_HOST_LOCATION=%BORGBACKUP_HOST_LOCATION%"
],
"volumes": [
{
@@ -252,8 +287,8 @@
"restartPolicy": ""
},
{
"dependsOn": [],
"identifier": "nextcloud-aio-watchtower",
"dependsOn": [],
"displayName": "Watchtower",
"containerName": "nextcloud/aio-watchtower",
"ports": [],
@@ -263,7 +298,7 @@
],
"volumes": [
{
"name": "/var/run/docker.sock",
"name": "%DOCKER_SOCKET_PATH%",
"location": "/var/run/docker.sock",
"writeable": false
}
@@ -291,6 +326,99 @@
],
"maxShutdownTime": 1,
"restartPolicy": ""
},
{
"identifier": "nextcloud-aio-clamav",
"dependsOn": [],
"displayName": "ClamAV",
"containerName": "nextcloud/aio-clamav",
"ports": [],
"internalPorts": [
"3310"
],
"environmentVariables": [
"TZ=%TIMEZONE%"
],
"volumes": [
{
"name": "nextcloud_aio_clamav",
"location": "/var/lib/clamav",
"writeable": true
}
],
"secrets": [],
"maxShutdownTime": 10,
"restartPolicy": "unless-stopped"
},
{
"identifier": "nextcloud-aio-onlyoffice",
"dependsOn": [],
"displayName": "OnlyOffice",
"containerName": "nextcloud/aio-onlyoffice",
"ports": [],
"internalPorts": [
"80"
],
"environmentVariables": [
"TZ=%TIMEZONE%",
"JWT_ENABLED=true",
"JWT_HEADER=AuthorizationJwt",
"JWT_SECRET=%ONLYOFFICE_SECRET%"
],
"volumes": [
{
"name": "nextcloud_aio_onlyoffice",
"location": "/var/lib/onlyoffice",
"writeable": true
}
],
"secrets": [
"ONLYOFFICE_SECRET"
],
"maxShutdownTime": 10,
"restartPolicy": "unless-stopped"
},
{
"identifier": "nextcloud-aio-imaginary",
"dependsOn": [],
"displayName": "Imaginary",
"containerName": "nextcloud/aio-imaginary",
"ports": [],
"internalPorts": [
"9000"
],
"environmentVariables": [
"TZ=%TIMEZONE%"
],
"volumes": [],
"secrets": [],
"maxShutdownTime": 10,
"restartPolicy": "unless-stopped"
},
{
"identifier": "nextcloud-aio-fulltextsearch",
"dependsOn": [],
"displayName": "Fulltextsearch",
"containerName": "nextcloud/aio-fulltextsearch",
"ports": [],
"internalPorts": [
"9200"
],
"environmentVariables": [
"TZ=%TIMEZONE%",
"discovery.type=single-node",
"ES_JAVA_OPTS=-Xms1024M -Xmx1024M"
],
"volumes": [
{
"name": "nextcloud_aio_elasticsearch",
"location": "/usr/share/elasticsearch/data",
"writeable": true
}
],
"secrets": [],
"maxShutdownTime": 10,
"restartPolicy": "unless-stopped"
}
]
}

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="4.22.0@fc2c6ab4d5fa5d644d8617089f012f3bb84b8703">
<files psalm-version="4.27.0@faf106e717c37b8c81721845dba9de3d8deed8ff">
<file src="public/index.php">
<MissingClosureParamType occurrences="10">
<code>$args</code>
@@ -18,21 +18,10 @@
<MissingParamType occurrences="1">
<code>$args</code>
</MissingParamType>
<PossiblyInvalidArrayAccess occurrences="2">
<code>$request-&gt;getParsedBody()['borg_backup_host_location']</code>
<code>$request-&gt;getParsedBody()['domain']</code>
</PossiblyInvalidArrayAccess>
<PossiblyNullArgument occurrences="2">
<code>$request-&gt;getParsedBody()['borg_backup_host_location']</code>
<code>$request-&gt;getParsedBody()['domain']</code>
</PossiblyNullArgument>
<PossiblyNullArrayAccess occurrences="2">
<code>$request-&gt;getParsedBody()['borg_backup_host_location']</code>
<code>$request-&gt;getParsedBody()['domain']</code>
</PossiblyNullArrayAccess>
</file>
<file src="src/Controller/DockerController.php">
<MissingParamType occurrences="7">
<MissingParamType occurrences="8">
<code>$args</code>
<code>$args</code>
<code>$args</code>
<code>$args</code>
@@ -44,19 +33,9 @@
<PossiblyInvalidArrayAccess occurrences="1">
<code>$request-&gt;getParsedBody()['selected_restore_time']</code>
</PossiblyInvalidArrayAccess>
<PossiblyNullArgument occurrences="1">
<code>$container</code>
</PossiblyNullArgument>
<PossiblyNullArrayAccess occurrences="1">
<code>$request-&gt;getParsedBody()['selected_restore_time']</code>
</PossiblyNullArrayAccess>
<PossiblyNullReference occurrences="5">
<code>GetDependsOn</code>
<code>GetDependsOn</code>
<code>GetIdentifier</code>
<code>GetIdentifier</code>
<code>GetRunningState</code>
</PossiblyNullReference>
</file>
<file src="src/Controller/LoginController.php">
<MissingParamType occurrences="3">
@@ -74,12 +53,6 @@
<code>$request-&gt;getParsedBody()['password']</code>
</PossiblyNullArrayAccess>
</file>
<file src="src/Cron/cron.php">
<PossiblyNullArgument occurrences="2">
<code>$nextcloudContainer</code>
<code>$nextcloudContainer</code>
</PossiblyNullArgument>
</file>
<file src="src/Docker/DockerActionManager.php">
<InvalidReturnType occurrences="1">
<code>IContainerState</code>
@@ -87,15 +60,6 @@
<InvalidScalarArgument occurrences="1">
<code>$internalPort</code>
</InvalidScalarArgument>
<PossiblyFalseOperand occurrences="1">
<code>strpos($fullDigest, "@")</code>
</PossiblyFalseOperand>
<PossiblyNullArgument occurrences="1">
<code>$apacheContainer</code>
</PossiblyNullArgument>
<PossiblyNullReference occurrences="1">
<code>GetUpdateState</code>
</PossiblyNullReference>
<RedundantCondition occurrences="1">
<code>$container-&gt;GetInternalPorts() !== null</code>
</RedundantCondition>

View File

@@ -0,0 +1,17 @@
if (document.hasFocus()) {
// hide reload button if the site reloads automatically
var list = document.getElementsByClassName("reload button");
for (var i = 0; i < list.length; i++) {
// list[i] is a node with the desired class name
list[i].style.display = 'none';
}
// set timeout for reload
setTimeout(function(){
window.location.reload(1);
}, 5000);
} else {
window.addEventListener("beforeunload", function() {
document.getElementById('overlay').classList.add('loading')
});
}

View File

@@ -0,0 +1,3 @@
window.addEventListener("beforeunload", function() {
document.getElementById('overlay').classList.add('loading')
});

View File

@@ -0,0 +1,5 @@
document.addEventListener("DOMContentLoaded", function(event) {
// Clamav
var clamav = document.getElementById("clamav");
clamav.disabled = true;
});

View File

@@ -0,0 +1,5 @@
document.addEventListener("DOMContentLoaded", function(event) {
// Collabora
var collabora = document.getElementById("collabora");
collabora.disabled = true;
});

View File

@@ -0,0 +1,5 @@
document.addEventListener("DOMContentLoaded", function(event) {
// Fulltextsearch
var fulltextsearch = document.getElementById("fulltextsearch");
fulltextsearch.disabled = true;
});

View File

@@ -0,0 +1,5 @@
document.addEventListener("DOMContentLoaded", function(event) {
// Imaginary
var imaginary = document.getElementById("imaginary");
imaginary.disabled = true;
});

View File

@@ -0,0 +1,9 @@
document.addEventListener("DOMContentLoaded", function(event) {
// OnlyOffice
try {
var onlyoffice = document.getElementById("onlyoffice");
onlyoffice.disabled = true;
} catch (error) {
// console.error(error);
}
});

View File

@@ -0,0 +1,5 @@
document.addEventListener("DOMContentLoaded", function(event) {
// Talk
var talk = document.getElementById("talk");
talk.disabled = true;
});

View File

@@ -12,7 +12,7 @@
}
lastError = toast
body.prepend(toast)
setTimeout(toast.remove.bind(toast), 3000)
setTimeout(toast.remove.bind(toast), 10000)
}
function handleEvent(e) {

View File

@@ -48,9 +48,11 @@ $app->add(new \AIO\Middleware\AuthMiddleware($container->get(\AIO\Auth\AuthManag
// API
$app->post('/api/docker/watchtower', AIO\Controller\DockerController::class . ':StartWatchtowerContainer');
$app->get('/api/docker/getwatchtower', AIO\Controller\DockerController::class . ':StartWatchtowerContainer');
$app->post('/api/docker/start', AIO\Controller\DockerController::class . ':StartContainer');
$app->post('/api/docker/backup', AIO\Controller\DockerController::class . ':StartBackupContainerBackup');
$app->post('/api/docker/backup-check', AIO\Controller\DockerController::class . ':StartBackupContainerCheck');
$app->post('/api/docker/backup-test', AIO\Controller\DockerController::class . ':StartBackupContainerTest');
$app->post('/api/docker/restore', AIO\Controller\DockerController::class . ':StartBackupContainerRestore');
$app->post('/api/docker/stop', AIO\Controller\DockerController::class . ':StopContainer');
$app->get('/api/docker/logs', AIO\Controller\DockerController::class . ':GetLogs');
@@ -72,18 +74,37 @@ $app->get('/containers', function ($request, $response, $args) use ($container)
return $view->render($response, 'containers.twig', [
'domain' => $configurationManager->GetDomain(),
'borg_backup_host_location' => $configurationManager->GetBorgBackupHostLocation(),
'borg_backup_mode' => $configurationManager->GetBorgBackupMode(),
'nextcloud_password' => $configurationManager->GetSecret('NEXTCLOUD_PASSWORD'),
'containers' => (new \AIO\ContainerDefinitionFetcher($container->get(\AIO\Data\ConfigurationManager::class), $container))->FetchDefinition(),
'borgbackup_password' => $configurationManager->GetSecret('BORGBACKUP_PASSWORD'),
'is_mastercontainer_update_available' => $dockerActionManger->IsMastercontainerUpdateAvailable(),
'has_backup_run_once' => $configurationManager->hasBackupRunOnce(),
'is_backup_container_running' => $dockerActionManger->isBackupContainerRunning(),
'backup_exit_code' => $dockerActionManger->GetBackupcontainerExitCode(),
'is_instance_restore_attempt' => $configurationManager->isInstanceRestoreAttempt(),
'borg_backup_mode' => $configurationManager->GetBorgBackupMode(),
'was_start_button_clicked' => $configurationManager->wasStartButtonClicked(),
'has_update_available' => $dockerActionManger->isAnyUpdateAvailable(),
'last_backup_time' => $configurationManager->GetLastBackupTime(),
'backup_times' => $configurationManager->GetBackupTimes(),
'current_channel' => $dockerActionManger->GetCurrentChannel(),
'is_x64_platform' => $configurationManager->isx64Platform(),
'is_clamav_enabled' => $configurationManager->isClamavEnabled(),
'is_onlyoffice_enabled' => $configurationManager->isOnlyofficeEnabled(),
'is_collabora_enabled' => $configurationManager->isCollaboraEnabled(),
'is_talk_enabled' => $configurationManager->isTalkEnabled(),
'borg_restore_password' => $configurationManager->GetBorgRestorePassword(),
'daily_backup_time' => $configurationManager->GetDailyBackupTime(),
'is_daily_backup_running' => $configurationManager->isDailyBackupRunning(),
'timezone' => $configurationManager->GetTimezone(),
'skip_domain_validation' => $configurationManager->shouldDomainValidationBeSkipped(),
'talk_port' => $configurationManager->GetTalkPort(),
'collabora_dictionaries' => $configurationManager->GetCollaboraDictionaries(),
'automatic_updates' => $configurationManager->areAutomaticUpdatesEnabled(),
'is_backup_section_enabled' => $configurationManager->isBackupSectionEnabled(),
'is_imaginary_enabled' => $configurationManager->isImaginaryEnabled(),
'is_fulltextsearch_enabled' => $configurationManager->isFulltextsearchEnabled(),
'additional_backup_directories' => $configurationManager->GetAdditionalBackupDirectoriesString(),
]);
})->setName('profile');
$app->get('/login', function ($request, $response, $args) use ($container) {
@@ -138,4 +159,6 @@ $app->get('/', function (\Psr\Http\Message\RequestInterface $request, \Psr\Http\
}
});
$errorMiddleware = $app->addErrorMiddleware(true, true, true);
$app->run();

View File

@@ -0,0 +1,38 @@
function makeOptionsFormSubmitVisible() {
var optionsFormSubmit = document.getElementById("options-form-submit");
optionsFormSubmit.style.display = 'block';
}
document.addEventListener("DOMContentLoaded", function(event) {
// handle submit button for options form
var optionsFormSubmit = document.getElementById("options-form-submit");
optionsFormSubmit.style.display = 'none';
// Clamav
var clamav = document.getElementById("clamav");
clamav.addEventListener('change', makeOptionsFormSubmitVisible);
// OnlyOffice
try {
var onlyoffice = document.getElementById("onlyoffice");
onlyoffice.addEventListener('change', makeOptionsFormSubmitVisible);
} catch (error) {
// console.error(error);
}
// Collabora
var collabora = document.getElementById("collabora");
collabora.addEventListener('change', makeOptionsFormSubmitVisible);
// Talk
var talk = document.getElementById("talk");
talk.addEventListener('change', makeOptionsFormSubmitVisible);
// Imaginary
var imaginary = document.getElementById("imaginary");
imaginary.addEventListener('change', makeOptionsFormSubmitVisible);
// Fulltextsearch
var fulltextsearch = document.getElementById("fulltextsearch");
fulltextsearch.addEventListener('change', makeOptionsFormSubmitVisible);
});

View File

@@ -23,6 +23,10 @@ a {
outline: none;
}
summary {
cursor: pointer;
}
ul {
list-style: none;
padding: 0;

View File

@@ -7792,7 +7792,7 @@ class PasswordGenerator
if($password !== '') {
$password = $password . ' ';
}
$password = $password . $this->words[random_int(0, 2047)];
$password = $password . $this->words[random_int(0, 7775)];
}
return $password;

View File

@@ -91,6 +91,10 @@ class Container {
return $this->dockerActionManager->GetContainerRunningState($this);
}
public function GetRestartingState() : IContainerState {
return $this->dockerActionManager->GetContainerRestartingState($this);
}
public function GetUpdateState() : IContainerState {
return $this->dockerActionManager->GetContainerUpdateState($this);
}

View File

@@ -0,0 +1,6 @@
<?php
namespace AIO\Container\State;
class NotRestartingState implements IContainerState
{}

View File

@@ -0,0 +1,6 @@
<?php
namespace AIO\Container\State;
class RestartingState implements IContainerState
{}

View File

@@ -27,7 +27,7 @@ class ContainerDefinitionFetcher
$this->container = $container;
}
public function GetContainerById(string $id): ?Container
public function GetContainerById(string $id): Container
{
$containers = $this->FetchDefinition();
@@ -37,7 +37,7 @@ class ContainerDefinitionFetcher
}
}
return null;
throw new \Exception("The provided id " . $id . " was not found in the container definition.");
}
/**
@@ -49,10 +49,40 @@ class ContainerDefinitionFetcher
$containers = [];
foreach ($data['production'] as $entry) {
if ($entry['identifier'] === 'nextcloud-aio-clamav') {
if (!$this->configurationManager->isClamavEnabled()) {
continue;
}
} elseif ($entry['identifier'] === 'nextcloud-aio-onlyoffice') {
if (!$this->configurationManager->isOnlyofficeEnabled()) {
continue;
}
} elseif ($entry['identifier'] === 'nextcloud-aio-collabora') {
if (!$this->configurationManager->isCollaboraEnabled()) {
continue;
}
} elseif ($entry['identifier'] === 'nextcloud-aio-talk') {
if (!$this->configurationManager->isTalkEnabled()) {
continue;
}
} elseif ($entry['identifier'] === 'nextcloud-aio-imaginary') {
if (!$this->configurationManager->isImaginaryEnabled()) {
continue;
}
} elseif ($entry['identifier'] === 'nextcloud-aio-fulltextsearch') {
if (!$this->configurationManager->isFulltextsearchEnabled()) {
continue;
}
}
$ports = new ContainerPorts();
foreach ($entry['ports'] as $port) {
if($port === '%APACHE_PORT%/tcp') {
$port = $this->configurationManager->GetApachePort() . '/tcp';
} elseif($port === '%TALK_PORT%/tcp') {
$port = $this->configurationManager->GetTalkPort() . '/tcp';
} elseif($port === '%TALK_PORT%/udp') {
$port = $this->configurationManager->GetTalkPort() . '/udp';
}
$ports->AddPort($port);
}
@@ -61,6 +91,8 @@ class ContainerDefinitionFetcher
foreach ($entry['internalPorts'] as $internalPort) {
if($internalPort === '%APACHE_PORT%') {
$internalPort = $this->configurationManager->GetApachePort();
} elseif($internalPort === '%TALK_PORT%') {
$internalPort = $this->configurationManager->GetTalkPort();
}
$internalPorts->AddInternalPort($internalPort);
}
@@ -83,8 +115,13 @@ class ContainerDefinitionFetcher
if ($value['name'] === '') {
continue;
}
} elseif ($value['name'] === '%DOCKER_SOCKET_PATH%') {
$value['name'] = $this->configurationManager->GetDockerSocketPath();
if($value['name'] === '') {
continue;
}
}
if($value['location'] === '%NEXTCLOUD_MOUNT%') {
if ($value['location'] === '%NEXTCLOUD_MOUNT%') {
$value['location'] = $this->configurationManager->GetNextcloudMount();
if($value['location'] === '') {
continue;
@@ -99,6 +136,36 @@ class ContainerDefinitionFetcher
);
}
$dependsOn = [];
foreach ($entry['dependsOn'] as $value) {
if ($value === 'nextcloud-aio-clamav') {
if (!$this->configurationManager->isClamavEnabled()) {
continue;
}
} elseif ($value === 'nextcloud-aio-onlyoffice') {
if (!$this->configurationManager->isOnlyofficeEnabled()) {
continue;
}
} elseif ($value === 'nextcloud-aio-collabora') {
if (!$this->configurationManager->isCollaboraEnabled()) {
continue;
}
} elseif ($value === 'nextcloud-aio-talk') {
if (!$this->configurationManager->isTalkEnabled()) {
continue;
}
} elseif ($value === 'nextcloud-aio-imaginary') {
if (!$this->configurationManager->isImaginaryEnabled()) {
continue;
}
} elseif ($value === 'nextcloud-aio-fulltextsearch') {
if (!$this->configurationManager->isFulltextsearchEnabled()) {
continue;
}
}
$dependsOn[] = $value;
}
$variables = new ContainerEnvironmentVariables();
foreach ($entry['environmentVariables'] as $value) {
$variables->AddVariable($value);
@@ -114,7 +181,7 @@ class ContainerDefinitionFetcher
$internalPorts,
$volumes,
$variables,
$entry['dependsOn'],
$dependsOn,
$entry['secrets'],
$this->container->get(DockerActionManager::class)
);

View File

@@ -22,7 +22,8 @@ class ConfigurationController
public function SetConfig(Request $request, Response $response, $args) : Response {
try {
if (isset($request->getParsedBody()['domain'])) {
$this->configurationManager->SetDomain($request->getParsedBody()['domain']);
$domain = $request->getParsedBody()['domain'] ?? '';
$this->configurationManager->SetDomain($domain);
}
if (isset($request->getParsedBody()['current-master-password']) || isset($request->getParsedBody()['new-master-password'])) {
@@ -32,7 +33,87 @@ class ConfigurationController
}
if (isset($request->getParsedBody()['borg_backup_host_location'])) {
$this->configurationManager->SetBorgBackupHostLocation($request->getParsedBody()['borg_backup_host_location']);
$location = $request->getParsedBody()['borg_backup_host_location'] ?? '';
$this->configurationManager->SetBorgBackupHostLocation($location);
}
if (isset($request->getParsedBody()['borg_restore_host_location']) || isset($request->getParsedBody()['borg_restore_password'])) {
$restoreLocation = $request->getParsedBody()['borg_restore_host_location'] ?? '';
$borgPassword = $request->getParsedBody()['borg_restore_password'] ?? '';
$this->configurationManager->SetBorgRestoreHostLocationAndPassword($restoreLocation, $borgPassword);
}
if (isset($request->getParsedBody()['daily_backup_time'])) {
if (isset($request->getParsedBody()['automatic_updates'])) {
$enableAutomaticUpdates = true;
} else {
$enableAutomaticUpdates = false;
}
$dailyBackupTime = $request->getParsedBody()['daily_backup_time'] ?? '';
$this->configurationManager->SetDailyBackupTime($dailyBackupTime, $enableAutomaticUpdates);
}
if (isset($request->getParsedBody()['delete_daily_backup_time'])) {
$this->configurationManager->DeleteDailyBackupTime();
}
if (isset($request->getParsedBody()['additional_backup_directories'])) {
$additionalBackupDirectories = $request->getParsedBody()['additional_backup_directories'] ?? '';
$this->configurationManager->SetAdditionalBackupDirectories($additionalBackupDirectories);
}
if (isset($request->getParsedBody()['delete_timezone'])) {
$this->configurationManager->DeleteTimezone();
}
if (isset($request->getParsedBody()['timezone'])) {
$timezone = $request->getParsedBody()['timezone'] ?? '';
$this->configurationManager->SetTimezone($timezone);
}
if (isset($request->getParsedBody()['options-form'])) {
if (isset($request->getParsedBody()['collabora']) && isset($request->getParsedBody()['onlyoffice'])) {
throw new InvalidSettingConfigurationException("Collabora and Onlyoffice are not allowed to be enabled at the same time!");
}
if (isset($request->getParsedBody()['clamav'])) {
$this->configurationManager->SetClamavEnabledState(1);
} else {
$this->configurationManager->SetClamavEnabledState(0);
}
if (isset($request->getParsedBody()['onlyoffice'])) {
$this->configurationManager->SetOnlyofficeEnabledState(1);
} else {
$this->configurationManager->SetOnlyofficeEnabledState(0);
}
if (isset($request->getParsedBody()['collabora'])) {
$this->configurationManager->SetCollaboraEnabledState(1);
} else {
$this->configurationManager->SetCollaboraEnabledState(0);
}
if (isset($request->getParsedBody()['talk'])) {
$this->configurationManager->SetTalkEnabledState(1);
} else {
$this->configurationManager->SetTalkEnabledState(0);
}
if (isset($request->getParsedBody()['imaginary'])) {
$this->configurationManager->SetImaginaryEnabledState(1);
} else {
$this->configurationManager->SetImaginaryEnabledState(0);
}
if (isset($request->getParsedBody()['fulltextsearch'])) {
$this->configurationManager->SetFulltextsearchEnabledState(1);
} else {
$this->configurationManager->SetFulltextsearchEnabledState(0);
}
}
if (isset($request->getParsedBody()['delete_collabora_dictionaries'])) {
$this->configurationManager->DeleteCollaboraDictionaries();
}
if (isset($request->getParsedBody()['collabora_dictionaries'])) {
$collaboraDictionaries = $request->getParsedBody()['collabora_dictionaries'] ?? '';
$this->configurationManager->SetCollaboraDictionaries($collaboraDictionaries);
}
return $response->withStatus(201)->withHeader('Location', '/');

View File

@@ -26,16 +26,24 @@ class DockerController
$this->configurationManager = $configurationManager;
}
private function PerformRecursiveContainerStart(string $id) : void {
private function PerformRecursiveContainerStart(string $id, bool $pullContainer = true) : void {
$container = $this->containerDefinitionFetcher->GetContainerById($id);
foreach($container->GetDependsOn() as $dependency) {
$this->PerformRecursiveContainerStart($dependency);
$this->PerformRecursiveContainerStart($dependency, $pullContainer);
}
if ($id === 'nextcloud-aio-database') {
if ($this->dockerActionManager->GetDatabasecontainerExitCode() > 0) {
$pullContainer = 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);
$this->dockerActionManager->PullContainer($container);
if ($pullContainer) {
$this->dockerActionManager->PullContainer($container);
}
$this->dockerActionManager->CreateContainer($container);
$this->dockerActionManager->StartContainer($container);
$this->dockerActionManager->ConnectContainerToNetwork($container);
@@ -44,8 +52,12 @@ class DockerController
public function GetLogs(Request $request, Response $response, $args) : Response
{
$id = $request->getQueryParams()['id'];
$container = $this->containerDefinitionFetcher->GetContainerById($id);
$logs = $this->dockerActionManager->GetLogs($container);
if (str_starts_with($id, 'nextcloud-aio-')) {
$logs = $this->dockerActionManager->GetLogs($id);
} else {
$logs = 'Container not found.';
}
$body = $response->getBody();
$body->write($logs);
@@ -56,6 +68,11 @@ class DockerController
}
public function StartBackupContainerBackup(Request $request, Response $response, $args) : Response {
$this->startBackup();
return $response->withStatus(201)->withHeader('Location', '/');
}
public function startBackup() : void {
$config = $this->configurationManager->GetConfig();
$config['backup-mode'] = 'backup';
$this->configurationManager->WriteConfig($config);
@@ -65,19 +82,20 @@ class DockerController
$id = 'nextcloud-aio-borgbackup';
$this->PerformRecursiveContainerStart($id);
return $response->withStatus(201)->withHeader('Location', '/');
}
public function StartBackupContainerCheck(Request $request, Response $response, $args) : Response {
$this->checkBackup();
return $response->withStatus(201)->withHeader('Location', '/');
}
public function checkBackup() : void {
$config = $this->configurationManager->GetConfig();
$config['backup-mode'] = 'check';
$this->configurationManager->WriteConfig($config);
$id = 'nextcloud-aio-borgbackup';
$this->PerformRecursiveContainerStart($id);
return $response->withStatus(201)->withHeader('Location', '/');
}
public function StartBackupContainerRestore(Request $request, Response $response, $args) : Response {
@@ -95,17 +113,46 @@ class DockerController
return $response->withStatus(201)->withHeader('Location', '/');
}
public function StartBackupContainerTest(Request $request, Response $response, $args) : Response {
$config = $this->configurationManager->GetConfig();
$config['backup-mode'] = 'test';
$config['instance_restore_attempt'] = 0;
$this->configurationManager->WriteConfig($config);
$id = self::TOP_CONTAINER;
$this->PerformRecursiveContainerStop($id);
$id = 'nextcloud-aio-borgbackup';
$this->PerformRecursiveContainerStart($id);
return $response->withStatus(201)->withHeader('Location', '/');
}
public function StartContainer(Request $request, Response $response, $args) : Response
{
$uri = $request->getUri();
$host = $uri->getHost();
$port = $uri->getPort();
if ($port === 8000) {
error_log('The AIO_URL-port was discovered to be 8000 which is not expected. It is now set to 443.');
$port = 443;
}
$config = $this->configurationManager->GetConfig();
// set AIO_URL
$config['AIO_URL'] = $host . ':' . $port;
// set wasStartButtonClicked
$config['wasStartButtonClicked'] = 1;
$this->configurationManager->WriteConfig($config);
// Start container
$this->startTopContainer(true);
return $response->withStatus(201)->withHeader('Location', '/');
}
public function startTopContainer(bool $pullContainer) : void {
$config = $this->configurationManager->GetConfig();
// set AIO_TOKEN
$config['AIO_TOKEN'] = bin2hex(random_bytes(24));
$this->configurationManager->WriteConfig($config);
@@ -115,15 +162,18 @@ class DockerController
$id = self::TOP_CONTAINER;
$this->PerformRecursiveContainerStart($id);
return $response->withStatus(201)->withHeader('Location', '/');
$this->PerformRecursiveContainerStart($id, $pullContainer);
}
public function StartWatchtowerContainer(Request $request, Response $response, $args) : Response {
$this->startWatchtower();
return $response->withStatus(201)->withHeader('Location', '/');
}
public function startWatchtower() : void {
$id = 'nextcloud-aio-watchtower';
$this->PerformRecursiveContainerStart($id);
return $response->withStatus(201)->withHeader('Location', '/');
}
private function PerformRecursiveContainerStop(string $id) : void
@@ -146,25 +196,41 @@ class DockerController
return $response->withStatus(201)->withHeader('Location', '/');
}
public function stopTopContainer() : void {
$id = self::TOP_CONTAINER;
$this->PerformRecursiveContainerStop($id);
}
public function StartDomaincheckContainer() : void
{
# Don't start if domain is already set
if ($this->configurationManager->GetDomain() != '') {
if ($this->configurationManager->GetDomain() !== '' || $this->configurationManager->wasStartButtonClicked()) {
return;
}
$id = 'nextcloud-aio-domaincheck';
$container = $this->containerDefinitionFetcher->GetContainerById($id);
// don't start if the domaincheck is already running
if ($container->GetIdentifier() === $id && $container->GetRunningState() instanceof RunningState) {
return;
// don't start if apache is already running
} elseif ($container->GetIdentifier() === self::TOP_CONTAINER && $container->GetRunningState() instanceof RunningState) {
$cacheKey = 'domaincheckWasStarted';
$domaincheckContainer = $this->containerDefinitionFetcher->GetContainerById($id);
$apacheContainer = $this->containerDefinitionFetcher->GetContainerById(self::TOP_CONTAINER);
// Don't start if apache is already running
if ($apacheContainer->GetRunningState() instanceof RunningState) {
return;
// Don't start if domaincheck is already running
} elseif ($domaincheckContainer->GetRunningState() instanceof RunningState) {
$domaincheckWasStarted = apcu_fetch($cacheKey);
// Start domaincheck again when 10 minutes are over by not returning here
if($domaincheckWasStarted !== false && is_string($domaincheckWasStarted)) {
return;
}
}
$this->StopDomaincheckContainer();
$this->PerformRecursiveContainerStart($id);
// Cache the start for 10 minutes
apcu_add($cacheKey, '1', 600);
}
private function StopDomaincheckContainer() : void

View File

@@ -0,0 +1,29 @@
<?php
declare(strict_types=1);
// increase memory limit to 2GB
ini_set('memory_limit', '2048M');
use DI\Container;
require __DIR__ . '/../../vendor/autoload.php';
$container = \AIO\DependencyInjection::GetContainer();
/** @var \AIO\Docker\DockerActionManager $dockerActionManger */
$dockerActionManger = $container->get(\AIO\Docker\DockerActionManager::class);
/** @var \AIO\ContainerDefinitionFetcher $containerDefinitionFetcher */
$containerDefinitionFetcher = $container->get(\AIO\ContainerDefinitionFetcher::class);
$id = 'nextcloud-aio-nextcloud';
$nextcloudContainer = $containerDefinitionFetcher->GetContainerById($id);
$backupExitCode = $dockerActionManger->GetBackupcontainerExitCode();
if ($backupExitCode === 0) {
$dockerActionManger->sendNotification($nextcloudContainer, 'Daily backup successful!', 'You can get further info by looking at the backup logs in the AIO interface.');
}
if ($backupExitCode > 0) {
$dockerActionManger->sendNotification($nextcloudContainer, 'Daily backup failed!', 'You can get further info by looking at the backup logs in the AIO interface.');
}

View File

@@ -0,0 +1,17 @@
<?php
declare(strict_types=1);
// increase memory limit to 2GB
ini_set('memory_limit', '2048M');
use DI\Container;
require __DIR__ . '/../../vendor/autoload.php';
$container = \AIO\DependencyInjection::GetContainer();
/** @var \AIO\Controller\DockerController $dockerController */
$dockerController = $container->get(\AIO\Controller\DockerController::class);
// Stop container and start backup check
$dockerController->checkBackup();

View File

@@ -0,0 +1,17 @@
<?php
declare(strict_types=1);
// increase memory limit to 2GB
ini_set('memory_limit', '2048M');
use DI\Container;
require __DIR__ . '/../../vendor/autoload.php';
$container = \AIO\DependencyInjection::GetContainer();
/** @var \AIO\Controller\DockerController $dockerController */
$dockerController = $container->get(\AIO\Controller\DockerController::class);
// Stop container and start backup
$dockerController->startBackup();

Some files were not shown because too many files have changed in this diff Show More