All you need is Docker with Compose. No separate Node.js or Postgres install: Compose starts both the database and the app.
1. Get the code
Section titled “1. Get the code”git clone https://github.com/kdigivn/kdigi-cms-open.gitcd kdigi-cms-open2. Run with Docker Compose
Section titled “2. Run with Docker Compose”SEED_DEMO=true docker compose up --buildSEED_DEMO=true loads a demo site with sample content so you have something to look at right away. Leave it out to start with an empty CMS. The first build takes a few minutes. The app runs migrations on start and generates its own PAYLOAD_SECRET, so you do not need a .env file.
3. Open the admin panel
Section titled “3. Open the admin panel”Go to http://localhost:3000/admin. There is no demo login: the first account you create on the form becomes the super admin. After signing in you will see the demo site (siteKey is demo) with sample posts, pages, categories and menus.
4. Fetch content from a frontend
Section titled “4. Fetch content from a frontend”Each website is a record in Sites. Your frontend reads content per site over REST or GraphQL. First look up the demo site's id by siteKey, then filter posts by that id:
curl "http://localhost:3000/api/sites?where[siteKey][equals]=demo"curl "http://localhost:3000/api/posts?where[tenant][equals]=<site-id>&sort=-publishedAt&limit=5"Anonymous visitors only see published content. Filtering by site and the other endpoints are covered in REST and GraphQL.
Stop and reset
Section titled “Stop and reset”docker compose down # stop, keep datadocker compose down -v # stop and wipe all data (database, media)- Self-host with Docker: configuration variables and running on a server.
- Deploy on Coolify
- Migrate from WordPress