Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Obselia

A self-hosted, browser-based markdown note-taking app in the spirit of Obsidian — delivered as a single Rust binary. Point it at any directory on the server (the "vault") and get a full WYSIWYG markdown editor accessible from any browser.

Screenshot

Features

  • Live Preview (WYSIWYG) — Rich markdown editing with Milkdown, rendered inline
  • Source mode — Raw markdown with CodeMirror 6 syntax highlighting
  • [[wikilinks]] — Link between notes with autocomplete
  • Folder tree — Navigate vault by folders; markdown files shown in note list with snippets
  • Full-text search — Search note titles and content
  • Auto-save — Changes saved automatically with ETag-based conflict detection
  • File watcher — External file changes reflected live in the browser
  • Outline panel — Jump between headings
  • Single binary — No runtime dependencies; frontend embedded in the binary

Quick Start

# Serve a directory of markdown notes on port 3000
obselia /path/to/notes

# Custom address and port
obselia /path/to/notes -a 127.0.0.1 -p 8080

# Use a YAML config file
obselia -c config.yml

Config file (optional)

vault: /path/to/notes
port: 3000
address: 0.0.0.0

CLI flags override config file values.

Build from Source

# Build the Rust backend
cargo build --release

# (Optional) Build the frontend separately for development
cd frontend
npm install
npm run dev

The release binary at target/release/obselia embeds the production frontend.

Tech Stack

  • Backend: Rust + Axum + Tokio
  • Frontend: Svelte 5 + TypeScript + Vite
  • Editor: Milkdown (live) + CodeMirror 6 (source)
  • Search: Regex-based (v1)

License

MIT

About

Personal knowledge server with markdown note editing

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages