Get obidian live sync to work and add doc site

This commit is contained in:
James Thompson
2026-03-23 08:01:38 +00:00
parent 95bdab6b9d
commit c546fab5e1
12 changed files with 80 additions and 17 deletions

View File

@@ -3,4 +3,3 @@
COUCHDB_USER=admin
COUCHDB_PASSWORD=REPLACE_WITH_STRONG_PASSWORD
COUCHDB_PORT=5984

View File

@@ -0,0 +1 @@
*Note*: When setting up for the first time you need to create the directories for both the etc and the data and make sure they are owned by the same UID as the CouchDB container (default 5984) to avoid permission issues.

View File

@@ -3,13 +3,36 @@ services:
image: couchdb:latest
container_name: obsidian-livesync
restart: unless-stopped
ports:
- "${COUCHDB_PORT:-5984}:5984"
volumes:
- ${STORAGE_PATH}/obsidian:/opt/couchdb/data
env_file:
- ../.env
- .env
environment:
- COUCHDB_USER=${COUCHDB_USER:-admin}
- COUCHDB_USER=${COUCHDB_USER}
- COUCHDB_PASSWORD=${COUCHDB_PASSWORD}
volumes:
- ${STORAGE_PATH}/obsidian-livesync/data:/opt/couchdb/data
- ${STORAGE_PATH}/obsidian-livesync/local.ini:/opt/couchdb/etc/local.d
ports:
- 5984:5984
labels:
- "traefik.enable=true"
# The Traefik Network
- "traefik.docker.network=web"
# Don't forget to replace 'obsidian-livesync.example.org' with your own domain
- "traefik.http.routers.obsidian-livesync.rule=Host(`obsidian-livesync.${DOMAIN}`)"
# The 'websecure' entryPoint is basically your HTTPS entrypoint. Check the next code snippet if you are encountering problems only; you probably have a working traefik configuration if this is not your first container you are reverse proxying.
- "traefik.http.routers.obsidian-livesync.entrypoints=websecure"
- "traefik.http.routers.obsidian-livesync.service=obsidian-livesync"
- "traefik.http.services.obsidian-livesync.loadbalancer.server.port=5984"
- "traefik.http.routers.obsidian-livesync.tls=true"
# Replace the string 'letsencrypt' with your own certificate resolver
- "traefik.http.routers.obsidian-livesync.tls.certresolver=letsencrypt"
- "traefik.http.middlewares.obsidiancors.headers.accessControlAllowOriginList=app://obsidian.md,capacitor://localhost,http://localhost"
- "traefik.http.middlewares.obsidiancors.headers.accessControlAllowMethods=GET,POST,PUT,DELETE,OPTIONS,HEAD"
- "traefik.http.middlewares.obsidiancors.headers.accessControlAllowHeaders=Authorization,Content-Type,Accept,Origin,X-Requested-With"
- "traefik.http.middlewares.obsidiancors.headers.accessControlAllowCredentials=true"
- "traefik.http.middlewares.obsidiancors.headers.accessControlMaxAge=86400"
- "traefik.http.middlewares.obsidiancors.headers.addVaryHeader=true"
- "traefik.http.routers.obsidian-livesync.middlewares=obsidiancors"
networks:
- web
networks:
web:
external: true