Introduction
Olgax DXP is an open-source, self-hostable page builder for Payload CMS and Next.js. Learn what it is, how it fits together and where to start.
Olgax DXP is an open-source, self-hostable page-building layer for Payload CMS and Next.js.
- Payload manages your content, users, media, drafts and access control.
- Puck gives editors a drag-and-drop visual canvas.
- Olgax supplies the parts that turn the two into a product: a component library, a renderer, a dashboard, localization, analytics, webhooks and a CLI that scaffolds a working site in minutes.
If you want a self-hosted alternative to hosted page builders, built on tools you already trust, this is for you.
Try it
npx create-olgax-site my-site
cd my-site
pnpm devThe CLI installs dependencies, creates .env with a generated secret, and seeds an admin user and a homepage, so the
first pnpm dev shows a real page. See the Quick start for the full walkthrough.
What you get
Visual page builder
Drag and drop pages with Puck. Content is stored as plain JSON in Payload.
Your own components
Generate a block with one command and watch it appear in the editor live.
Theming
Retheme a site, a page or a single block with CSS variables and the editor.
Drafts and publishing
Autosaved drafts, explicit publishing and safe public routes.
Localization
Locale-prefixed routes, per-language content and automatic fallback.
Analytics
A built-in, privacy-friendly counter, plus optional Umami.
Personalization
Show blocks to new or returning visitors.
Webhooks
Signed notifications when pages are published or deleted.
How it fits together
A scaffolded site is a normal Next.js app with Payload mounted inside it. Pages are Payload documents whose data
field holds Puck's JSON. The same Puck config powers the editor and the public renderer, so what editors build is what
visitors see.
| Package | What it does |
|---|---|
create-olgax-site | Scaffolds a new project |
@olgax.com/payload-preset | Payload collections and globals: users, media, pages, sections, site settings, page views, webhooks |
@olgax.com/sdk | registerComponent(), color override and visibility helpers |
@olgax.com/components | The default, themeable component library |
@olgax.com/datasource | Resolvers that feed real Payload data into components |
Get help
- Chat with the community on the official Discord.
- Read these docs at dxp.olgax.com.
- Report bugs and request features on GitHub.
Questions, ideas or something not working?
Ask in our official Discord, open an issue on GitHub, or edit this page.