Compare commits

...

242 Commits

Author SHA1 Message Date
Simon L
7bb713eaaa increase to 4.4.0
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-16 19:17:04 +01:00
Simon L
0df1db6b8f Merge pull request #2005 from nextcloud/enh/2004/add-spinner-loader
add loader to login template
2023-02-16 19:16:11 +01:00
Simon L
5b2b60841d add loader to login template
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-16 19:14:09 +01:00
Simon L
e638aa3b89 Merge pull request #2002 from nextcloud/aio-helm-update
Helm Chart updates
2023-02-16 17:43:10 +01:00
szaimen
42c0dadb11 Helm Chart updates
Signed-off-by: GitHub <noreply@github.com>
2023-02-16 16:39:25 +00:00
Simon L
4362406587 fix the helm-update job
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-16 17:38:45 +01:00
Simon L
f1dff9b3e2 Merge pull request #2001 from nextcloud/aio-yaml-update
Yaml updates
2023-02-16 17:32:41 +01:00
szaimen
a6667496c7 Yaml updates
Signed-off-by: GitHub <noreply@github.com>
2023-02-16 16:31:28 +00:00
Simon L
355175cc36 Merge pull request #1990 from nextcloud/fix/1984/fix-docker-networks
connect containers only to custom network
2023-02-16 17:28:11 +01:00
Simon L
2ade84e7ab connect containers only to custom network
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-16 17:26:35 +01:00
Simon L
244424efee Merge pull request #1982 from nextcloud/enh/noid/improve-restore
also restore configuration.json even if the former restore failed
2023-02-16 17:25:09 +01:00
Simon L
775889edc4 Merge pull request #1981 from nextcloud/enh/noid/increase-free-disk-check
check size of config and only write back if space is sufficient
2023-02-16 17:24:35 +01:00
Simon L
8a23a1cb6b Merge pull request #1969 from nextcloud/enh/noid/improve-caddy
fix and hide a few caddy warnings
2023-02-16 17:23:43 +01:00
Simon L
e17dfd9e66 Merge pull request #1968 from nextcloud/enh/noid/fix-session-deletion
rm does not work if there are too many sessions
2023-02-16 17:21:59 +01:00
Simon L
de2c915bba update OO
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-16 17:19:02 +01:00
Simon L
40be1e1d07 Merge pull request #1999 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-1.0.1-1
Bump clamav/clamav from 0.105.1-8 to 1.0.1-1 in /Containers/clamav
2023-02-16 17:17:44 +01:00
Simon L
e60dcdc2b3 Merge pull request #1998 from nextcloud/dependabot/docker/Containers/mastercontainer/caddy-2.6.4-alpine
Bump caddy from 2.6.3-alpine to 2.6.4-alpine in /Containers/mastercontainer
2023-02-16 17:17:26 +01:00
Simon L
90f49b128e Merge pull request #1997 from nextcloud/dependabot/docker/Containers/apache/caddy-2.6.4-alpine
Bump caddy from 2.6.3-alpine to 2.6.4-alpine in /Containers/apache
2023-02-16 17:17:10 +01:00
Simon L
2115e1dcf7 Merge pull request #1995 from nextcloud/dependabot/docker/Containers/nextcloud/php-8.0.28-fpm-alpine3.16
Bump php from 8.0.27-fpm-alpine3.16 to 8.0.28-fpm-alpine3.16 in /Containers/nextcloud
2023-02-16 17:16:55 +01:00
Simon L
554745ac13 Merge pull request #1994 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.1.16-fpm-alpine3.17
Bump php from 8.1.15-fpm-alpine3.17 to 8.1.16-fpm-alpine3.17 in /Containers/mastercontainer
2023-02-16 17:15:33 +01:00
Simon L
4f91809d41 Merge pull request #1980 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-23.0.1-dind
Bump docker from 20.10.23-dind to 23.0.1-dind in /Containers/mastercontainer
2023-02-16 17:15:18 +01:00
Simon L
e52647caf3 Merge pull request #1979 from nextcloud/dependabot/docker/Containers/watchtower/alpine-3.17.2
Bump alpine from 3.17.1 to 3.17.2 in /Containers/watchtower
2023-02-16 17:14:56 +01:00
Simon L
c1f882b95f Merge pull request #1978 from nextcloud/dependabot/docker/Containers/borgbackup/alpine-3.17.2
Bump alpine from 3.17.1 to 3.17.2 in /Containers/borgbackup
2023-02-16 17:14:41 +01:00
Simon L
0710b64899 Merge pull request #1977 from nextcloud/dependabot/docker/Containers/postgresql/postgres-15.2-alpine
Bump postgres from 15.1-alpine to 15.2-alpine in /Containers/postgresql
2023-02-16 17:14:19 +01:00
Simon L
e7e3de0335 Merge pull request #1976 from nextcloud/dependabot/docker/Containers/domaincheck/alpine-3.17.2
Bump alpine from 3.17.1 to 3.17.2 in /Containers/domaincheck
2023-02-16 17:14:04 +01:00
Simon L
88c95e292b Merge pull request #2000 from nextcloud/enh/noid/multiarch
document multiarch containers
2023-02-16 17:03:57 +01:00
Simon L
73674c6167 document multiarch containers
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-16 17:02:44 +01:00
Simon L
e9497634b6 migration.md - adjust db-creation docs for psql 15
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-16 16:44:35 +01:00
dependabot[bot]
cf69a3114a Bump clamav/clamav from 0.105.1-8 to 1.0.1-1 in /Containers/clamav
Bumps clamav/clamav from 0.105.1-8 to 1.0.1-1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-16 12:59:25 +00:00
dependabot[bot]
f7ec7da366 Bump caddy in /Containers/mastercontainer
Bumps caddy from 2.6.3-alpine to 2.6.4-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-16 12:59:11 +00:00
dependabot[bot]
2e9a908d07 Bump caddy from 2.6.3-alpine to 2.6.4-alpine in /Containers/apache
Bumps caddy from 2.6.3-alpine to 2.6.4-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-16 12:59:08 +00:00
Simon L
849c0c4c89 disable the tls-alpn challenge
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-15 19:36:26 +01:00
Simon L
43ef6cb056 traefik - the x-robots-tag should be set by nextcloud. dont overwrite it
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-15 18:30:01 +01:00
Simon L
194446fc71 check size of config and only write back if space is sufficient
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-15 17:11:23 +01:00
dependabot[bot]
63f2b4a3d9 Bump php in /Containers/nextcloud
Bumps php from 8.0.27-fpm-alpine3.16 to 8.0.28-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>
2023-02-15 13:02:06 +00:00
dependabot[bot]
285aee962b Bump php in /Containers/mastercontainer
Bumps php from 8.1.15-fpm-alpine3.17 to 8.1.16-fpm-alpine3.17.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-15 13:01:00 +00:00
Simon L
6787d322cc also restore configuration.json even if the former restore failed
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-13 17:00:20 +01:00
dependabot[bot]
b7e593a64d Bump docker in /Containers/mastercontainer
Bumps docker from 20.10.23-dind to 23.0.1-dind.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 13:04:15 +00:00
dependabot[bot]
eb52264f3b Bump alpine from 3.17.1 to 3.17.2 in /Containers/watchtower
Bumps alpine from 3.17.1 to 3.17.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 13:04:15 +00:00
dependabot[bot]
93de08cd54 Bump alpine from 3.17.1 to 3.17.2 in /Containers/borgbackup
Bumps alpine from 3.17.1 to 3.17.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 13:04:00 +00:00
dependabot[bot]
d65e94b3b2 Bump postgres from 15.1-alpine to 15.2-alpine in /Containers/postgresql
Bumps postgres from 15.1-alpine to 15.2-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 13:03:56 +00:00
dependabot[bot]
0f38928dd8 Bump alpine from 3.17.1 to 3.17.2 in /Containers/domaincheck
Bumps alpine from 3.17.1 to 3.17.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 13:03:53 +00:00
Simon L
1dc69dca29 Match only host names and not ip-addresses
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-11 21:26:07 +01:00
Simon L
96f3ca2506 fix and hide a few caddy warnings
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-11 20:49:30 +01:00
Simon L
9c63e9707f rm does not work if there are too many sessions
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-11 19:30:02 +01:00
Simon L
feffba739a Helm Chart updates
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-11 15:18:13 +01:00
Simon L
8a0dda3002 add an additional step about removing the containers
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-11 15:14:16 +01:00
Simon L
df34ecb282 Merge pull request #1959 from nextcloud/aio-yaml-update
Yaml updates
2023-02-10 14:35:51 +01:00
szaimen
0dda394f5c Yaml updates
Signed-off-by: GitHub <noreply@github.com>
2023-02-10 13:22:54 +00:00
Simon L
86a8a2d2fd increase to 4.3.4
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-10 14:02:20 +01:00
Simon L
be2df389ab Merge pull request #1934 from nextcloud/enh/noid/handle-talk-internal-ports
helm - handle talk internal ports correctly and fix permissions for Nextcloud container
2023-02-10 13:59:15 +01:00
Simon L
a9f0cf6df5 no needs quotes as well
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-10 13:58:23 +01:00
Simon L
31d7fff62b Merge pull request #1957 from nextcloud/enh/noid/fix-fpm-settings
mastercontainer - increase max children and switch to pm dynamic
2023-02-10 13:48:23 +01:00
Simon L
6d7df693b3 Merge pull request #1954 from nextcloud/dependabot/docker/Containers/apache/caddy-2.6.3-alpine
Bump caddy from 2.6.2-alpine to 2.6.3-alpine in /Containers/apache
2023-02-10 13:44:28 +01:00
Simon L
cba398df2d Merge pull request #1955 from nextcloud/dependabot/docker/Containers/mastercontainer/caddy-2.6.3-alpine
Bump caddy from 2.6.2-alpine to 2.6.3-alpine in /Containers/mastercontainer
2023-02-10 13:44:09 +01:00
Simon L
398cf969ac mastercontainer - increase max children and switch to pm dynamic
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-10 13:42:03 +01:00
Simon L
8b8059b6d2 another one
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-09 13:11:02 +01:00
Simon L
23509fc18a improve detail
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-09 13:10:01 +01:00
dependabot[bot]
7be09e89d3 Bump caddy in /Containers/mastercontainer
Bumps caddy from 2.6.2-alpine to 2.6.3-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-09 12:04:08 +00:00
dependabot[bot]
b2c92d1b39 Bump caddy from 2.6.2-alpine to 2.6.3-alpine in /Containers/apache
Bumps caddy from 2.6.2-alpine to 2.6.3-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-09 12:03:57 +00:00
Simon L
cb527ad29c increase to 4.3.3
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-09 11:42:02 +01:00
Simon L
3209e69c1d Merge pull request #1952 from nextcloud/enh/noid/update-windows-docs
update windows documentation to use paths instead of volumes
2023-02-09 11:41:05 +01:00
Simon L
eb024f0460 update windows documentation to use paths instead of volumes
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-09 11:39:13 +01:00
Simon L
69c4df538a Merge pull request #1951 from nextcloud/aio-dependency-update
Dependency updates
2023-02-09 11:29:06 +01:00
Simon L
34c47c06cb Merge pull request #1950 from nextcloud/dependabot/docker/Containers/fulltextsearch/elasticsearch-7.17.9
Bump elasticsearch from 7.17.8 to 7.17.9 in /Containers/fulltextsearch
2023-02-09 11:28:40 +01:00
Simon L
ccbd7a847c Merge pull request #1949 from nextcloud/dependabot/docker/Containers/clamav/clamav/clamav-0.105.1-8
Bump clamav/clamav from 0.105.1-7 to 0.105.1-8 in /Containers/clamav
2023-02-09 11:28:23 +01:00
Simon L
9f2e2cdbb8 Merge pull request #1948 from nextcloud/enh/noid/rework-imaginary
imaginary - rework some things
2023-02-09 11:28:05 +01:00
Simon L
208b6a4960 Merge pull request #1947 from nextcloud/aio-yaml-update
Yaml updates
2023-02-09 11:26:42 +01:00
szaimen
57b921bc5e dependency updates
Signed-off-by: GitHub <noreply@github.com>
2023-02-08 12:15:56 +00:00
dependabot[bot]
3eba28888b Bump elasticsearch from 7.17.8 to 7.17.9 in /Containers/fulltextsearch
Bumps elasticsearch from 7.17.8 to 7.17.9.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-08 12:07:47 +00:00
dependabot[bot]
b68f1b9703 Bump clamav/clamav from 0.105.1-7 to 0.105.1-8 in /Containers/clamav
Bumps clamav/clamav from 0.105.1-7 to 0.105.1-8.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-08 12:04:40 +00:00
Simon L
c28952fc9c imaginary - rework some things
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-08 00:32:48 +01:00
szaimen
345f0f5f30 Yaml updates
Signed-off-by: GitHub <noreply@github.com>
2023-02-07 12:16:56 +00:00
Simon L
d7dc6bdea6 try to fix initial install
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-06 18:32:14 +01:00
Simon L
847b285e41 print out install errors
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-06 18:18:52 +01:00
Simon L
d141471bcd Merge pull request #1944 from nextcloud/enh/noid/fix-install-check
fix a few problems with new install check
2023-02-06 18:11:14 +01:00
Simon L
053a8e6a88 fix a few problems with new install check
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-06 18:10:45 +01:00
Simon L
9130a242e3 increase to 4.3.2
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-06 17:32:47 +01:00
Simon L
4d8b26d2f4 Merge pull request #1941 from nextcloud/dependabot/docker/Containers/mastercontainer/php-8.1.15-fpm-alpine3.17
Bump php from 8.1.14-fpm-alpine3.17 to 8.1.15-fpm-alpine3.17 in /Containers/mastercontainer
2023-02-06 17:30:59 +01:00
Simon L
097a04f2a1 Merge pull request #1940 from nextcloud/fix/1938/fix-multiple-major-versions-update
fix the cp commands for updating between multiple major versions
2023-02-06 17:30:23 +01:00
Simon L
a36141e02f Merge pull request #1939 from nextcloud/enh/1920/add-server_name-variable
collabora - add server-name variable
2023-02-06 17:30:07 +01:00
Simon L
51d94130ab Merge pull request #1918 from nextcloud/enh/noid/fail-if-appdata-was-not-created
also fail the installation if appdata could not get created
2023-02-06 17:29:36 +01:00
dependabot[bot]
f838a99508 Bump php in /Containers/mastercontainer
Bumps php from 8.1.14-fpm-alpine3.17 to 8.1.15-fpm-alpine3.17.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-06 12:15:44 +00:00
Simon L
20ca378b4c fix the cp commands for updating between multiple major versions
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-06 13:05:51 +01:00
Simon L
058cadb053 collabora - add server-name variable
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-06 12:52:54 +01:00
Simon L
d74ed475df adjust permissions for Nextcloud's datadir
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-04 17:07:49 +01:00
Simon L
a5f9ff9c74 helm - handle talk internal ports correctly
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-04 16:43:41 +01:00
Simon L
6889568c21 Merge pull request #1927 from nextcloud/aio-yaml-update
Yaml updates
2023-02-04 14:57:33 +01:00
szaimen
5c62640551 Yaml updates
Signed-off-by: GitHub <noreply@github.com>
2023-02-04 12:14:08 +00:00
Simon L
4c06f893fc add section about docker swarm and Ppodman
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-04 11:27:33 +01:00
Simon L
a84433a6d3 Merge pull request #1933 from nextcloud/enh/noid/adjust-rp-docs
adjust reverse proxy documentation to also talk about web server
2023-02-04 11:11:12 +01:00
Simon L
ae3b121823 fix a few more places
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-04 11:10:20 +01:00
Simon L
2192ea49b2 change the order of the entry sentence
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-04 11:04:29 +01:00
Simon L
f83864764f adjust reverse proxy documentation to also talk about web server
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-04 11:00:46 +01:00
Simon L
bb64990618 Merge pull request #1924 from nextcloud/enh/noid/improve-helm-networking
helm - add type: loadbalancer and remove apache_ip_binding again
2023-02-03 16:05:12 +01:00
Simon L
2e8f9bc5fa helm - add type: loadbalancer and remove apache_ip_binding again
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-03 16:02:43 +01:00
Simon L
2fbebaae5f also add quotes to talk and collabora
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-03 14:51:56 +01:00
Simon L
be7a1910ad increase to v4.3.1
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-03 11:57:41 +01:00
Simon L
3c69aac6ca Merge pull request #1915 from nextcloud/revert-1887-enh/490/multiarch-images
Revert "get multiarch repodigest"
2023-02-03 11:54:19 +01:00
Simon L
39415276db add list manifest
Signed-off-by: Simon L <szaimen@e.mail.de>

Co-authored-by: Zoey <zoey@z0ey.de>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2023-02-03 11:38:42 +01:00
Simon L
6533018c6f ports 8081 needs to be expose for the talk container
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-03 10:48:30 +01:00
Simon L
cfbfe0438c Merge pull request #1912 from nextcloud/enh/noid/update-helm-chart
Helm Chart updates
2023-02-02 19:43:39 +01:00
Simon L
e18babbbde also fail the installation if appdata could not get created
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-02 19:41:41 +01:00
Simon L
f62d3ab0f7 Merge pull request #1893 from nextcloud/enh/noid/adjust-yes-values
adjust variables correctly
2023-02-02 19:17:31 +01:00
Simon L
5a959e9b07 Revert "get multiarch repodigest"
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-02 18:27:50 +01:00
Simon L
12358321d1 re-add initContainers
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-02 17:37:19 +01:00
Simon L
91a977e09e Helm Chart updates
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-02 15:45:27 +01:00
Simon L
f5c32a1a67 expose it not needed for containers that publish ports
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-02 15:37:03 +01:00
Simon L
9fe978fbe3 Merge pull request #1900 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-22.05.10.1.1
Bump collabora/code from 22.05.9.3.1 to 22.05.10.1.1 in /Containers/collabora
2023-02-02 15:33:31 +01:00
Simon L
8ded5b59dc Merge pull request #1909 from nextcloud/enh/noid/add-expose-property
add expose property to containers definition
2023-02-02 15:33:05 +01:00
Simon L
c7519e3f49 try to fix the helm-update
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-02 15:32:39 +01:00
Simon L
21492e6b9d add expose property to containers definition
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-02 15:11:40 +01:00
Simon L
b428f3d1d8 Merge pull request #1897 from nextcloud/enh/noid/helm-readonly-volumes
try to remove readonly from global volumes automatically
2023-02-02 14:04:33 +01:00
Simon L
011356343f try to remove readonly from global volumes automatically
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-02 14:03:04 +01:00
Simon L
94f7425db9 Merge pull request #1899 from nextcloud/enh/noid/fix-database-helm-permisisons
fix database helm permissions
2023-02-02 13:14:08 +01:00
Simon L
484bc235e6 fix database helm permissions
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-02 13:13:45 +01:00
Simon L
5da794a8d8 Merge pull request #1896 from nextcloud/fix/noid/chown-postgres
fix(helm): chown database volume for postgres
2023-02-02 13:13:11 +01:00
dependabot[bot]
bbfb6e5dbe Bump collabora/code in /Containers/collabora
Bumps collabora/code from 22.05.9.3.1 to 22.05.10.1.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-02 12:06:48 +00:00
Richard Steinmetz
10e114c5f8 fix(helm): chown database volume for postgres
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-02-02 12:48:36 +01:00
Simon L
26188f797d Merge pull request #1894 from nextcloud/fix/noid/nextcloud-deployment-read-only
fix(helm): don't mark ca certs volume as read only globally
2023-02-02 12:25:39 +01:00
Simon L
f8218735d1 also deleting global overwrite for apache
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-02 12:23:54 +01:00
Simon L
07aaf1fab4 adjust variables correctly
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-02 12:20:30 +01:00
Richard Steinmetz
a28806ad13 fix(helm): don't mark ca certs volume as read only globally
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-02-02 12:17:34 +01:00
Simon L
7053447add Merge pull request #1891 from nextcloud/fix/noid/helm-chart-sources
fix(helm): refactor sources to a string array
2023-02-02 11:51:30 +01:00
Simon L
d7b0d07c71 fix elasticsearch
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-02 11:49:25 +01:00
Richard Steinmetz
fab569a613 fix(helm): refactor sources to a string array
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-02-02 11:46:04 +01:00
Simon L
cc8d3f908a increase to 4.3.0
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-02 11:32:01 +01:00
Simon L
cab4a08655 Merge pull request #1890 from nextcloud/enh/1875/fix-backup-failing
fix daily backup running into conflict with elasticsearch
2023-02-02 11:30:18 +01:00
Simon L
df91f5d483 fix daily backup running into conflict with elasticsearch
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-02 11:28:29 +01:00
Simon L
c4107d1098 Merge pull request #1887 from nextcloud/enh/490/multiarch-images
get multiarch repodigest
2023-02-01 23:38:58 +01:00
Simon L
317a5b7823 Merge pull request #1889 from nextcloud/enh/noid/write-install-log
also write install log to logfile
2023-02-01 23:30:28 +01:00
Simon L
48c28d3613 get multiarch repodigest
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-01 23:19:15 +01:00
Simon L
cf38b9a73d also write install log to logfile
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-01 22:25:40 +01:00
Simon L
4ecead75b7 Merge pull request #1879 from nextcloud/enh/noid/allow-big-imaginary-images
imaginary - allow big images by default
2023-02-01 20:52:58 +01:00
Simon L
f667c92398 Merge pull request #1882 from nextcloud/dependabot/docker/Containers/imaginary/nextcloud/imaginary-20230201
Bump nextcloud/imaginary from 20230101 to 20230201 in /Containers/imaginary
2023-02-01 19:16:25 +01:00
Simon L
fb1a3fcd3b Merge pull request #1848 from nextcloud/enh/noid/improve-helm-update
Fix and improve helm update script
2023-02-01 19:04:46 +01:00
Simon L
be3798401c address review
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-01 18:58:19 +01:00
Simon L
0ea229e19a add volume permission workaround
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-01 17:04:40 +01:00
Simon L
b13a25107a Merge pull request #1883 from nextcloud/aio-dependency-update
Dependency updates
2023-02-01 13:29:27 +01:00
szaimen
bda83ffa31 dependency updates
Signed-off-by: GitHub <noreply@github.com>
2023-02-01 12:18:39 +00:00
dependabot[bot]
64458c8931 Bump nextcloud/imaginary in /Containers/imaginary
Bumps nextcloud/imaginary from 20230101 to 20230201.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 12:12:49 +00:00
Simon L
c8576044b2 change chart version to v2
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-01 12:51:53 +01:00
Simon L
133b149ee3 allow to change the size of each volume separately
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-01 12:47:06 +01:00
Simon L
33fb628ce5 imaginary - allow big images by default
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-02-01 11:38:59 +01:00
Simon L
f90dded674 Merge pull request #1877 from nextcloud/dependabot/github_actions/docker/build-push-action-4
Bump docker/build-push-action from 3 to 4
2023-01-31 19:01:34 +01:00
Simon L
d6692f8b93 Merge pull request #1876 from nextcloud/dependabot/docker/Containers/talk/ubuntu-focal-20230126
Bump ubuntu from focal-20221130 to focal-20230126 in /Containers/talk
2023-01-31 18:59:13 +01:00
dependabot[bot]
57f182f1e5 Bump docker/build-push-action from 3 to 4
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3 to 4.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v3...v4)

