Compare commits

..

12 Commits

Author SHA1 Message Date
Simon L
25438f8513 Merge pull request #3539 from nextcloud/aio-helm-update 2023-10-16 10:19:40 +02:00
szaimen
8ebcdf22ca Helm Chart updates
Signed-off-by: GitHub <noreply@github.com>
2023-10-16 08:17:16 +00:00
Simon L
58d37d5d78 Merge pull request #3384 from nextcloud/aio-yaml-update 2023-10-16 10:12:25 +02:00
szaimen
2ac76c80fd Yaml updates
Signed-off-by: GitHub <noreply@github.com>
2023-10-11 12:13:15 +00:00
Simon L
92aae9dfd0 Merge pull request #3492 from MarvvanPal/3399-optimisations_of_the_installation_description 2023-10-10 15:30:37 +02:00
Simon L
7d8f40c98d additional modifications
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-10 12:05:36 +02:00
Simon L
1a018d9ef2 adjust some more details
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-10 12:01:03 +02:00
Simon L
0edd0e1ed8 adjust some details in reverse proxy docs
Signed-off-by: Simon L <szaimen@e.mail.de>

Signed-off-by: Simon L. <szaimen@e.mail.de>
2023-10-10 11:57:05 +02:00
Simon L
ef2fd3817f adjust wording in docker-rootles
Signed-off-by: Simon L <szaimen@e.mail.de>

Signed-off-by: Simon L. <szaimen@e.mail.de>
2023-10-10 11:56:46 +02:00
Simon L
d6e61bc537 make some changes
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-10 11:55:45 +02:00
Marvin von Papen
510bdb9aef simplify and deduplicate description
Running a proxy manager directly on the host or in a container leads to different adaption of the example configurations. The description for this is simplified and more structured now. Additional the steps are written once and referenced per example configuration.

Signed-off-by: Marvin von Papen <79196690+MarvvanPal@users.noreply.github.com>
2023-10-06 17:47:58 +02:00
Marvin von Papen
29341e547c add path e.g. for /run/user/1000 variable
Signed-off-by: Marvin von Papen <79196690+MarvvanPal@users.noreply.github.com>
2023-10-06 13:00:28 +02:00
28 changed files with 92 additions and 249 deletions

View File

@@ -8,7 +8,8 @@ You can run AIO with docker rootless by following the steps below.
1. Do not forget to set the mentioned environmental variables `PATH` and `DOCKER_HOST` and in best case add them to your `~/.bashrc` file as shown!
1. Also do not forget to run `loginctl enable-linger USERNAME` (and substitute USERNAME with the correct one) in order to make sure that user services are automatically started after every reboot.
1. Expose the privileged ports by following https://docs.docker.com/engine/security/rootless/#exposing-privileged-ports. (`sudo setcap cap_net_bind_service=ep $(which rootlesskit); systemctl --user restart docker`)
1. Use the official AIO startup command but use `--volume $XDG_RUNTIME_DIR/docker.sock:/var/run/docker.sock:ro` instead of `--volume /var/run/docker.sock:/var/run/docker.sock:ro` and also add `--env WATCHTOWER_DOCKER_SOCKET_PATH=$XDG_RUNTIME_DIR/docker.sock` to the initial container startup (which is needed for mastercontainer updates to work correctly).
1. Use the official AIO startup command but use `--volume $XDG_RUNTIME_DIR/docker.sock:/var/run/docker.sock:ro` instead of `--volume /var/run/docker.sock:/var/run/docker.sock:ro` and also add `--env WATCHTOWER_DOCKER_SOCKET_PATH=$XDG_RUNTIME_DIR/docker.sock` to the initial container startup (which is needed for mastercontainer updates to work correctly). When you are using Portainer to deploy AIO, the variable `$XDG_RUNTIME_DIR` is not available. In this case, it is necessary to manually add the path (e.g. `/run/user/1000/docker.sock`) to the Docker compose file to replace the `$XDG_RUNTIME_DIR` variable. If you are not sure how to get the path, you can run on the host: `echo $XDG_RUNTIME_DIR`.
1. Now everything should work like without docker rootless. You can consider using docker-compose for this or running it behind a reverse proxy. Basically the only thing that needs to be adjusted always in the startup command or compose.yaml file (after installing docker rootles) are things that are mentioned in point 3.
**Please note:** All files outside the containers get created, written to and accessed as the user that is running the docker daemon or a subuid of it. So for the built-in backup to work you need to allow this user to write to the target directory. E.g. with `sudo chown -R USERNAME:GROUPNAME /mnt/backup`. The same applies when changing Nextcloud's datadir. E.g. `sudo chown -R USERNAME:GROUPNAME /mnt/ncdata`. When you want to use the NEXTCLOUD_MOUNT option for local external storage, you need to adjust the permissions of the chosen folders to be accessible/writeable by the userid `100032:100032` (if running `grep ^$(whoami): /etc/subuid` as the user that is running the docker daemon returns 100000 as first value).

View File

