Available now Web app · self-hosted on your server

✒️ Inkpress

A self-hosted markdown blog with zero-JavaScript public pages. Pay once, publish forever.

Ghost charges $9/month — and climbing — to host what amounts to markdown files with a theme. Inkpress is a complete self-hosted blog: write in a split-pane markdown editor, publish to blazing-fast server-rendered pages that ship zero JavaScript, and keep every post in one SQLite file you own. $29 once.

$9/mo forever $29once
Inkpress screenshot

Inkpress, as it actually looks — a real screenshot, not a mockup.

What's in the box

Features

Zero-JS public pages

Pure HTML/CSS, no client framework, no hydration, no bundle — instant load and perfect Lighthouse scores by default.

3 built-in themes

Paper (light serif classic), Carbon (dark dev-blog mono) and Editorial (magazine, large covers) — switch site-wide instantly in Settings.

Server-side syntax highlighting

Code blocks highlighted with Shiki at save time and cached — beautiful dev-blog code with no client-side library.

Split-pane live preview

The preview uses the exact same rendering pipeline as the public site, so what you see is literally what ships.

Drafts & scheduling

Draft / scheduled / published workflow — scheduled posts go live automatically, no cron needed.

SEO done right

Per-post meta overrides, OG and Twitter card tags, canonical URLs, RSS with full content, sitemap.xml and robots.txt.

301 redirect table

Rename a slug and the old URL redirects automatically — never break an inbound link again.

One SQLite file

Every post, tag and setting in a single file. Backups are a copy-paste. Runs as a desktop app or on a $5 VPS via Docker.

The receipt

Inkpress vs Ghost

Ghost at $9/mo runs roughly $108/year — $216 over two years. Inkpress is $29, once.

InkpressGhost
Price$29 once$9/mo ($108/yr), forever
Cost after 3 yearsStill $29$324+
Your dataYour server, one SQLite fileTheir cloud
Zero-JS public pagesYesNo
Themes3 built in — or edit the codePaid/limited
Remove "Powered by" badgeYes — it's your codePaid tier
Works offline / air-gappedYes (desktop mode)No
Source codeMIT, on GitHubOpen core, hosted tiers

Pays for itself in about 3.2 months against Ghost Starter — then it's strictly cheaper for the life of the blog, $324+ saved over 3 years.

Setup

Three steps, no subscription

STEP 01

Buy once on Whop

One-time $29 for the packaged Windows installer plus lifetime updates.

STEP 02

Run it your way

Desktop app with no server at all, or ADMIN_PASSWORD=... BASE_URL=... docker compose up -d on a $5 VPS.

STEP 03

Write and publish

Markdown in the split-pane editor, drag in images (auto-resized), hit publish — or schedule it and walk away.

FAQ

Honest answers

Is it really free on GitHub?

Yes — MIT source at github.com/bensblueprints/inkpress, always. $29 buys the packaged Windows installer, 1-click setup and lifetime updates.

Why zero JavaScript on the public site?

Because a blog is documents, not an app. No client framework means instant loads, perfect crawlability and nothing to break. The test suite literally asserts there's no script tag on public pages.

Can it do paid newsletters like Ghost or Substack?

No — and Ghost is genuinely strong there. Inkpress is a publishing engine: posts, tags, themes, RSS, SEO. If memberships and paid email subscriptions are the core of your business, Ghost's built-in monetization is worth its fee.

What happens to old links if I rename a post?

The slug-rename 301 redirect table catches them automatically — old URLs redirect to the new slug instead of 404ing your inbound links.

Do scheduled posts need a cron job?

No. A scheduled post simply stays hidden until its publish time passes — the server flips it live on the next read. Set it and forget it, even on a bare $5 VPS.

Deep-dive comparisons:

Own Inkpress forever

$29 once. Deploy on your own server — your data never leaves it. No renewal, no account with us, no meter. Or build it yourself from the MIT source — it's the same app.