Selbst-gehostet · 100% SDK-kompatibel

Die Storyblok-API — aber sie gehört dir.

Osstblok ist ein 1:1 kompatibles, selbst-gehostetes Headless-CMS, das Storybloks Wire-Format Byte für Byte spricht. Alle @storyblok/* SDKs laufen unverändert. Keine Story-Limits. Keine User-Gebühren. Keine MAU-Grenze.

Stories pro Space
User & Spaces
$0
pro MAU
Docker
Eine Compose-Datei

Was Storyblok hinter Paywalls versteckt — bei uns weg.

Storybloks Preismodell deckelt Stories, User, Traffic, Sprachen und Datenregionen. Beim Selbst-Hosting fallen all diese Grenzen weg.

Keine Story-Limits

1.000 oder 1.000.000 Stories pro Space — dein Postgres ist die einzige Grenze.

Keine User-Gebühren

Lad das ganze Team ein — Devs, Redaktion, Übersetzer. Preis pro User gibt es nicht.

Keine MAU-Grenze

Serve zehn Leser oder zehn Millionen. CDN-Traffic ist deine Infra-Rechnung, keine Pro-Visit-Steuer.

Deine Daten, deine Region

Keine getrennten EU-/US-Tarife. Die Daten liegen genau dort, wo der Server läuft — und sonst nirgends.

Fixier die Version, die du willst

Du bestimmst den Deploy. Upgrade, wenn du bereit bist, bleib auf einem getesteten Build, wenn nicht — die Storyblok-SDKs laufen so oder so.

Alle Sprachen, immer

i18n, Datasource-Dimensionen und Übersetzungs-Workflows — immer inklusive. Weil es keine Tiers gibt.

Gebaut für Teams, die liefern.

Ein langweiliger, selbst-gehosteter Stack mit genau den Features, die du ab Tag eins brauchst — ohne Sales-Gespräch.

1:1 kompatibel

CDN v2, Management-API, Bridge-Protokoll, Asset-Pipeline, Datasources, i18n, Scheduled Publish — alles Byte für Byte. STORYBLOK_API umschalten, fertig.

Langweiliger Stack, eine Compose-Datei

Bun + Hono für die API, Nuxt 4 fürs Admin, Postgres + Drizzle, Minio/S3 für Assets, optional Redis. Läuft auf einem 2-GB-VPS.

Auth, die zu deiner Org passt

Standardmässig Email + Passwort. Eine Env-Variable (OIDC_ISSUER_URL) schaltet den gesamten Login auf euer SSO um. Personal-Access-Tokens, rollenbasierte Space-Permissions, append-only Audit-Log.

Schnell by default

Bun-Runtime, SQL-nahe Drizzle-Queries, optionaler Redis-CDN-Cache, /m/ On-the-fly-Bildtransformationen direkt aus dem Storage-Service.

Migration an einem Nachmittag

POST /v1/spaces/:id/import/storyblok zieht einen kompletten Storyblok-Space — Components, Stories, Datasources, Assets — nach Osstblok. Live in Stunden statt Wochen.

MCP-nativ für KI-Agenten

Jeder Space hat einen Streamable-HTTP-MCP-Endpoint. Claude und andere Agenten lesen, schreiben und verwalten Content — mit Token-Rollen.

Endpoint austauschen. Fertig.

Osstblok starten, das offizielle Storyblok-JS-SDK auf deine Instanz zeigen lassen, Stories lesen. Das Response-Shape ist identisch — weil es dasselbe Shape ist.

storyblok.ts
import { storyblokInit, apiPlugin } from '@storyblok/js'

const { storyblokApi } = storyblokInit({
  accessToken: process.env.OSSTBLOK_TOKEN!,
  apiOptions: { endpoint: 'https://your-osstblok.example/api/v2' },
  use: [apiPlugin],
})

const { data } = await storyblokApi!.get('cdn/stories/home', { version: 'published' })
console.log(data.story.content)
Offizielles @storyblok/js — nur der Endpoint ändert sich.