← All products

Servitor CMS

The self-hosted CMS for multilingual blogs.

Servitor CMS gives a team one place to write, review and publish in every language it serves. Add any language whenever you need it, and serve each translation from Servitor's own reading pages or through an API. An editorial workflow lets you review and approve your writers' posts before they go live. It runs in a single container and needs no other services.

Status
Released
License
Apache 2.0
Platforms
linux/amd64, linux/arm64

What it does

  • A focused editor

    A block editor with headings, lists, tables, code, math, images and video embeds. The working draft saves itself as you type, every save goes into a revision history you can restore, and unpublished versions can be previewed privately.

  • Every translation is a real page

    A post holds one translation per content language, each with its own address, title, excerpt, tags, search fields and publishing state. Content languages take any BCP 47 code, and the panel itself speaks six languages.

  • Publish directly or through review

    The founder, admins and authors each have clear rights. Trusted authors publish or schedule right away, others send their changes to a review queue, and an append-only audit log records sign-ins, publishing, moderation and configuration.

  • Built-in blog or headless

    Server-rendered reading pages without JavaScript, with hreflang, Open Graph, JSON-LD, RSS and sitemaps. Or turn them off and use the read-only REST API with scoped keys and signed webhooks from any front end.

  • Secure and easy to run

    Checked against every level 1 and 2 requirement of OWASP ASVS 5.0: two-factor authentication, no public sign-up and a strict Content Security Policy. One hardened container, signed images for amd64 and arm64, and scheduled, encrypted backups from the panel.

Built the way we work

Servitor follows the same rules as everything else we build. It is open source under the Apache 2.0 license, it runs on hardware you choose, and your content lives in an embedded SQLite database and an uploads folder you can back up and move. There is no subscription and no provider to depend on. The documentation ships with every installation.

Built with

  • SvelteKit
  • Svelte 5
  • TypeScript
  • Tiptap
  • Better Auth
  • Drizzle ORM
  • SQLite
  • Node.js 24
  • Docker
Talk to us