Často kladené otázky
Získejte odpovědi na běžné otázky týkající se CatCMS, od instalace po nasazení a vše mezi tím.[object Object]
Obecné otázky
Co je CatCMS?
CatCMS je moderní, edge-first headless CMS vytvořený speciálně pro Cloudflare Workers. Kombinuje sílu globální edge sítě Cloudflare s flexibilní architekturou založenou na pluginech, aby poskytoval výjimečný výkon a vývojářský zážitek.
Klíčové vlastnosti:
- Architektura Edge-First - Běží kompletně na globální síti Cloudflare
- Nulové studené starty - V8 izoláty zajišťují okamžité časy spuštění
- Nativní podpora TypeScriptu - Plně typovaný pro vynikající vývojářský zážitek
- Systém pluginů - Rozšiřitelný pomocí robustních pluginů
- Tříúrovňové ukládání do mezipaměti - Doba odezvy pod milisekundu
Proč si vybrat CatCMS oproti jiným CMS platformám?
CatCMS nabízí několik jedinečných výhod:
Výkon
- Běží na edge pro dobu odezvy pod 50 ms globálně
- Tříúrovňová mezipaměť (paměť, KV, databáze)
- Žádné studené starty díky V8 izolátům
Vývojářský zážitek
- TypeScript-first s plnou typovou bezpečností
- Moderní technologický stack (Hono, Drizzle ORM, React)
- Intuitivní architektura pluginů
- Komplexní API
Cenově výhodné
- Serverless cenový model (platba za požadavek)
- Dostupná bezplatná úroveň na Cloudflare
- Žádná infrastruktura ke správě
Škálovatelnost
- Automatické škálování pro zvládnutí náporů návštěvnosti
- Globální distribuce ihned po instalaci
- Zvládá miliony požadavků bez námahy
Čím se CatCMS liší od tradičních CMS platforem?
Na rozdíl od tradičních CMS platforem, které běží na centralizovaných serverech, CatCMS běží kompletně na edge:
- Tradiční CMS: Jeden zdrojový server → CDN → Uživatelé
- CatCMS: Edge lokace → Uživatelé (přímo)
Tato architektura odstraňuje úzké hrdlo zdrojového serveru a poskytuje:
- Nižší latenci (10-50 ms vs 200-500 ms)
- Vyšší dostupnost (žádný jediný bod selhání)
- Lepší škálovatelnost (automatická globální distribuce)
- Nižší náklady (platba za požadavek, ne za server)
Je CatCMS vhodný pro produkční použití?
Ano! CatCMS je připraven pro produkční nasazení a pohání několik živých webových stránek. Je postaven na technologiích prověřených v praxi:
- Cloudflare Workers - Zpracovává miliardy požadavků denně
- D1 Database - SQLite s globální replikací
- R2 Storage - S3-kompatibilní objektové úložiště
- TypeScript - Typově bezpečný, podnikové úrovně
Systém pluginů je stabilní, API je dobře zdokumentované a kódová základna je aktivně udržována.
Instalace a nastavení
Jaké jsou systémové požadavky?
Vývojové prostředí:
- Node.js 18 nebo vyšší
- npm nebo pnpm
- Git
- Moderní webový prohlížeč
Produkční prostředí:
- Účet Cloudflare (dostupná bezplatná úroveň)
- Cloudflare Workers
- D1 Database
- R2 Storage (pro média)
- KV Storage (volitelné, pro ukládání do mezipaměti)
Jak dlouho trvá instalace?
Počáteční nastavení trvá méně než 5 minut:
# Clone and install (2 minutes)
git clone https://github.com/catcms-app/catcms-app.git
cd catcms
npm install
# Run migrations (1 minute)
npm run db:migrate
# Start development server (instant)
npm run dev
# Your CMS is now running at http://localhost:8787
Quick Setup
Mohu použít CatCMS s existujícím projektem?
Ano! CatCMS lze integrovat do existujících projektů několika způsoby:
Jako Headless CMS:
# Install as a package
npm install catcms-core
# Or use the hosted API
fetch('https://your-cms.com/api/content')
Jako samostatná služba: Nasaďte CatCMS samostatně a využívejte jeho API z vaší existující aplikace.
Nastavení Monorepo: Zahrňte CatCMS jako balíček do vaší monorepo struktury.
Potřebuji Cloudflare k použití CatCMS?
Pro produkční nasazení, ano. CatCMS je speciálně navržen pro edge platformu Cloudflare a využívá:
- Cloudflare Workers (serverless výpočty)
- D1 Database (distribuované SQLite)
- R2 Storage (objektové úložiště)
- KV Storage (key-value mezipaměť)
Pro lokální vývoj, není účet Cloudflare potřeba. Můžete vyvíjet kompletně lokálně pomocí lokálního režimu Wrangleru.
Funkce a schopnosti
Jaké typy obsahu CatCMS podporuje?
CatCMS podporuje flexibilní typy obsahu prostřednictvím svého systému kolekcí:
Vestavěné typy polí:
- Text (jednořádkový, víceřádkový)
- Formátovaný text / Markdown
- Čísla (celé, desetinné)
- Data a datumy s časem
- Booleovská hodnota (přepínač)
- Média (obrázky, videa, soubory)
- Vztahy (jeden k jednomu, jeden k mnoha, mnoho k mnoha)
- JSON (strukturovaná data)
- Opakovače (vnořený obsah)
- Skupiny (seskupování polí)
- Výběr (rozbalovací nabídka)
- Štítky
Vlastní kolekce: Vytvořte jakoukoli strukturu obsahu, kterou potřebujete - blogy, produkty, dokumentaci, portfolia atd.
Má CatCMS vizuální editor?
Ano! CatCMS obsahuje moderní administrátorské rozhraní s:
- Editor obsahu - Editace formátovaného textu s podporou markdownu
- Knihovna médií - Správa souborů přetažením
- Tvůrce kolekcí - Vizuální definice kolekcí
- Nástěnka - Analytika a přehled systému
- Správa uživatelů - Řízení přístupu na základě rolí
Administrátorské rozhraní je postaveno na Reactu a je dostupné na /admin.
Mohu si přizpůsobit administrátorské rozhraní?
Rozhodně! Administrátorské rozhraní si můžete přizpůsobit pomocí:
Pluginy: Přidejte vlastní administrátorské stránky a položky menu pomocí pluginů.
Témata: Přizpůsobte barvy, písma a styly pomocí CSS proměnných.
Přepsání komponent: Nahraďte vestavěné komponenty svými vlastními React komponentami.
Vlastní stránky: Vytvořte zcela vlastní administrátorské stránky pro specifické pracovní postupy.
Podporuje CatCMS vícejazyčný obsah?
Ano, prostřednictvím pluginu pro internacionalizaci (i18n):
Vlastnosti:
- Více jazykových verzí pro každou položku obsahu
- URL specifické pro jazyk
- Automatická detekce jazyka
- Podpora záložního jazyka
- Pracovní postupy překladu
Implementace:
{
title_en: 'Hello World',
title_es: 'Hola Mundo',
title_fr: 'Bonjour le Monde',
content_en: '...',
content_es: '...',
content_fr: '...'
}
Mohu používat CatCMS se svým frontendovým frameworkem?
Ano! CatCMS je headless CMS, který funguje s jakýmkoli frontendem:
Oficiálně podporované:
- React
- Next.js
- Vue.js
- Nuxt.js
- Svelte
- SvelteKit
Funguje také s:
- Angular
- Solid.js
- Astro
- Remix
- Jakýkoli framework, který umí provádět HTTP požadavky
Jednoduše využívejte REST API z vašeho frontendového frameworku.
Vývoj
Jak vytvořím vlastní plugin?
Vytvoření pluginu je s Plugin Builder SDK jednoduché:
import { PluginBuilder } from 'catcms-core'
import { Hono } from 'hono'
// Create plugin
const plugin = PluginBuilder.create({
name: 'my-plugin',
version: '1.0.0',
description: 'My custom plugin'
})
// Add routes
const routes = new Hono()
routes.get('/hello', (c) => c.json({ message: 'Hello!' }))
plugin.addRoute('/api/my-plugin', routes)
// Add lifecycle hooks
plugin.lifecycle({
activate: async (context) => {
console.log('Plugin activated!')
}
})
// Export
export default plugin.build()
Basic Plugin
Podívejte se do Příručky pro vývoj pluginů pro komplexní dokumentaci.
Mohu používat externí API a služby?
Ano! Pluginy CatCMS se mohou integrovat s jakýmkoli externím API nebo službou:
Příklady:
- Platební brány (Stripe, PayPal)
- E-mailové služby (SendGrid, Mailgun)
- Analytika (Google Analytics, Plausible)
- Vyhledávání (Algolia, Meilisearch)
- Autentizace (Auth0, Clerk)
- Úložiště (S3, Google Cloud)
Jednoduše provádějte HTTP požadavky z kódu vašeho pluginu nebo použijte SDK dané služby.
Jak mám ve svém pluginu řešit autentizaci?
CatCMS poskytuje vestavěnou autentizaci prostřednictvím základního auth pluginu:
// Require authentication for routes
plugin.addRoute('/api/protected', routes, {
requiresAuth: true
})
// Access authenticated user
routes.get('/me', async (c) => {
const user = c.get('user')
return c.json({
userId: user.userId,
email: user.email,
role: user.role
})
})
// Check permissions
routes.post('/admin-action', async (c) => {
const user = c.get('user')
if (user.role !== 'admin') {
return c.json({ error: 'Forbidden' }, 403)
}
// Admin action here
})Auth in Plugins
Mohu plánovat úkoly nebo úlohy na pozadí?
Ano, prostřednictvím Cloudflare Durable Objects nebo Queues:
Plánované úkoly:
// Use Cloudflare Cron Triggers
export default {
async scheduled(event, env, ctx) {
// Run every hour
await cleanupExpiredSessions(env.DB)
},
}
Úlohy na pozadí:
// Use Cloudflare Queues
await env.QUEUE.send({
type: 'process-image',
imageId: '123',
operations: ['resize', 'compress'],
})
Nasazení a hosting
Jak nasadím CatCMS do produkce?
Nasazení na Cloudflare Workers je jednoduché:
# 1. Install Wrangler CLI
npm install -g wrangler
# 2. Authenticate with Cloudflare
wrangler login
# 3. Create production D1 database
wrangler d1 create catcms-production
# 4. Run migrations on production
wrangler d1 migrations apply catcms-production
# 5. Deploy to Workers
wrangler deploy
# Your CMS is now live!
Deploy to Production
Podívejte se do Příručky pro nasazení pro podrobné instrukce.
Jaké jsou náklady na provoz CatCMS v produkci?
Bezplatná úroveň Cloudflare:
- 100 000 požadavků/den
- 10 GB úložiště R2
- 1 GB úložiště D1
- Ideální pro malé až střední weby
Placený plán Cloudflare Workers (5 $/měsíc):
- 10 milionů požadavků/měsíc
- 50 GB úložiště R2
- 5 GB úložiště D1
- Další požadavky: 0,50 $ za milion
Enterprise: Individuální ceny pro weby s vysokou návštěvností
Většina projektů začíná na bezplatné úrovni a škáluje podle potřeby.
Mohu použít vlastní doménu?
Ano! Nakonfigurujte si vlastní doménu v Cloudflare:
- Přidejte svou doménu do Cloudflare
- Nakonfigurujte DNS záznamy
- Aktualizujte cestu Workeru v
wrangler.jsonc:
routes = [
{ pattern = "cms.yourdomain.com/*", zone_name = "yourdomain.com" }
]
Jak mám pracovat s proměnnými prostředí?
Použijte secrets a proměnné prostředí Wrangleru:
# Set secrets (for sensitive data)
wrangler secret put JWT_SECRET
wrangler secret put STRIPE_API_KEY
# Environment variables (in wrangler.jsonc)
[vars]
ENVIRONMENT = "production"
API_BASE_URL = "https://api.yourdomain.com"
// Access in your code
export default {
async fetch(request, env) {
const jwtSecret = env.JWT_SECRET
const apiUrl = env.API_BASE_URL
}
}Environment Configuration
Mohu spustit CatCMS na jiných platformách?
CatCMS je speciálně navržen pro Cloudflare Workers a používá specifická API Cloudflare (D1, R2, KV). Nicméně:
Alternativy:
- Použijte vrstvu kompatibility Cloudflare Workers na jiných platformách
- Spusťte lokálně pro vývoj (Wrangler poskytuje lokální emulaci)
- Přispějte adaptérem pro jiné platformy (komunita je vítána!)
Pro nejlepší výkon a funkce doporučujeme Cloudflare Workers.
Výkon
Jak rychlý je CatCMS?
CatCMS poskytuje výjimečný výkon:
Doby odezvy:
- Zásah v mezipaměti (paměť): < 1 ms
- Zásah v mezipaměti (KV): 10-50 ms
- Dotaz do databáze: 50-150 ms
- První požadavek (studený): 50-100 ms
Výkon v reálném světě:
- Time to First Byte (TTFB): 20-80 ms globálně
- Odezva API: 30-120 ms
- Načtení stránky: 100-300 ms (v závislosti na obsahu)
Co je tříúrovňový systém mezipaměti?
CatCMS implementuje inteligentní ukládání do mezipaměti ve třech úrovních:
Úroveň 1: Mezipaměť v paměti
- Nejrychlejší přístup (< 1 ms)
- Limit velikosti 50 MB na worker
- Zásada vyřazení LRU
- Specifické pro region
Úroveň 2: Cloudflare KV
- Globální distribuce
- Konečná konzistence
- Doba přístupu 10-50 ms
- 1 GB úložiště zdarma
Úroveň 3: Databáze D1
- Zdroj pravdy
- Silná konzistence
- Doba dotazu 50-150 ms
- Plné možnosti dotazování
Průběh:
Request → Memory? → KV? → Database → Populate all tiers → Response
Kolik požadavků dokáže CatCMS zpracovat?
CatCMS se škáluje automaticky:
Typický výkon:
- 1 000-10 000 požadavků/sekundu na worker
- Automatické škálování pro zvládnutí náporů
- Není nutná žádná manuální konfigurace škálování
Cloudflare automaticky:
- Rozděluje zátěž mezi workery
- Spouští další instance
- Směruje požadavky na nejbližší edge lokaci
Jak mohu optimalizovat výkon?
Povolit všechny úrovně mezipaměti:
{
memoryEnabled: true,
kvEnabled: true,
defaultTTL: 3600
}
Používejte vhodné TTL:
- Obsah: 1 hodina
- Uživatelská data: 15 minut
- Odpovědi API: 5 minut
Implementujte stránkování:
const limit = Math.min(parseInt(query.limit) || 20, 100)
const offset = (page - 1) * limit
Minimalizujte databázové dotazy:
- Dávkové operace
- Používejte indexy
- Ukládejte výsledky dotazů do mezipaměti
Ceny a licence
Je použití CatCMS zdarma?
Ano! CatCMS je open source a zdarma k použití pod licencí MIT.
Co je zahrnuto:
- Plný zdrojový kód
- Všechny základní funkce
- Systém pluginů
- Administrátorské rozhraní
- Komerční použití povoleno
- Není vyžadováno uvedení autora
Jaká je licence?
CatCMS je licencován pod licencí MIT:
- ✅ Komerční použití
- ✅ Úpravy
- ✅ Distribuce
- ✅ Soukromé použití
- ❌ Žádná odpovědnost
- ❌ Žádná záruka
CatCMS můžete používat pro jakýkoli účel, včetně komerčních projektů.
A co náklady na Cloudflare?
Cloudflare má vlastní ceník (oddělený od CatCMS):
Bezplatná úroveň:
- 100 000 požadavků/den
- Skvělé pro vývoj a malé weby
Workers placené (5 $/měsíc):
- 10 milionů požadavků/měsíc
- Vhodné pro většinu produkčních webů
Náklady na úložiště:
- D1: Zdarma do 5 GB
- R2: 0,015 $ za GB/měsíc
- KV: Zdarma do 1 GB
Většina projektů stojí celkem 5-20 $/měsíc.
Mohu získat komerční podporu?
Ano! Možnosti komerční podpory:
Komunitní podpora (zdarma):
- GitHub issues
- Discord komunita
- Dokumentace
Prioritní podpora:
- E-mailová podpora
- Soukromý Discord kanál
- Doba odezvy 24 hodin
Podniková podpora:
- Dedikovaný inženýr podpory
- Vlastní SLA
- Konzultace architektury
- Vývoj na zakázku
Pro ceny nás kontaktujte na support@catcms.app.
Podpora a komunita
Jak získám pomoc?
K dispozici je více kanálů podpory:
Dokumentace:
Komunita:
Profesionální podpora:
- E-mail: support@catcms.app
- Dostupné plány prioritní podpory
Mohu přispět do CatCMS?
Rozhodně! Příspěvky jsou vítány:
Způsoby, jak přispět:
- Hlásit chyby na GitHubu
- Odesílat pull requesty
- Psát pluginy
- Vylepšovat dokumentaci
- Sdílet příklady a tutoriály
- Pomáhat ostatním na Discordu
Jak začít:
# Fork and clone
git clone https://github.com/YOUR_USERNAME/catcms.git
# Create a branch
git checkout -b feature/my-feature
# Make changes and commit
git commit -m "Add my feature"
# Push and create PR
git push origin feature/my-feature
Podívejte se do CONTRIBUTING.md pro pokyny.
Kde najdu příklady a tutoriály?
Oficiální zdroje:
Komunitní zdroje:
- Komunitní pluginy
- Tutoriály třetích stran
- Videa na YouTube
- Články na Dev.to
Jak nahlásím chybu?
Hlaste chyby na GitHubu:
- Zkontrolujte, zda chyba již neexistuje
- Vytvořte nový issue s:
- Jasným popisem
- Kroky k reprodukci
- Očekávané vs. skutečné chování
- Detaily prostředí
- Ukázky kódu (pokud je to relevantní)
Šablona pro hlášení chyb:
**Describe the bug**
A clear description...
**To Reproduce**
1. Step one
2. Step two
3. Step three
**Expected behavior**
What should happen...
**Environment**
- CatCMS version:
- Node.js version:
- Browser:
- OS:
Existuje roadmapa?
Ano! Podívejte se na GitHub Projects pro:
- Nadcházející funkce - Plánováno pro příští vydání
- V procesu - V současné době ve vývoji
- V diskusi - Je potřeba zpětná vazba od komunity
Nedávné přírůstky:
- Systém pluginů v2
- Vylepšené ukládání do mezipaměti
- Vylepšení administrátorského rozhraní
- Vylepšení TypeScriptu
Již brzy:
- GraphQL API
- Pokročilé vyhledávání
- Workflow engine
- Vizuální tvůrce stránek