From 43c3a3cb13bf40e5ddff1ceb2ab59477d315c17d Mon Sep 17 00:00:00 2001 From: Yuri Tatishchev Date: Tue, 25 Feb 2025 18:03:20 -0800 Subject: [PATCH] apps: add obsidian-livesync (couchdb) --- roles/alpina/tasks/main.yml | 1 + .../apps/obsidian-livesync/compose.yml.j2 | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 roles/alpina/templates/apps/obsidian-livesync/compose.yml.j2 diff --git a/roles/alpina/tasks/main.yml b/roles/alpina/tasks/main.yml index a272946..9035057 100644 --- a/roles/alpina/tasks/main.yml +++ b/roles/alpina/tasks/main.yml @@ -34,4 +34,5 @@ - arrstack - vpgen - pgrok + - obsidian-livesync import_tasks: deploy_collection.yml diff --git a/roles/alpina/templates/apps/obsidian-livesync/compose.yml.j2 b/roles/alpina/templates/apps/obsidian-livesync/compose.yml.j2 new file mode 100644 index 0000000..b03eaf2 --- /dev/null +++ b/roles/alpina/templates/apps/obsidian-livesync/compose.yml.j2 @@ -0,0 +1,30 @@ +{% import 'contrib/compose_helpers.j2' as helpers with context %} + +networks: + {{ helpers.default_network(199) | indent(2) }} + +services: + couchdb: + image: couchdb + container_name: obsidian-livesync + # user: 1000:1000 + environment: + - COUCHDB_USER=hi + - COUCHDB_PASSWORD=3hCtyJ3bPFjxxGu4 + volumes: + - {{ base_volume_path }}/obsidian-livesync:/opt/couchdb/data + # Ports not needed when already passed to Traefik + #ports: + # - 5984:5984 + restart: unless-stopped + labels: + - {{ helpers.traefik_labels('obsidian-livesync', port='5984') | indent(6) }} + - traefik.http.routers.r-obsidian-livesync.middlewares=obsidiancors + - # https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/setup_own_server.md + # The part needed for CORS to work on Traefik 2.x starts here + - "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"