Açık kaynak · Tamamen self-hosted

Tüm blog işleriniz.
Tek panelden.

corpusctl, API-first ve çok kiracılı bir headless CMS. Kaç proje işletirseniz işletin, içeriği bir yerden yönetin — her site kendi frontend'iyle, kenardan milisaniyede servis edilsin.

Kendi sunucunuzda çalışır · Kullanım başına ücret yok · Kredi kartı gerekmez

app/blog/[slug]/page.tsx
import { ReadClient } from '@corpusctl/client'

const client = new ReadClient({
  tenantId: 'acme-blog',
  edgeUrl: 'https://edge.sirketiniz.com',
})

// İki HTTP isteği — ikisi de kenar cache'inden döner,
// hiçbiri API'ye veya veritabanına ulaşmaz.
const yazi = await client.getBySlug('merhaba-dunya')

// Liste sayfası mı? Aynı parçaya düşen slug'lar
// tek manifesto isteğiyle çözülür.
const yazilar = await client.getManyBySlugs([
  'ilk-yazi', 'ikinci-yazi', 'ucuncu-yazi',
])

Okuma yolu veritabanına hiç dokunmaz

Yayınlanan içerik derleme anında değişmez bir adrese yazılır ve kenardan servis edilir. SDK sunucuya değil, doğrudan cache'e konuşur.

  • İçerik adresli cache — adres, içeriğin hash'i. Değişmediği için süresiz saklanabilir; bayat veri diye bir şey yok.
  • Trafik büyüyünce maliyet büyümez — okuma isteği API'ye uğramadığı için içerik sayısı da ziyaretçi sayısı da sunucunuzu yormaz.
  • Tip güvenli SDK@corpusctl/client React, Vue ve Next.js ile çalışır; bulunamayan içerik hata fırlatmaz, undefined döner.
Özellikler

İçerik altyapısı, dert değil

Developer'lar için kuruldu: her şey API'nin arkasında, hiçbir şey kilitli değil.

Tamamen self-hosted

Veriniz kendi sunucunuzda. Kullanım başına ücretlenen tek bir dış servis yok — PostgreSQL, Typesense, Valkey, Garage: hepsi sizde çalışır.

<50ms arama

Typesense destekli, tipo toleranslı ve çok dilli tam metin arama. Yazım hatasıyla aransa bile doğru içerik ilk sırada.

Anında global cache

Yayınla düğmesine bastığınız an içerik derlenir, değişmez adrese yazılır ve kenar cache'i güncellenir. Ziyaretçi hep sıcak cache'e düşer.

Typed SDK

TypeScript ile yazılmış istemci; React, Vue ve Next.js adaptörleri. Blok render'ıcıları sıfır varsayılan stille gelir — tasarım tamamen sizin.

Sürümleme & zamanlama

Her kayıt sürümlenir; tek tıkla geri dönün. Yazıyı bugün bitirin, yarın sabah 09:00'da kendi kendine yayınlansın.

Webhooks

Yayınlama, güncelleme, silme — her olayda sisteminize haber verilir. Teslimat kalıcı kuyrukta tutulur; süreç ölse bile webhook kaybolmaz.

Çok kiracılı yapı

Bir panel, N proje

Şirket blogu, dokümantasyon sitesi, üç ayrı müşteri projesi… Hepsi tek corpusctl kurulumunda, tek panelde. Proje eklemek yeni sunucu değil, yeni bir satır demek.

  • Veritabanı seviyesinde izolasyon

    Her proje PostgreSQL satır düzeyi güvenlikle (RLS) ayrılır. Bir kiracının verisi diğerine sızamaz — uygulama hatası olsa bile.

  • Proje bazlı ekip ve roller

    Yazar bir projede editör, diğerinde sadece okuyucu olabilir. Yetkiler panelden, proje bazında yönetilir.

  • Modüler çekirdek

    Arama, webhooks, GraphQL — her özellik açılıp kapanabilen bir modül. Kapatmak veri silmez; açınca kaldığı yerden devam eder.

Nasıl çalışır

Yaz. Yayınla. Unut.

İçerikle aranızdaki her şey üç adıma iner — gerisini derleme hattı halleder.

İçeriğinizi yazın

Şemanızı tanımlayın, blok tabanlı editörde yazın. Alanlar Zod ile doğrulanır; yanlış veri daha kaydedilmeden yakalanır.

Yayınla'ya basın

İçerik derlenir, sürümlenir ve değişmez bir adrese yazılır. İsterseniz ileri bir tarihe zamanlayın — gerisi otomatik.

Kenardan servis edilsin

Ziyaretçiler içeriği API'den değil, kenar cache'inden alır — milisaniyeler içinde. Sunucunuz okumada hiç yorulmaz.

İçerik altyapınız sizin olsun

Kendi sunucunuza kurun, ilk projenizi dakikalar içinde yayına alın. Kilitlenme yok, kullanım başına fatura yok.