Hello everyone,
I'm having an issue with Nextcloud running behind Traefik as a reverse proxy. The login page loads but without any CSS/JS styling (JavaScript required message), while accessing Nextcloud directly via internal IP works perfectly.
Setup details:
-
Nextcloud container:
lscr.io/linuxserver/nextcloud:latest -
Traefik version: [Your Traefik version]
-
Domain:
nubel.vqk.ddnsfree.com -
Network: Both containers on same Docker network (
traefik_network)
Nextcloud docker-compose:
yaml
Copy
Download
services:
nextcloud:
image: lscr.io/linuxserver/nextcloud:latest
container_name: nextcloudl
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Madrid
- OVERWRITEPROTOCOL=https
- TRUSTED_PROXIES=192.168.0.0/16 172.16.0.0/12 10.0.0.0/8
volumes:
- /media/uhdd1/dserver2/docker/nextcloudl/config:/config
- /media/uhdd1/dserver2/docker/nextcloudl/data:/data
networks:
- traefik_network
restart: unless-stopped
Nextcloud config.php (relevant parts):
php
Copy
Download
'trusted_domains' => [
0 => '192.168.1.5:8085',
1 => 'nubel.vqk.ddnsfree.com',
2 => 'nextcloudl',
],
'overwrite.cli.url' => 'https://nubel.vqk.ddnsfree.com',
'overwriteprotocol' => 'https',
'trusted_proxies' => [
'192.168.1.0/24',
'172.19.0.0/16',
'172.17.0.0/16',
'127.0.0.1',
],
'forwarded_for_headers' => ['HTTP_X_FORWARDED_FOR'],
Current Traefik configuration:
yaml
Copy
Download
http:
routers:
nubel:
rule: "Host(`nubel.vqk.ddnsfree.com`)"
service: nubel
entryPoints:
- websecure
tls: {}
middlewares:
- nextcloud-headers
services:
nubel:
loadBalancer:
servers:
- url: "https://nextcloudl:443"
serversTransport: nextcloud-transport
passHostHeader: true
middlewares:
nextcloud-headers:
headers:
customRequestHeaders:
X-Forwarded-Proto: "https"
X-Forwarded-Host: "nubel.vqk.ddnsfree.com"
X-Forwarded-Server: "nubel.vqk.ddnsfree.com"
host: "nubel.vqk.ddnsfree.com"
sslRedirect: true
serversTransports:
nextcloud-transport:
insecureSkipVerify: true
What I've tried:
-
Added
trusted_proxiesandoverwriteprotocolin Nextcloud config -
Added custom headers middleware in Traefik
-
Tried both HTTP and HTTPS backend URLs (
http://nextcloudl:80andhttps://nextcloudl:443) -
Checked browser dev tools - static assets (CSS/JS) return 200 OK but don't render properly
-
Accessing Nextcloud directly via
https://192.168.1.5:8443works perfectly
Question:
What am I missing in my Traefik configuration to properly serve Nextcloud's static assets? Are there any specific headers or middleware settings required for Nextcloud when using HTTPS backend?
Thank you for your help!
