feat: add Obsidian LiveSync CouchDB service for note synchronization
- Add Obsidian LiveSync Docker service with CouchDB backend - Configure service for Tailscale-only access on port 5984 - Add vault credentials for database authentication - Create productivity category task and handler - Enable Glance dashboard integration 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -12,3 +12,10 @@
|
|||||||
files:
|
files:
|
||||||
- compose.yml
|
- compose.yml
|
||||||
state: restarted
|
state: restarted
|
||||||
|
|
||||||
|
- name: restart obsidian-livesync
|
||||||
|
community.docker.docker_compose_v2:
|
||||||
|
project_src: /opt/stacks/obsidian-livesync
|
||||||
|
files:
|
||||||
|
- docker-compose.yml
|
||||||
|
state: restarted
|
@ -28,3 +28,7 @@
|
|||||||
- name: Install pingvin
|
- name: Install pingvin
|
||||||
import_tasks: pingvin.yml
|
import_tasks: pingvin.yml
|
||||||
tags: pingvin
|
tags: pingvin
|
||||||
|
|
||||||
|
- name: Install obsidian-livesync
|
||||||
|
import_tasks: obsidian-livesync.yml
|
||||||
|
tags: obsidian-livesync
|
20
roles/docker/tasks/productivity/obsidian-livesync.yml
Normal file
20
roles/docker/tasks/productivity/obsidian-livesync.yml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
- name: make obsidian-livesync directories
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ paths.stacks }}/obsidian-livesync"
|
||||||
|
state: directory
|
||||||
|
mode: '0755'
|
||||||
|
|
||||||
|
- name: Template out the compose file
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: obsidian-livesync-compose.yml.j2
|
||||||
|
dest: "{{ paths.stacks }}/obsidian-livesync/docker-compose.yml"
|
||||||
|
mode: '0644'
|
||||||
|
notify: restart obsidian-livesync
|
||||||
|
|
||||||
|
- name: deploy obsidian-livesync stack
|
||||||
|
community.docker.docker_compose_v2:
|
||||||
|
project_src: "{{ paths.stacks }}/obsidian-livesync"
|
||||||
|
state: present
|
||||||
|
tags:
|
||||||
|
- obsidian-livesync
|
30
roles/docker/templates/obsidian-livesync-compose.yml.j2
Normal file
30
roles/docker/templates/obsidian-livesync-compose.yml.j2
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
services:
|
||||||
|
obsidian-livesync:
|
||||||
|
image: oleduc/docker-obsidian-livesync-couchdb:latest
|
||||||
|
container_name: obsidian-livesync
|
||||||
|
restart: unless-stopped
|
||||||
|
labels:
|
||||||
|
glance.name: Obsidian LiveSync
|
||||||
|
glance.icon: si:obsidian
|
||||||
|
glance.url: http://{{ network.docker_host_ip }}:5984
|
||||||
|
glance.description: Obsidian note synchronization
|
||||||
|
glance.id: obsidian-livesync
|
||||||
|
environment:
|
||||||
|
- SERVER_DOMAIN={{ network.docker_host_ip }}
|
||||||
|
- COUCHDB_USER={{ vault_obsidian.username }}
|
||||||
|
- COUCHDB_PASSWORD={{ vault_obsidian.password }}
|
||||||
|
- COUCHDB_DATABASE=obsidian
|
||||||
|
ports:
|
||||||
|
- "{{ network.docker_host_ip }}:5984:5984"
|
||||||
|
volumes:
|
||||||
|
- couchdb_data:/opt/couchdb/data
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
couchdb_data:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
default:
|
||||||
|
external: true
|
||||||
|
name: "{{ docker.network_name }}"
|
Reference in New Issue
Block a user