---
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>
2023-01-31 12:04:52 +00:00
dependabot[bot]
7c05f18573 Bump ubuntu from focal-20221130 to focal-20230126 in /Containers/talk
Bumps ubuntu from focal-20221130 to focal-20230126.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-31 12:03:57 +00:00
Simon L
5ba7a3f86a also add libtool
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-31 00:37:43 +01:00
Simon L
8824a8471b add ghostscript fonts
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-31 00:23:23 +01:00
Simon L
b6c3a777b0 allow to adjust all volume sizes
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-30 21:52:02 +01:00
Simon L
6ece012680 Merge pull request #1865 from antipiot/patch-1
allow to copy the command to install docker
2023-01-30 20:52:21 +01:00
Jo
225ff3814d Update readme.md
Co-authored-by: Zoey <zoey@z0ey.de>
Signed-off-by: Jo <jonassauge@gmail.com>
2023-01-30 19:26:55 +01:00
Jo
e31d4f25ef Update readme.md
Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: Jo <jonassauge@gmail.com>
2023-01-30 17:55:19 +01:00
Simon L
d025ee5e57 Merge pull request #1869 from nextcloud/disallow-watchtower
Disallow Watchtower to update AIO Container (exept Mastercontainer)
2023-01-30 15:49:51 +01:00
Simon L
ef397a9df1 add linebreak
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-30 15:33:12 +01:00
Zoey
f5616cd618 Disallow Watchtower to update AIO Container (exept Mastercontainer)
See: https://containrrr.dev/watchtower/container-selection/#monitor_only

