Open Source · Built in Go · MIT License

Your blog.
One binary.
Zero nonsense.

Write posts in Markdown. Push to GitHub. Pressbin syncs them in seconds — no Node, PHP, or Docker on the server. From zero to a live blog in under 30 minutes.

install — bash
# Install to ~/.pressbin (no root)
$ curl -fsSL https://raw.githubusercontent.com/pressbin/pressbin/main/scripts/install.sh \
| bash -s -- --site-url https://blog.example.com
 
Pressbin is ready.
~/.pressbin/admin.key # manage site & keys
~/.pressbin/sync.key # GitHub Actions
 
$ export PATH="$HOME/.pressbin/bin:$PATH"
$ pressbin serve
 
Listening on 127.0.0.1:8080
~12mb
Binary size
<1ms
Avg response time
0
Dependencies to install

Push to publish.
That's the whole workflow.

No admin panel to log into. No deploy script to run. Git is your CMS.

01

Write in Markdown

Create .md files in your GitHub repo with front matter for title, date, and tags.

02

Push to GitHub

Commit posts or images. A GitHub Action runs on every push to main that touches posts/ or assets/images/.

03

Instant sync

The Action runs pressbin-sync against your instance (Bearer sync key). SQLite updates. Content is live.

04

Served at speed

Every page read is a single SQLite query. No rendering, no cache warming, no wait.

Everything a blog needs.
Nothing it doesn't.

Single Binary

The entire engine — web server, API, templates — ships as one executable. Copy it to your server and run.

Embedded SQLite

No separate database server. Embedded SQLite file with FTS5 full-text search. WAL mode for fast writes.

API Key Auth

Separate admin and sync keys — admin manages the site, sync publishes from GitHub. Strict roles, bcrypt hashed, no overlap.

Full-Text Search

SQLite FTS5 powers instant search across all your posts. No Elasticsearch, no Algolia, no extra cost.

Tags & RSS

Tag your posts in front matter. Filter by tag. RSS feed at /feed.xml built in out of the box.

REST Admin API

Admin API for posts, keys, and settings; sync API for GitHub publishing. Build your own dashboard, CLI, or tooling on top.

How Pressbin stacks up.

Feature Pressbin WordPress Ghost Hugo (static)
Single binary deploy
No server dependencies ✗ PHP + MySQL ✗ Node + MySQL
Git push to publish
Dynamic full-text search
REST API for custom UIs
No exposed admin panel
Sub-millisecond response

Ready to ship your blog
the right way?

Run the installer, add the GitHub Action, push a Markdown file. No root, no systemd.

See install command
curl -fsSL …/install.sh | bash -s -- --site-url https://yoursite.com