WaferCMS

Getting started

Run WaferCMS locally and create your first content

For developers and contributors. Docker is enough for a full local stack; use pnpm when you want the apps outside Compose. More detail: Local Compose.

Compose

cp .env.example .env
docker compose up -d

Optional first admin (remove after the user exists, then recreate cms-server):

CMS_BOOTSTRAP_ADMIN_USERNAME=admin
CMS_BOOTSTRAP_ADMIN_PASSWORD=choose-a-strong-password

Need host access to Postgres or RustFS?

docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d

Local app processes

pnpm install
cp .env.example .env
docker compose up -d cms-postgres rustfs
pnpm db:migrate
pnpm dev

Wire CMS_DATABASE_URL / storage env to Compose (see .env.example). Vite uses VITE_CMS_API_BASE; containers use CMS_API_BASE.

First content

  1. Sign in to the admin UI.
  2. Create a collection and an item (draft or published).
  3. Create a read API key.
  4. List published items with Authorization: Bearer <key>.

Uploads start private — mark an asset public when you need a keyless URL (e.g. <img>). Keep API keys in your app’s server, not a public browser bundle.

For a real host with HTTPS, see Deploy.

On this page