@@ -93,6 +93,7 @@ services:
init: true
expose:
- "9000"
- "9001"
volumes:
- nextcloud_aio_nextcloud:/var/www/html:rw
- ${NEXTCLOUD_DATADIR}:/mnt/ncdata:rw
@@ -252,7 +253,7 @@ services:
nextcloud-aio-clamav:
image: nextcloud/aio-clamav:latest
init: true
init: false
expose:
- "3310"
environment:

View File

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

View File

@@ -3,7 +3,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-apache
name: nextcloud-aio-apache
@@ -17,7 +17,7 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-apache
@@ -30,22 +30,7 @@ spec:
- "777"
- /nextcloud-aio-nextcloud
- /nextcloud-aio-apache
- /nextcloud-aio-apache-tmpfs0
- /nextcloud-aio-apache-tmpfs1
- /nextcloud-aio-apache-tmpfs2
- /nextcloud-aio-apache-tmpfs3
- /nextcloud-aio-apache-tmpfs4
volumeMounts:
- name: nextcloud-aio-apache-tmpfs4
mountPath: /nextcloud-aio-apache-tmpfs4
- name: nextcloud-aio-apache-tmpfs3
mountPath: /nextcloud-aio-apache-tmpfs3
- name: nextcloud-aio-apache-tmpfs2
mountPath: /nextcloud-aio-apache-tmpfs2
- name: nextcloud-aio-apache-tmpfs1
mountPath: /nextcloud-aio-apache-tmpfs1
- name: nextcloud-aio-apache-tmpfs0
mountPath: /nextcloud-aio-apache-tmpfs0
- name: nextcloud-aio-apache
mountPath: /nextcloud-aio-apache
- name: nextcloud-aio-nextcloud
@@ -72,33 +57,19 @@ spec:
value: nextcloud-aio-talk
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-apache:20230916_091439-latest
image: nextcloud/aio-apache:20231016_081107-latest
name: nextcloud-aio-apache
ports:
- containerPort: {{ .Values.APACHE_PORT }}
hostPort: {{ .Values.APACHE_PORT }}
protocol: TCP
- containerPort: {{ .Values.APACHE_PORT }}
hostPort: {{ .Values.APACHE_PORT }}
protocol: UDP
securityContext:
readOnlyRootFilesystem: true
volumeMounts:
- mountPath: /var/www/html
name: nextcloud-aio-nextcloud
readOnly: true
- mountPath: /mnt/data
name: nextcloud-aio-apache
- mountPath: /var/log/supervisord
name: nextcloud-aio-apache-tmpfs0
- mountPath: /var/run/supervisord
name: nextcloud-aio-apache-tmpfs1
- mountPath: /usr/local/apache2/logs
name: nextcloud-aio-apache-tmpfs2
- mountPath: /tmp
name: nextcloud-aio-apache-tmpfs3
- mountPath: /home/www-data
name: nextcloud-aio-apache-tmpfs4
volumes:
- name: nextcloud-aio-nextcloud
persistentVolumeClaim:
@@ -106,13 +77,3 @@ spec:
- name: nextcloud-aio-apache
persistentVolumeClaim:
claimName: nextcloud-aio-apache
- emptyDir: {}
name: nextcloud-aio-apache-tmpfs0
- emptyDir: {}
name: nextcloud-aio-apache-tmpfs1
- emptyDir: {}
name: nextcloud-aio-apache-tmpfs2
- emptyDir: {}
name: nextcloud-aio-apache-tmpfs3
- emptyDir: {}
name: nextcloud-aio-apache-tmpfs4

View File

@@ -3,7 +3,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-apache
name: nextcloud-aio-apache

View File

@@ -4,7 +4,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-clamav
name: nextcloud-aio-clamav
@@ -18,7 +18,7 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-clamav
@@ -30,16 +30,7 @@ spec:
- chmod
- "777"
- /nextcloud-aio-clamav
- /nextcloud-aio-clamav-tmpfs0
- /nextcloud-aio-clamav-tmpfs1
- /nextcloud-aio-clamav-tmpfs2
volumeMounts:
- name: nextcloud-aio-clamav-tmpfs2
mountPath: /nextcloud-aio-clamav-tmpfs2
- name: nextcloud-aio-clamav-tmpfs1
mountPath: /nextcloud-aio-clamav-tmpfs1
- name: nextcloud-aio-clamav-tmpfs0
mountPath: /nextcloud-aio-clamav-tmpfs0
- name: nextcloud-aio-clamav
mountPath: /nextcloud-aio-clamav
containers:
@@ -48,31 +39,16 @@ spec:
value: "90"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-clamav:20230916_091439-latest
image: nextcloud/aio-clamav:20231016_081107-latest
name: nextcloud-aio-clamav
ports:
- containerPort: 3310
hostPort: 3310
protocol: TCP
securityContext:
readOnlyRootFilesystem: true
volumeMounts:
- mountPath: /var/lib/clamav
name: nextcloud-aio-clamav
- mountPath: /var/lock
name: nextcloud-aio-clamav-tmpfs0
- mountPath: /var/log/clamav
name: nextcloud-aio-clamav-tmpfs1
- mountPath: /tmp
name: nextcloud-aio-clamav-tmpfs2
volumes:
- name: nextcloud-aio-clamav
persistentVolumeClaim:
claimName: nextcloud-aio-clamav
- emptyDir: {}
name: nextcloud-aio-clamav-tmpfs0
- emptyDir: {}
name: nextcloud-aio-clamav-tmpfs1
- emptyDir: {}
name: nextcloud-aio-clamav-tmpfs2
{{- end }}

