Change docker setup from colume to mounted dir

Hi all

I have set up docker using docker compose like this (pretty standard):

version: '2'

volumes:
  nextcloud:
  db:

services:
  db:
    image: mariadb
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    restart: always
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD
      - MYSQL_PASSWORD
      - MYSQL_DATABASE
      - MYSQL_USER

  app:
    image: nextcloud:latest
    ports:
      - 10443:80
    links:
      - db
    volumes:
      - nextcloud:/var/www/html
      - /data/dir:/var/www/html/data
    restart: always

It is running smoothly but for easier access I would like to not use the nextcloud volume. Instead use something like .local:/var/www/html

What I did:

  1. Add ./local:/mnt/files to app
  2. rsync -av /var/www/html/* /mnt/files/ --exclude data from docker container
  3. Remove nextcloud volume and use the ./local

When I start my stack now, I get a “Internal Server error”. When I switch back to the nextcloud volume it all works fine again.

Any idea what I am missing?