Signed-off-by: Zoey <zoey@z0ey.de>
2023-01-30 14:54:31 +01:00
Simon L
9d6690e11c Merge pull request #1868 from nextcloud/dependabot/github_actions/ludeeus/action-shellcheck-2.0.0
Bump ludeeus/action-shellcheck from 1.1.0 to 2.0.0
2023-01-30 13:58:55 +01:00
Simon L
065bb229ba Merge pull request #1867 from nextcloud/dependabot/docker/Containers/watchtower/containrrr/watchtower-1.5.3
Bump containrrr/watchtower from 1.5.1 to 1.5.3 in /Containers/watchtower
2023-01-30 13:58:19 +01:00
Simon L
69a5621c86 Merge pull request #1866 from nextcloud/dependabot/docker/Containers/apache/httpd-2.4.55-alpine3.17
Bump httpd from 2.4.54-alpine3.17 to 2.4.55-alpine3.17 in /Containers/apache
2023-01-30 13:58:01 +01:00
dependabot[bot]
fb411120c1 Bump ludeeus/action-shellcheck from 1.1.0 to 2.0.0
Bumps [ludeeus/action-shellcheck](https://github.com/ludeeus/action-shellcheck) from 1.1.0 to 2.0.0.
- [Release notes](https://github.com/ludeeus/action-shellcheck/releases)
- [Commits](https://github.com/ludeeus/action-shellcheck/compare/1.1.0...2.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-30 12:19:48 +00:00
dependabot[bot]
abd956612d Bump containrrr/watchtower from 1.5.1 to 1.5.3 in /Containers/watchtower
Bumps containrrr/watchtower from 1.5.1 to 1.5.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-30 12:16:45 +00:00
dependabot[bot]
88f2b398a4 Bump httpd in /Containers/apache
Bumps httpd from 2.4.54-alpine3.17 to 2.4.55-alpine3.17.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-30 12:16:26 +00:00
Jo
3058bf03ec allow to copy the command to install docker
Signed-off-by: Jo <jonassauge@gmail.com>
2023-01-30 10:19:22 +01:00
Simon L
7d36204397 allow to adjust the volumes
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-29 11:03:18 +01:00
Simon L
83c68da0a0 fix permissions?
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-28 22:29:41 +01:00
Simon L
405162e103 Fix and improve helm update script
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-28 17:33:44 +01:00
Simon L
3102dbfaeb add curl back
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-27 21:52:37 +01:00
Zoey
4e74052c20 migrate mastercontainer to alpine (#1577) 2023-01-27 21:36:53 +01:00
Zoey
123c1be6b7 migrate apache container to alpine (#1573) 2023-01-27 19:43:55 +01:00
Simon L
7a126a96d9 svg does not work with imaginary in my testing
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-27 18:57:35 +01:00
Simon L
98f688a63a Merge pull request #1845 from nextcloud/enh/noid/accept-new-oci-format
also accept application/vnd.oci.image.index.v1+json for newer buildx …
2023-01-27 18:36:14 +01:00
Simon L
2469461a3c also accept application/vnd.oci.image.index.v1+json for newer buildx versions
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-27 18:33:28 +01:00
Simon L
ccf8904c0a Merge pull request #1835 from nextcloud/enh/noid/imaginary-add-mimetypes
imaginary - allow further mimetypees out-of-the-box
2023-01-27 15:38:57 +01:00
Simon L
f5722897e5 imaginary - allow further mimetypees out-of-the-box
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-27 15:12:42 +01:00
Simon L
578f02a818 Merge pull request #1843 from nextcloud/enh/noid/improve-cloudflare-upload-limit
make cloudflare upload limit for explicit
2023-01-27 14:17:32 +01:00
Simon L
4fd54aa53e make cloudflare upload limit for explicit
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-27 13:55:15 +01:00
Simon L
a96b7314bd Merge pull request #1840 from nextcloud/dependabot/docker/Containers/collabora/collabora/code-22.05.9.3.1
Bump collabora/code from 22.05.9.2.1 to 22.05.9.3.1 in /Containers/collabora
2023-01-26 23:40:17 +01:00
Simon L
b963126a40 Merge pull request #1839 from tyleraharrison/patch-1
follow-links should be follow-link
2023-01-26 23:39:45 +01:00
Simon L
6179f7a609 fix other places as well
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-26 23:39:00 +01:00
dependabot[bot]
097cc33105 Bump collabora/code in /Containers/collabora
Bumps collabora/code from 22.05.9.2.1 to 22.05.9.3.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-26 12:05:01 +00:00
tyleraharrison
56a642163a Fix typo in migration.md
`--get-links` -> `--get-link`

Signed-off-by: tyleraharrison <tyleraharrison@gmail.com>
2023-01-26 03:51:36 -06:00
Simon L
91ea705d34 Merge pull request #1834 from nextcloud/enh/noid/add-clamav-explanation
add explanation for clamav
2023-01-25 15:55:54 +01:00
Simon L
d2efe324af Merge pull request #1754 from nextcloud/rework-traefik-example
Rework the traefik example
2023-01-25 14:07:47 +01:00
hunhejj
abd0dc1f09 Add disclaimer
Signed-off-by: hunhejj <hunhejj@gmail.com>

Update reverse-proxy.md
2023-01-25 13:32:25 +01:00
hunhejj
841f6596aa Fixup documentation
Signed-off-by: hunhejj <hunhejj@gmail.com>
2023-01-25 13:31:40 +01:00
hunhejj
b3477bad1b Rework the Traefik example
Make the Traefik example more complete.

Signed-off-by: hunhejj <hunhejj@gmail.com>
2023-01-25 13:31:40 +01:00
Simon L
7bad651a76 add explanation for clamav
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-25 12:48:49 +01:00
Simon L
df67a13198 add direct link for Synology
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-24 13:58:20 +01:00
Simon L
754c374a38 Merge pull request #1831 from nextcloud/aio-dependency-update
Dependency updates
2023-01-24 13:41:17 +01:00
szaimen
de79b71684 dependency updates
Signed-off-by: GitHub <noreply@github.com>
2023-01-24 12:17:14 +00:00
Simon L
a3793296de Merge pull request #1830 from nextcloud/dependabot/docker/Containers/mastercontainer/docker-20.10.23-dind
Bump docker from 20.10.22-dind to 20.10.23-dind in /Containers/mastercontainer
2023-01-24 13:08:16 +01:00
dependabot[bot]
62bf50d160 Bump docker in /Containers/mastercontainer
Bumps docker from 20.10.22-dind to 20.10.23-dind.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-24 12:05:56 +00:00
Simon L
1e6787cb64 Merge pull request #1584 from nextcloud/enh/1396/update-postgres
upgrade postgres to 15
2023-01-24 12:55:47 +01:00
Simon L
4a1b8ea45c Merge pull request #1785 from nextcloud/fix/1783/fix-clamav-on-arm64
clamav should never be enabled on arm64
2023-01-24 12:55:25 +01:00
Simon L
4a6b078c97 Merge pull request #1816 from nextcloud/enh/1569/recognize
remove gcompat again as it seems to break recognize
2023-01-24 12:53:45 +01:00
Simon L
fa48707a0d Merge pull request #1817 from nextcloud/enh/588/add-backup-app-requirements
add libpg-dev and pgsql for backup app
2023-01-24 12:53:21 +01:00
Simon L
6ae1222feb Merge pull request #1823 from nextcloud/enh/noid/composer-add-minor-version-back
composer - add back the minor versions instead of wildcards
2023-01-24 12:52:57 +01:00
Simon L
d7cb7ed13e Merge pull request #1794 from nextcloud/dependabot/docker/Containers/redis/redis-7.0.8-alpine
Bump redis from 7.0.7-alpine to 7.0.8-alpine in /Containers/redis
2023-01-24 12:52:26 +01:00
Simon L
ed73d4f75d Merge pull request #1791 from nextcloud/enh/noid/omit-dind-version
change dind image to omit the alpine version
2023-01-24 12:51:56 +01:00
FreDTV
7f03b4efda Add Synology instructions (#1813) 2023-01-24 12:49:09 +01:00
Simon L
b2fe902cd3 Merge pull request #1825 from nextcloud/enh/noid/add-storage-options
add section about storage options
2023-01-24 12:31:16 +01:00
Simon L
c09f9f6178 add hint about changing Nextcloud's Datadir in additional places
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-24 12:17:15 +01:00
Simon L
2758bea52e Merge pull request #1822 from DenuxPlays/denux/increase_buffer_size
increase H2WindowSize limit (Reverse Proxy documentation)
2023-01-24 11:58:04 +01:00
Simon L
1aafd9f974 Merge pull request #1818 from nextcloud/enh/noid/disrecommended-providers
Add a disrecommended VPS providers section
2023-01-24 11:57:15 +01:00
Simon L
a9c258ea63 Merge pull request #1827 from nextcloud/enh/noid/add-recommended-providers
add section about recommended vps
2023-01-24 11:56:43 +01:00
Simon L
a96cae9035 add section about storage options
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-24 11:42:19 +01:00
Simon L
aa97096948 add section about recommended vps
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-24 11:37:08 +01:00
Simon L
1035314023 Add a disrecommended VPS providers section
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-24 11:34:30 +01:00
Simon L
b664f7c143 Merge pull request #1820 from nextcloud/npm-docs
update npm docs
2023-01-24 11:32:49 +01:00
Simon L
adee1abf32 Merge pull request #1819 from nextcloud/enh/noid/improve-cloudflare-collabora-docs
cloudflare - improve hint regarding cloudflare
2023-01-24 11:30:57 +01:00
Simon L
376369d924 Merge pull request #1812 from nextcloud/nginx-proxy-docs-change
nginx proxy docs changes
2023-01-24 11:13:16 +01:00
Simon L
ba740e5a36 Merge pull request #1826 from nextcloud/automated/noid/psalm-baseline-update-1674534084
Update psalm-baseline.xml
2023-01-24 11:10:17 +01:00
Simon L
56f0cfd914 fix psalm
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-24 11:07:08 +01:00
nextcloud-command
d3794f5f88 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2023-01-24 04:21:24 +00:00
Simon L
205b2c00be composer - add back the minor versions instead of wildcards
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-22 19:32:19 +01:00
-Denux
43227cf6f7 undo nginx changes (handled in seperated pr)
Signed-off-by: -Denux <83671398+DenuxPlays@users.noreply.github.com>
2023-01-22 17:39:06 +01:00
-Denux
8227207490 increased H2WindowSize limit
Signed-off-by: -Denux <83671398+DenuxPlays@users.noreply.github.com>
2023-01-22 17:32:06 +01:00
Zoey
9396264c92 update npm docs
Signed-off-by: Zoey <zoey@z0ey.de>
2023-01-21 23:44:02 +01:00
Simon L
9f985186d5 cloudflare - improve hint regarding cloudflare
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-21 16:33:01 +01:00
Simon L
7080ac9832 add libpg-dev and pgsql for backup app
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-21 15:20:46 +01:00
Simon L
ea0d70fb0f remove gcompat again as it seems to break recognize
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-21 15:09:54 +01:00
Simon L
bcdcab4d8a clamav should never be enabled on arm64
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-21 00:40:28 +01:00
Zoey
b50dcb669e nginx proxy docs changes
- add more proxy headers
- change client_body_buffer_size
- enable ssl_early_data

Signed-off-by: Zoey <zoey@z0ey.de>
2023-01-19 20:44:10 +01:00
Simon L
570b4820f8 Merge pull request #1809 from nextcloud/nginx-timeout-note
note on proxy_read_timeout
2023-01-19 19:03:59 +01:00
Zoey
77922954b4 add suggestion
Signed-off-by: Zoey <zoey@z0ey.de>
2023-01-19 17:33:35 +01:00
Zoey
e845fd24a2 note on proxy_read_timeout
Signed-off-by: Zoey <zoey@z0ey.de>
2023-01-19 16:43:38 +01:00
Simon L
946e214eb4 Merge pull request #1803 from nextcloud/enh/1801/docker-socket-path
adjust macOS docs about DOCKER_SOCKET_PATH
2023-01-18 21:35:09 +01:00
Simon L
3b1334324d adjust macOS docs about DOCKER_SOCKET_PATH
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-18 20:54:50 +01:00
Simon L
d5216d3978 update 2nd screenshot of synology RP
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-18 19:48:08 +01:00
Simon L
f80812f1dc Merge pull request #1799 from nextcloud/strato-note
Add note on Strato
2023-01-18 17:45:55 +01:00
Zoey
324edf43c1 add suggestion
Signed-off-by: Zoey <zoey@z0ey.de>
2023-01-18 17:17:29 +01:00
Zoey
7a18f865fe add note on strato vps
Signed-off-by: Zoey <zoey@z0ey.de>
2023-01-18 16:29:13 +01:00
dependabot[bot]
0c73019092 Bump redis from 7.0.7-alpine to 7.0.8-alpine in /Containers/redis
Bumps redis from 7.0.7-alpine to 7.0.8-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-18 12:04:58 +00:00
Simon L
98cf71861f change dind image to omit the alpine version
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-17 23:23:37 +01:00
Simon L
5d3c858064 Revert "change dind image to omit the alpine version"
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-17 23:23:15 +01:00
Simon L
9645abcecc change dind image to omit the alpine version
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-17 23:22:40 +01:00
Simon L
a415d71013 add a few more hints regarding the chosen NEXTCLOUD_DATADIR in migration.md
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-17 19:50:31 +01:00
Simon L
e4438bffcb change command for texteditor instructions as well
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-17 19:49:55 +01:00
ManOki
4c691debf5 add docker cp command to prevent host file paths like /_data/ (#1773) 2023-01-17 18:22:37 +01:00
Simon L
7c3ac06b49 add new commands
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-17 16:19:48 +01:00
Simon L
9065e07a23 upgrade postgres to 15
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-01-17 15:44:45 +01:00
85 changed files with 1024 additions and 450 deletions

View File

@@ -5,8 +5,8 @@ labels: bug, 0. Needs triage
---
<!---
- For issues with Collabora or Talk, make sure to follow https://github.com/nextcloud/all-in-one/discussions/1358. It may already resolve your issue and makes it easier to help you.
- If you use Cloudflare Tunnel or Cloudflare Proxy, see https://github.com/nextcloud/all-in-one#notes-on-cloudflare-proxytunnel for known issues/limitations and workarounds.
- For issues with Collabora or Talk, make sure to follow https://github.com/nextcloud/all-in-one/discussions/1358. It may already resolve your issue and makes it easier to help you.
--->
<!--- Please fill out the whole template below -->

View File

@@ -45,7 +45,7 @@ jobs:
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build container image
uses: docker/build-push-action@v3
uses: docker/build-push-action@v4
with:
push: true
context: 'psalm-github-actions'

View File

@@ -13,7 +13,7 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Run Shellcheck
uses: ludeeus/action-shellcheck@1.1.0
uses: ludeeus/action-shellcheck@2.0.0
with:
check_together: 'yes'
env:

View File

@@ -15,7 +15,7 @@ jobs:
- name: update helm chart
run: |
DOCKER_TAG="$(curl -L -s 'https://registry.hub.docker.com/v2/repositories/nextcloud/all-in-one/tags?page_size=1024' | jq '."results"[]["name"]' | sed 's|"||g' | grep '^20' | sort -r | head -1)"
DOCKER_TAG="${DOCKER_TAG%%latest*}"
DOCKER_TAG="${DOCKER_TAG%%-latest*}"
export DOCKER_TAG
if [ -n "$DOCKER_TAG" ] && ! grep -q "$DOCKER_TAG" ./helm-chart/templates/nextcloud-aio-nextcloud-deployment.yaml; then
sudo bash helm-chart/update-helm.sh "$DOCKER_TAG"

View File

@@ -4,6 +4,10 @@
storage file_system {
root /mnt/data/caddy
}
log {
level ERROR
}
}
{$PROTOCOL}://{$NC_DOMAIN}:{$APACHE_PORT} {

View File

@@ -1,7 +1,15 @@
# Caddy is a requirement
FROM caddy:2.6.2-alpine as caddy
FROM caddy:2.6.4-alpine as caddy
FROM debian:bullseye-20230109-slim
FROM httpd:2.4.55-alpine3.17
RUN set -ex; \
apk add --no-cache shadow; \
groupmod -g 333 xfs; \
usermod -u 333 -g 333 xfs; \
groupmod -g 33 www-data; \
usermod -u 33 -g 33 www-data; \
apk del --no-cache shadow
RUN mkdir -p /mnt/data; \
chown www-data:www-data /mnt/data;
@@ -9,51 +17,43 @@ RUN mkdir -p /mnt/data; \
VOLUME /mnt/data
RUN set -ex; \
\
apt-get update; \
apt-get install -y --no-install-recommends \
apache2 \
apk add --no-cache \
bash \
supervisor \
wget \
tzdata \
ca-certificates \
openssl \
netcat \
dpkg-dev \
; \
rm -rf /var/lib/apt/lists/*
netcat-openbsd
COPY --from=caddy /usr/bin/caddy /usr/bin/
RUN chmod +x /usr/bin/caddy
RUN a2enmod rewrite \
headers \
proxy \
proxy_fcgi \
setenvif \
env \
mime \
dir \
authz_core \
alias
COPY nextcloud.conf /etc/apache2/sites-available/
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 sed -i \
-e '/^Listen /d' \
-e 's/^#\(LoadModule .*mod_rewrite.so\)/\1/' \
-e 's/^#\(LoadModule .*mod_headers.so\)/\1/' \
-e 's/^#\(LoadModule .*mod_proxy.so\)/\1/' \
-e 's/^#\(LoadModule .*mod_proxy_fcgi.so\)/\1/' \
-e 's/^#\(LoadModule .*mod_setenvif.so\)/\1/' \
-e 's/^#\(LoadModule .*mod_env.so\)/\1/' \
-e 's/^#\(LoadModule .*mod_mime.so\)/\1/' \
-e 's/^#\(LoadModule .*mod_dir.so\)/\1/' \
-e 's/^#\(LoadModule .*mod_authz_core.so\)/\1/' \
-e 's/^#\(LoadModule .*mod_alias.so\)/\1/' \
-e 's/^#\(LoadModule .*mod_mpm_event.so\)/\1/' \
-e 's/\(LoadModule .*mod_mpm_worker.so\)/#\1/' \
-e 's/\(LoadModule .*mod_mpm_prefork.so\)/#\1/' \
conf/httpd.conf; \
echo "Include conf/nextcloud.conf" | tee -a conf/httpd.conf; \
echo "ServerName localhost" | tee -a conf/httpd.conf
COPY nextcloud.conf conf
RUN set -ex; \
a2dissite 000-default && \
a2dissite default-ssl && \
rm -f /etc/apache2/sites-enabled/000-default.conf && \
rm -f /etc/apache2/sites-enabled/default-ssl.conf && \
rm /etc/apache2/sites-available/000-default.conf && \
rm /etc/apache2/sites-available/default-ssl.conf && \
a2ensite nextcloud.conf && \
rm -rf conf/original conf/original && \
rm -rf /var/www/html/* && \
chown www-data:www-data -R /var/log/apache2; \
mkdir -p /var/run/apache2; \
chown -R www-data:www-data /var/run/apache2; \
mkdir /var/www && \
chown -R www-data:www-data /var/www;
RUN mkdir /var/log/supervisord; \
@@ -70,7 +70,8 @@ RUN chmod +x /usr/bin/start.sh; \
chmod +x /usr/bin/healthcheck.sh; \
chmod +r /supervisord.conf; \
chown www-data:www-data /Caddyfile; \
chmod +r -R /etc/apache2
chown -R www-data:www-data /usr/local/apache2; \
chmod +r -R /usr/local/apache2
# Give root a random password
RUN echo "root:$(openssl rand -base64 12)" | chpasswd
@@ -80,4 +81,5 @@ USER www-data
ENTRYPOINT ["start.sh"]
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
HEALTHCHECK CMD healthcheck.sh
HEALTHCHECK CMD healthcheck.sh
LABEL com.centurylinklabs.watchtower.monitor-only="true"

View File

@@ -45,10 +45,13 @@ else
fi
echo "$CADDYFILE" > /Caddyfile
# Fix the Caddyfile format
caddy fmt --overwrite /Caddyfile
# Add caddy path
mkdir -p /mnt/data/caddy/
# Fix apache sturtup
rm -f /var/run/apache2/apache2.pid
# Fix apache startup
rm -f /usr/local/apache2/logs/httpd.pid
exec "$@"
exec "$@"

View File

@@ -1,4 +1,4 @@
FROM alpine:3.17.1
FROM alpine:3.17.2
RUN set -ex; \
\
@@ -18,4 +18,5 @@ RUN chmod +x /usr/bin/start.sh; \
chmod +x /backupscript.sh
USER root
ENTRYPOINT ["start.sh"]
ENTRYPOINT ["start.sh"]
LABEL com.centurylinklabs.watchtower.monitor-only="true"

View File

@@ -87,8 +87,8 @@ 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."
echo "By default it is stored here: /var/lib/docker/volumes/nextcloud_aio_mastercontainer/_data/data/borg.config"
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:"
echo "sudo docker exec nextcloud-aio-mastercontainer rm /mnt/docker-aio-config/data/borg.config"
exit 1
fi
@@ -272,9 +272,8 @@ if [ "$BORG_MODE" = restore ]; then
--exclude "nextcloud_aio_mastercontainer/data/session_date_file" \
--exclude "nextcloud_aio_mastercontainer/session/"** \
/tmp/borg/nextcloud_aio_volumes/ /nextcloud_aio_volumes; then
RESTORE_FAILED=1
echo "Something failed while restoring from backup."
umount /tmp/borg
exit 1
fi
# Save current aio password
@@ -294,9 +293,8 @@ if [ "$BORG_MODE" = restore ]; then
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
RESTORE_FAILED=1
echo "Something failed while restoring the configuration.json."
umount /tmp/borg
exit 1
fi
# Set backup-mode to restore since it was a restore
@@ -331,6 +329,10 @@ if [ "$BORG_MODE" = restore ]; then
umount /tmp/borg
if [ "$RESTORE_FAILED" = 1 ]; then
exit 1
fi
# Inform user
get_expiration_time
echo "Restore finished successfully on $END_DATE_READABLE ($DURATION_READABLE)"

View File

@@ -1,6 +1,7 @@
# Probably from this file: https://github.com/Cisco-Talos/clamav-docker/blob/main/clamav/0.105/alpine/Dockerfile
FROM clamav/clamav:0.105.1-7
FROM clamav/clamav:1.0.1-1
RUN apk add --no-cache tzdata
COPY clamav.conf /tmp/
RUN cat /tmp/clamav.conf >> /etc/clamav/clamd.conf
LABEL com.centurylinklabs.watchtower.monitor-only="true"

View File

@@ -1,5 +1,5 @@
# From a file located probably somewhere here: https://github.com/CollaboraOnline/online/tree/master/docker
FROM collabora/code:22.05.9.2.1
FROM collabora/code:22.05.10.1.1
USER root
@@ -16,3 +16,4 @@ RUN set -ex; \
USER 104
HEALTHCHECK CMD nc -z localhost 9980 || exit 1
LABEL com.centurylinklabs.watchtower.monitor-only="true"

View File

@@ -1,4 +1,4 @@
FROM alpine:3.17.1
FROM alpine:3.17.2
RUN apk add --no-cache lighttpd bash netcat-openbsd
RUN adduser -S www-data -G www-data
@@ -15,4 +15,5 @@ USER www-data
RUN mkdir -p /var/www/domaincheck/
ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD nc -z localhost $APACHE_PORT || exit 1
HEALTHCHECK CMD nc -z localhost $APACHE_PORT || exit 1
LABEL com.centurylinklabs.watchtower.monitor-only="true"

View File

@@ -1,5 +1,5 @@
# Probably from here https://github.com/elastic/elasticsearch/blob/main/distribution/docker/src/docker/Dockerfile
FROM elasticsearch:7.17.8
FROM elasticsearch:7.17.9
RUN elasticsearch-plugin install --batch ingest-attachment
@@ -11,4 +11,10 @@ RUN set -ex; \
; \
rm -rf /var/lib/apt/lists/*
COPY start.sh /
RUN chmod +x /start.sh
ENTRYPOINT ["/bin/tini", "--", "/start.sh"]
HEALTHCHECK CMD nc -z localhost 9200 || exit 1
LABEL com.centurylinklabs.watchtower.monitor-only="true"

View File

@@ -0,0 +1,18 @@
#!/bin/bash
# Only start container if database is accessible (needed for backup to work correctly)
while ! nc -z "$POSTGRES_HOST" 5432; do
echo "Waiting for database to start..."
sleep 5
done
# Show wiki if vm.max_map_count is too low
if [ "$(sysctl -n vm.max_map_count)" -le 65530 ]; then
echo "max_map_count is too low and needs to be adjusted."
echo "See https://github.com/nextcloud/all-in-one/discussions/1775 how to change max_map_count"
fi
# Run initial entrypoint
/usr/local/bin/docker-entrypoint.sh
exec "$@"

View File

@@ -1,5 +1,5 @@
# From https://github.com/h2non/imaginary/blob/master/Dockerfile
FROM nextcloud/imaginary:20230101
FROM nextcloud/imaginary:20230201
USER root
RUN set -ex; \
@@ -11,6 +11,7 @@ RUN set -ex; \
rm -rf /var/lib/apt/lists/*
USER nobody
ENTRYPOINT ["/usr/local/bin/imaginary", "-return-size"]
ENTRYPOINT ["/usr/local/bin/imaginary", "-return-size", "-max-allowed-resolution", "222.2"]
HEALTHCHECK CMD nc -z localhost 9000 || exit 1
HEALTHCHECK CMD nc -z localhost 9000 || exit 1
LABEL com.centurylinklabs.watchtower.monitor-only="true"

View File

@@ -6,17 +6,29 @@
storage file_system {
root /mnt/docker-aio-config/caddy/
}
log {
level ERROR
}
}
http://:80 {
redir https://{host}{uri}
}
https://:8443 {
# Match only host names and not ip-addresses:
https://*.*:8443,
https://*.*.*:8443,
https://*.*.*.*:8443,
https://*.*.*.*.*:8443,
https://*.*.*.*.*.*:8443 {
reverse_proxy localhost:8000
tls {
on_demand
issuer acme {
disable_tlsalpn_challenge
}
}
}

View File

@@ -1,11 +1,18 @@
# Docker CLI is a requirement
FROM docker:20.10.21-dind-alpine3.16 as dind
FROM docker:23.0.1-dind as dind
# Caddy is a requirement
FROM caddy:2.6.2-alpine as caddy
FROM caddy:2.6.4-alpine as caddy
# From https://github.com/docker-library/php/blob/master/8.0/bullseye/apache/Dockerfile
FROM php:8.1.14-apache-bullseye
# From https://github.com/docker-library/php/blob/master/8.1/alpine3.17/fpm/Dockerfile
FROM php:8.1.16-fpm-alpine3.17
RUN set -ex; \
apk add --no-cache shadow; \
groupmod -g 333 xfs; \
usermod -u 333 -g 333 xfs; \
groupmod -g 33 www-data; \
usermod -u 33 -g 33 www-data
EXPOSE 80
EXPOSE 8080
@@ -19,16 +26,42 @@ RUN mkdir -p /var/www/docker-aio;
WORKDIR /var/www/docker-aio
RUN apt-get update; \
apt-get install -y --no-install-recommends \
git \
RUN set -ex; \
apk add --no-cache \
ca-certificates \
wget \
tzdata \
bash \
apache2 \
apache2-proxy \
apache2-ssl \
supervisor \
openssl \
sudo \
dpkg-dev \
netcat \
; \
rm -rf /var/lib/apt/lists/*
netcat-openbsd \
curl \
grep
RUN set -ex; \
apk add --no-cache --virtual .build-deps \
autoconf \
build-base; \
pecl install APCu-5.1.22; \
docker-php-ext-enable apcu; \
rm -r /tmp/pear; \
\
runDeps="$( \
scanelf --needed --nobanner --format '%n#p' --recursive /usr/local/lib/php/extensions \
| tr ',' '\n' \
| sort -u \
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
)"; \
apk add --virtual .nextcloud-aio-rundeps $runDeps; \
apk del .build-deps; \
grep -q '^pm = dynamic' /usr/local/etc/php-fpm.d/www.conf; \
sed -i 's/^pm = dynamic/pm = ondemand/' /usr/local/etc/php-fpm.d/www.conf; \
sed -i 's/^pm.max_children =.*/pm.max_children = 80/' /usr/local/etc/php-fpm.d/www.conf; \
sed -i 's|access.log = /proc/self/fd/2|access.log = /proc/self/fd/1|' /usr/local/etc/php-fpm.d/docker.conf
COPY --from=caddy /usr/bin/caddy /usr/bin/
RUN chmod +x /usr/bin/caddy
@@ -36,14 +69,10 @@ RUN chmod +x /usr/bin/caddy
COPY --from=dind /usr/local/bin/docker /usr/local/bin/
RUN chmod +x /usr/local/bin/docker
RUN set -ex; \
pecl install APCu-5.1.22; \
docker-php-ext-enable apcu
RUN set -e && \
curl -sS https://getcomposer.org/installer | php && \
mv composer.phar /usr/local/bin/composer && \
chmod +x /usr/local/bin/composer && \
apk add --no-cache git; \
wget https://getcomposer.org/installer -O - | php -- --install-dir=/usr/local/bin --filename=composer; \
chmod +x /usr/local/bin/composer; \
cd /var/www/docker-aio; \
git clone https://github.com/nextcloud-releases/all-in-one.git --depth 1 .; \
cd php; \
@@ -54,7 +83,8 @@ RUN set -e && \
chmod 770 -R ./; \
chown www-data:www-data -R /var/www; \
rm -r ./php/data; \
rm -r ./php/session
rm -r ./php/session; \
apk del --no-cache git
RUN mkdir -p /etc/apache2/certs && \
cd /etc/apache2/certs && \
@@ -62,28 +92,31 @@ RUN mkdir -p /etc/apache2/certs && \
COPY mastercontainer.conf /etc/apache2/sites-available/
RUN a2enmod rewrite \
headers \
env \
mime \
dir \
authz_core \
proxy \
proxy_http \
ssl
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 sed -i \
-e '/^Listen /d' \
-e 's/User apache/User www-data/g' \
-e 's/Group apache/Group www-data/g' \
-e 's/^#\(LoadModule .*mod_rewrite.so\)/\1/' \
-e 's/^#\(LoadModule .*mod_headers.so\)/\1/' \
-e 's/^#\(LoadModule .*mod_env.so\)/\1/' \
-e 's/^#\(LoadModule .*mod_mime.so\)/\1/' \
-e 's/^#\(LoadModule .*mod_dir.so\)/\1/' \
-e 's/^#\(LoadModule .*mod_authz_core.so\)/\1/' \
-e 's/^#\(LoadModule .*mod_mpm_event.so\)/\1/' \
-e 's/\(LoadModule .*mod_mpm_worker.so\)/#\1/' \
-e 's/\(LoadModule .*mod_mpm_prefork.so\)/#\1/' \
/etc/apache2/httpd.conf; \
mkdir -p /etc/apache2/logs; \
rm /etc/apache2/conf.d/ssl.conf; \
echo "ServerName localhost" | tee -a /etc/apache2/httpd.conf; \
echo "LoadModule ssl_module modules/mod_ssl.so" | tee -a /etc/apache2/httpd.conf; \
echo "LoadModule socache_shmcb_module modules/mod_socache_shmcb.so" | tee -a /etc/apache2/httpd.conf; \
echo "Include /etc/apache2/sites-available/mastercontainer.conf" | tee -a /etc/apache2/httpd.conf
RUN set -ex; \
a2dissite 000-default && \
a2dissite default-ssl && \
rm -f /etc/apache2/sites-enabled/000-default.conf && \
rm -f /etc/apache2/sites-enabled/default-ssl.conf && \
rm /etc/apache2/sites-available/000-default.conf && \
rm /etc/apache2/sites-available/default-ssl.conf && \
a2ensite mastercontainer.conf
rm -f /etc/apache2/conf.d/default.conf \
/etc/apache2/conf.d/userdir.conf \
/etc/apache2/conf.d/info.conf
RUN mkdir /var/log/supervisord; \
mkdir /var/run/supervisord;
@@ -109,4 +142,4 @@ USER root
ENTRYPOINT ["start.sh"]
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
HEALTHCHECK CMD /healthcheck.sh
HEALTHCHECK CMD /healthcheck.sh

View File

@@ -11,7 +11,7 @@ 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/"*
find "/mnt/docker-aio-config/session/" -mindepth 1 -delete
fi
sudo -u www-data touch "/mnt/docker-aio-config/data/daily_backup_running"

View File

@@ -10,9 +10,13 @@ Listen 8080
<VirtualHost *:8000>
ServerName localhost
# Add error log
CustomLog /proc/self/fd/1 combined
ErrorLog /proc/self/fd/2
# PHP match
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
SetHandler "proxy:fcgi://localhost:9000"
</FilesMatch>
# Master dir
DocumentRoot /var/www/docker-aio/php/public/

View File

@@ -239,8 +239,8 @@ 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
if ! grep -q '# nextcloud-aio-block' /etc/apache2/httpd.conf; then
cat << APACHE_CONF >> /etc/apache2/httpd.conf
# nextcloud-aio-block-start
<Location />
order allow,deny
@@ -277,4 +277,13 @@ https://your-domain-that-points-to-this-server.tld:8443"
# Set the timezone to UTC
export TZ=UTC
# Fix apache startup
rm -f /var/run/apache2/httpd.pid
# Fix the Caddyfile format
caddy fmt --overwrite /Caddyfile
# Fix caddy log
chmod 777 /root
exec "$@"

View File

@@ -8,12 +8,20 @@ logfile_backups=10
loglevel=error
user=root
[program:php-fpm]
# stdout_logfile=/dev/stdout
# stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=php-fpm
user=root
[program:apache]
# stdout_logfile=/dev/stdout
# stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=apache2-foreground
command=httpd -DFOREGROUND
user=root
[program:caddy]

View File

@@ -1,5 +1,5 @@
# From https://github.com/nextcloud/docker/blob/master/23/fpm-alpine/Dockerfile
FROM php:8.0.27-fpm-alpine3.16
FROM php:8.0.28-fpm-alpine3.16
# Custom: change id of www-data user as it needs to be the same like on old installations
RUN set -ex; \
@@ -27,6 +27,7 @@ RUN set -ex; \
apk add --no-cache --virtual .build-deps \
$PHPIZE_DEPS \
autoconf \
libtool \
freetype-dev \
icu-dev \
libevent-dev \
@@ -51,6 +52,7 @@ RUN set -ex; \
libheif-dev \
librsvg-dev \
libxext-dev \
ghostscript-fonts \
; \
\
docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp; \
@@ -165,12 +167,14 @@ RUN set -ex; \
openssl-dev \
samba-dev \
bzip2-dev \
libpq-dev \
; \
\
docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \
docker-php-ext-install \
bz2 \
imap \
pgsql \
; \
pecl install smbclient; \
docker-php-ext-enable smbclient; \
@@ -210,12 +214,11 @@ RUN set -ex; \
sudo \
grep \
coreutils \
gcompat \
libjpeg \
librsvg \
libheif \
; \
rm -rf /var/lib/apt/lists/*
libpng \
ghostscript-fonts;
RUN set -ex; \
grep -q '^pm = dynamic' /usr/local/etc/php-fpm.d/www.conf; \
@@ -266,3 +269,4 @@ USER root
ENTRYPOINT ["/start.sh"]
HEALTHCHECK CMD sudo -E -u www-data bash /healthcheck.sh
LABEL com.centurylinklabs.watchtower.monitor-only="true"

View File

@@ -117,9 +117,9 @@ if ! [ -f "$NEXTCLOUD_DATA_DIR/skip.update" ]; then
mkdir -p /usr/src/tmp/nextcloud/data
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/
cp -r /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/
cp -r /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
@@ -190,7 +190,12 @@ if ! [ -f "$NEXTCLOUD_DATA_DIR/skip.update" ]; then
#install
if [ "$installed_version" = "0.0.0.0" ]; then
echo "New nextcloud instance"
echo "New Nextcloud instance."
# Write output to logfile.
mkdir -p /var/www/html/data
exec > >(tee -i "/var/www/html/data/install.log")
exec 2>&1
INSTALL_OPTIONS=(-n --admin-user "$ADMIN_USER" --admin-pass "$ADMIN_PASSWORD")
if [ -n "${NEXTCLOUD_DATA_DIR}" ]; then
@@ -200,17 +205,27 @@ if ! [ -f "$NEXTCLOUD_DATA_DIR/skip.update" ]; then
echo "Installing with PostgreSQL database"
INSTALL_OPTIONS+=(--database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST")
echo "starting nextcloud installation"
echo "Starting Nextcloud installation..."
if ! php /var/www/html/occ maintenance:install "${INSTALL_OPTIONS[@]}"; then
echo "Installation of Nextcloud failed!"
touch "$NEXTCLOUD_DATA_DIR/install.failed"
exit 1
fi
# Try to force generation of appdata dir:
php /var/www/html/occ maintenance:repair
max_retries=10
try=0
until php /var/www/html/occ maintenance:install "${INSTALL_OPTIONS[@]}" || [ "$try" -gt "$max_retries" ]
do
echo "retrying install..."
while [ -z "$(find "$NEXTCLOUD_DATA_DIR/" -maxdepth 1 -mindepth 1 -type d -name "appdata_*")" ] && [ "$try" -lt "$max_retries" ]; do
echo "Waiting for appdata to become available..."
try=$((try+1))
sleep 10s
done
if [ "$try" -gt "$max_retries" ]; then
echo "installing of nextcloud failed!"
if [ "$try" -ge "$max_retries" ]; then
echo "Installation of Nextcloud failed!"
echo "Install errors: $(cat /var/www/html/data/nextcloud.log)"
touch "$NEXTCLOUD_DATA_DIR/install.failed"
exit 1
fi
@@ -218,9 +233,6 @@ if ! [ -f "$NEXTCLOUD_DATA_DIR/skip.update" ]; then
# unset admin password
unset ADMIN_PASSWORD
# Post Install logs: For questions like https://help.nextcloud.com/t/nextcloud-aio-error-could-not-get-appdata-folder-after-container-has-already-written-data-in-it/151122/5
echo "Install errors: $(cat /var/www/html/data/nextcloud.log)"
# Apply log settings
echo "Applying default settings..."
mkdir -p /var/www/html/data
@@ -549,8 +561,13 @@ if version_greater "$installed_version" "24.0.0.0"; 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
if [ -n "$(php /var/www/html/occ config:system:get preview_imaginary_url)" ]; then
php /var/www/html/occ config:system:delete enabledPreviewProviders 0
php /var/www/html/occ config:system:delete preview_imaginary_url
php /var/www/html/occ config:system:delete enabledPreviewProviders 20
php /var/www/html/occ config:system:delete enabledPreviewProviders 21
php /var/www/html/occ config:system:delete enabledPreviewProviders 22
fi
fi
fi

View File

@@ -1,4 +1,5 @@
# From https://github.com/ONLYOFFICE/Docker-DocumentServer/blob/master/Dockerfile
FROM onlyoffice/documentserver:7.2.2.56
FROM onlyoffice/documentserver:7.3.2.8
HEALTHCHECK CMD nc -z localhost 80 || exit 1
HEALTHCHECK CMD nc -z localhost 80 || exit 1
LABEL com.centurylinklabs.watchtower.monitor-only="true"

View File

@@ -1,5 +1,5 @@
# From https://github.com/docker-library/postgres/blob/master/14/alpine/Dockerfile
FROM postgres:14.6-alpine
# From https://github.com/docker-library/postgres/blob/master/15/alpine/Dockerfile
FROM postgres:15.2-alpine
RUN apk add --no-cache bash openssl shadow netcat-openbsd grep mawk
@@ -36,3 +36,4 @@ USER postgres
ENTRYPOINT ["start.sh"]
HEALTHCHECK CMD healthcheck.sh
LABEL com.centurylinklabs.watchtower.monitor-only="true"

View File

@@ -6,6 +6,8 @@ touch "$DUMP_DIR/initialization.failed"
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
CREATE USER "oc_$POSTGRES_USER" WITH PASSWORD '$POSTGRES_PASSWORD' CREATEDB;
ALTER DATABASE "$POSTGRES_DB" OWNER TO "oc_$POSTGRES_USER";
GRANT ALL PRIVILEGES ON DATABASE "$POSTGRES_DB" TO "oc_$POSTGRES_USER";
GRANT ALL PRIVILEGES ON SCHEMA public TO "oc_$POSTGRES_USER";
EOSQL
rm "$DUMP_DIR/initialization.failed"

View File

@@ -9,8 +9,8 @@ export PGPASSWORD="$POSTGRES_PASSWORD"
# Don't start database as long as backup is running
while [ -f "$DUMP_DIR/backup-is-running" ]; do
echo "Waiting for backup container to finish..."
echo "If this is incorrect because the backup container is not running anymore (because it was forcefully killed), you might delete the lock file which is by default stored here:"
echo "/var/lib/docker/volumes/nextcloud_aio_database_dump/_data/backup-is-running"
echo "If this is incorrect because the backup container is not running anymore (because it was forcefully killed), you might delete the lock file:"
echo "sudo docker exec --user root nextcloud-aio-database rm /mnt/data/backup-is-running"
sleep 10
done
@@ -110,6 +110,8 @@ if ( [ -f "$DATADIR/PG_VERSION" ] && [ "$PG_MAJOR" != "$(cat "$DATADIR/PG_VERSIO
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
CREATE USER "$DB_OWNER" WITH PASSWORD '$POSTGRES_PASSWORD' CREATEDB;
ALTER DATABASE "$POSTGRES_DB" OWNER TO "$DB_OWNER";
GRANT ALL PRIVILEGES ON DATABASE "$POSTGRES_DB" TO "$DB_OWNER";
GRANT ALL PRIVILEGES ON SCHEMA public TO "$DB_OWNER";
EOSQL
fi

View File

@@ -1,5 +1,5 @@
# From https://github.com/docker-library/redis/blob/master/7.0/alpine/Dockerfile
FROM redis:7.0.7-alpine
FROM redis:7.0.8-alpine
RUN apk add --no-cache openssl bash
@@ -12,4 +12,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
HEALTHCHECK CMD redis-cli -a $REDIS_HOST_PASSWORD PING || exit 1
LABEL com.centurylinklabs.watchtower.monitor-only="true"

View File

@@ -1,4 +1,4 @@
FROM ubuntu:focal-20221130
FROM ubuntu:focal-20230126
RUN set -ex; \
\
@@ -71,4 +71,5 @@ USER talk
ENTRYPOINT ["start.sh"]
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]
HEALTHCHECK CMD (nc -z localhost 8081 && nc -z localhost 8188 && nc -z localhost 4222 && nc -z localhost $TALK_PORT) || exit 1
HEALTHCHECK CMD (nc -z localhost 8081 && nc -z localhost 8188 && nc -z localhost 4222 && nc -z localhost $TALK_PORT) || exit 1
LABEL com.centurylinklabs.watchtower.monitor-only="true"

View File

@@ -1,7 +1,7 @@
# From https://github.com/containrrr/watchtower/blob/main/dockerfiles/Dockerfile.self-contained
FROM containrrr/watchtower:1.5.1 as watchtower
FROM containrrr/watchtower:1.5.3 as watchtower
FROM alpine:3.17.1
FROM alpine:3.17.2
RUN apk add --no-cache bash
COPY --from=watchtower /watchtower /
@@ -11,3 +11,4 @@ RUN chmod +x /start.sh
USER root
ENTRYPOINT ["/start.sh"]
LABEL com.centurylinklabs.watchtower.monitor-only="true"

View File

@@ -6,21 +6,21 @@ volumes:
services:
nextcloud:
image: nextcloud/all-in-one:latest # Must be changed to 'nextcloud/all-in-one:latest-arm64' when used with an arm64 CPU
image: nextcloud/all-in-one:latest
restart: always
container_name: nextcloud-aio-mastercontainer # This line is not allowed to be changed
volumes:
- 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. If adjusting, don't forget to also set 'DOCKER_SOCKET_PATH'!
ports:
- 80:80 # Can be removed when running behind a reverse proxy. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
- 80:80 # Can be removed when running behind a web server or reverse proxy (like Apache, Nginx and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
- 8080:8080
- 8443:8443 # Can be removed when running behind a reverse proxy. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
- 8443:8443 # Can be removed when running behind a web server or reverse proxy (like Apache, Nginx and else). 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
# - APACHE_PORT=11000 # Is needed when running behind a web server or reverse proxy (like Apache, Nginx and else). 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 web server or reverse proxy (like Apache, Nginx and else) that is running on the same host. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# - COLLABORA_SECCOMP_DISABLED=false # Setting this to true allows to disable Collabora's Seccomp feature. See https://github.com/nextcloud/all-in-one#how-to-disable-collaboras-seccomp-feature
# - 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.
# - DOCKER_SOCKET_PATH=/var/run/docker.sock # Needs to be specified if the docker socket on the host is not located in the default '/var/run/docker.sock'. Otherwise mastercontainer updates will fail. For macos it needs to be '/var/run/docker.sock'
# - DISABLE_BACKUP_SECTION=false # Setting this to true allows to hide the backup section in the AIO interface.
# - 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

View File

@@ -1,8 +1,9 @@
name: Nextcloud AIO Helm Chart
description: A generated Helm Chart for Nextcloud AIO from Skippbox Kompose
version: 4.0.1
apiVersion: v1
version: 4.3.4
apiVersion: v2
keywords:
- latest
sources: https://github.com/nextcloud/all-in-one/tree/main/helm-chart
sources:
- https://github.com/nextcloud/all-in-one/tree/main/helm-chart
home: https://github.com/nextcloud/all-in-one/tree/main/helm-chart

View File

@@ -3,7 +3,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.27.0 (b0ed6a2c9)
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.service: nextcloud-aio-apache
name: nextcloud-aio-apache
@@ -16,11 +16,24 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.27.0 (b0ed6a2c9)
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-apache
spec:
initContainers:
- name: init-volumes
image: alpine
command:
- chmod
- "777"
- /nextcloud-aio-nextcloud
- /nextcloud-aio-apache
volumeMounts:
- name: nextcloud-aio-apache
mountPath: /nextcloud-aio-apache
- name: nextcloud-aio-nextcloud
mountPath: /nextcloud-aio-nextcloud
containers:
- env:
- name: APACHE_MAX_SIZE
@@ -41,7 +54,7 @@ spec:
value: nextcloud-aio-talk
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-apache:20221229_091124-{{ .Values.IMAGE_TAG }}
image: nextcloud/aio-apache:20230216_152733-latest
name: nextcloud-aio-apache
ports:
- containerPort: {{ .Values.APACHE_PORT }}
@@ -55,7 +68,6 @@ spec:
- name: nextcloud-aio-nextcloud
persistentVolumeClaim:
claimName: nextcloud-aio-nextcloud
readOnly: true
- name: nextcloud-aio-apache
persistentVolumeClaim:
claimName: nextcloud-aio-apache

View File

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

View File

@@ -3,16 +3,15 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.27.0 (b0ed6a2c9)
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.service: nextcloud-aio-apache
name: nextcloud-aio-apache
spec:
type: LoadBalancer
ports:
- name: "{{ .Values.APACHE_PORT }}"
port: {{ .Values.APACHE_PORT }}
targetPort: {{ .Values.APACHE_PORT }}
selector:
io.kompose.service: nextcloud-aio-apache
status:
loadBalancer: {}

View File

@@ -4,7 +4,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.27.0 (b0ed6a2c9)
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.service: nextcloud-aio-clamav
name: nextcloud-aio-clamav
@@ -17,19 +17,31 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.27.0 (b0ed6a2c9)
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-clamav
spec:
initContainers:
- name: init-volumes
image: alpine
command:
- chmod
- "777"
- /nextcloud-aio-clamav
volumeMounts:
- name: nextcloud-aio-clamav
mountPath: /nextcloud-aio-clamav
containers:
- env:
- name: CLAMD_STARTUP_TIMEOUT
value: "90"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-clamav:20221229_091124-{{ .Values.IMAGE_TAG }}
image: nextcloud/aio-clamav:20230216_152733-latest
name: nextcloud-aio-clamav
ports:
- containerPort: 3310
volumeMounts:
- mountPath: /var/lib/clamav
name: nextcloud-aio-clamav

View File

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

View File

@@ -0,0 +1,18 @@
{{- if eq .Values.CLAMAV_ENABLED "yes" }}
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.service: nextcloud-aio-clamav
name: nextcloud-aio-clamav
spec:
ports:
- name: "3310"
port: 3310
targetPort: 3310
selector:
io.kompose.service: nextcloud-aio-clamav
{{- end }}

View File

@@ -4,7 +4,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.27.0 (b0ed6a2c9)
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.service: nextcloud-aio-collabora
name: nextcloud-aio-collabora
@@ -17,11 +17,21 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.27.0 (b0ed6a2c9)
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-collabora
spec:
initContainers:
- name: init-volumes
image: alpine
command:
- chmod
- "777"
- /nextcloud-aio-collabora-fonts
volumeMounts:
- name: nextcloud-aio-collabora-fonts
mountPath: /nextcloud-aio-collabora-fonts
containers:
- env:
- name: TZ
@@ -32,8 +42,12 @@ spec:
value: "{{ .Values.COLLABORA_DICTIONARIES }}"
- name: extra_params
value: --o:ssl.enable=false --o:ssl.termination=true --o:logging.level=warning --o:home_mode.enable=true {{ .Values.COLLABORA_SECCOMP_POLICY }} --o:remote_font_config.url=https://{{ .Values.NC_DOMAIN }}/apps/richdocuments/settings/fonts.json
image: nextcloud/aio-collabora:20221229_091124-{{ .Values.IMAGE_TAG }}
- name: server_name
value: "{{ .Values.NC_DOMAIN }}"
image: nextcloud/aio-collabora:20230216_152733-latest
name: nextcloud-aio-collabora
ports:
- containerPort: 9980
volumeMounts:
- mountPath: /opt/cool/systemplate/tmpfonts
name: nextcloud-aio-collabora-fonts

View File

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

View File

@@ -0,0 +1,18 @@
{{- if eq .Values.COLLABORA_ENABLED "yes" }}
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.service: nextcloud-aio-collabora
name: nextcloud-aio-collabora
spec:
ports:
- name: "9980"
port: 9980
targetPort: 9980
selector:
io.kompose.service: nextcloud-aio-collabora
{{- end }}

View File

@@ -3,7 +3,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.27.0 (b0ed6a2c9)
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.service: nextcloud-aio-database
name: nextcloud-aio-database
@@ -16,11 +16,24 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.27.0 (b0ed6a2c9)
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-database
spec:
initContainers:
- name: init-volumes
image: alpine
command:
- chown
- 999:999
- /nextcloud-aio-database
- /nextcloud-aio-database-dump
volumeMounts:
- name: nextcloud-aio-database-dump
mountPath: /nextcloud-aio-database-dump
- name: nextcloud-aio-database
mountPath: /nextcloud-aio-database
containers:
- env:
- name: PGTZ
@@ -33,8 +46,10 @@ spec:
value: nextcloud
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-postgresql:20221229_091124-{{ .Values.IMAGE_TAG }}
image: nextcloud/aio-postgresql:20230216_152733-latest
name: nextcloud-aio-database
ports:
- containerPort: 5432
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: nextcloud-aio-database

View File

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

View File

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

View File

@@ -0,0 +1,16 @@
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.service: nextcloud-aio-database
name: nextcloud-aio-database
spec:
ports:
- name: "5432"
port: 5432
targetPort: 5432
selector:
io.kompose.service: nextcloud-aio-database

View File

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

View File

@@ -4,7 +4,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.27.0 (b0ed6a2c9)
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.service: nextcloud-aio-fulltextsearch
name: nextcloud-aio-fulltextsearch
@@ -17,21 +17,35 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.27.0 (b0ed6a2c9)
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-fulltextsearch
spec:
initContainers:
- name: init-volumes
image: alpine
command:
- chmod
- "777"
- /nextcloud-aio-elasticsearch
volumeMounts:
- name: nextcloud-aio-elasticsearch
mountPath: /nextcloud-aio-elasticsearch
containers:
- env:
- name: ES_JAVA_OPTS
value: -Xms1024M -Xmx1024M
- name: POSTGRES_HOST
value: nextcloud-aio-database
- name: TZ
value: "{{ .Values.TIMEZONE }}"
- name: discovery.type
value: single-node
image: nextcloud/aio-fulltextsearch:20221229_091124-{{ .Values.IMAGE_TAG }}
image: nextcloud/aio-fulltextsearch:20230216_152733-latest
name: nextcloud-aio-fulltextsearch
ports:
- containerPort: 9200
volumeMounts:
- mountPath: /usr/share/elasticsearch/data
name: nextcloud-aio-elasticsearch

View File

@@ -0,0 +1,18 @@
{{- if eq .Values.FULLTEXTSEARCH_ENABLED "yes" }}
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.service: nextcloud-aio-fulltextsearch
name: nextcloud-aio-fulltextsearch
spec:
ports:
- name: "9200"
port: 9200
targetPort: 9200
selector:
io.kompose.service: nextcloud-aio-fulltextsearch
{{- end }}

View File

@@ -4,7 +4,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.27.0 (b0ed6a2c9)
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.service: nextcloud-aio-imaginary
name: nextcloud-aio-imaginary
@@ -17,7 +17,7 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.27.0 (b0ed6a2c9)
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-imaginary
@@ -26,6 +26,8 @@ spec:
- env:
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-imaginary:20221229_091124-{{ .Values.IMAGE_TAG }}
image: nextcloud/aio-imaginary:20230216_152733-latest
name: nextcloud-aio-imaginary
ports:
- containerPort: 9000
{{- end }}

View File

@@ -0,0 +1,18 @@
{{- if eq .Values.IMAGINARY_ENABLED "yes" }}
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.service: nextcloud-aio-imaginary
name: nextcloud-aio-imaginary
spec:
ports:
- name: "9000"
port: 9000
targetPort: 9000
selector:
io.kompose.service: nextcloud-aio-imaginary
{{- end }}

View File

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

View File

@@ -3,7 +3,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.27.0 (b0ed6a2c9)
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.service: nextcloud-aio-nextcloud
name: nextcloud-aio-nextcloud
@@ -16,11 +16,24 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.27.0 (b0ed6a2c9)
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-nextcloud
spec:
initContainers:
- name: init-volumes
image: alpine
command:
- chmod
- "777"
- /nextcloud-aio-nextcloud
- /nextcloud-aio-nextcloud-trusted-cacerts
volumeMounts:
- name: nextcloud-aio-nextcloud-trusted-cacerts
mountPath: /nextcloud-aio-nextcloud-trusted-cacerts
- name: nextcloud-aio-nextcloud
mountPath: /nextcloud-aio-nextcloud
containers:
- env:
- name: ADDITIONAL_APKS
@@ -55,8 +68,6 @@ spec:
value: "{{ .Values.NC_DOMAIN }}"
- name: NEXTCLOUD_DATA_DIR
value: /mnt/ncdata
- name: NEXTCLOUD_MOUNT
value: "{{ .Values.NEXTCLOUD_MOUNT }}"
- name: ONLYOFFICE_ENABLED
value: "{{ .Values.ONLYOFFICE_ENABLED }}"
- name: ONLYOFFICE_HOST
@@ -101,15 +112,16 @@ spec:
value: "{{ .Values.TIMEZONE }}"
- name: UPDATE_NEXTCLOUD_APPS
value: "{{ .Values.UPDATE_NEXTCLOUD_APPS }}"
image: nextcloud/aio-nextcloud:20221229_091124-{{ .Values.IMAGE_TAG }}
image: nextcloud/aio-nextcloud:20230216_152733-latest
name: nextcloud-aio-nextcloud
ports:
- containerPort: 9000
- containerPort: 7867
volumeMounts:
- mountPath: /var/www/html
name: nextcloud-aio-nextcloud
- mountPath: /mnt/ncdata
name: nextcloud-aio-nextcloud-data
- mountPath: /mnt/
name: nextcloud-aio-nextcloud-mount
- mountPath: /usr/local/share/ca-certificates
name: nextcloud-aio-nextcloud-trusted-cacerts
readOnly: true
@@ -120,10 +132,6 @@ spec:
- name: nextcloud-aio-nextcloud-data
persistentVolumeClaim:
claimName: nextcloud-aio-nextcloud-data
- name: nextcloud-aio-nextcloud-mount
persistentVolumeClaim:
claimName: nextcloud-aio-nextcloud-mount
- name: nextcloud-aio-nextcloud-trusted-cacerts
persistentVolumeClaim:
claimName: nextcloud-aio-nextcloud-trusted-cacerts
readOnly: true

View File

@@ -1,15 +0,0 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
io.kompose.service: nextcloud-aio-nextcloud-mount
name: nextcloud-aio-nextcloud-mount
spec:
{{- if .Values.STORAGE_CLASS }}
storageClassName: {{ .Values.STORAGE_CLASS }}
{{- end }}
accessModes:
- ReadWriteMany
resources:
requests:
storage: {{ .Values.MAX_STORAGE_SIZE }}

View File

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

View File

@@ -0,0 +1,19 @@
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.service: nextcloud-aio-nextcloud
name: nextcloud-aio-nextcloud
spec:
ports:
- name: "9000"
port: 9000
targetPort: 9000
- name: "7867"
port: 7867
targetPort: 7867
selector:
io.kompose.service: nextcloud-aio-nextcloud

View File

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

View File

@@ -4,7 +4,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.27.0 (b0ed6a2c9)
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.service: nextcloud-aio-onlyoffice
name: nextcloud-aio-onlyoffice
@@ -17,11 +17,21 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.27.0 (b0ed6a2c9)
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-onlyoffice
spec:
initContainers:
- name: init-volumes
image: alpine
command:
- chmod
- "777"
- /nextcloud-aio-onlyoffice
volumeMounts:
- name: nextcloud-aio-onlyoffice
mountPath: /nextcloud-aio-onlyoffice
containers:
- env:
- name: JWT_ENABLED
@@ -32,8 +42,10 @@ spec:
value: "{{ .Values.ONLYOFFICE_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-onlyoffice:20221229_091124-{{ .Values.IMAGE_TAG }}
image: nextcloud/aio-onlyoffice:20230216_152733-latest
name: nextcloud-aio-onlyoffice
ports:
- containerPort: 80
volumeMounts:
- mountPath: /var/lib/onlyoffice
name: nextcloud-aio-onlyoffice

View File

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

View File

@@ -0,0 +1,18 @@
{{- if eq .Values.ONLYOFFICE_ENABLED "yes" }}
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.service: nextcloud-aio-onlyoffice
name: nextcloud-aio-onlyoffice
spec:
ports:
- name: "80"
port: 80
targetPort: 80
selector:
io.kompose.service: nextcloud-aio-onlyoffice
{{- end }}

View File

@@ -3,7 +3,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.27.0 (b0ed6a2c9)
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.service: nextcloud-aio-redis
name: nextcloud-aio-redis
@@ -16,19 +16,31 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.27.0 (b0ed6a2c9)
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-redis
spec:
initContainers:
- name: init-volumes
image: alpine
command:
- chmod
- "777"
- /nextcloud-aio-redis
volumeMounts:
- name: nextcloud-aio-redis
mountPath: /nextcloud-aio-redis
containers:
- env:
- name: REDIS_HOST_PASSWORD
value: "{{ .Values.REDIS_PASSWORD }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-redis:20221229_091124-{{ .Values.IMAGE_TAG }}
image: nextcloud/aio-redis:20230216_152733-latest
name: nextcloud-aio-redis
ports:
- containerPort: 6379
volumeMounts:
- mountPath: /data
name: nextcloud-aio-redis

View File

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

View File

@@ -0,0 +1,16 @@
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.service: nextcloud-aio-redis
name: nextcloud-aio-redis
spec:
ports:
- name: "6379"
port: 6379
targetPort: 6379
selector:
io.kompose.service: nextcloud-aio-redis

View File

@@ -4,7 +4,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.27.0 (b0ed6a2c9)
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.service: nextcloud-aio-talk
name: nextcloud-aio-talk
@@ -17,7 +17,7 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.27.0 (b0ed6a2c9)
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-talk
@@ -36,10 +36,11 @@ spec:
value: "{{ .Values.TURN_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-talk:20221229_091124-{{ .Values.IMAGE_TAG }}
image: nextcloud/aio-talk:20230216_152733-latest
name: nextcloud-aio-talk
ports:
- containerPort: {{ .Values.TALK_PORT }}
- containerPort: {{ .Values.TALK_PORT }}
protocol: UDP
- containerPort: 8081
{{- end }}

View File

@@ -1,14 +1,16 @@
{{- if eq .Values.TALK_ENABLED "yes" }}
---
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.27.0 (b0ed6a2c9)
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.service: nextcloud-aio-talk
name: nextcloud-aio-talk
name: nextcloud-aio-talk-public
spec:
type: LoadBalancer
ports:
- name: "{{ .Values.TALK_PORT }}"
port: {{ .Values.TALK_PORT }}
@@ -19,6 +21,21 @@ spec:
targetPort: {{ .Values.TALK_PORT }}
selector:
io.kompose.service: nextcloud-aio-talk
status:
loadBalancer: {}
---
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml
kompose.version: 1.28.0 (c4137012e)
labels:
io.kompose.service: nextcloud-aio-talk
name: nextcloud-aio-talk
spec:
ports:
- name: "8081"
port: 8081
targetPort: 8081
selector:
io.kompose.service: nextcloud-aio-talk
{{- end }}

View File

@@ -22,27 +22,81 @@ sed -i 's|^|export |' /tmp/sample.conf
# shellcheck disable=SC1091
source /tmp/sample.conf
rm /tmp/sample.conf
sed -i "s|\${IMAGE_TAG}|$DOCKER_TAG\${IMAGE_TAG}|" latest.yml
sed -i "s|\${APACHE_IP_BINDING}|$APACHE_IP_BINDING|" latest.yml
sed -i "s|:latest$|:$DOCKER_TAG-latest|" latest.yml
sed -i "s|\${APACHE_IP_BINDING}:||" latest.yml
sed -i "s|\${APACHE_PORT}:\${APACHE_PORT}/|$APACHE_PORT:$APACHE_PORT/|" latest.yml
sed -i "s|\${TALK_PORT}:\${TALK_PORT}/|$TALK_PORT:$TALK_PORT/|g" latest.yml
sed -i "s|- \${APACHE_PORT}|- $APACHE_PORT|" latest.yml
sed -i "s|- \${TALK_PORT}|- $TALK_PORT|" latest.yml
sed -i "s|\${NEXTCLOUD_DATADIR}|$NEXTCLOUD_DATADIR|" latest.yml
sed -i "/NEXTCLOUD_DATADIR/d" latest.yml
sed -i "s|\${NEXTCLOUD_MOUNT}:\${NEXTCLOUD_MOUNT}:|nextcloud_aio_nextcloud_mount:$NEXTCLOUD_MOUNT:|" latest.yml
sed -i "/\${NEXTCLOUD_MOUNT}/d" latest.yml
sed -i "/^volumes:/a\ \ nextcloud_aio_nextcloud_trusted_cacerts:\n \ \ \ \ name: nextcloud_aio_nextcloud_trusted_cacerts" latest.yml
sed -i "s|\${NEXTCLOUD_TRUSTED_CACERTS_DIR}:|nextcloud_aio_nextcloud_trusted_cacerts:|g#" latest.yml
sed -i 's|\${|{{ .Values.|g' latest.yml
sed -i 's|}| }}|g' latest.yml
sed -i '/profiles: /d' latest.yml
cat latest.yml
kompose convert -c -f latest.yml
cd latest
mv ./templates/manual-install-nextcloud-aio-networkpolicy.yaml ./templates/nextcloud-aio-networkpolicy.yaml
# shellcheck disable=SC1083
find ./ -name '*persistentvolumeclaim.yaml' -exec sed -i "s|storage: 100Mi|storage: {{ .Values.MAX_STORAGE_SIZE }}|" \{} \;
find ./ -name '*networkpolicy.yaml' -exec sed -i "s|manual-install-nextcloud-aio|nextcloud-aio|" \{} \;
cat << EOL > /tmp/initcontainers
initContainers:
- name: init-volumes
image: alpine
command:
- chmod
- "777"
volumeMountsInitContainer:
EOL
cat << EOL > /tmp/initcontainers.database
initContainers:
- name: init-volumes
image: alpine
command:
- chown
- 999:999
volumeMountsInitContainer:
EOL
# shellcheck disable=SC1083
find ./ -name '*persistentvolumeclaim.yaml' -exec sed -i "s|ReadOnlyMany|ReadWriteMany|" \{} \;
DEPLOYMENTS="$(find ./ -name '*deployment.yaml')"
mapfile -t DEPLOYMENTS <<< "$DEPLOYMENTS"
for variable in "${DEPLOYMENTS[@]}"; do
if grep -q volumeMounts "$variable"; then
if ! echo "$variable" | grep -q database; then
sed -i "/^ spec:/r /tmp/initcontainers" "$variable"
else
sed -i "/^ spec:/r /tmp/initcontainers.database" "$variable"
fi
volumeNames="$(grep -A1 mountPath "$variable" | grep -v mountPath | sed 's|.*name: ||' | sed '/^--$/d')"
mapfile -t volumeNames <<< "$volumeNames"
for volumeName in "${volumeNames[@]}"; do
# The Nextcloud container runs as root user and sets the correct permissions automatically for the data-dir if the www-data user cannot write to it
if [ "$volumeName" != "nextcloud-aio-nextcloud-data" ]; then
sed -i "/^.*volumeMountsInitContainer:/i\ \ \ \ \ \ \ \ \ \ \ \ - /$volumeName" "$variable"
sed -i "/volumeMountsInitContainer:/a\ \ \ \ \ \ \ \ \ \ \ \ - name: $volumeName\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ mountPath: /$volumeName" "$variable"
fi
done
sed -i "s|volumeMountsInitContainer|volumeMounts|" "$variable"
if grep -q claimName "$variable"; then
claimNames="$(grep claimName "$variable")"
mapfile -t claimNames <<< "$claimNames"
for claimName in "${claimNames[@]}"; do
if grep -A1 "^$claimName$" "$variable" | grep -q "readOnly: true"; then
sed -i "/^$claimName$/{n;d}" "$variable"
fi
done
fi
fi
done
# shellcheck disable=SC1083
find ./ -name '*persistentvolumeclaim.yaml' -exec sed -i "s|ReadWriteOnce|ReadWriteMany|" \{} \;
find ./ -name '*service.yaml' -exec sed -i "/^status:/,$ d" \{} \;
# shellcheck disable=SC1083
find ./ -name '*deployment.yaml' -exec sed -i "s|manual-install-nextcloud-aio|nextcloud-aio|" \{} \;
# shellcheck disable=SC1083
find ./ -name '*persistentvolumeclaim.yaml' -exec sed -i "s|ReadOnlyMany|ReadWriteOnce|" \{} \;
# shellcheck disable=SC1083
find ./ -name '*persistentvolumeclaim.yaml' -exec sed -i "/accessModes:/i\ \ {{- if .Values.STORAGE_CLASS }}" \{} \;
# shellcheck disable=SC1083
@@ -50,13 +104,31 @@ find ./ -name '*persistentvolumeclaim.yaml' -exec sed -i "/accessModes:/i\ \ sto
# shellcheck disable=SC1083
find ./ -name '*persistentvolumeclaim.yaml' -exec sed -i "/accessModes:/i\ \ {{- end }}" \{} \;
# shellcheck disable=SC1083
find ./ -name '*deployment.yaml' -exec sed -i "/restartPolicy:/d" \{} \;
find ./ -name '*deployment.yaml' -exec sed -i "/restartPolicy:/d" \{} \;
# shellcheck disable=SC1083
find ./ -name '*apache*' -exec sed -i "s|$APACHE_IP_BINDING|{{ .Values.APACHE_IP_BINDING }}|" \{} \;
find ./ -name '*apache*' -exec sed -i "s|$APACHE_PORT|{{ .Values.APACHE_PORT }}|" \{} \;
# shellcheck disable=SC1083
find ./ -name '*apache*' -exec sed -i "s|$APACHE_PORT|{{ .Values.APACHE_PORT }}|" \{} \;
find ./ -name '*talk*' -exec sed -i "s|$TALK_PORT|{{ .Values.TALK_PORT }}|" \{} \;
# shellcheck disable=SC1083
find ./ -name '*talk*' -exec sed -i "s|$TALK_PORT|{{ .Values.TALK_PORT }}|" \{} \;
find ./ -name '*apache-service.yaml' -exec sed -i "/^spec:/a\ \ type: LoadBalancer" \{} \;
# shellcheck disable=SC1083
find ./ -name '*talk-service.yaml' -exec sed -i "/^spec:/a\ \ type: LoadBalancer" \{} \;
echo '---' > /tmp/talk-service.copy
# shellcheck disable=SC1083
find ./ -name '*talk-service.yaml' -exec cat \{} \; >> /tmp/talk-service.copy
sed -i 's|name: nextcloud-aio-talk|name: nextcloud-aio-talk-public|' /tmp/talk-service.copy
# shellcheck disable=SC1083
INTERNAL_TALK_PORTS="$(find ./ -name '*talk-deployment.yaml' -exec grep -oP 'containerPort: [0-9]+' \{} \;)"
mapfile -t INTERNAL_TALK_PORTS <<< "$INTERNAL_TALK_PORTS"
for port in "${INTERNAL_TALK_PORTS[@]}"; do
port="$(echo "$port" | grep -oP '[0-9]+')"
sed -i "/$port/d" /tmp/talk-service.copy
done
echo '---' >> /tmp/talk-service.copy
# shellcheck disable=SC1083
find ./ -name '*talk-service.yaml' -exec grep -v '{{ .Values.*}}\|protocol: UDP\|type: LoadBalancer' \{} \; >> /tmp/talk-service.copy
# shellcheck disable=SC1083
find ./ -name '*talk-service.yaml' -exec mv /tmp/talk-service.copy \{} \;
# shellcheck disable=SC1083
find ./ -name '*.yaml' -exec sed -i "s|'{{|\"{{|g;s|}}'|}}\"|g" \{} \;
# shellcheck disable=SC1083
@@ -69,6 +141,14 @@ find ./ \( -not -name '*service.yaml' -name '*.yaml' \) -exec sed -i "/^status:/
find ./ \( -not -name '*persistentvolumeclaim.yaml' -name '*.yaml' \) -exec sed -i "/resources:/d" \{} \;
# shellcheck disable=SC1083
find ./ -name '*.yaml' -exec sed -i "/creationTimestamp: null/d" \{} \;
VOLUMES="$(find ./ -name '*persistentvolumeclaim.yaml' | sed 's|-persistentvolumeclaim.yaml||g;s|.*nextcloud-aio-||g')"
mapfile -t VOLUMES <<< "$VOLUMES"
for variable in "${VOLUMES[@]}"; do
name="$(echo "$variable" | sed 's|-|_|g' | tr '[:lower:]' '[:upper:]')_STORAGE_SIZE"
VOLUME_VARIABLE+=("$name")
# shellcheck disable=SC1083
find ./ -name "*nextcloud-aio-$variable-persistentvolumeclaim.yaml" -exec sed -i "s|storage: 100Mi|storage: {{ .Values.$name }}|" \{} \;
done
cd ../
mkdir -p ../helm-chart/
@@ -85,15 +165,20 @@ sed -i "s|^version:.*|version: $AIO_VERSION|" ../helm-chart/Chart.yaml
# Conversion of sample.conf
cp sample.conf /tmp/
sed -i "/^APACHE_IP_BINDING/d" /tmp/sample.conf
sed -i 's|"||g' /tmp/sample.conf
sed -i 's|=|: |' /tmp/sample.conf
sed -i 's|= |: |' /tmp/sample.conf
sed -i '/^NEXTCLOUD_DATADIR/d' /tmp/sample.conf
sed -i 's|^NEXTCLOUD_MOUNT: .*|NEXTCLOUD_MOUNT: # Setting this to any value allows to enable external storages in Nextcloud|' /tmp/sample.conf
sed -i '/^APACHE_IP_BINDING/d' /tmp/sample.conf
sed -i '/^NEXTCLOUD_MOUNT/d' /tmp/sample.conf
sed -i '/_ENABLED.*/s/ yes / "yes" /' /tmp/sample.conf
sed -i '/_ENABLED.*/s/ no / "no" /' /tmp/sample.conf
sed -i 's|^NEXTCLOUD_TRUSTED_CACERTS_DIR: .*|NEXTCLOUD_TRUSTED_CACERTS_DIR: # Setting this to any value allows to automatically import root certificates into the Nextcloud container|' /tmp/sample.conf
echo 'MAX_STORAGE_SIZE: 10Gi # You can adjust the max storage that each volume can use with this value' >> /tmp/sample.conf
# shellcheck disable=SC2129
echo 'STORAGE_CLASS: # By setting this, you can adjust the storage class for your volumes' >> /tmp/sample.conf
for variable in "${VOLUME_VARIABLE[@]}"; do
echo "$variable: 1Gi # You can change the size of the $(echo "$variable" | sed 's|_STORAGE_SIZE||;s|_|-|g' | tr '[:upper:]' '[:lower:]') volume that default to 1Gi with this value" >> /tmp/sample.conf
done
mv /tmp/sample.conf ../helm-chart/values.yaml
ENABLED_VARIABLES="$(grep -oP '^[A-Z]+_ENABLED' ../helm-chart/values.yaml)"

View File

@@ -1,34 +1,42 @@
IMAGE_TAG: latest # Version of docker images, should be latest or latest-arm64. Note: latest-arm64 has no clamav support
AIO_TOKEN: 123456 # Has no function but needs to be set!
AIO_URL: localhost # Has no function but needs to be set!
APACHE_MAX_SIZE: 10737418240 # This needs to be an integer and in sync with NEXTCLOUD_UPLOAD_LIMIT
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. Note: latest-arm64 has no clamav support
APACHE_PORT: 443 # Changing this to a different value than 443 will allow you to run it behind a web server or reverse proxy (like Apache, Nginx and else).
CLAMAV_ENABLED: "no" # Setting this to "yes" (with quotes) 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.
COLLABORA_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
COLLABORA_SECCOMP_POLICY: --o:security.seccomp=true # Changing the value to false allows to disable the seccomp feature of the Collabora container.
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.
FULLTEXTSEARCH_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
IMAGINARY_ENABLED: "no" # Setting this to "yes" (with quotes) 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_ADDITIONAL_APKS: imagemagick # This allows to add additional packages to the Nextcloud container permanently. Default is imagemagick but can be overwritten by modifying this value.
NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS: imagick # This allows to add additional php extensions to the Nextcloud container permanently. Default is imagick but can be overwritten by modifying this value.
NEXTCLOUD_MAX_TIME: 3600 # This allows to change the upload time limit of the Nextcloud container
NEXTCLOUD_MEMORY_LIMIT: 512M # This allows to change the PHP memory limit of the Nextcloud container
NEXTCLOUD_MOUNT: # Setting this to any value allows to enable external storages in Nextcloud
NEXTCLOUD_PASSWORD: # TODO! This is the password of the initially created Nextcloud admin with username admin.
NEXTCLOUD_STARTUP_APPS: deck twofactor_totp tasks calendar contacts # Allows to modify the Nextcloud apps that are installed on starting AIO the first time
NEXTCLOUD_TRUSTED_CACERTS_DIR: # Setting this to any value allows to automatically import root certificates into the Nextcloud container
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_ENABLED: "no" # Setting this to "yes" (with quotes) 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_ENABLED: "no" # Setting this to "yes" (with quotes) 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.
MAX_STORAGE_SIZE: 10Gi # You can adjust the max storage that each volume can use with this value
UPDATE_NEXTCLOUD_APPS: no # When setting to yes (with quotes), it will automatically update all installed Nextcloud apps upon container startup on saturdays.
STORAGE_CLASS: # By setting this, you can adjust the storage class for your volumes
ELASTICSEARCH_STORAGE_SIZE: 1Gi # You can change the size of the elasticsearch volume that default to 1Gi with this value
NEXTCLOUD_TRUSTED_CACERTS_STORAGE_SIZE: 1Gi # You can change the size of the nextcloud-trusted-cacerts volume that default to 1Gi with this value
COLLABORA_FONTS_STORAGE_SIZE: 1Gi # You can change the size of the collabora-fonts volume that default to 1Gi with this value
ONLYOFFICE_STORAGE_SIZE: 1Gi # You can change the size of the onlyoffice volume that default to 1Gi with this value
CLAMAV_STORAGE_SIZE: 1Gi # You can change the size of the clamav volume that default to 1Gi with this value
DATABASE_DUMP_STORAGE_SIZE: 1Gi # You can change the size of the database-dump volume that default to 1Gi with this value
NEXTCLOUD_DATA_STORAGE_SIZE: 1Gi # You can change the size of the nextcloud-data volume that default to 1Gi with this value
NEXTCLOUD_STORAGE_SIZE: 1Gi # You can change the size of the nextcloud volume that default to 1Gi with this value
REDIS_STORAGE_SIZE: 1Gi # You can change the size of the redis volume that default to 1Gi with this value
DATABASE_STORAGE_SIZE: 1Gi # You can change the size of the database volume that default to 1Gi with this value
APACHE_STORAGE_SIZE: 1Gi # You can change the size of the apache volume that default to 1Gi with this value

View File

@@ -7,7 +7,7 @@ services:
- nextcloud-aio-collabora
- nextcloud-aio-talk
- nextcloud-aio-nextcloud
image: nextcloud/aio-apache:${IMAGE_TAG}
image: nextcloud/aio-apache:latest
ports:
- ${APACHE_IP_BINDING}:${APACHE_PORT}:${APACHE_PORT}/tcp
environment:
@@ -28,7 +28,9 @@ services:
- nextcloud-aio
nextcloud-aio-database:
image: nextcloud/aio-postgresql:${IMAGE_TAG}
image: nextcloud/aio-postgresql:latest
expose:
- "5432"
volumes:
- nextcloud_aio_database:/var/lib/postgresql/data:rw
- nextcloud_aio_database_dump:/mnt/data:rw
@@ -50,7 +52,10 @@ services:
- nextcloud-aio-clamav
- nextcloud-aio-fulltextsearch
- nextcloud-aio-imaginary
image: nextcloud/aio-nextcloud:${IMAGE_TAG}
image: nextcloud/aio-nextcloud:latest
expose:
- "9000"
- "7867"
volumes:
- nextcloud_aio_nextcloud:/var/www/html:rw
- ${NEXTCLOUD_DATADIR}:/mnt/ncdata:rw
@@ -101,7 +106,9 @@ services:
- nextcloud-aio
nextcloud-aio-redis:
image: nextcloud/aio-redis:${IMAGE_TAG}
image: nextcloud/aio-redis:latest
expose:
- "6379"
environment:
- REDIS_HOST_PASSWORD=${REDIS_PASSWORD}
- TZ=${TIMEZONE}
@@ -113,12 +120,15 @@ services:
nextcloud-aio-collabora:
profiles: ["collabora"]
image: nextcloud/aio-collabora:${IMAGE_TAG}
image: nextcloud/aio-collabora:latest
expose:
- "9980"
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 ${COLLABORA_SECCOMP_POLICY} --o:remote_font_config.url=https://${NC_DOMAIN}/apps/richdocuments/settings/fonts.json
- dictionaries=${COLLABORA_DICTIONARIES}
- TZ=${TIMEZONE}
- server_name=${NC_DOMAIN}
volumes:
- nextcloud_aio_collabora_fonts:/opt/cool/systemplate/tmpfonts:rw
restart: unless-stopped
@@ -127,10 +137,12 @@ services:
nextcloud-aio-talk:
profiles: ["talk"]
image: nextcloud/aio-talk:${IMAGE_TAG}
image: nextcloud/aio-talk:latest
ports:
- ${TALK_PORT}:${TALK_PORT}/tcp
- ${TALK_PORT}:${TALK_PORT}/udp
expose:
- "8081"
environment:
- NC_DOMAIN=${NC_DOMAIN}
- TURN_SECRET=${TURN_SECRET}
@@ -144,7 +156,9 @@ services:
nextcloud-aio-clamav:
profiles: ["clamav"]
image: nextcloud/aio-clamav:${IMAGE_TAG}
image: nextcloud/aio-clamav:latest
expose:
- "3310"
environment:
- TZ=${TIMEZONE}
- CLAMD_STARTUP_TIMEOUT=90
@@ -156,7 +170,9 @@ services:
nextcloud-aio-onlyoffice:
profiles: ["onlyoffice"]
image: nextcloud/aio-onlyoffice:${IMAGE_TAG}
image: nextcloud/aio-onlyoffice:latest
expose:
- "80"
environment:
- TZ=${TIMEZONE}
- JWT_ENABLED=true
@@ -170,7 +186,9 @@ services:
nextcloud-aio-imaginary:
profiles: ["imaginary"]
image: nextcloud/aio-imaginary:${IMAGE_TAG}
image: nextcloud/aio-imaginary:latest
expose:
- "9000"
environment:
- TZ=${TIMEZONE}
restart: unless-stopped
@@ -179,11 +197,14 @@ services:
nextcloud-aio-fulltextsearch:
profiles: ["fulltextsearch"]
image: nextcloud/aio-fulltextsearch:${IMAGE_TAG}
image: nextcloud/aio-fulltextsearch:latest
expose:
- "9200"
environment:
- TZ=${TIMEZONE}
- discovery.type=single-node
- ES_JAVA_OPTS=-Xms1024M -Xmx1024M
- POSTGRES_HOST=nextcloud-aio-database
volumes:
- nextcloud_aio_elasticsearch:/usr/share/elasticsearch/data:rw
restart: unless-stopped

View File

@@ -21,16 +21,16 @@ First, install docker and docker-compose if not already done. Then simply run th
git clone https://github.com/nextcloud/all-in-one.git
cd all-in-one/manual-install
```
Then copy the sample.conf to default environment file, e.g. `cp sample.conf .env`, open the new conf file, e.g. with `nano .env`, edit all values that are marked with `# TODO!`, close and save the file. For arm64 support use `IMAGE_TAG=latest-arm64` (Note: there is no clamav image for arm64).
Then copy the sample.conf to default environment file, e.g. `cp sample.conf .env`, open the new conf file, e.g. with `nano .env`, edit all values that are marked with `# TODO!`, close and save the file. (Note: there is no clamav image for arm64).
Now copy the provided yaml file to a docker-compose file by running `cp latest.yml docker-compose.yml`.
Now you should be ready to go with `sudo docker-compose up`.
## Docker profiles
The default profile of `latest.yml` only provide the minimum necessary services: nextcloud, database, redis and apache. To get optional services collabora, onlyoffice, talk, clamav, imaginary or fulltextsearch use additional arguments for each of them, for example `--profile collabora`.
The default profile of `latest.yml` only provide the minimum necessary services: nextcloud, database, redis and apache. To get optional services collabora, onlyoffice, talk, clamav, imaginary or fulltextsearch use additional arguments for each of them, for example `--profile collabora`. (Note: there is no clamav image for arm64).
For a complete all-in-one with collabora use `sudo docker-compose --profile collabora --profile talk --profile clamav --profile imaginary --profile fulltextsearch up`.
For a complete all-in-one with collabora use `sudo docker-compose --profile collabora --profile talk --profile clamav --profile imaginary --profile fulltextsearch up`. (Note: there is no clamav image for arm64).
## 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.

View File

@@ -1,16 +1,15 @@
IMAGE_TAG=latest # Version of docker images, should be latest or latest-arm64. Note: latest-arm64 has no clamav support
AIO_TOKEN=123456 # Has no function but needs to be set!
AIO_URL=localhost # Has no function but needs to be set!
APACHE_IP_BINDING=0.0.0.0 # This can be changed to e.g. 127.0.0.1 if you want to run AIO behind a reverse proxy and if that is running on the same host and using localhost to connect
APACHE_IP_BINDING=0.0.0.0 # This can be changed to e.g. 127.0.0.1 if you want to run AIO behind a web server or reverse proxy (like Apache, Nginx and else) and if that is running on the same host and using localhost to connect
APACHE_MAX_SIZE=10737418240 # This needs to be an integer and in sync with NEXTCLOUD_UPLOAD_LIMIT
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. Note: latest-arm64 has no clamav support
APACHE_PORT=443 # Changing this to a different value than 443 will allow you to run it behind a web server or reverse proxy (like Apache, Nginx and else).
CLAMAV_ENABLED="no" # Setting this to "yes" (with quotes) 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.
COLLABORA_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
COLLABORA_SECCOMP_POLICY=--o:security.seccomp=true # Changing the value to false allows to disable the seccomp feature of the Collabora container.
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.
FULLTEXTSEARCH_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
IMAGINARY_ENABLED="no" # Setting this to "yes" (with quotes) 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_ADDITIONAL_APKS=imagemagick # This allows to add additional packages to the Nextcloud container permanently. Default is imagemagick but can be overwritten by modifying this value.
@@ -23,12 +22,12 @@ NEXTCLOUD_PASSWORD= # TODO! This is the password of the initially creat
NEXTCLOUD_STARTUP_APPS="deck twofactor_totp tasks calendar contacts" # Allows to modify the Nextcloud apps that are installed on starting AIO the first time
NEXTCLOUD_TRUSTED_CACERTS_DIR=/usr/local/share/ca-certificates/my-custom-ca # Nextcloud container will trust all the Certification Authorities, whose certificates are included in the given directory.
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_ENABLED="no" # Setting this to "yes" (with quotes) 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_ENABLED="no" # Setting this to "yes" (with quotes) 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.
UPDATE_NEXTCLOUD_APPS="no" # When setting to "yes" (with quotes), it will automatically update all installed Nextcloud apps upon container startup on saturdays.

View File

@@ -48,7 +48,6 @@ do
done
rm -f sample.conf
echo 'IMAGE_TAG=latest # Version of docker images, should be latest or latest-arm64. Note: latest-arm64 has no clamav support' >> sample.conf
VARIABLES="$(grep -oP '%[A-Z_a-z0-6]+%' containers.yml | sort -u)"
mapfile -t VARIABLES <<< "$VARIABLES"
for variable in "${VARIABLES[@]}"
@@ -59,10 +58,10 @@ do
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|CLAMAV_ENABLED=no.*|CLAMAV_ENABLED=no # Setting this to "yes" enables the option in Nextcloud automatically. Note: latest-arm64 has no clamav support|' 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|_ENABLED=|_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.|' sample.conf
sed -i 's|CLAMAV_ENABLED=no.*|CLAMAV_ENABLED="no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically. Note: arm64 has no clamav support|' 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
@@ -71,9 +70,9 @@ sed -i 's|NEXTCLOUD_MEMORY_LIMIT=|NEXTCLOUD_MEMORY_LIMIT=512M # This al
sed -i 's|APACHE_MAX_SIZE=|APACHE_MAX_SIZE=10737418240 # This needs to be an integer and in sync with NEXTCLOUD_UPLOAD_LIMIT|' 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|NEXTCLOUD_TRUSTED_CACERTS_DIR=|NEXTCLOUD_TRUSTED_CACERTS_DIR=/usr/local/share/ca-certificates/my-custom-ca # Nextcloud container will trust all the Certification Authorities, whose certificates are included in the given directory.|' 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|APACHE_IP_BINDING=|APACHE_IP_BINDING=0.0.0.0 # This can be changed to e.g. 127.0.0.1 if you want to run AIO behind a reverse proxy and if that is running on the same host and using localhost to connect|' sample.conf
sed -i 's|UPDATE_NEXTCLOUD_APPS=|UPDATE_NEXTCLOUD_APPS="no" # When setting to "yes" (with quotes), 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 web server or reverse proxy (like Apache, Nginx and else).|' sample.conf
sed -i 's|APACHE_IP_BINDING=|APACHE_IP_BINDING=0.0.0.0 # This can be changed to e.g. 127.0.0.1 if you want to run AIO behind a web server or reverse proxy (like Apache, Nginx and else) and if that is running on the same host and using localhost to connect|' 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
@@ -133,7 +132,7 @@ networks:
NETWORK
cat containers.yml > latest.yml
sed -i "/image:/s/$/:\${IMAGE_TAG}/" latest.yml
sed -i "/image:/s/$/:latest/" latest.yml
rm containers.yml

View File

@@ -6,8 +6,9 @@ The only way to fix this on your side is upgrading regularly (e.g. by enabling d
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. Find out with which PHP version your installed Nextcloud is compatible by running `sudo docker exec nextcloud-aio-nextcloud cat lib/versioncheck.php`. (There you will find information about the max. supported PHP version.)
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
@@ -15,7 +16,7 @@ The only way to fix this on your side is upgrading regularly (e.g. by enabling d
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. 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`. 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`.

View File

@@ -10,12 +10,12 @@ There are basically three ways how to migrate from an already existing Nextcloud
**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:
1. Take a backup of your former instance (especially from your datadirectory)
1. Take a backup of your former instance (especially from your datadirectory, see `'datadirectory'` in your `config.php`)
1. Install Nextcloud AIO on a new server/linux installation, enter your domain and wait until all containers are running
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/*` and `sudo chmod -R 750 /var/lib/docker/volumes/nextcloud_aio_nextcloud_data/_data/*` to apply the correct permissions
1. Restore the datadirectory of your former instance: for `/path/to/nextcloud/data/` run `sudo docker cp --follow-link /path/to/nextcloud/data/ nextcloud-aio-nextcloud:/mnt/ncdata/` Note: the `/` at the end are necessary.
1. Next, run `sudo docker run --rm --volume nextcloud_aio_nextcloud_data:/mnt/ncdata:rw alpine chown -R 33:0 /mnt/ncdata/"` and `sudo docker run --rm --volume nextcloud_aio_nextcloud_data:/mnt/ncdata:rw alpine chmod -R 750 /mnt/ncdata/` to apply the correct permissions. (Or if `NEXTCLOUD_DATADIR` was provided, apply `chown -R 33:0` and `chmod -R 750` to the chosen path.)
1. Start the containers again and wait until all containers are running
1. Run `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ files:scan-app-data && sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ files:scan --all` in order to scan all files in the datadirectory.
@@ -36,8 +36,10 @@ 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 '$PG_PASSWORD';
CREATE USER $PG_USER WITH PASSWORD '$PG_PASSWORD' CREATEDB;
CREATE DATABASE $PG_DATABASE WITH OWNER $PG_USER TEMPLATE template0 ENCODING 'UTF8';
GRANT ALL PRIVILEGES ON DATABASE $PG_DATABASE TO $PG_USER;
GRANT ALL PRIVILEGES ON SCHEMA public TO $PG_USER;
END
```
1. Run the following command to start the conversion:
@@ -68,14 +70,14 @@ The procedure for migrating the files and the database works like this:
1. **Please note:** Unfortunately it is not possible to import a database dump from a former database owner with the name `nextcloud`. You can check if that is the case with this command: `grep "Name: oc_appconfig; Type: TABLE; Schema: public; Owner:" database-dump.sql | grep -oP 'Owner:.*$' | sed 's|Owner:||;s| ||g'`. If it returns `nextcloud`, you need to rename the owner in the dump file manually. A command like the following should work, however please note that it is possible that it will overwrite wrong lines. You can thus first check which lines it will change with `grep "Owner: nextcloud$" database-dump.sql`. If only correct looking lines get returned, feel free to change them with `sed -i 's|Owner: nextcloud$|Owner: ncadmin|' database-dump.sql`.
1. Next, copy the database dump into the correct place and prepare the database container which will import from the database dump automatically the next container start:
```
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 /var/lib/docker/volumes/nextcloud_aio_database_dump/_data/initial-cleanup-done
sudo docker run --rm --volume nextcloud_aio_database_dump:/mnt/data:rw alpine rm /mnt/data/database-dump.sql
sudo docker cp database-dump.sql nextcloud-aio-database:/mnt/data/
sudo docker run --rm --volume nextcloud_aio_database_dump:/mnt/data:rw alpine chmod 777 /mnt/data/database-dump.sql
sudo docker run --rm --volume nextcloud_aio_database_dump:/mnt/data:rw alpine rm /mnt/data/initial-cleanup-done
```
1. If the commands above were executed successfully, restore the datadirectory of your former instance into your datadirectory: `/var/lib/docker/volumes/nextcloud_aio_nextcloud_data/_data/`. Be aware if you have changed the standard path of your datadirectory like described [here](https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir).
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 on the datadirectory.
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. If the commands above were executed successfully, restore the datadirectory of your former instance into your datadirectory: `sudo docker run --rm --volume nextcloud_aio_nextcloud_data:/mnt/ncdata:rw alpine sh -c "rm -rf /mnt/ncdata/*"` and `sudo docker cp --follow-link /path/to/nextcloud/data/ nextcloud-aio-nextcloud:/mnt/ncdata/` Note: the `/` at the end are necessary. (Or if `NEXTCLOUD_DATADIR` was provided, first delete the files in there and then copy the files to the chosen path.)
1. Next, run `sudo docker run --rm --volume nextcloud_aio_nextcloud_data:/mnt/ncdata:rw alpine chown -R 33:0 /mnt/ncdata/` and `sudo docker run --rm --volume nextcloud_aio_nextcloud_data:/mnt/ncdata:rw alpine chmod -R 750 /mnt/ncdata/` to apply the correct permissions on the datadirectory. (Or if `NEXTCLOUD_DATADIR` was provided, apply `chown -R 33:0` and `chmod -R 750` to the chosen path.)
1. Edit the Nextcloud AIO config.php file using `sudo docker run -it --rm --volume nextcloud_aio_nextcloud:/var/www/html:rw alpine sh -c "apk add --no-cache nano && nano /var/www/html/config/config.php"` 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. As last step, install all apps again that were installed before on your old instance by using the webinterface.

View File

@@ -9,13 +9,13 @@
"ext-json": "*",
"ext-sodium": "*",
"ext-curl": "*",
"slim/slim": "4.*",
"php-di/slim-bridge": "3.*",
"guzzlehttp/guzzle": "7.*",
"guzzlehttp/psr7": "2.*",
"http-interop/http-factory-guzzle": "1.*",
"slim/twig-view": "3.*",
"slim/csrf": "1.*",
"slim/slim": "^4.11",
"php-di/slim-bridge": "^3.3",
"guzzlehttp/guzzle": "^7.5",
"guzzlehttp/psr7": "^2.4",
"http-interop/http-factory-guzzle": "^1.2",
"slim/twig-view": "^3.3",
"slim/csrf": "^1.3",
"ext-apcu": "*"
},
"scripts": {

36
php/composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "98f51eb5b87b52c52674f503a131269f",
"content-hash": "ca8e9b0dbbbd88c096dd8f2bda37a315",
"packages": [
{
"name": "guzzlehttp/guzzle",
@@ -397,16 +397,16 @@
},
{
"name": "laravel/serializable-closure",
"version": "v1.2.2",
"version": "v1.3.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/serializable-closure.git",
"reference": "47afb7fae28ed29057fdca37e16a84f90cc62fae"
"reference": "f23fe9d4e95255dacee1bf3525e0810d1a1b0f37"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/47afb7fae28ed29057fdca37e16a84f90cc62fae",
"reference": "47afb7fae28ed29057fdca37e16a84f90cc62fae",
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/f23fe9d4e95255dacee1bf3525e0810d1a1b0f37",
"reference": "f23fe9d4e95255dacee1bf3525e0810d1a1b0f37",
"shasum": ""
},
"require": {
@@ -453,7 +453,7 @@
"issues": "https://github.com/laravel/serializable-closure/issues",
"source": "https://github.com/laravel/serializable-closure"
},
"time": "2022-09-08T13:45:54+00:00"
"time": "2023-01-30T18:31:20+00:00"
},
{
"name": "nikic/fast-route",
@@ -562,16 +562,16 @@
},
{
"name": "php-di/php-di",
"version": "7.0.1",
"version": "7.0.2",
"source": {
"type": "git",
"url": "https://github.com/PHP-DI/PHP-DI.git",
"reference": "1c7f1cc9cf6f51ff7f5f44bb1fa59243fcb7474a"
"reference": "5d1a8664e24f23b25e0426bbcb1288287fb49181"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/1c7f1cc9cf6f51ff7f5f44bb1fa59243fcb7474a",
"reference": "1c7f1cc9cf6f51ff7f5f44bb1fa59243fcb7474a",
"url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/5d1a8664e24f23b25e0426bbcb1288287fb49181",
"reference": "5d1a8664e24f23b25e0426bbcb1288287fb49181",
"shasum": ""
},
"require": {
@@ -619,7 +619,7 @@
],
"support": {
"issues": "https://github.com/PHP-DI/PHP-DI/issues",
"source": "https://github.com/PHP-DI/PHP-DI/tree/7.0.1"
"source": "https://github.com/PHP-DI/PHP-DI/tree/7.0.2"
},
"funding": [
{
@@ -631,7 +631,7 @@
"type": "tidelift"
}
],
"time": "2023-01-13T22:30:45+00:00"
"time": "2023-02-07T17:34:03+00:00"
},
{
"name": "php-di/slim-bridge",
@@ -1646,16 +1646,16 @@
},
{
"name": "twig/twig",
"version": "v3.5.0",
"version": "v3.5.1",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "3ffcf4b7d890770466da3b2666f82ac054e7ec72"
"reference": "a6e0510cc793912b451fd40ab983a1d28f611c15"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/3ffcf4b7d890770466da3b2666f82ac054e7ec72",
"reference": "3ffcf4b7d890770466da3b2666f82ac054e7ec72",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/a6e0510cc793912b451fd40ab983a1d28f611c15",
"reference": "a6e0510cc793912b451fd40ab983a1d28f611c15",
"shasum": ""
},
"require": {
@@ -1706,7 +1706,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
"source": "https://github.com/twigphp/Twig/tree/v3.5.0"
"source": "https://github.com/twigphp/Twig/tree/v3.5.1"
},
"funding": [
{
@@ -1718,7 +1718,7 @@
"type": "tidelift"
}
],
"time": "2022-12-27T12:28:18+00:00"
"time": "2023-02-08T07:49:20+00:00"
}
],
"packages-dev": [],

View File

@@ -15,6 +15,12 @@
"image": {
"type": "string"
},
"expose": {
"type": "array",
"items": {
"type": "string"
}
},
"depends_on": {
"type": "array",
"items": {

View File

@@ -47,6 +47,9 @@
"container_name": "nextcloud-aio-database",
"display_name": "Database",
"image": "nextcloud/aio-postgresql",
"expose": [
"5432"
],
"internal_port": "5432",
"secrets": [
"DATABASE_PASSWORD"
@@ -84,6 +87,10 @@
],
"display_name": "Nextcloud",
"image": "nextcloud/aio-nextcloud",
"expose": [
"9000",
"7867"
],
"internal_port": "9000",
"secrets": [
"DATABASE_PASSWORD",
@@ -164,6 +171,9 @@
"container_name": "nextcloud-aio-redis",
"display_name": "Redis",
"image": "nextcloud/aio-redis",
"expose": [
"6379"
],
"internal_port": "6379",
"environment": [
"REDIS_HOST_PASSWORD=%REDIS_PASSWORD%",
@@ -186,12 +196,16 @@
"container_name": "nextcloud-aio-collabora",
"display_name": "Collabora",
"image": "nextcloud/aio-collabora",
"expose": [
"9980"
],
"internal_port": "9980",
"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 %COLLABORA_SECCOMP_POLICY% --o:remote_font_config.url=https://%NC_DOMAIN%/apps/richdocuments/settings/fonts.json",
"dictionaries=%COLLABORA_DICTIONARIES%",
"TZ=%TIMEZONE%"
"TZ=%TIMEZONE%",
"server_name=%NC_DOMAIN%"
],
"volumes": [
{
@@ -218,6 +232,9 @@
"protocol": "udp"
}
],
"expose": [
"8081"
],
"internal_port": "%TALK_PORT%",
"environment": [
"NC_DOMAIN=%NC_DOMAIN%",
@@ -341,6 +358,9 @@
"container_name": "nextcloud-aio-clamav",
"display_name": "ClamAV",
"image": "nextcloud/aio-clamav",
"expose": [
"3310"
],
"internal_port": "3310",
"environment": [
"TZ=%TIMEZONE%",
@@ -359,6 +379,9 @@
"container_name": "nextcloud-aio-onlyoffice",
"display_name": "OnlyOffice",
"image": "nextcloud/aio-onlyoffice",
"expose": [
"80"
],
"internal_port": "80",
"environment": [
"TZ=%TIMEZONE%",
@@ -382,6 +405,9 @@
"container_name": "nextcloud-aio-imaginary",
"display_name": "Imaginary",
"image": "nextcloud/aio-imaginary",
"expose": [
"9000"
],
"internal_port": "9000",
"environment": [
"TZ=%TIMEZONE%"
@@ -392,11 +418,15 @@
"container_name": "nextcloud-aio-fulltextsearch",
"display_name": "Fulltextsearch",
"image": "nextcloud/aio-fulltextsearch",
"expose": [
"9200"
],
"internal_port": "9200",
"environment": [
"TZ=%TIMEZONE%",
"discovery.type=single-node",
"ES_JAVA_OPTS=-Xms1024M -Xmx1024M"
"ES_JAVA_OPTS=-Xms1024M -Xmx1024M",
"POSTGRES_HOST=nextcloud-aio-database"
],
"volumes": [
{

View File

@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="5.4.0@62db5d4f6a7ae0a20f7cc5a4952d730272fc0863"/>
<files psalm-version="5.6.0@e784128902dfe01d489c4123d69918a9f3c1eac5"/>

View File

@@ -134,6 +134,10 @@ class ConfigurationManager
}
public function isClamavEnabled() : bool {
if (!$this->isx64Platform()) {
return false;
}
$config = $this->GetConfig();
if (isset($config['isClamavEnabled']) && $config['isClamavEnabled'] === 1) {
return true;
@@ -449,10 +453,12 @@ class ConfigurationManager
throw new InvalidSettingConfigurationException(DataConst::GetDataDirectory() . " does not exist! Something was set up falsely!");
}
$df = disk_free_space(DataConst::GetDataDirectory());
if ($df !== false && (int)$df < 10240) {
$content = json_encode($config, JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
$size = strlen($content) + 10240;
if ($df !== false && (int)$df < $size) {
throw new InvalidSettingConfigurationException(DataConst::GetDataDirectory() . " does not have enough space for writing the config file! Not writing it back!");
}
file_put_contents(DataConst::GetConfigFile(), json_encode($config, JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT));
file_put_contents(DataConst::GetConfigFile(), $content);
}
private function GetEnvironmentalVariableOrConfig(string $envVariableName, string $configName, string $defaultValue) : string {

View File

@@ -372,6 +372,7 @@ class DockerActionManager
$portWithProtocol = $value->port . '/' . $value->protocol;
$exposedPorts[$portWithProtocol] = null;
}
$requestBody['HostConfig']['NetworkMode'] = 'nextcloud-aio';
} else {
$requestBody['HostConfig']['NetworkMode'] = 'host';
}
@@ -539,6 +540,7 @@ class DockerActionManager
apcu_add($cacheKey, $tag);
/**
* @psalm-suppress TypeDoesNotContainNull
* @psalm-suppress DocblockTypeContradiction
*/
if ($tag === null) {
error_log("No tag was found when getting the current channel. You probably did not follow the documentation correctly. Changing the channel to the default 'latest'.");
@@ -621,11 +623,11 @@ class DockerActionManager
}
}
public function DisconnectContainerFromNetwork(Container $container) : void
private function DisconnectContainerFromBridgeNetwork(string $id) : void
{
$url = $this->BuildApiUrl(
sprintf('networks/%s/disconnect', 'nextcloud-aio')
sprintf('networks/%s/disconnect', 'bridge')
);
try {
@@ -634,12 +636,11 @@ class DockerActionManager
$url,
[
'json' => [
'container' => $container->GetIdentifier(),
'container' => $id,
],
]
);
} catch (RequestException $e) {
error_log('Could not disconnect container from network ' . $e->getMessage());
}
}
@@ -698,6 +699,7 @@ class DockerActionManager
public function ConnectMasterContainerToNetwork() : void
{
$this->ConnectContainerIdToNetwork('nextcloud-aio-mastercontainer', '');
$this->DisconnectContainerFromBridgeNetwork('nextcloud-aio-mastercontainer');
}
public function ConnectContainerToNetwork(Container $container) : void

View File

@@ -39,7 +39,7 @@ class DockerHubManager
'https://registry-1.docker.io/v2/'.$name.'/manifests/' . $tag,
[
'headers' => [
'Accept' => 'application/vnd.docker.distribution.manifest.v2+json',
'Accept' => 'application/vnd.oci.image.index.v1+json,application/vnd.docker.distribution.manifest.list.v2+json,application/vnd.docker.distribution.manifest.v2+json',
'Authorization' => 'Bearer ' . $authToken,
],
]

View File

@@ -16,7 +16,7 @@
</header>
<div class="content">
<h1>Nextcloud AIO v4.2.0</h1>
<h1>Nextcloud AIO v4.4.0</h1>
{# Add 2nd tab warning #}
<script type="text/javascript" src="second-tab-warning.js"></script>
@@ -163,8 +163,10 @@
</form>
The folder path that you enter must start with <b>/</b> and must <b>not</b> end with <b>/</b>.<br><br>
An example for Linux is <b>/mnt/backup</b>.<br>
On Synology it could be <b>/volume1/docker/nextcloud/backup</b>.<br>
For macOS it may be <b>/var/backup</b>.<br>
On Windows it must be <b>nextcloud_aio_backupdir</b>. You need to create the 'nextcloud_aio_backupdir' volume beforehand by following this documentation: <a href="https://github.com/nextcloud/all-in-one#how-to-run-aio-on-windows"><b>click here</b></a><br><br>
On Windows it might be <b>/run/desktop/mnt/host/c/backup</b>. (This path is equivalent to 'C:\backup' on your Windows host so you need to translate the path accordingly. Hint: the path that you enter needs to start with '/run/desktop/mnt/host/'. Append to that the exact location on your windows host, e.g. 'c/backup' which is equivalent to 'C:\backup'.)<br>
Another option is to enter a specific volume name here: <b>nextcloud_aio_backupdir</b>. This volume needs to be created beforehand manually by you in order to be able to use it.<br><br>
⚠️ Please note that the backup archive must be located in a subfolder of the folder that you enter here and the subfolder which contains the archive must be named 'borg'. Otherwise will the backup container not find the backup archive!<br><br>
{% endif %}
{% else %}
@@ -325,8 +327,10 @@
</form>
The folder path that you enter must start with <b>/</b> and must <b>not</b> end with <b>/</b>.<br><br>
An example for Linux is <b>/mnt/backup</b>.<br>
On Synology it could be <b>/volume1/docker/nextcloud/backup</b>.<br>
For macOS it may be <b>/var/backup</b>.<br>
On Windows it must be <b>nextcloud_aio_backupdir</b>. You need to create the 'nextcloud_aio_backupdir' volume beforehand by following this documentation: <a href="https://github.com/nextcloud/all-in-one#how-to-run-aio-on-windows"><b>click here</b></a><br><br>
On Windows it might be <b>/run/desktop/mnt/host/c/backup</b>. (This path is equivalent to 'C:\backup' on your Windows host so you need to translate the path accordingly. Hint: the path that you enter needs to start with '/run/desktop/mnt/host/'. Append to that the exact location on your windows host, e.g. 'c/backup' which is equivalent to 'C:\backup'.)<br>
Another option is to enter a specific volume name here: <b>nextcloud_aio_backupdir</b>. This volume needs to be created beforehand manually by you in order to be able to use it.<br><br>
{% endif %}
{% endif %}
@@ -486,9 +490,9 @@
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
<input type="hidden" name="options-form" value="options-form">
{% if is_clamav_enabled == true %}
<input type="checkbox" id="clamav" name="clamav" checked="checked"><label for="clamav">ClamAV (only supported on x64, needs ~1GB additional RAM)</label><br>
<input type="checkbox" id="clamav" name="clamav" checked="checked"><label for="clamav">ClamAV (Antivirus backend for Nextcloud, only supported on x64, needs ~1GB additional RAM)</label><br>
{% else %}
<input type="checkbox" id="clamav" name="clamav"><label for="clamav">ClamAV (only supported on x64, needs ~1GB additional RAM)</label><br>
<input type="checkbox" id="clamav" name="clamav"><label for="clamav">ClamAV (Antivirus backend for Nextcloud, only supported on x64, needs ~1GB additional RAM)</label><br>
{% endif %}
{% if is_collabora_enabled == true %}
<input type="checkbox" id="collabora" name="collabora" checked="checked"><label for="collabora">Collabora (Nextcloud Office)</label><br>
@@ -501,9 +505,9 @@
<input type="checkbox" id="fulltextsearch" name="fulltextsearch"><label for="fulltextsearch">Fulltextsearch (needs ~1GB additional RAM)</label><br>
{% endif %}
{% if is_imaginary_enabled == true %}
<input type="checkbox" id="imaginary" name="imaginary" checked="checked"><label for="imaginary">Imaginary</label><br>
<input type="checkbox" id="imaginary" name="imaginary" checked="checked"><label for="imaginary">Imaginary (for previews of heic, heif, illustrator, pdf, svg, tiff and webp)</label><br>
{% else %}
<input type="checkbox" id="imaginary" name="imaginary"><label for="imaginary">Imaginary</label><br>
<input type="checkbox" id="imaginary" name="imaginary"><label for="imaginary">Imaginary (for previews of heic, heif, illustrator, pdf, svg, tiff and webp)</label><br>
{% endif %}
{% if is_talk_enabled == true %}
<input type="checkbox" id="talk" name="talk" checked="checked"><label for="talk">Nextcloud Talk (needs ports {{ talk_port }}/TCP and {{ talk_port }}/UDP open in your firewall/router)</label><br><br>

View File

@@ -19,5 +19,9 @@
{% endif %}
</div>
</div>
<script type="text/javascript" src="before-unload.js"></script>
<div id="overlay">
<div class="loader"></div>
</div>
{% endblock %}

119
readme.md
View File

@@ -7,18 +7,21 @@ Included are:
- High performance backend for Nextcloud Files
- High performance backend for Nextcloud Talk
- Backup solution (based on [BorgBackup](https://github.com/borgbackup/borg#what-is-borgbackup))
- Imaginary
- ClamAV
- Imaginary (for previews of heic, heif, illustrator, pdf, svg, tiff and webp)
- ClamAV (Antivirus backend for Nextcloud)
- Fulltextsearch
## How to use this?
The following instructions are especially meant for Linux. For macOS see [this](#how-to-run-aio-on-macos), for Windows see [this](#how-to-run-aio-on-windows). Also, the instructions are meant for installations without a reverse proxy already being in place. If you want to run AIO behind a reverse proxy, see the [reverse proxy documentation](https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md).
1. Install Docker on your Linux installation by following the official documentation: https://docs.docker.com/engine/install/#server. The easiest way is installing it by **using the convenience script** (`curl -fsSL get.docker.com | sudo sh`).
The following instructions are meant for installations without a web server or reverse proxy (like Apache, Nginx and else) already being in place. If you want to run AIO behind a web server or reverse proxy (like Apache, Nginx and else), see the [reverse proxy documentation](https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md). Also, the instructions below are especially meant for Linux. For macOS see [this](#how-to-run-aio-on-macos), for Windows see [this](#how-to-run-aio-on-windows) and for Synology see [this](#how-to-run-aio-on-synology-dsm).
1. Install Docker on your Linux installation by following the official documentation: https://docs.docker.com/engine/install/#server. The easiest way is installing it by **using the convenience script**:
```sh
curl -fsSL get.docker.com | sudo sh
```
1. If you need ipv6 support, you should enable it by following https://docs.docker.com/config/daemon/ipv6/.
2. Run the command below in order to start the container:<br><br>
(For people that cannot use ports 80 and/or 443 on this server, please follow the [reverse proxy documentation](https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md) because port 443 is used by this project and opened on the host by default even though it does not look like this is the case. Otherwise please run the command below!)
(For people that cannot use ports 80 and/or 443 on this server e.g. because it is already taken by a different web server, please follow the [reverse proxy documentation](https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md) because port 443 is used by this project and opened on the host by default even though it does not look like this is the case. Otherwise please run the command below!)
```
# For x64 CPUs and without reverse proxy already in place:
# For Linux and without a web server or reverse proxy (like Apache, Nginx and else) already in place:
sudo docker run \
--sig-proxy=false \
--name nextcloud-aio-mastercontainer \
@@ -30,25 +33,6 @@ The following instructions are especially meant for Linux. For macOS see [this](
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
nextcloud/all-in-one:latest
```
<details>
<summary>Command for arm64 CPUs like the Raspberry Pi 4</summary>
```
# For arm64 CPUs and without reverse proxy already in place:
sudo docker run \
--sig-proxy=false \
--name nextcloud-aio-mastercontainer \
--restart always \
--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:latest-arm64
```
</details>
<details>
<summary>Explanation of the command</summary>
@@ -56,12 +40,12 @@ The following instructions are especially meant for Linux. For macOS see [this](
- `--sig-proxy=false` This option allows to exit the container shell that gets attached automatically when using `docker run` by using `[CTRL] + [C]` without shutting down the container.
- `--name nextcloud-aio-mastercontainer` This is the name of the container. This line is not allowed to be changed, since mastercontainer updates would fail.
- `--restart always` This is the "restart policy". `always` means that the container should always get started with the Docker daemon. See the Docker documentation for further detail about restart policies: https://docs.docker.com/config/containers/start-containers-automatically/
- `--publish 80:80` This means that port 80 of the container should get published on the host using port 80. It is used for getting valid certificates for the AIO interface if you want to use port 8443. It is not needed if you run AIO behind a reverse proxy and can get removed in that case as you can simply use port 8080 for the AIO interface then.
- `--publish 80:80` This means that port 80 of the container should get published on the host using port 80. It is used for getting valid certificates for the AIO interface if you want to use port 8443. It is not needed if you run AIO behind a web server or reverse proxy and can get removed in that case as you can simply use port 8080 for the AIO interface then.
- `--publish 8080:8080` This means that port 8080 of the container should get published on the host using port 8080. This port is used for the AIO interface and uses a self-signed certificate by default. You can also use a different host port if port 8080 is already used on your host, for example `--publish 8081:8080` (only the first port can be changed for the host, the second port is for the container and must remain at 8080).
- `--publish 8443:8443` This means that port 8443 of the container should get published on the host using port 8443. If you publish port 80 and 8443 to the public internet, you can access the AIO interface via this port with a valid certificate. It is not needed if you run AIO behind a reverse proxy and can get removed in that case as you can simply use port 8080 for the AIO interface then.
- `--publish 8443:8443` This means that port 8443 of the container should get published on the host using port 8443. If you publish port 80 and 8443 to the public internet, you can access the AIO interface via this port with a valid certificate. It is not needed if you run AIO behind a web server or reverse proxy and can get removed in that case as you can simply use port 8080 for the AIO interface then.
- `--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config` This means that the files that are created by the mastercontainer will be stored in a docker volume that is called `nextcloud_aio_mastercontainer`. This line is not allowed to be changed, since built-in backups would fail later on.
- `--volume /var/run/docker.sock:/var/run/docker.sock:ro` The docker socket is mounted into the container which is used for spinning up all the other containers and for further features. It needs to be adjusted on Windows/macOS and on docker rootless. See the applicable documentation on this. If adjusting, don't forget to also set `DOCKER_SOCKET_PATH`! If you dislike this, see https://github.com/nextcloud/all-in-one/discussions/500#discussioncomment-2740767 and the whole thread for options.
- `nextcloud/all-in-one:latest` or `nextcloud/all-in-one:latest-arm64` This is the docker container image that is used. See https://github.com/nextcloud/all-in-one/discussions/490 for why there are different images for the different CPU architectures.
- `nextcloud/all-in-one:latest` This is the docker container image that is used.
- Further options can be set using environment variables, for example `-e NEXTCLOUD_DATADIR="/mnt/ncdata"` (This is an example for Linux. See [this](https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir) for other OS' and for an explanation of what this value does. This specific one needs to be specified upon the first startup if you want to change it to a specific path instead of the default Docker volume). To see explanations and examples for further variables (like changing the location of Nextcloud's datadir or mounting some locations as external storage into the Nextcloud container), read through this readme and look at the docker-compose file: https://github.com/nextcloud/all-in-one/blob/main/docker-compose.yml
</details>
@@ -91,7 +75,9 @@ Only those (if you access the Mastercontainer Interface internally via port 8080
- `3478/TCP` and `3478/UDP`: will be used by the Turnserver inside the Talk container and needs to be open in your firewall/router
### How to run AIO on macOS?
On macOS, there are two things different in comparison to Linux: instead of using `--volume /var/run/docker.sock:/var/run/docker.sock:ro`, you need to use `--volume /var/run/docker.sock.raw:/var/run/docker.sock:ro` to run it after you installed [Docker Desktop](https://www.docker.com/products/docker-desktop/). You also need to add `-e DOCKER_SOCKET_PATH="/var/run/docker.sock.raw"`to the startup command. Apart from that it should work and behave the same like on Linux.
On macOS, there is only one thing different in comparison to Linux: instead of using `--volume /var/run/docker.sock:/var/run/docker.sock:ro`, you need to use `--volume /var/run/docker.sock.raw:/var/run/docker.sock:ro` to run it after you installed [Docker Desktop](https://www.docker.com/products/docker-desktop/). Apart from that it should work and behave the same like on Linux.
Also, you may be interested in adjusting Nextcloud's Datadir to store the files on the host system. See [this documentation](https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir) on how to do it.
### How to run AIO on Windows?
On Windows, the following command should work in the command prompt after you installed [Docker Desktop](https://www.docker.com/products/docker-desktop/):
@@ -109,29 +95,37 @@ docker run ^
nextcloud/all-in-one:latest
```
**Please note:** In order to make the built-in backup solution able to back up to the host system, you need to create a volume with the name `nextcloud_aio_backupdir` beforehand:
```
docker volume create ^
--driver local ^
--name nextcloud_aio_backupdir ^
-o device="/host_mnt/c/your/backup/path" ^
-o type="none" ^
-o o="bind"
```
(The value `/host_mnt/c/your/backup/path` in this example would be equivalent to `C:\your\backup\path` on the Windows host. So you need to translate the path that you want to use into the correct format.) ⚠️️ **Attention**: Make sure that the path exists on the host before you create the volume! Otherwise everything will bug out!
Also, you may be interested in adjusting Nextcloud's Datadir to store the files on the host system. See [this documentation](https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir) on how to do it.
⚠️ **Please note:** Almost all commands in this project's documentation use `sudo docker ...`. Since `sudo` is not available on Windows, you simply remove `sudo` from the commands and they should work.
### How to run AIO on Synology DSM
On Synology, there are two things different in comparison to Linux: instead of using `--volume /var/run/docker.sock:/var/run/docker.sock:ro`, you need to use `--volume /volume1/docker/docker.sock:/var/run/docker.sock:ro` to run it. You also need to add `-e DOCKER_SOCKET_PATH="/volume1/docker/docker.sock"`to the startup command. Apart from that it should work and behave the same like on Linux. Obviously the Synology Docker GUI will not work with that so you will need to either use SSH or create a user-defined script task in the task scheduler as the user 'root' in order to run the command.
Also, you may be interested in adjusting Nextcloud's Datadir to store the files on the host system. See [this documentation](https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir) on how to do it.
You'll also need to adjust Synology's firewall, see below:
<details>
<summary>Click here to expand</summary>
The Synology DSM is vulnerable to attacks with it's open ports and login interfaces, which is why a firewall setup is always recommended. If a firewall is activated it is necessary to have exceptions for ports 80,443, the subnet of the docker bridge which includes the nextcloud containers, your public static IP (if you don't use DDNS) and if applicable your NC-Talk ports 3478 TCP+UDP:
![Screenshot 2023-01-19 at 14 13 48](https://user-images.githubusercontent.com/70434961/213677995-71a9f364-e5d2-49e5-831e-4579f217c95c.png)
If you have the NAS setup on your local network (which is most often the case) you will need to setup the Synology DNS to be able to access Nextcloud from your network via its domain. Also don't forget to add the new DNS to your DHCP server and your fixed IP settings:
![Screenshot 2023-01-20 at 12 13 44](https://user-images.githubusercontent.com/70434961/213683295-0b39a2bd-7a26-414c-a408-127dd4f07826.png)
</details>
### How to run AIO with Portainer?
The easiest way to run it with Portainer on Linux is to use Portainer's stacks feature and use [this docker-compose file](./docker-compose.yml) in order to start AIO correctly.
### Notes on Cloudflare (proxy/tunnel)
- It is known that the domain validation may not work correctly behind Cloudflare. You can simply skip it in that case by following: https://github.com/nextcloud/all-in-one#how-to-skip-the-domain-validation
- Make sure to [disable Cloudflares Rocket Loader feature](https://help.nextcloud.com/t/login-page-not-working-solved/149417/8) as otherwise Nextcloud's login prompt will not be shown.
- Cloudflare only supports uploading files up to 100 MB in the free plan, if you try to upload bigger files you will get an error (413 - Payload Too Large). If you need to upload bigger files, you need to disable the proxy option in your DNS settings, or you must use another proxy than Cloudflare tunnels. Both options will disable Cloudflare DDoS protection.
- It is very likely that the in AIO included collabora (Nextcloud Office) does not work out of the box behind Cloudflare. You need to follow https://github.com/nextcloud/all-in-one/discussions/1358 in order to resolve this yourself. There is unfortunately no secure way to automate this for you.
- Cloudflare only supports uploading files up to 100 MB in the free plan, if you try to upload bigger files you will get an error (413 - Payload Too Large) if no chunking is used (e.g. for public uploads in the web, or if chunks are configured to be bigger than 100 MB in the clients or the web). If you need to upload bigger files, you need to disable the proxy option in your DNS settings, or you must use another proxy than Cloudflare tunnels. Both options will disable Cloudflare DDoS protection.
- It is known that the in AIO included collabora (Nextcloud Office) does not work out of the box behind Cloudflare. To make it work, you need to add all [Cloudflare IP-ranges](https://www.cloudflare.com/ips/) to the wopi-allowlist in `https://yourdomain.com/settings/admin/richdocuments`
- If you get an error in Nextcloud's admin overview that the HSTS header is not set correctly, you might need to enable it in Cloudflare manually.
- If you are using AIO's built-in Reverse Proxy and don't use your own, then may the certificate issuing possibly not work out-of-the-box because Cloudflare might block the attempt. In that case you need to disable the Proxy feature at least temporarily in order to make it work. See https://github.com/nextcloud/all-in-one/discussions/1101.
- The built-in High performance backend for Nextcloud Talk will potentially not work out-of-the-box since it needs a separate port (by default 3478 or as chosen) available on the same domain. If you still want to use the feature, you will need to adjust and test your settings in `https://yourdomain.com/settings/admin/talk`.
@@ -139,6 +133,18 @@ The easiest way to run it with Portainer on Linux is to use Portainer's stacks f
### How to run Nextcloud behind a Cloudflare Tunnel?
Although it does not seems like it is the case but from AIO perspective a Cloudflare Tunnel works like a reverse proxy. So please follow the [reverse proxy documentation](./reverse-proxy.md) where is documented how to make it run behind a Cloudflare Tunnel.
### Disrecommended VPS providers
- Stratos VPS crash/freeze/make errors when they reach an extremely low PID limit, which is very quickly reached by AIO, see [here](https://github.com/nextcloud/all-in-one/discussions/1747#discussioncomment-4716164), Strato does normally not increase this limit.
- Hostingers VPS seem to miss a specifc Kernel feature which is required for AIO to run correctly. See [here](https://help.nextcloud.com/t/help-installing-nc-via-aio-on-vps/153956).
### Recommended VPS
In general recommended VPS are those that are KVM/non-virtualized as Docker should work best on them.
### Note on storage options
- SD-cards are discrecommended for AIO since they cripple the performance and they are not meant for many write operations which is needed for the database and other parts
- SSD storage is recommended
- HDD storage should work as well but is of course much slower than SSD storage
### How to get Nextcloud running using the ACME DNS-challenge?
You can install AIO in reverse proxy mode where is also documented how to get it running using the ACME DNS-challenge for getting a valid certificate for AIO. See the [reverse proxy documentation](./reverse-proxy.md). (Meant is the `Caddy with ACME DNS-challenge` section).
@@ -180,7 +186,7 @@ See https://dev.to/ozorest/fedora-32-how-to-solve-docker-internal-network-issue-
Simply run the following: `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ your-command`. Of course `your-command` needs to be exchanged with the command that you want to run.
### How to resolve `Security & setup warnings displays the "missing default phone region" after initial install`?
Simply run the following command: `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:system:set default_phone_region --value="yourvalue"`. Of course you need to modify `yourvalue` based on your location. Examples are `DE`, `EN` and `GB`. See this list for more codes: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements
Simply run the following command: `sudo docker exec --user www-data nextcloud-aio-nextcloud php occ config:system:set default_phone_region --value="yourvalue"`. Of course you need to modify `yourvalue` based on your location. Examples are `DE`, `EN` and `GB`. See this list for more codes: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements
### How to run multiple AIO instances on one server?
See [multiple-instances.md](./multiple-instances.md) for some documentation on this.
@@ -192,7 +198,7 @@ Nextcloud features a built-in bruteforce protection which may get triggered and
This project values stability over new features. That means that when a new major Nextcloud update gets introduced, we will wait at least until the first patch release, e.g. `24.0.1` is out before upgrading to it. Also we will wait with the upgrade until all important apps are compatible with the new major version. Minor or patch releases for Nextcloud and all dependencies as well as all containers will be updated to new versions as soon as possible but we try to give all updates first a good test round before pushing them. That means that it can take around 2 weeks before new updates reach the `latest` channel. If you want to help testing, you can switch to the `beta` channel by following [this documentation](#how-to-switch-the-channel) which will also give you the updates earlier.
### How to switch the channel?
You can switch to a different channel like e.g. the beta channel or from the beta channel back to the latest channel by stopping the mastercontainer, removing it (no data will be lost) and recreating the container using the same command that you used initially to create the mastercontainer. For the beta channel on x64 you need to change the last line `nextcloud/all-in-one:latest` to `nextcloud/all-in-one:beta` and vice versa. For arm64 it is `nextcloud/all-in-one:latest-arm64` and `nextcloud/all-in-one:beta-arm64`, respectively.
You can switch to a different channel like e.g. the beta channel or from the beta channel back to the latest channel by stopping the mastercontainer, removing it (no data will be lost) and recreating the container using the same command that you used initially to create the mastercontainer. You simply need to change the last line `nextcloud/all-in-one:latest` to `nextcloud/all-in-one:beta` and vice versa.
### How to update the containers?
If we push new containers to `latest`, you will see in the AIO interface below the `containers` section that new container updates were found. In this case, just press `Stop containers` and `Start containers` in order to update the containers. The mastercontainer has its own update procedure though. See below. And don't forget to back up the current state of your instance using the built-in backup solution before starting the containers again! Otherwise you won't be able to restore your instance easily if something should break during the update.
@@ -207,7 +213,7 @@ If your Nextcloud is running and you are logged in as admin in your Nextcloud, y
### How to change the domain?
**⚠️ Please note:** Editing the configuration.json manually and making a mistake may break your instance so please create a backup first!
If you set up a new AIO instance, you need to enter a domain. Currently there is no way to change this domain afterwards from the AIO interface. So in order to change it, you need to edit the configuration.json manually that is most likely stored in `/var/lib/docker/volumes/nextcloud_aio_mastercontainer/_data/data/configuration.json`, subsitute each occurrence of your old domain with your new domain and save and write out the file. Afterwards restart your containers from the AIO interface and everything should work as expected if the new domain is correctly configured.<br>
If you set up a new AIO instance, you need to enter a domain. Currently there is no way to change this domain afterwards from the AIO interface. So in order to change it, you need to edit the configuration.json manually using `sudo docker run -it --rm --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config:rw alpine sh -c "apk add --no-cache nano && nano /mnt/docker-aio-config/data/configuration.json"`, subsitute each occurrence of your old domain with your new domain and save and write out the file. Afterwards restart your containers from the AIO interface and everything should work as expected if the new domain is correctly configured.<br>
If you are running AIO behind a reverse proxy, you need to obviously also change the domain in your reverse proxy config.
### How to properly reset the instance?
@@ -219,6 +225,7 @@ Here is how to reset the AIO instance properly:
1. Stop all containers if they are running from the AIO interface
1. Stop the mastercontainer with `sudo docker stop nextcloud-aio-mastercontainer`
1. If the domaincheck container is still running, stop it with `sudo docker stop nextcloud-aio-domaincheck`
1. Check that no AIO containers are running anymore by running `sudo docker ps --format {{.Names}}`. If no `nextcloud-aio` containers are listed, you can proceed with the steps below. If there should be some, you will need to stop them with `sudo docker stop <container_name>` until no one is listed anymore.
1. Check which containers are stopped: `sudo docker ps --filter "status=exited"`
1. Now remove all these stopped containers with `sudo docker container prune`
1. Delete the docker network with `sudo docker network rm nextcloud-aio`
@@ -431,7 +438,8 @@ You can configure the Nextcloud container to use a specific directory on your ho
- An example for Linux is `-e NEXTCLOUD_DATADIR="/mnt/ncdata"`.
- On macOS it might be `-e NEXTCLOUD_DATADIR="/var/nextcloud-data"`
- For Synology it may be `-e NEXTCLOUD_DATADIR="/volume1/docker/nextcloud/data"`.
- On Windows it must be `-e NEXTCLOUD_DATADIR="nextcloud_aio_nextcloud_datadir"`. In order to use this, you need to create the `nextcloud_aio_nextcloud_datadir` volume beforehand:
- On Windows it might be `-e NEXTCLOUD_DATADIR="/run/desktop/mnt/host/c/ncdata"`. (This path is equivalent to `C:\backup` on your Windows host so you need to translate the path accordingly. Hint: the path that you enter needs to start with `/run/desktop/mnt/host/`. Append to that the exact location on your windows host, e.g. `c/ncdata` which is equivalent to `C:\ncdata`.)
- Another option is to provide a specific volume name here with: `-e NEXTCLOUD_DATADIR="nextcloud_aio_nextcloud_datadir"`. This volume needs to be created beforehand manually by you in order to be able to use it. e.g. with:
```
docker volume create ^
--driver local ^
@@ -440,7 +448,6 @@ You can configure the Nextcloud container to use a specific directory on your ho
-o type="none" ^
-o o="bind"
```
(The value `/host_mnt/c/your/data/path` in this example would be equivalent to `C:\your\data\path` on the Windows host. So you need to translate the path that you want to use into the correct format.) ⚠️️ **Attention**: Make sure that the path exists on the host before you create the volume! Otherwise everything will bug out!
### Can I use a CIFS/SMB share as Nextcloud's datadir?
@@ -489,9 +496,15 @@ By default is each PHP process in the Nextcloud container limited to a max of 51
### What can I do to fix the internal or reserved ip-address error?
If you get an error during the domain validation which states that your ip-address is an internal or reserved ip-address, you can fix this by first making sure that your domain indeed has the correct public ip-address that points to the server and then adding `--add-host yourdomain.com:<public-ip-address>` to the initial docker run command which will allow the domain validation to work correctly. And so that you know: even if the `A` record of your domain should change over time, this is no problem since the mastercontainer will not make any attempt to access the chosen domain after the initial domain validation.
### How to run this with docker rootless?
### Can I run this with Docker swarm?
Yes. For that to work, you need to use and follow the [manual-install documentation](./manual-install/).
### How to run this with Docker rootless?
You can run AIO also with docker rootless. How to do this is documented here: [docker-rootless.md](https://github.com/nextcloud/all-in-one/blob/main/docker-rootless.md)
### Can I run this with Podman instead of Docker?
No. Since Podman is not 100% compatible with the Docker API, you cannot use Podman instead of Docker (since that would add yet another platform where the maintaner would need to test on). However you can use and follow the [manual-install documentation](./manual-install/) to get AIO's containers running with Podman or use Docker rootless, as described in the above section.
### How to change the Nextcloud apps that are installed on the first startup?
You might want to adjust the Nextcloud apps that are installed upon the first startup of the Nextcloud container. You can do so by adding `-e NEXTCLOUD_STARTUP_APPS="deck twofactor_totp tasks calendar contacts"` to the docker run command of the mastercontainer and customize the value to your fitting. It must be a string with small letters a-z, spaces and hyphens or '_'. You can disable shipped and by default enabled apps by adding a hyphen in front of the appid. E.g. `-contactsinteraction`.
@@ -515,19 +528,19 @@ The [memories app](https://apps.nextcloud.com/apps/memories) allows to enable ha
When your containers run for a few days without a restart, the container logs that you can view from the AIO interface can get really huge. You can limit the loge sizes by enabling logrotate for docker container logs. Feel free to enable this by following those instructions: https://sandro-keil.de/blog/logrotate-for-docker-container/
### Access/Edit Nextcloud files/folders manually
The files and folders that you add to Nextcloud are by default stored in the following directory: `/var/lib/docker/volumes/nextcloud_aio_nextcloud_data/_data/` on the host. If needed, you can modify/add/delete files/folders there but **ATTENTION**: be very careful when doing so because you might corrupt your AIO installation! Best is to create a backup using the built-in backup solution before editing/changing files/folders in there because you will then be able to restore your instance to the backed up state.
The files and folders that you add to Nextcloud are by default stored in the following docker directory: `nextcloud_aio_nextcloud:/mnt/ncdata/` (usually `/var/lib/docker/volumes/nextcloud_aio_nextcloud_data/_data/` on linux host systems). If needed, you can modify/add/delete files/folders there but **ATTENTION**: be very careful when doing so because you might corrupt your AIO installation! Best is to create a backup using the built-in backup solution before editing/changing files/folders in there because you will then be able to restore your instance to the backed up state.
After you are done modifying/adding/deleting files/folders, don't forget to apply the correct permissions by running: `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/*` and rescan the files with `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ files:scan --all`.
After you are done modifying/adding/deleting files/folders, don't forget to apply the correct permissions by running: `sudo docker exec nextcloud-aio-nextcloud chown -R 33:0 /mnt/ncdata/` and `sudo docker exec nextcloud-aio-nextcloud chmod -R 750 /mnt/ncdata/` and rescan the files with `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ files:scan --all`.
### How to store the files/installation on a separate drive?
You can move the whole docker library and all its files including all Nextcloud AIO files and folders to a separate drive by first mounting the drive in the host OS (NTFS is not supported and ext4 is recommended as FS) and then following this tutorial: https://www.guguweb.com/2019/02/07/how-to-move-docker-data-directory-to-another-location-on-ubuntu/<br>
(Of course docker needs to be installed first for this to work.)
### How to edit Nextclouds config.php file with a texteditor?
You can edit Nextclouds config.php file directly from the host with your favorite text editor. E.g. like this: `sudo nano /var/lib/docker/volumes/nextcloud_aio_nextcloud/_data/config/config.php`. Make sure to not break the file though which might corrupt your Nextcloud instance otherwise. In best case, create a backup using the built-in backup solution before editing the file.
You can edit Nextclouds config.php file directly from the host with your favorite text editor. E.g. like this: `sudo docker run -it --rm --volume nextcloud_aio_nextcloud:/var/www/html:rw alpine sh -c "apk add --no-cache nano && nano /var/www/html/config/config.php"`. Make sure to not break the file though which might corrupt your Nextcloud instance otherwise. In best case, create a backup using the built-in backup solution before editing the file.
### Custom skeleton directory
If you want to define a custom skeleton directory, you can do so by putting your skeleton files into `/var/lib/docker/volumes/nextcloud_aio_nextcloud_data/_data/skeleton/`, applying the correct permissions with `sudo chown -R 33:0 /var/lib/docker/volumes/nextcloud_aio_nextcloud_data/_data/skeleton` and and `sudo chmod -R 750 /var/lib/docker/volumes/nextcloud_aio_nextcloud_data/_data/*` and setting the skeleton directory option with `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:system:set skeletondirectory --value="/mnt/ncdata/skeleton"`. You can read further on this option here: [click here](https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/config_sample_php_parameters.html?highlight=skeletondir#:~:text=adding%20%3Fdirect%3D1-,'skeletondirectory',-%3D%3E%20'%2Fpath%2Fto%2Fnextcloud)
If you want to define a custom skeleton directory, you can do so by copying your skeleton files `sudo docker cp --follow-link /path/to/nextcloud/skeleton/ nextcloud-aio-nextcloud:/mnt/ncdata/skeleton/`, applying the correct permissions with `sudo docker exec nextcloud-aio-nextcloud chown -R 33:0 /mnt/ncdata/skeleton/` and and `sudo docker exec nextcloud-aio-nextcloud chmod -R 750 /mnt/ncdata/skeleton/` and setting the skeleton directory option with `sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:system:set skeletondirectory --value="/mnt/ncdata/skeleton"`. You can read further on this option here: [click here](https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/config_sample_php_parameters.html?highlight=skeletondir#:~:text=adding%20%3Fdirect%3D1-,'skeletondirectory',-%3D%3E%20'%2Fpath%2Fto%2Fnextcloud)
### Fail2ban
You can configure your server to block certain ip-addresses using fail2ban as bruteforce protection. Here is how to set it up: https://docs.nextcloud.com/server/stable/admin_manual/installation/harden_server.html#setup-fail2ban. The logpath of AIO is by default `/var/lib/docker/volumes/nextcloud_aio_nextcloud/_data/data/nextcloud.log`. Do not forget to add `chain=DOCKER-USER` to your nextcloud jail config (`nextcloud.local`) otherwise the nextcloud service running on docker will still be accessible even if the IP is banned. Also, you may change the blocked ports to cover all AIO ports: by default `80,443,8080,8443,3478` (see [this](https://github.com/nextcloud/all-in-one#explanation-of-used-ports))
@@ -542,7 +555,7 @@ Netdata allows you to monitor your server using a GUI. You can install it by fol
If you want to use the user_sql app, the easiest way is to create an additional database container and add it to the docker network `nextcloud-aio`. Then the Nextcloud container should be able to talk to the database container using its name.
### phpMyAdmin, Adminer or pgAdmin
It is possible to install any of these to get a GUI for your AIO database. The pgAdmin container is recommended. You can get some docs on it here: https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html. For the container to connect to the aio-database, you need to connect the container to the docker network `nextcloud-aio` and use `nextcloud-aio-database` as database host, `oc_nextcloud` as database username and the password that you get when running `sudo grep dbpassword /var/lib/docker/volumes/nextcloud_aio_nextcloud/_data/config/config.php` as the password.
It is possible to install any of these to get a GUI for your AIO database. The pgAdmin container is recommended. You can get some docs on it here: https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html. For the container to connect to the aio-database, you need to connect the container to the docker network `nextcloud-aio` and use `nextcloud-aio-database` as database host, `oc_nextcloud` as database username and the password that you get when running `sudo docker exec nextcloud-aio-nextcloud grep dbpassword config/config.php` as the password.
### Mail server
You can configure one yourself by using either of these three recommended projects: [Docker Mailserver](https://github.com/docker-mailserver/docker-mailserver/#docker-mailserver), [Maddy Mail Server](https://github.com/foxcpp/maddy#maddy-mail-server) or [Mailcow](https://github.com/mailcow/mailcow-dockerized#mailcow-dockerized-------). Docker Mailserver and Maddy Mail Server are probably a bit easier to set up as it is possible to run them using only one container but Mailcow has much more features.

View File

@@ -1,8 +1,10 @@
# Reverse Proxy Documentation
A [reverse proxy](https://en.wikipedia.org/wiki/Reverse_proxy) is basically a web server that enables computers on the internet to access a service in a [private subnet](https://en.wikipedia.org/wiki/Private_network).
**Please note:** Publishing the AIO interface with a valid certificate to the public internet is **not** the goal of this documentation! Instead, the main goal is to publish Nextcloud with a valid certificate to the public internet which is **not** running inside the mastercontainer but in a different container! If you need a valid certificate for the AIO interface, see [point 5](#5-optional-get-a-valid-certificate-for-the-aio-interface).
In order to run Nextcloud behind a reverse proxy, you need to specify the port that the Apache container shall use, add a specific config to your reverse proxy and modify the startup command a bit. All examples below will use port `11000` as example Apache port which will be exposed on the host. Modify it to your needings.
In order to run Nextcloud behind a web server or reverse proxy (like Apache, Nginx and else), you need to specify the port that AIO's Apache container shall use, add a specific config to your web server or reverse proxy and modify the startup command a bit. All examples below will use port `11000` as example Apache port which will be exposed on the host. Modify the port to your needings.
**Attention:** The process to run Nextcloud behind a reverse proxy consists of at least steps 1, 2 and 4:
1. **Configure the reverse proxy! See [point 1](#1-add-this-to-your-reverse-proxy-config)**
@@ -14,7 +16,7 @@ In order to run Nextcloud behind a reverse proxy, you need to specify the port t
## 1. Add this to your reverse proxy config
**Please note:** Since the Apache container gets spawned by the mastercontainer, there is **NO** way to provide custom docker labels or custom environmental variables for the Apache container. So please do not attempt to do this because you will fail! Only the documented way will work!
**Please note:** Since the Apache container gets created by the mastercontainer, there is **NO** way to provide custom docker labels or custom environmental variables for the Apache container. So please do not attempt to do this because you will fail! Only the documented way will work!
### Apache
@@ -56,7 +58,7 @@ Add this as a new Apache site config:
Protocols h2 h2c http/1.1
# Solves slow upload speeds caused by http2
H2WindowSize 1048576
H2WindowSize 5242880
# SSL
SSLEngine on
@@ -258,9 +260,6 @@ server {
listen 443 ssl http2;
listen [::]:443 ssl http2; # comment to disable IPv6
# Solves slow upload speeds caused by http2
http2_body_preread_size 1048576;
server_name <your-nc-domain>;
@@ -268,9 +267,17 @@ server {
resolver localhost; # Note: you need to set a valid dns resolver here or use 127.0.0.1 / [::1] instead of localhost in the line below. See https://stackoverflow.com/a/49642310 for a better explanation
proxy_pass http://localhost:11000$request_uri; # Note: you need to change localhost to 127.0.0.1 or [::1], if you don't use a valid dns resolver in the line above
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header Early-Data $ssl_early_data;
proxy_set_header X-Forwarded-Scheme $scheme;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Accept-Encoding "";
proxy_set_header Host $host;
client_body_buffer_size 512k;
proxy_read_timeout 86400s;
client_max_body_size 0;
# Websocket
@@ -282,6 +289,7 @@ server {
ssl_certificate /etc/letsencrypt/live/<your-nc-domain>/fullchain.pem; # managed by certbot on host machine
ssl_certificate_key /etc/letsencrypt/live/<your-nc-domain>/privkey.pem; # managed by certbot on host machine
ssl_early_data on;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m; # about 40000 sessions
ssl_session_tickets off;
@@ -322,13 +330,19 @@ Apart from that, there is this: [manual-install](https://github.com/nextcloud/al
See these screenshots for a working config:
![image](https://user-images.githubusercontent.com/75573284/169556183-2999a733-de42-4008-af09-d4151719a474.png)
![grafik](https://user-images.githubusercontent.com/75573284/213889707-b7841ca0-3ea7-4321-acf6-50e1c1649442.png)
![image](https://user-images.githubusercontent.com/75573284/169555356-71f32be5-99b5-43ea-8aa7-632c8ef8fad3.png)
![grafik](https://user-images.githubusercontent.com/75573284/213889724-1ab32264-3e0c-4d83-b067-9fe9d1672fb2.png)
![image](https://user-images.githubusercontent.com/75573284/169557664-52db8713-f0ef-42ac-a161-de40280232a3.png)
![grafik](https://user-images.githubusercontent.com/75573284/213889797-42642302-b079-4378-a4a6-079f4f67058c.png)
![image](https://user-images.githubusercontent.com/75573284/169555441-dd9a42f5-aea5-4082-8e26-7adcfa4e6cfa.png)
![grafik](https://user-images.githubusercontent.com/75573284/213889746-87dbe8c5-4d1f-492f-b251-bbf82f1510d0.png)
```
client_body_buffer_size 512k;
proxy_read_timeout 86400s;
client_max_body_size 0;
```
Of course you need to modify `<your-nc-domain>` to the domain on which you want to run Nextcloud. Also change `<you>@<your-mail-provider-domain>` to a mail address of yours. Also make sure to adjust the port 11000 to match the chosen APACHE_PORT. **Please note:** The above configuration will only work if your reverse proxy is running directly on the host that is running the docker daemon. If the reverse proxy is running in a docker container, you can use the `--network host` option (or `network_mode: host` for docker-compose) when starting the reverse proxy container in order to connect the reverse proxy container to the host network. If that is not an option for you, you can alternatively instead of `localhost` use the ip-address that is displayed after running the following command on the host OS: `ip a | grep "scope global" | head -1 | awk '{print $2}' | sed 's|/.*||'` (the command only works on Linux)
@@ -348,7 +362,7 @@ See these screenshots for a working config:
![image](https://user-images.githubusercontent.com/89748315/192525606-48cab54b-866e-4964-90a8-15e71bd362fb.png)
![image](https://user-images.githubusercontent.com/89748315/192525681-c06f3b39-f510-458e-b1f2-6b2cd995e24c.png)
![image](https://user-images.githubusercontent.com/70434961/213193789-fa936edc-e307-4e6a-9a53-ae26d1bf2f42.jpg)
Of course you need to modify `<your-nc-domain>` to the domain on which you want to run Nextcloud. Also make sure to adjust the port 11000 to match the chosen APACHE_PORT. **Please note:** The above configuration will only work if your reverse proxy is running directly on the host that is running the docker daemon. If the reverse proxy is running in a docker container, you can use the `--network host` option (or `network_mode: host` for docker-compose) when starting the reverse proxy container in order to connect the reverse proxy container to the host network. If that is not an option for you, you can alternatively instead of `localhost` use the ip-address that is displayed after running the following command on the host OS: `ip a | grep "scope global" | head -1 | awk '{print $2}' | sed 's|/.*||'` (the command only works on Linux)
@@ -362,9 +376,34 @@ Of course you need to modify `<your-nc-domain>` to the domain on which you want
**Disclaimer:** It might be possible that the config below is not working 100% correctly, yet. Improvements to it are very welcome!
Traefik's building blocks (router, service, middlewares) need to be defined using dynamic configuration similar to [this](https://doc.traefik.io/traefik/providers/file/#configuration-examples) official Traefik configuration example. Using **docker labels _won't work_** because of the nature of the project.
The examples below define the dynamic configuration in YAML files. If you rather prefer TOML, use a YAML to TOML converter.
1. Add a `nextcloud.yml` to the Treafik rules folder with the following content
1. In Traefik's static configuration define a [file provider](https://doc.traefik.io/traefik/providers/file/) for dynamic providers:
```yml
# STATIC CONFIGURATION
entryPoints:
https:
address: ":443" # Create an entrypoint called "https" that uses port 443
certificatesResolvers:
# Define "letsencrypt" certificate resolver
letsencrypt:
acme:
storage: /letsencrypt/acme.json # Defines the path where certificates should be stored
email: <your-email-address> # Where LE sends notification about certificates expiring
tlschallenge: true
providers:
file:
directory: "/path/to/dynamic/conf" # Adjust the path according your needs.
watch: true
```
1. Declare the router, service and middlewares for Nextcloud in `/path/to/dynamic/conf/nextcloud.yml`:
```yml
http:
@@ -377,49 +416,38 @@ The examples below define the dynamic configuration in YAML files. If you rather
middlewares:
- nextcloud-chain
tls:
certresolver: "le"
certresolver: "letsencrypt"
services:
nextcloud:
loadBalancer:
servers:
- url: "http://localhost:11000"
```
- url: "http://localhost:11000" # Use the host's IP address if Traefik runs outside the host network
2. Add to the bottom of the `middlewares.yml` file in the Treafik rules folder the following content:
```yml
http:
middlewares:
nextcloud-secure-headers:
headers:
hostsProxyHeaders:
- "X-Forwarded-Host"
referrerPolicy: "same-origin"
customResponseHeaders:
X-Robots-Tag: "none"
https-redirect:
redirectscheme:
scheme: https
```
3. Add to the bottom of the `middleware-chains.yml` file in the Traefik rules folder the following content:
```yml
http:
middlewares:
scheme: https
nextcloud-chain:
chain:
middlewares:
# - ... (e.g. rate limiting middleware)
- "https-redirect"
- "nextcloud-secure-headers"
- https-redirect
- nextcloud-secure-headers
```
---
Of course you need to modify `<your-nextcloud-domain>` in the nextcloud.toml to the domain on which you want to run Nextcloud. Also make sure to adjust the port 11000 to match the chosen APACHE_PORT. **Please note:** The above configuration will only work if your reverse proxy is running directly on the host that is running the docker daemon. If the reverse proxy is running in a docker container, you can use the `--network host` option (or `network_mode: host` for docker-compose) when starting the reverse proxy container in order to connect the reverse proxy container to the host network. If that is not an option for you, you can alternatively instead of `localhost` use the ip-address that is displayed after running the following command on the host OS: `ip a | grep "scope global" | head -1 | awk '{print $2}' | sed 's|/.*||'` (the command only works on Linux)
Of course you need to modify `<your-nextcloud-domain>` in the `nextcloud.yml` to the domain on which you want to run Nextcloud. Also make sure to adjust the port `11000` to match the chosen `APACHE_PORT`.
**Please note:** The above configuration will only work if your reverse proxy is running directly on the host that is running the docker daemon. If the reverse proxy is running in a docker container, you can use the `--network host` option (or `network_mode: host` for docker-compose) when starting the reverse proxy container in order to connect the reverse proxy container to the host network. If that is not an option for you, you can alternatively instead of `localhost` use the ip-address that is displayed after running the following command on the host OS: `ip a | grep "scope global" | head -1 | awk '{print $2}' | sed 's|/.*||'` (the command only works on Linux)
</details>
@@ -440,7 +468,7 @@ After adjusting your reverse proxy config, use the following command to start AI
(For an docker-compose example, see the example further [below](#inspiration-for-a-docker-compose-file).)
```
# For x64 CPUs:
# For Linux:
sudo docker run \
--sig-proxy=false \
--name nextcloud-aio-mastercontainer \
@@ -452,26 +480,7 @@ sudo docker run \
nextcloud/all-in-one:latest
```
You should also think about limiting the apache container to listen only on localhost in case the reverse proxy is running on the same host by providing an additional environmental variable to this docker run command. See [point 3](#3-if-the-reverse-proxy-is-installed-on-the-same-host-you-should-configure-the-apache-container-to-only-listen-on-localhost).
<details>
<summary>Command for arm64 CPUs like the Raspberry Pi 4</summary>
```
# For arm64 CPUs:
sudo docker run \
--sig-proxy=false \
--name nextcloud-aio-mastercontainer \
--restart always \
--publish 8080:8080 \
-e APACHE_PORT=11000 \
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
nextcloud/all-in-one:latest-arm64
```
</details>
You should also think about limiting the apache container to listen only on localhost in case the reverse proxy is running on the same host and if localhost is used, by providing an additional environmental variable to this docker run command. See [point 3](#3-if-the-reverse-proxy-is-installed-on-the-same-host-you-should-configure-the-apache-container-to-only-listen-on-localhost).
On macOS see https://github.com/nextcloud/all-in-one#how-to-run-aio-on-macos.
@@ -491,8 +500,12 @@ docker run ^
nextcloud/all-in-one:latest
```
Also, you may be interested in adjusting Nextcloud's Datadir to store the files on the host system. See [this documentation](https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir) on how to do it.
</details>
On Synology DSM see https://github.com/nextcloud/all-in-one#how-to-run-aio-on-synology-dsm
### Inspiration for a docker-compose file
Simply translate the docker run command into a docker-compose file. You can have a look at [this file](https://github.com/nextcloud/all-in-one/blob/main/docker-compose.yml) for some inspiration but you will need to modify it either way. You can find further examples here: https://github.com/nextcloud/all-in-one/discussions/588

View File

@@ -10,7 +10,7 @@
- [ ] When starting the mastercontainer with `-e NEXTCLOUD_UPLOAD_LIMIT=11G` it should change Nextclouds upload limit to 11G. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-upload-limit-for-nextcloud for allowed values.
- [ ] When starting the mastercontainer with `-e NEXTCLOUD_MEMORY_LIMIT=1024M` it should change Nextclouds PHP memory limit to 1024M. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-php-memory-limit-for-nextcloud for allowed values.
- [ ] When starting the mastercontainer with `-e NEXTCLOUD_MAX_TIME=4000` it should change Nextclouds upload max time 4000s. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-max-execution-time-for-nextcloud for allowed values.
- [ ] When starting the mastercontainer with `-e DOCKER_SOCKET_PATH="/var/run/docker.sock.raw"` it should map `/var/run/docker.sock.raw` to `/var/run/docker.sock` inside the watchtower container which allow to update the mastercontainer on macos and with docker rootless.
- [ ] When starting the mastercontainer with `-e DOCKER_SOCKET_PATH="$XDG_RUNTIME_DIR/docker.sock"` it should map `$XDG_RUNTIME_DIR/docker.sock` to `/var/run/docker.sock` inside the watchtower container which allow to update the mastercontainer on docker rootless.
- [ ] When starting the mastercontainer with `-e DISABLE_BACKUP_SECTION=true` it should hide the backup section that gets shown after AIO is set up (everything of [020-backup-and-restore](./020-backup-and-restore.md)) and simply show that the backup section is disabled.
- [ ] When starting the mastercontainer with `-e NEXTCLOUD_TRUSTED_CACERTS_DIR=/path/to/my/cacerts`, the resulting nextcloud container should trust all the Certification Authorities, whose certificates are included in the directory `/path/to/my/cacerts` on the host.
See https://github.com/nextcloud/all-in-one#how-to-trust-user-defiend-certification-authorities-ca