View File

@@ -4,7 +4,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-clamav
name: nextcloud-aio-clamav

View File

@@ -4,7 +4,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-collabora
name: nextcloud-aio-collabora
@@ -18,7 +18,7 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-collabora
@@ -37,10 +37,9 @@ spec:
value: --o:ssl.enable=false --o:ssl.termination=true --o:mount_jail_tree=false --o:logging.level=warning --o:home_mode.enable=true {{ .Values.COLLABORA_SECCOMP_POLICY }} --o:remote_font_config.url=https://{{ .Values.NC_DOMAIN }}/apps/richdocuments/settings/fonts.json
- name: server_name
value: "{{ .Values.NC_DOMAIN }}"
image: nextcloud/aio-collabora:20230916_091439-latest
image: nextcloud/aio-collabora:20231016_081107-latest
name: nextcloud-aio-collabora
ports:
- containerPort: 9980
hostPort: 9980
protocol: TCP
{{- end }}

View File

@@ -4,7 +4,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-collabora
name: nextcloud-aio-collabora

View File

@@ -3,7 +3,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-database
name: nextcloud-aio-database
@@ -17,7 +17,7 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-database
@@ -31,10 +31,7 @@ spec:
- /nextcloud-aio-database/data
- /nextcloud-aio-database
- /nextcloud-aio-database-dump
- /nextcloud-aio-database-tmpfs0
volumeMounts:
- name: nextcloud-aio-database-tmpfs0
mountPath: /nextcloud-aio-database-tmpfs0
- name: nextcloud-aio-database-dump
mountPath: /nextcloud-aio-database-dump
- name: nextcloud-aio-database
@@ -47,10 +44,7 @@ spec:
- "-R"
- /nextcloud-aio-database
- /nextcloud-aio-database-dump
- /nextcloud-aio-database-tmpfs0
volumeMounts:
- name: nextcloud-aio-database-tmpfs0
mountPath: /nextcloud-aio-database-tmpfs0
- name: nextcloud-aio-database-dump
mountPath: /nextcloud-aio-database-dump
- name: nextcloud-aio-database
@@ -67,22 +61,17 @@ spec:
value: nextcloud
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-postgresql:20230916_091439-latest
image: nextcloud/aio-postgresql:20231016_081107-latest
name: nextcloud-aio-database
ports:
- containerPort: 5432
hostPort: 5432
protocol: TCP
securityContext:
readOnlyRootFilesystem: true
volumeMounts:
- mountPath: /var/lib/postgresql/data
subPath: data
name: nextcloud-aio-database
- mountPath: /mnt/data
name: nextcloud-aio-database-dump
- mountPath: /var/run/postgresql
name: nextcloud-aio-database-tmpfs0
terminationGracePeriodSeconds: 1800
volumes:
- name: nextcloud-aio-database
@@ -91,5 +80,3 @@ spec:
- name: nextcloud-aio-database-dump
persistentVolumeClaim:
claimName: nextcloud-aio-database-dump
- emptyDir: {}
name: nextcloud-aio-database-tmpfs0

View File

@@ -3,7 +3,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-database
name: nextcloud-aio-database

View File

@@ -4,7 +4,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-fulltextsearch
name: nextcloud-aio-fulltextsearch
@@ -18,7 +18,7 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-fulltextsearch
@@ -55,11 +55,10 @@ spec:
value: basic
- name: xpack.security.enabled
value: "false"
image: nextcloud/aio-fulltextsearch:20230916_091439-latest
image: nextcloud/aio-fulltextsearch:20231016_081107-latest
name: nextcloud-aio-fulltextsearch
ports:
- containerPort: 9200
hostPort: 9200
protocol: TCP
volumeMounts:
- mountPath: /usr/share/elasticsearch/data

View File

@@ -4,7 +4,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-fulltextsearch
name: nextcloud-aio-fulltextsearch

View File

@@ -4,7 +4,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-imaginary
name: nextcloud-aio-imaginary
@@ -18,40 +18,22 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-imaginary
spec:
initContainers:
- name: init-volumes
image: alpine
command:
- chmod
- "777"
- /nextcloud-aio-imaginary-tmpfs0
volumeMounts:
- name: nextcloud-aio-imaginary-tmpfs0
mountPath: /nextcloud-aio-imaginary-tmpfs0
containers:
- env:
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-imaginary:20230916_091439-latest
image: nextcloud/aio-imaginary:20231016_081107-latest
name: nextcloud-aio-imaginary
ports:
- containerPort: 9000
hostPort: 9000
protocol: TCP
securityContext:
capabilities:
add:
- SYS_NICE
readOnlyRootFilesystem: true
volumeMounts:
- mountPath: /tmp
name: nextcloud-aio-imaginary-tmpfs0
volumes:
- emptyDir: {}
name: nextcloud-aio-imaginary-tmpfs0
{{- end }}

View File

