Obsidian Index Service
by pmmvr
This service monitors an Obsidian vault directory and indexes Markdown files (metadata and full content) into an SQLite database. It can be used as an agnostic note indexer or sync tool.
Last updated: N/A
What is Obsidian Index Service?
The Obsidian Index Service is a tool that monitors an Obsidian vault and indexes its Markdown files into an SQLite database. It tracks file changes, extracts metadata (path, title, tags, dates), and stores the full content of each note.
How to use Obsidian Index Service?
To use the service, clone the repository, set up a virtual environment, install dependencies, configure environment variables for the vault and database paths, and then run the main.py
script. Alternatively, you can use Docker Compose to build and run the service in a container.
Key features of Obsidian Index Service
Indexes Obsidian vault content into SQLite
Tracks file creation, modification, and deletion
Extracts metadata: path, title, tags, dates
Includes full text of notes
Supports Docker deployment
Can be used for read-only access by other services
Use cases of Obsidian Index Service
Creating an index of Obsidian notes for external applications
Providing a data source for searching and analyzing notes
Enabling read-only access to note metadata for other services
Potentially as a basis for a note synchronization tool
Backup and versioning of Obsidian notes metadata
FAQ from Obsidian Index Service
What is the purpose of this service?
What is the purpose of this service?
To index Obsidian vault content into an SQLite database for easy access and integration with other applications.
What kind of data is indexed?
What kind of data is indexed?
The service indexes file paths, titles, parent folders, tags, created/modified dates, and the full content of each note.
How does it track changes in the vault?
How does it track changes in the vault?
It uses a file watcher to monitor the vault directory for file creation, modification, deletion, and renaming events.
Can I access the database from other services?
Can I access the database from other services?
Yes, the service can be configured to allow read-only access to the database from other services using Docker volumes.
What are the future plans for this project?
What are the future plans for this project?
Future steps include potentially transforming it into a sync tool with support for remote backends and conflict resolution.