Start

TLDR: quick setup

The shortest path from an empty server to a published site. Copy, paste, publish. For the why behind each step, read Getting started.

You need

  • A server with Docker.
  • An address with HTTPS that forwards to http://127.0.0.1:8080 on that server, using whatever you prefer: Cloudflare, nginx, Caddy, Traefik or something else. The plugin only publishes over HTTPS. No setup yet? See Domains and HTTPS.
  • Obsidian on your computer.

1. Server

On the server, set your address and run this. It downloads kvist, puts your address in the settings, and starts it:

DOMAIN=garden.example.com   # your address

mkdir -p ~/kvist && cd ~/kvist
curl -fsSLO https://raw.githubusercontent.com/klppl/kvist/main/deploy/docker-compose.yml
curl -fsSLO https://raw.githubusercontent.com/klppl/kvist/main/deploy/kvist.toml
sed -i "s/garden.example.com/$DOMAIN/g" kvist.toml
docker compose up -d

kvist now listens on 127.0.0.1:8080. Check it from your own computer, through your HTTPS address. It should answer with {"protocol":…}:

curl https://garden.example.com/api/v1/info

Create a token for the plugin. Copy it now: it is shown only once.

docker compose exec kvist kvist token create

2. Obsidian plugin

On your computer, unzip the plugin into your vault (replace the path with your vault's):

VAULT=~/Documents/MyVault
mkdir -p "$VAULT/.obsidian/plugins"
curl -L -o /tmp/kvist-plugin.zip https://github.com/klppl/kvist/releases/latest/download/kvist-plugin.zip
unzip -o /tmp/kvist-plugin.zip -d "$VAULT/.obsidian/plugins"

Or download kvist-plugin.zip and unzip it into <vault>/.obsidian/plugins/ by hand.

In Obsidian: Settings → Community plugins, turn off Restricted mode, reload, and switch on kvist. Then in Settings → kvist:

SettingValue
Server URLhttps://garden.example.com
Sitegarden
TokenThe token you copied

Press Test. You should see connected to “garden”.

3. Publish

  1. Create a folder called Kvist in your vault and put a note in it. Everything in Kvist is public; everything else stays private unless tagged #public.
  2. Run kvist: Publish now from the command palette (Cmd/Ctrl+P).
  3. Open your domain in a browser. Done.

To set the site's title, home page and colors, run kvist: Open site settings note, fill it in and publish again.

Next