Running Nextloud in subdirectory behind traefik

Hey LSIO-Team,

First of all, thank you for the great containers. They work great. Especially the UID / GID feature is great.

But is there a way to run your nextcloud container in a subdirectory like: https://my.dyndns.tld/nextcloud/ using Traefik as proxy?
Without the subdirectory, everything works fine.

first of all, here is my docker-compose:

version: '3.3'

services:
  nextcloud-db:
    image: linuxserver/mariadb
    container_name: nextcloud-db
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime:ro
      #- /etc/timezone:/etc/timezone:ro
      - $PWD/db:/config
    environment:
      - TZ=Europe/Berlin
      - PUID=1000
      - PGID=1000
      - MYSQL_ROOT_PASSWORD=XXX
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=XXX

  nextcloud-app:
    image: linuxserver/nextcloud
    container_name: nextcloud-app
    restart: always
    volumes: 
      - $PWD/config:/config
      - $PWD/data:/data
    environment:
      - TZ=Europe/Berlin
      - PUID=1000
      - PGID=1000
#      - APACHE_DISABLE_REWRITE_IP=1
#      - TRUSTED_PROXIES=172.18.0.2
#      - OVERWRITEWEBROOT=/nextcloud
    links:
      - nextcloud-db
    labels:
      - "traefik.enable=true"
      - "traefik.http.middlewares.nextcloud-https.redirectscheme.scheme=https"
      - "traefik.http.routers.nextcloud-http.entrypoints=web"
      - "traefik.http.routers.nextcloud-http.rule=Host(`my.dyndns.tld`) && PathPrefix(`/nextcloud`)"
      - "traefik.http.routers.nextcloud-http.middlewares=nextcloud-https@docker"
      - "traefik.http.routers.nextcloud.entrypoints=web-secure"
      - "traefik.http.routers.nextcloud.rule=Host(`my.dyndns.tld`) && PathPrefix(`/nextcloud`)"
      - "traefik.http.routers.nextcloud.tls=true"
      - "traefik.http.routers.nextcloud.tls.certresolver=default"
      - "traefik.http.routers.nextcloud.middlewares=nextcloud-dav,secHeaders@file"
      - "traefik.http.services.nextcloud.loadbalancer.server.port=443"
      - "traefik.http.services.nextcloud.loadbalancer.server.scheme=https"
      - "traefik.http.middlewares.nextcloud-dav.replacepathregex.regex=^/.well-known/ca(l|rd)dav"
      - "traefik.http.middlewares.nextcloud-dav.replacepathregex.replacement=/remote.php/dav/"
    networks:
      - traefik_proxy
      - default

networks:
  traefik_proxy:
    external:
      name: traefik_proxy
  default:
    driver: bridge

I tried several environment setting to set(override?) some settings in config.php. I also tried to set some settings in $PWD/config/www/nextcloud/config/config.php. I also did a docker exec -it nextcloud-app occ maintenance:update:htaccess without success.

I’m not able to run your nextcloud container inside docker behind traefik in a subdirectory. ;(

If i remove the && PathPrefix(/nextcloud) from the docker-compose.yaml and using your default config.php -> everything works as expected.

Please help me :wink:

Thanks in advance

We don’t support traefik, but here’s our nextcloud subfolder proxy conf for our swag image (nginx based): https://github.com/linuxserver/reverse-proxy-confs/blob/master/nextcloud.subfolder.conf.sample

You can drop by our discord and ask in the #other-support channel, there are some folks who use traefik there