@@ -4,7 +4,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-imaginary
name: nextcloud-aio-imaginary

View File

@@ -3,7 +3,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-nextcloud
name: nextcloud-aio-nextcloud
@@ -17,7 +17,7 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-nextcloud
@@ -121,11 +121,12 @@ spec:
value: "{{ .Values.TIMEZONE }}"
- name: UPDATE_NEXTCLOUD_APPS
value: "{{ .Values.UPDATE_NEXTCLOUD_APPS }}"
image: nextcloud/aio-nextcloud:20230916_091439-latest
image: nextcloud/aio-nextcloud:20231016_081107-latest
name: nextcloud-aio-nextcloud
ports:
- containerPort: 9000
hostPort: 9000
protocol: TCP
- containerPort: 9001
protocol: TCP
volumeMounts:
- mountPath: /var/www/html

View File

@@ -3,7 +3,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-nextcloud
name: nextcloud-aio-nextcloud
@@ -13,5 +13,8 @@ spec:
- name: "9000"
port: 9000
targetPort: 9000
- name: "9001"
port: 9001
targetPort: 9001
selector:
io.kompose.service: nextcloud-aio-nextcloud

View File

@@ -3,7 +3,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-notify-push
name: nextcloud-aio-notify-push
@@ -17,7 +17,7 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-notify-push
@@ -50,14 +50,11 @@ spec:
value: nextcloud-aio-redis
- name: REDIS_HOST_PASSWORD
value: "{{ .Values.REDIS_PASSWORD }}"
image: nextcloud/aio-notify-push:20230916_091439-latest
image: nextcloud/aio-notify-push:20231016_081107-latest
name: nextcloud-aio-notify-push
ports:
- containerPort: 7867
hostPort: 7867
protocol: TCP
securityContext:
readOnlyRootFilesystem: true
volumeMounts:
- mountPath: /nextcloud
name: nextcloud-aio-nextcloud

View File

@@ -3,7 +3,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-notify-push
name: nextcloud-aio-notify-push

View File

@@ -4,7 +4,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-onlyoffice
name: nextcloud-aio-onlyoffice
@@ -18,7 +18,7 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-onlyoffice
@@ -43,11 +43,10 @@ spec:
value: "{{ .Values.ONLYOFFICE_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-onlyoffice:20230916_091439-latest
image: nextcloud/aio-onlyoffice:20231016_081107-latest
name: nextcloud-aio-onlyoffice
ports:
- containerPort: 80
hostPort: 80
protocol: TCP
volumeMounts:
- mountPath: /var/lib/onlyoffice

View File

@@ -4,7 +4,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-onlyoffice
name: nextcloud-aio-onlyoffice

View File

@@ -3,7 +3,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-redis
name: nextcloud-aio-redis
@@ -17,7 +17,7 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-redis
@@ -38,14 +38,11 @@ spec:
value: "{{ .Values.REDIS_PASSWORD }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-redis:20230916_091439-latest
image: nextcloud/aio-redis:20231016_081107-latest
name: nextcloud-aio-redis
ports:
- containerPort: 6379
hostPort: 6379
protocol: TCP
securityContext:
readOnlyRootFilesystem: true
volumeMounts:
- mountPath: /data
name: nextcloud-aio-redis

View File

@@ -3,7 +3,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-redis
name: nextcloud-aio-redis

View File

@@ -4,7 +4,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-talk
name: nextcloud-aio-talk
@@ -18,33 +18,11 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-talk
spec:
initContainers:
- name: init-volumes
image: alpine
command:
- chmod
- "777"
- /nextcloud-aio-talk-tmpfs0
- /nextcloud-aio-talk-tmpfs1
- /nextcloud-aio-talk-tmpfs2
- /nextcloud-aio-talk-tmpfs3
- /nextcloud-aio-talk-tmpfs4
volumeMounts:
- name: nextcloud-aio-talk-tmpfs4
mountPath: /nextcloud-aio-talk-tmpfs4
- name: nextcloud-aio-talk-tmpfs3
mountPath: /nextcloud-aio-talk-tmpfs3
- name: nextcloud-aio-talk-tmpfs2
mountPath: /nextcloud-aio-talk-tmpfs2
- name: nextcloud-aio-talk-tmpfs1
mountPath: /nextcloud-aio-talk-tmpfs1
- name: nextcloud-aio-talk-tmpfs0
mountPath: /nextcloud-aio-talk-tmpfs0
containers:
- env:
- name: INTERNAL_SECRET
@@ -59,40 +37,13 @@ spec:
value: "{{ .Values.TURN_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-talk:20230916_091439-latest
image: nextcloud/aio-talk:20231016_081107-latest
name: nextcloud-aio-talk
ports:
- containerPort: {{ .Values.TALK_PORT }}
hostPort: {{ .Values.TALK_PORT }}
protocol: TCP
- containerPort: {{ .Values.TALK_PORT }}
hostPort: {{ .Values.TALK_PORT }}
protocol: UDP
- containerPort: 8081
hostPort: 8081
protocol: TCP
securityContext:
readOnlyRootFilesystem: true
volumeMounts:
- mountPath: /var/log/supervisord
name: nextcloud-aio-talk-tmpfs0
- mountPath: /var/run/supervisord
name: nextcloud-aio-talk-tmpfs1
- mountPath: /opt/eturnal/run
name: nextcloud-aio-talk-tmpfs2
- mountPath: /conf
name: nextcloud-aio-talk-tmpfs3
- mountPath: /tmp
name: nextcloud-aio-talk-tmpfs4
volumes:
- emptyDir: {}
name: nextcloud-aio-talk-tmpfs0
- emptyDir: {}
name: nextcloud-aio-talk-tmpfs1
- emptyDir: {}
name: nextcloud-aio-talk-tmpfs2
- emptyDir: {}
name: nextcloud-aio-talk-tmpfs3
- emptyDir: {}
name: nextcloud-aio-talk-tmpfs4
{{- end }}

