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:
@ -11,4 +11,11 @@
|
||||
project_src: /opt/stacks/caddy
|
||||
files:
|
||||
- compose.yml
|
||||
state: restarted
|
||||
|
||||
- name: restart obsidian-livesync
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: /opt/stacks/obsidian-livesync
|
||||
files:
|
||||
- docker-compose.yml
|
||||
state: restarted
|
@ -27,4 +27,8 @@
|
||||
|
||||
- name: Install pingvin
|
||||
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