About Soffio
Soffio is a calm, self-hosted publishing system for technical writers who want static output, admin convenience, and operational control.
Product Position
Soffio is not a general-purpose CMS. It is for people who want to write, publish, automate, and self-host without surrendering control.
It favors:
- Static output over runtime magic: public pages are rendered deliberately and can be served predictably.
- Boring reliability over plugin sprawl: the core publishing path stays small, auditable, and operationally plain.
- Explicit workflows over hidden automation: admin actions, API calls, CLI automation, and render jobs are visible parts of the publishing flow.
What It Provides
- Static public output: rendered posts and pages for fast, cacheable delivery.
- Focused admin console: writing, editing, organizing, publishing, settings, uploads, jobs, audit, and API keys.
- Headless API and CLI: automation-friendly endpoints with scoped API keys and a command-line client.
- Server-driven interaction: Datastar + SSE workflows without a client-side JavaScript application.
- Technical writing support: Markdown, syntax highlighting, KaTeX math, and Mermaid diagrams.
Architecture
Soffio follows a clean, layered architecture:
- Public Site: statically rendered pages with optional server-driven interactive widgets for readers.
- Admin Console: a dedicated interface for writing, editing, organizing, and publishing content.
- Headless API: RESTful endpoints for automation, integrations, and the command-line tool.
For Operators and Developers
Soffio is open source under the BSD-2-Clause license. The codebase enforces a strict Domain/Application/Infrastructure layering model, making it easy to understand, extend, and contribute.
Technology Stack:
- Rust 2024 Edition
- Axum 0.8 (HTTP framework)
- PostgreSQL with SQLx (Database)
- Askama (Templating)
- Comrak, KaTeX, Syntect (Content rendering)
- Apalis (Background jobs)
Try It Out
- Demo Site: soffio.xfyyzy.xyz
- Demo Admin: admin.soffio.xfyyzy.xyz
- GitHub: github.com/xfyyzy/soffio
The demo database resets every hour, so feel free to experiment!
Author: xfyyzy