InkStone

Local Development

Contents

Requirements

Setup and run

git clone https://github.com/airenare/inkstone.git
cd inkstone
pip install -r requirements.txt
python3 app.py

Set VAULT_PATH

Create a .env file in the project root:

VAULT_PATH=/path/to/your/obsidian/vault

Or pass it inline:

VAULT_PATH=/path/to/vault python3 app.py

If VAULT_PATH is unset, InkStone falls back to ./BlogPages (the demo vault in the repo).

Hot-reload

Edit any vault file and refresh the browser — no restart needed. InkStone watches modification times on every request and reloads automatically when anything changes.

Production mode locally

To test with gunicorn (closer to production behaviour):

gunicorn -b 0.0.0.0:8000 app:app

Note: gunicorn does not hot-reload by default. Use --reload flag during development only:

gunicorn --reload -b 0.0.0.0:8000 app:app
Use a virtual environment
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Keeps dependencies isolated and avoids conflicts with system packages.