Philosophy
The convictions behind Chinaski, each with its own page, from why the public site is plain HTML to why there’s no plugin marketplace. These are the design bets the project makes on purpose, and knowing them explains most of the decisions an operator will otherwise bump into.
The ten convictions
- Static First: the public site is plain files served from disk; the CMS is never in the public request path.
- Built on Perl: a decades-stable language, mature CPAN, and code that stays auditable for humans and AI alike.
- Durability: the stack is chosen so code written today still runs unmodified on the machines of ten years’ time.
- Own Your Content: your data lives in one SQLite file and flat directories; exports are the product, not a feature gate.
- Simplicity: one monolith per process, few moving parts, readable code over clever abstractions.
- Security by Construction: guarantees enforced in code (no tracker mechanism, no phone-home) rather than promises in policy.
- Sovereignty: self-hostable and air-gappable: no telemetry, no license phone-home, no CDN dependencies.
- Fast by Default: static output, few moving parts, and no framework churning under you.
- Multilingual First: language is structural, from the schema to the output tree.
- Design Principles: the working rules derived from all of the above.
The argument, compressed
Most content platforms accumulate surface (plugins, integrations, analytics, CDN assets) and every addition is a bet that the capability is worth the complexity and attack surface. Chinaski makes the opposite bet on purpose:
- A small, fully-Debian-packaged dependency set. A fresh install resolves from system packages; there is nothing to compile and nothing to chase.
- Zero runtime JavaScript on the public site: a structural property, not a policy. The web server serves files; there is no mechanism through which a beacon would ship.
- Air-gap compatible by default: fresh installs carry it, and the installer tells you so at first boot.
The honest counterweight is stated as plainly: no plugin ecosystem, no marketplace, Postgres on the roadmap rather than the shelf, and real operational ownership. You run the updates and own the backups. That trade is the reason to choose Chinaski; the costs are the point.
Where this meets practice
- The choices that shaped performance and security posture (build pipeline, permission model, cookie/consent behavior) each have a page somewhere in the docs; this section explains why, not how.
- Trade-offs are named, not hidden: for the audiences the project targets (agencies with multiple client sites, security-focused orgs, air-gap operators), the bets pay off; for someone who needs a theme marketplace, they deliberately don’t.
- The license is MIT for the core.
Also in Philosophy
See why the public Chinaski site is plain static HTML served from disk, with the database touched only while you author, and what that means daily.
Read why Chinaski is built on Perl 5 and SQLite, the case for boring technology, and what that means for you as an operator.
What durability means in Chinaski: URLs that never break, content you keep, and plain static output that any web server can serve.
See why Chinaski has no lock-in: your content lives in a SQLite file, generated HTML and plain media folders you can copy or move.
Walk through what keeps Chinaski simple: two Perl programs, one SQLite file, a web server serving static files, and what is left out.
See the security Chinaski builds in: SRI-checked assets, a strict nonce-based CSP, no trust for forged IPs, and what still needs your choice.
What self-hosted means for Chinaski: no telemetry or phone-home, what runs on your server, how to deploy air-gapped, and the honest limits.
How Chinaski stays fast by default: static files served from disk, caching in the stock server config, and the settings you control.
See how language is built into Chinaski's data model, URLs, admin interface and generated pages, so multilingual sites need no bolt-ons.
The rules Chinaski holds itself to: a small dependency list, no running code for readers, and other promises that matter when evaluating it.