Pala is a component-based CMS that streamlines development and content management by putting code and content in the same place. Developers get full code control with a browser-based IDE, editors get focused visual content editing, and visitors get sub-second loading speeds.
One-click deploy:


Why Pala
Pala gives developers code control while giving editors content freedom - without either breaking the other's work.
- Monolithic: Build and host your sites from the same deployment, no external services needed. Powered by PocketBase.
- Code-First Development: Build reusable blocks with Svelte in a powerful in-browser IDE with instant previews.
- Visual Content Editing: You define the guardrails, editors work freely within them. No more "I broke the website" texts.
- Block Library: Build blocks once, reuse across all your sites. Browse the marketplace for pre-built templates and blocks.
- Page Types: Define custom page types for all types of content: posts, people, events, locations, projects, anything.
- Multisite by Default: Publish hundreds of sites from a single server, just connect a domain name for each new site.
- Static Output: Sites deploy as clean, secure, SEO-optimized static HTML for sub-second loading speeds.
- Self-Hosted: Host on Railway, Fly.io, Hetzner, or any Docker-compatible platform.
Getting Started
After deploying, create your first site by accessing the server from your domain.
Next steps:
- Read the Quickstart - Get oriented with key concepts
- Build Your First Site - Step-by-step guide
- Create Blocks - Build reusable components with Svelte
Documentation
Deploy
The easiest way to deploy Pala is on Railway.

You can also host Pala on any platform that supports Docker:
docker run -d -p 8080:8080 -v palacms-data:/app/pb_data ghcr.io/palacms/palacms:latest
See full deployment guide →
License
MIT