I’m setting up nextcloud to run on a cluster of Raspberry Pi’s. I have traefik 2.0, prometheus, grafana, and a placeholder site up and running nicely. I’m using Cloudflare and it’s SSL.
When I try to browse https://nc.mydomain.bleh, I get ERR_TOO_MANY_REDIRECTS in Chrome.
Here’s my traefik.yml:
reverse-proxy:
image: traefik:v2.0
command:
- --api.insecure=true
- --providers.docker.endpoint=unix:///var/run/docker.sock
- --providers.docker.swarmMode=true
- --providers.docker.exposedbydefault=false
- --providers.docker.network=traefik-public
- --entrypoints.web.address=:80
- --entrypoints.ssl.address=:443
- --metrics.prometheus=true
- --metrics.prometheus.addEntryPointsLabels=true
- --metrics.prometheus.buckets=0.100000, 0.300000, 1.200000, 5.000000
- --metrics.prometheus.addServicesLabels=true
- --entryPoints.metrics.address=:8082
- --metrics.prometheus.entryPoint=metrics
ports:
- 80:80
- 443:443
- 8080:8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
- traefik-public
deploy:
placement:
constraints:
- node.role == manager
And here is my nextcloud.yml.
version: "3.7"
services:
app:
image: ownyourbits/nextcloudpi
env_file:
- nextcloud.env/.env
- nextcloud.env/db.env
volumes:
- app:/var/www/html
networks:
- nextcloud
- traefik-public
depends_on:
- db
- cache
deploy:
labels:
- traefik.http.routers.nextcloud.rule=Host(`nc.mydomain.bleh`)
- traefik.http.routers.nextcloud.entrypoints=web
- traefik.http.middlewares.nc-rep.redirectregex.regex=://(.*)/.well-known/(card|cal)dav
- traefik.http.middlewares.nc-rep.redirectregex.replacement=://$$1/remote.php/dav/
- traefik.http.middlewares.nc-rep.redirectregex.permanent=true
- traefik.http.middlewares.nc-header.headers.customFrameOptionsValue=SAMEORIGIN
- traefik.http.routers.nextcloud.middlewares=nc-rep,nc-header
- traefik.http.services.nextcloud.loadbalancer.server.port=80
- traefik.enable=true
replicas: 1
restart_policy:
condition: on-failure
db:
image: arm32v7/postgres
env_file:
- nextcloud.env/db.env
ports:
- 5432:5432
volumes:
- db:/var/lib/postgresql/data
networks:
- nextcloud
deploy:
replicas: 1
restart_policy:
condition: on-failure
cache:
image: redis
volumes:
- cache:/data
ports:
- 6379:6379
networks:
- nextcloud
deploy:
replicas: 1
restart_policy:
condition: on-failure
volumes:
app:
driver: local
driver_opts:
type: nfs
o: addr=10.0.0.3,rw,nfsvers=4,async
device: :/tank/nextcloud/cache
db:
driver: local
driver_opts:
type: nfs
o: addr=10.0.0.3,rw,nfsvers=4,async
device: :/tank/nextcloud/db
cache:
driver: local
driver_opts:
type: nfs
o: addr=10.0.0.3,rw,nfsvers=4,async
device: :/tank/nextcloud/cache
networks:
nextcloud:
traefik-public:
external: true