Docker: docker-compose in swarm mode give ro filesystem

I know this is an old topic, but I’m back at this 20.04 machine and am having issues with swarm configs again.

I am using this swarm file.

---
version: "3"
services:
  bookstack:
    image: linuxserver/bookstack
    container_name: bookstack
    environment:
      - PUID=1000
      - PGID=1000
      - DB_HOST=bookstack_db
      - DB_USER=bookstack
      - DB_PASS=yourdbpass
      - DB_DATABASE=bookstackapp
    volumes:
      - /path/to/data:/config
    ports:
      - 6875:80
    restart: unless-stopped
    depends_on:
      - bookstack_db
  bookstack_db:
    image: linuxserver/mariadb
    container_name: bookstack_db
    environment:
      - PUID=1000
      - PGID=1000
      - MYSQL_ROOT_PASSWORD=yourdbpass
      - TZ=Europe/London
      - MYSQL_DATABASE=bookstackapp
      - MYSQL_USER=bookstack
      - MYSQL_PASSWORD=yourdbpass
    volumes:
      - /path/to/data:/config
    restart: unless-stopped

with the volumes being bind mounts to my home directory, and as volumes in portainer.

In both cases I get

mkdir /var/lib/docker read-only file system

I’m at a loss to know where to go from here without having to rebuild a heap of stuff.

If I do have no remove the snap version and start again, is there a way to disable snap system wide… It doesn’t work with lsd either so is of no use to me at all.