indieweb:pureblog
Table of Contents
Pure Blog
A flat-file PHP blogging platform: pureblog.org, kevquirk/pureblog. Markdown posts, a browser admin UI, RSS, search, and tags. No database, no Node.
Write in the browser admin or drop .md files in content/posts/ directly.
What It Is
- Flat-file content: posts and pages are Markdown files with front matter on disk
- Distraction-free admin dashboard for writing and organizing
- Draft previews, tag archives, pagination, built-in search, RSS feed
- One-click updater in
/admin(needsphp-curlandphp-zip)
Everything worth keeping is plain files under content/ and config/, so backups are a tarball or a git repo.
Serving It
Pure Blog's docs assume Apache (it ships an .htaccess). The alternatives:
- nginx + php-fpm: both from Ubuntu repos, nothing third-party. nginx is ~5 MB, the default php-fpm pool is ~30-90 MB under load. Fine on 4 GB RAM.
- Caddy + php-fpm: viable if you want Caddy parity, but needs the external apt repo.
php -Sbuilt-in server: fine for a quick local test (php -S 127.0.0.1:8000 -t /var/www/pureblog /var/www/pureblog/index.php; index.php doubles as the router for clean URLs). Not for real serving.- Apache + mod_php: the
.htaccessworks unchanged, but uses more memory.
Public Access Notes
- Restrict
/adminto the LAN if the site is public: anallow/denyblock in nginx covers the admin path. - Custom routes are configured in Admin > Settings > Site > Custom routes: one
path | templateper line. Templates are stored insidecontent/includes/so they deploy with the content. - A health-check
curl -sf http://127.0.0.1/probe is enough for monitoring.
Where It Fits
A middle point between a static generator and a database CMS: you get a real admin UI and drafts, but the content is still portable Markdown you can read in any editor. It uses far less memory than WordPress or Ghost; more than the tiny SSGs because it needs a PHP runtime.
See Also
indieweb/pureblog.txt · Last modified: by 127.0.0.1
