services: couchdb: image: couchdb:3.5.1 container_name: couchdb env_file: .env volumes: - couchdb-data:/opt/couchdb/data - couchdb-etc:/opt/couchdb/etc/local.d networks: - default - proxy ports: - 5984 labels: - "traefik.enable=true" - "traefik.http.routers.couchdb.rule=Host(`obsidian-livesync.lan`)" - "traefik.http.services.couchdb.loadbalancer.server.port=5984" - "traefik.http.routers.obsidian-livesync.middlewares=obsidiancors" - "traefik.http.middlewares.obsidiancors.headers.accesscontrolallowmethods=GET,PUT,POST,HEAD,DELETE" - "traefik.http.middlewares.obsidiancors.headers.accesscontrolallowheaders=accept,authorization,content-type,origin,referer" - "traefik.http.middlewares.obsidiancors.headers.accesscontrolalloworiginlist=app://obsidian.md,capacitor://localhost,http://localhost" - "traefik.http.middlewares.obsidiancors.headers.accesscontrolmaxage=3600" - "traefik.http.middlewares.obsidiancors.headers.addvaryheader=true" - "traefik.http.middlewares.obsidiancors.headers.accessControlAllowCredentials=true" restart: unless-stopped networks: proxy: external: true name: proxy volumes: couchdb-data: driver: local driver_opts: type: 'none' o: 'bind' device: '/app/obsidian-livesync/data' couchdb-etc: driver: local driver_opts: type: 'none' o: 'bind' device: '/app/obsidian-livesync/etc'