View File

@@ -4,7 +4,7 @@ kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-talk-recording
name: nextcloud-aio-talk-recording
@@ -18,24 +18,11 @@ spec:
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.network/nextcloud-aio: "true"
io.kompose.service: nextcloud-aio-talk-recording
spec:
initContainers:
- name: init-volumes
image: alpine
command:
- chmod
- "777"
- /nextcloud-aio-talk-recording-tmpfs0
- /nextcloud-aio-talk-recording-tmpfs1
volumeMounts:
- name: nextcloud-aio-talk-recording-tmpfs1
mountPath: /nextcloud-aio-talk-recording-tmpfs1
- name: nextcloud-aio-talk-recording-tmpfs0
mountPath: /nextcloud-aio-talk-recording-tmpfs0
containers:
- env:
- name: INTERNAL_SECRET
@@ -46,22 +33,9 @@ spec:
value: "{{ .Values.RECORDING_SECRET }}"
- name: TZ
value: "{{ .Values.TIMEZONE }}"
image: nextcloud/aio-talk-recording:20230916_091439-latest
image: nextcloud/aio-talk-recording:20231016_081107-latest
name: nextcloud-aio-talk-recording
ports:
- containerPort: 1234
hostPort: 1234
protocol: TCP
securityContext:
readOnlyRootFilesystem: true
volumeMounts:
- mountPath: /tmp
name: nextcloud-aio-talk-recording-tmpfs0
- mountPath: /conf
name: nextcloud-aio-talk-recording-tmpfs1
volumes:
- emptyDir: {}
name: nextcloud-aio-talk-recording-tmpfs0
- emptyDir: {}
name: nextcloud-aio-talk-recording-tmpfs1
{{- end }}

View File

@@ -4,7 +4,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-talk-recording
name: nextcloud-aio-talk-recording

View File

@@ -5,7 +5,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-talk
name: nextcloud-aio-talk-public
@@ -28,7 +28,7 @@ kind: Service
metadata:
annotations:
kompose.cmd: kompose convert -c -f latest.yml --namespace {{ .Values.NAMESPACE }}
kompose.version: 1.30.0 (9d8dcb518)
kompose.version: 1.31.2 (a92241f79)
labels:
io.kompose.service: nextcloud-aio-talk
name: nextcloud-aio-talk

View File

