Compare commits
2 Commits
6b254cc1d7
...
1572aabe53
Author | SHA1 | Date | |
---|---|---|---|
1572aabe53 | |||
7346be9df6 |
@ -2,7 +2,7 @@
|
|||||||
title: Nextcloud & Collabora
|
title: Nextcloud & Collabora
|
||||||
description: How to configure a properly working setup using Traefik
|
description: How to configure a properly working setup using Traefik
|
||||||
published: true
|
published: true
|
||||||
date: 2020-04-30T19:21:45.022Z
|
date: 2020-05-07T11:33:22.135Z
|
||||||
tags:
|
tags:
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -10,69 +10,91 @@ tags:
|
|||||||
|
|
||||||
Our setup relies heavily on `traefik` and won't work without it. See our traefik configuration page on how to prepare your system to accept this configuration.
|
Our setup relies heavily on `traefik` and won't work without it. See our traefik configuration page on how to prepare your system to accept this configuration.
|
||||||
|
|
||||||
> This configuration hasn't been updated to Traefik v2 yet
|
|
||||||
{.is-warning}
|
|
||||||
|
|
||||||
|
|
||||||
# docker-compose.yml
|
# docker-compose.yml
|
||||||
|
|
||||||
```
|
```
|
||||||
version: '3.7'
|
version: '3'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
nextcloud:
|
nginx:
|
||||||
image: nextcloud:18
|
image: nginx:alpine
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./nginx.conf:/etc/nginx/nginx.conf
|
||||||
|
- ./nextcloud:/var/www/html
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.cloud.entryPoints=web-secure
|
||||||
|
- traefik.http.routers.cloud.rule=Host(`cloud.fosc.space`)
|
||||||
|
- traefik.http.routers.cloud.tls.certresolver=default
|
||||||
|
- traefik.http.routers.cloud.middlewares=cloud@docker
|
||||||
|
- traefik.http.middlewares.cloud.headers.customFrameOptionsValue=SAMEORIGIN
|
||||||
|
- traefik.http.middlewares.cloud.headers.framedeny=true
|
||||||
|
- traefik.http.middlewares.cloud.headers.sslredirect=true
|
||||||
|
- traefik.http.middlewares.cloud.headers.stsSeconds=15552000
|
||||||
depends_on:
|
depends_on:
|
||||||
- postgres
|
- fpm
|
||||||
- collabora
|
|
||||||
- redis
|
fpm:
|
||||||
|
image: nextcloud
|
||||||
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- ./nextcloud:/var/www/html
|
- ./nextcloud:/var/www/html
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
environment:
|
||||||
- NEXTCLOUD_TRUSTED_DOMAINS=cloud.fosc.space
|
- NEXTCLOUD_TRUSTED_DOMAINS=cloud.fosc.space
|
||||||
- POSTGRES_HOST=postgres
|
|
||||||
- POSTGRES_USER=postgres
|
|
||||||
- POSTGRES_PASSWORD=aaaaaaaaaaaaa
|
|
||||||
- POSTGRES_DB=nextcloud
|
|
||||||
- REDIS_HOST=redis
|
- REDIS_HOST=redis
|
||||||
labels:
|
- MYSQL_HOST=mariadb
|
||||||
- "traefik.frontend.rule=Host:cloud.fosc.space"
|
- MYSQL_USER=nextcloud
|
||||||
- "traefik.frontend.headers.STSSeconds=15552000"
|
- MYSQL_PASSWORD=hunter2
|
||||||
- "traefik.frontend.redirect.regex=https://(.*)/.well-known/(card|cal)dav"
|
- MYSQL_DATABASE=nextcloud
|
||||||
- "traefik.frontend.redirect.replacement=https://$$1/remote.php/dav/"
|
- NEXTCLOUD_ADMIN_USER=admin
|
||||||
- "traefik.frontend.redirect.permanent=true"
|
- NEXTCLOUD_ADMIN_PASSWORD=hunter2
|
||||||
|
depends_on:
|
||||||
|
- mariadb
|
||||||
|
- redis
|
||||||
|
- cron
|
||||||
|
|
||||||
postgres:
|
mariadb:
|
||||||
image: postgres:alpine
|
image: mariadb
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- POSTGRES_USER=postgres
|
- MYSQL_ROOT_PASSWORD=hunter2
|
||||||
- POSTGRES_PASSWORD=aaaaaaaaaaaaa
|
- MYSQL_USER=nextcloud
|
||||||
|
- MYSQL_PASSWORD=hunter2
|
||||||
|
- MYSQL_DATABASE=nextcloud
|
||||||
volumes:
|
volumes:
|
||||||
- ./db:/var/lib/postgresql/data
|
- ./db:/var/lib/mysql
|
||||||
labels:
|
|
||||||
- traefik.enable=false
|
|
||||||
|
|
||||||
collabora:
|
collabora:
|
||||||
image: collabora/code
|
image: collabora/code
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- username=admin
|
- username=admin
|
||||||
- password=eeeeeeeeeeeee
|
- password=hunter3
|
||||||
- DONT_GEN_SSL_CERT=true
|
- DONT_GEN_SSL_CERT=true
|
||||||
- "domain=cloud\\.fosc\\.space"
|
- "domain=cloud\\.fosc\\.space"
|
||||||
- "extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:storage.wopi.host[0]=::ffff:[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+ --o:net.post_allow.host[0]=::ffff:[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+ --o:storage.wopi.host[1]=[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+ --o:net.post_allow.host[1]=[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+ --o:storage.wopi.host[2]=cloud.fosc.space"
|
- "extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:storage.wopi.host[0]=::ffff:[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+ --o:net.post_allow.host[0]=::ffff:[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+ --o:storage.wopi.host[1]=[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+ --o:net.post_allow.host[1]=[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+ --o:storage.wopi.host[2]=cloud.fosc.space"
|
||||||
labels:
|
labels:
|
||||||
- "traefik.frontend.rule=Host:collabora.fosc.space"
|
- traefik.enable=true
|
||||||
- "traefik.port=9980"
|
- traefik.http.routers.coll.entryPoints=web-secure
|
||||||
|
- traefik.http.routers.coll.rule=Host(`collabora.fosc.space`)
|
||||||
|
- traefik.http.routers.coll.tls.certresolver=default
|
||||||
|
- traefik.http.services.coll.loadbalancer.server.port=9980
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
image: redis
|
image: redis:alpine
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
labels:
|
|
||||||
- traefik.enable=false
|
cron:
|
||||||
|
image: nextcloud
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- ./nextcloud:/var/www/html
|
||||||
|
entrypoint: /cron.sh
|
||||||
|
depends_on:
|
||||||
|
- mariadb
|
||||||
|
- redis
|
||||||
```
|
```
|
||||||
|
|
||||||
# Nextcloud configuration
|
# Nextcloud configuration
|
||||||
@ -83,9 +105,6 @@ Once everything is up and running, install the Collabora plugin for Nextcloud an
|
|||||||
{.is-info}
|
{.is-info}
|
||||||
|
|
||||||
# Quirks
|
# Quirks
|
||||||
> The Collabora container is extremely slow to start and seems to work about only half the time. If stuff isn't working, just restart it once or twice. Eventually it will work.
|
> To get rid of the secure proxy warning, add a `NEXTCLOUD_TRUSTED_PROXIES` entry to Nextcloud's config.php with your host's hostname or IP address. For some reason, this configuration is not exposed via environment variables and cannot be fixed from docker-compose.
|
||||||
|
|
||||||
>This configuration is 100% working and any attempt at touching it will just make it worse.
|
|
||||||
{.is-warning}
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user