@@ -4,7 +4,7 @@ A [reverse proxy](https://en.wikipedia.org/wiki/Reverse_proxy) is basically a we
**Please note:** Publishing the AIO interface with a valid certificate to the public internet is **not** the goal of this documentation! Instead, the main goal is to publish Nextcloud with a valid certificate to the public internet which is **not** running inside the mastercontainer but in a different container! If you need a valid certificate for the AIO interface, see [point 5](#5-optional-get-a-valid-certificate-for-the-aio-interface).
In order to run Nextcloud behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else), you need to specify the port that AIO's Apache container shall use, add a specific config to your web server or reverse proxy and modify the startup command a bit. All examples below will use port `11000` as example Apache port which will be exposed on the host to receive unencrypted HTTP traffic from the reverse proxy. Modify the port to your needings.
In order to run Nextcloud behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else), you need to specify the port that AIO's Apache container shall use, add a specific config to your web server or reverse proxy and modify the startup command a bit. All examples below will use port `11000` as example `APACHE_PORT` which will be exposed on the host to receive unencrypted HTTP traffic from the reverse proxy.
**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)**
@@ -18,6 +18,20 @@ In order to run Nextcloud behind a web server or reverse proxy (like Apache, Ngi
**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!
### Adaptation of the respective sample configuration
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`. Additionally, you might need to adjust `localhost` or `127.0.0.1` based on your setup. See below.
**Running the Reverse Proxy on the same server, not in a container**<br>
For this setup, the default sample configurations with `localhost:$APACHE_PORT` should work.
**Running the Reverse Proxy in a Docker container on the same server**<br>
For this setup, you can use as target `host.docker.internal:$APACHE_PORT` instead of `localhost:$APACHE_PORT`.<br>
Another option and actually the recommended way in this case is to use `--network host` option (or `network_mode: host` for docker-compose) as setting for the reverse proxy container to connect it to the host network. If you are using a firewall on the server, you need to open ports 80 and 443 for the reverse proxy manually. By doing so, the default sample configurations that point at `localhost:$APACHE_PORT` should work without having to modify them.
**Running the Reverse Proxy on a different server (no matter if in container or not)**<br>
For this setup, you need to use as target the private ip-address of the host that shall be running AIO. So e.g. `private.ip.address.of.aio.server:$APACHE_PORT` instead of `localhost:$APACHE_PORT`.<br>
If you are not sure how to retrieve that, you can run: `ip a | grep "scope global" | head -1 | awk '{print $2}' | sed 's|/.*||'` on the server that shall be running AIO. If the command returns a public ip-address, use `ip a | grep "scope global" | grep docker0 | awk '{print $2}' | sed 's|/.*||'` instead (the commands only work on Linux).
### Apache
<details>
@@ -83,7 +97,7 @@ Add this as a new Apache site config:
</VirtualHost>
```
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 you are using a firewall on the server, you need to open ports 80 and 443 for the reverse proxy in that case manually). ***If that is not an option or not possible for you (like e.g. on Windows or if the reverse proxy is running on a different host), you can alternatively instead of `localhost` use the private ip-address of the host that is running the docker daemon. If you are not sure how to retrieve that, you can run: `ip a | grep "scope global" | head -1 | awk '{print $2}' | sed 's|/.*||'`. If the command returns a public ip-address, use `ip a | grep "scope global" | grep docker0 | awk '{print $2}' | sed 's|/.*||'` instead (the commands only work on Linux)***
⚠️ **Please note:** Look into [this](#adaptation-of-the-respective-sample-configuration) to adapt the above example configuration.
To make the config work you can run the following command:
`sudo a2enmod rewrite proxy proxy_http proxy_wstunnel ssl headers http2`
@@ -105,7 +119,7 @@ https://<your-nc-domain>:443 {
```
The Caddyfile is a text file called `Caddyfile` (no extension) which if you should be running Caddy inside a container should usually be created in the same location as your `compose.yaml` file prior to starting the container.
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 you are using a firewall on the server, you need to open ports 80 and 443 for the reverse proxy in that case manually). ***If that is not an option or not possible for you (like e.g. on Windows or if the reverse proxy is running on a different host), you can alternatively instead of `localhost` use the private ip-address of the host that is running the docker daemon. If you are not sure how to retrieve that, you can run: `ip a | grep "scope global" | head -1 | awk '{print $2}' | sed 's|/.*||'`. If the command returns a public ip-address, use `ip a | grep "scope global" | grep docker0 | awk '{print $2}' | sed 's|/.*||'` instead (the commands only work on Linux)***
⚠️ **Please note:** Look into [this](#adaptation-of-the-respective-sample-configuration) to adapt the above example configuration.
**Advice:** You may have a look at [this](https://github.com/nextcloud/all-in-one/discussions/575#discussion-4055615) for a more complete example.
@@ -129,7 +143,10 @@ You can get AIO running using the ACME DNS-challenge. Here is how to do it.
}
}
```
Of course you need to modify `<your-nc-domain>` to the domain on which you want to run Nextcloud. You also need to adjust `<provider>` and `<key>` to match your case. 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 you are using a firewall on the server, you need to open ports 80 and 443 for the reverse proxy in that case manually). ***If that is not an option or not possible for you (like e.g. on Windows or if the reverse proxy is running on a different host), you can alternatively instead of `localhost` use the private ip-address of the host that is running the docker daemon. If you are not sure how to retrieve that, you can run: `ip a | grep "scope global" | head -1 | awk '{print $2}' | sed 's|/.*||'`. If the command returns a public ip-address, use `ip a | grep "scope global" | grep docker0 | awk '{print $2}' | sed 's|/.*||'` instead (the commands only work on Linux)***
⚠️ **Please note:** Look into [this](#adaptation-of-the-respective-sample-configuration) to adapt the above example configuration.
You also need to adjust `<provider>` and `<key>` to match your case.
1. Now continue with [point 2](#2-use-this-startup-command) but additionally, add `--env SKIP_DOMAIN_VALIDATION=true` to the docker run command of the mastercontainer (but before the last line `nextcloud/all-in-one:latest`) which will disable the dommain validation (because it is known that the domain validation will not when using the DNS-challenge since no port is publicly opened.
**Advice:** In order to make it work in your home network, you may add the internal ipv4-address of your reverse proxy as A DNS-record to your domain and disable the dns-rebind-protection in your router. Another way it to set up a local dns-server like a pi-hole and set up a custom dns-record for that domain that points to the internal ip-adddress of your reverse proxy (see https://github.com/nextcloud/all-in-one#how-can-i-access-nextcloud-locally). If both is not possible, you may add the domain to the hosts file which is needed then for any devices that shall use the server.
@@ -154,7 +171,8 @@ For a reverse proxy example guide for Citrix ADC VPX / Citrix Netscaler, see thi
Although it does not seems like it is the case but from AIO perspective a Cloudflare Tunnel works like a reverse proxy. Please see the [caveats](https://github.com/nextcloud/all-in-one#notes-on-cloudflare-proxytunnel) before proceeding. Here is then how to make it work:
1. Install the Cloudflare Tunnel on the same machine where AIO will be running on and point the Tunnel with the domain that you want to use for AIO to `http://localhost:11000`. ***If the Tunnel is running on a different machine, you can alternatively instead of `localhost` use the private ip-address of the host that is running the docker daemon. If you are not sure how to retrieve that, you can run: `ip a | grep "scope global" | head -1 | awk '{print $2}' | sed 's|/.*||'`. If the command returns a public ip-address, use `ip a | grep "scope global" | grep docker0 | awk '{print $2}' | sed 's|/.*||'` instead (the commands only work on Linux)***
1. Install the Cloudflare Tunnel on the same machine where AIO will be running on and point the Tunnel with the domain that you want to use for AIO to `http://localhost:11000`.<br>
⚠️ **Please note:** Look into [this](#adaptation-of-the-respective-sample-configuration) to adapt the above example configuration.
1. Now continue with [point 2](#2-use-this-startup-command) but additionally, add `--env SKIP_DOMAIN_VALIDATION=true` to the docker run command which will disable the dommain validation (because it is known that the domain validation will not work behind a Cloudflare Tunnel). So you need to ensure yourself that you've configured everything correctly.
**Advice:** 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.
@@ -254,7 +272,7 @@ backend Nextcloud
server Nextcloud localhost:11000
```
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 you are using a firewall on the server, you need to open ports 80 and 443 for the reverse proxy in that case manually). ***If that is not an option or not possible for you (like e.g. on Windows or if the reverse proxy is running on a different host), you can alternatively instead of `localhost` use the private ip-address of the host that is running the docker daemon. If you are not sure how to retrieve that, you can run: `ip a | grep "scope global" | head -1 | awk '{print $2}' | sed 's|/.*||'`. If the command returns a public ip-address, use `ip a | grep "scope global" | grep docker0 | awk '{print $2}' | sed 's|/.*||'` instead (the commands only work on Linux)***
⚠️ **Please note:** Look into [this](#adaptation-of-the-respective-sample-configuration) to adapt the above example configuration.
</details>
@@ -344,7 +362,7 @@ server {
```
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 you are using a firewall on the server, you need to open ports 80 and 443 for the reverse proxy in that case manually). ***If that is not an option or not possible for you (like e.g. on Windows or if the reverse proxy is running on a different host), you can alternatively instead of `127.0.0.1` use the private ip-address of the host that is running the docker daemon. If you are not sure how to retrieve that, you can run: `ip a | grep "scope global" | head -1 | awk '{print $2}' | sed 's|/.*||'`. If the command returns a public ip-address, use `ip a | grep "scope global" | grep docker0 | awk '{print $2}' | sed 's|/.*||'` instead (the commands only work on Linux)***
⚠️ **Please note:** Look into [this](#adaptation-of-the-respective-sample-configuration) to adapt the above example configuration.
**Advice:** You may have a look at [this](https://github.com/nextcloud/all-in-one/discussions/588#discussioncomment-2811152) for a more complete example.
@@ -375,7 +393,9 @@ 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 you are using a firewall on the server, you need to open ports 80 and 443 for the reverse proxy in that case manually). ***If that is not an option or not possible for you (like e.g. on Windows or if the reverse proxy is running on a different host), you can alternatively instead of `localhost` use the private ip-address of the host that is running the docker daemon. If you are not sure how to retrieve that, you can run: `ip a | grep "scope global" | head -1 | awk '{print $2}' | sed 's|/.*||'`. If the command returns a public ip-address, use `ip a | grep "scope global" | grep docker0 | awk '{print $2}' | sed 's|/.*||'` instead (the commands only work on Linux)***
⚠️ **Please note:** Look into [this](#adaptation-of-the-respective-sample-configuration) to adapt the above example configuration.
Also change `<you>@<your-mail-provider-domain>` to a mail address of yours.
</details>
@@ -477,8 +497,7 @@ httpServer.on('upgrade', (req, socket, head) => {
});
```
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 you are using a firewall on the server, you need to open ports 80 and 443 for the reverse proxy in that case manually). ***If that is not an option or not possible for you (like e.g. on Windows or if the reverse proxy is running on a different host), you can alternatively instead of `localhost` use the private ip-address of the host that is running the docker daemon. If you are not sure how to retrieve that, you can run: `ip a | grep "scope global" | head -1 | awk '{print $2}' | sed 's|/.*||'`. If the command returns a public ip-address, use `ip a | grep "scope global" | grep docker0 | awk '{print $2}' | sed 's|/.*||'` instead (the commands only work on Linux)***
⚠️ **Please note:** Look into [this](#adaptation-of-the-respective-sample-configuration) to adapt the above example configuration.
</details>
@@ -496,7 +515,7 @@ See these screenshots for a working config:
![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 you are using a firewall on the server, you need to open ports 80 and 443 for the reverse proxy in that case manually). ***If that is not an option or not possible for you (like e.g. on Windows or if the reverse proxy is running on a different host), you can alternatively instead of `localhost` use the private ip-address of the host that is running the docker daemon. If you are not sure how to retrieve that, you can run: `ip a | grep "scope global" | head -1 | awk '{print $2}' | sed 's|/.*||'`. If the command returns a public ip-address, use `ip a | grep "scope global" | grep docker0 | awk '{print $2}' | sed 's|/.*||'` instead (the commands only work on Linux)***
⚠️ **Please note:** Look into [this](#adaptation-of-the-respective-sample-configuration) to adapt the above example configuration.
</details>
@@ -577,9 +596,7 @@ The examples below define the dynamic configuration in YAML files. If you rather
---
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 you are using a firewall on the server, you need to open ports 80 and 443 for the reverse proxy in that case manually). ***If that is not an option or not possible for you (like e.g. on Windows or if the reverse proxy is running on a different host), you can alternatively instead of `localhost` use the private ip-address of the host that is running the docker daemon. If you are not sure how to retrieve that, you can run: `ip a | grep "scope global" | head -1 | awk '{print $2}' | sed 's|/.*||'`. If the command returns a public ip-address, use `ip a | grep "scope global" | grep docker0 | awk '{print $2}' | sed 's|/.*||'` instead (the commands only work on Linux)***
⚠️ **Please note:** Look into [this](#adaptation-of-the-respective-sample-configuration) to adapt the above example configuration.
**Hint**: see https://www.youtube.com/watch?v=VLPSRrLMDmA for a video on configuring Traefik.
@@ -672,8 +689,7 @@ https://<your-nc-domain>:8443 {
}
}
```
Of course you need to modify `<your-nc-domain>` to the domain on which you want to run Nextcloud. **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` when starting the reverse proxy container in order to connect the reverse proxy container to the host network. If that is not an option or not possible for you (like e.g. on Windows or if the reverse proxy is running on a different host), you can alternatively instead of `localhost` use the private ip-address of the host that is running the docker daemon. If you are not sure how to retrieve that, you can run: `ip a | grep "scope global" | head -1 | awk '{print $2}' | sed 's|/.*||'`. If the command returns a public ip-address, use `ip a | grep "scope global" | grep docker0 | awk '{print $2}' | sed 's|/.*||'` instead (the commands only work on Linux)
⚠️ **Please note:** Look into [this](#adaptation-of-the-respective-sample-configuration) to adapt the above example configuration.
Afterwards should the AIO interface be accessible via `https://ip.address.of.the.host:8443`. You can alternatively change the domain to a different subdomain by using `https://<your-alternative-domain>:443` instead of `https://<your-nc-domain>:8443` in the Caddyfile and use that to access the AIO interface.
@@ -683,7 +699,7 @@ If something does not work, follow the steps below:
1. Make sure that you used the docker run command that is described in this reverse proxy documentation. **Hint:** make sure that you have set the `APACHE_PORT` via e.g. `--env APACHE_PORT=11000` during the docker run command!
1. Make sure to set the `APACHE_IP_BINDING` variable correctly. If in doubt, set it to `--env APACHE_IP_BINDING=0.0.0.0`
1. Make sure that all ports to which your reverse proxy is pointing match the chosen `APACHE_PORT`.
1. Make sure that the reverse proxy is running on the host OS or if running in a container, connected to the host network. If that is not possible (e.g. on Windows or if the reverse proxy is running on a different host), substitute `localhost` or `127.0.0.1` in the default configurations by the private ip-address of the host that is running the docker daemon. If you are not sure how to retrieve that, you can run: `ip a | grep "scope global" | head -1 | awk '{print $2}' | sed 's|/.*||'`. If the command returns a public ip-address, use `ip a | grep "scope global" | grep docker0 | awk '{print $2}' | sed 's|/.*||'` instead (the commands only work on Linux)
1. Make sure to follow [this](#adaptation-of-the-respective-sample-configuration) to adapt the example configurations to your specific setup
1. Make sure that the mastercontainer is able to spawn other containers. You can do so by checking that the mastercontainer indeed has access to the Docker socket which might not be positioned in one of the suggested directories like `/var/run/docker.sock` but in a different directory, based on your OS and the way how you installed Docker. The mastercontainer logs should help figuring this out. You can have a look at them by running `sudo docker logs nextcloud-aio-mastercontainer` after the container is started the first time.
1. Check if after the mastercontainer was started, the reverse proxy if running inside a container, can reach the provided apache port. You can test this by running `nc -z localhost 11000; echo $?` from inside the reverse proxy container. If the output is `0`, everything works. Alternatively you can of course use instead of `localhost` the ip-address of the host here for the test.
1. Make sure that you are not behind CGNAT. If that is the case, you will not be able to open ports properly. In that case you might use a Cloudflare Tunnel.
@@ -692,4 +708,3 @@ If something does not work, follow the steps below:
1. Check if you have a public IPv4- and public IPv6-address. If you only have a public IPv6-address (e.g. due to DS-Lite), make sure to enable IPv6 in Docker and your whole networking infrastructure (e.g. also by adding an AAAA DNS-entry to your domain).
1. Try to configure everything from scratch if it still does not work by following https://github.com/nextcloud/all-in-one#how-to-properly-reset-the-instance.
1. As last resort, you may disable the domain validation by adding `--env SKIP_DOMAIN_VALIDATION=true` to the docker run command. But only use this if you are completely sure that you've correctly configured everything!