# Install Underpeaks Core: A Free, Self-Hosted Headless CMS for Flutter and Next.js

> Source: <https://dev.to/under_peaks/install-underpeaks-core-a-free-self-hosted-headless-cms-for-flutter-and-nextjs-1al0>
> Published: 2026-10-06 08:13:39+00:00

If you've ever built the same app for web and mobile, you know the tax: two codebases, two sets of backend glue code, and one data model you keep in sync by hand. Change a field, update it in both places, miss one, ship a bug.

Underpeaks Core is a free, open-source, self-hosted headless CMS built to get rid of that. You define your data model once, and it gives you a backend, a content editor and a REST API. It can also generate working Flutter and Next.js apps from the same model. It's compiled, not AI-generated, so the same model always gives you the same code.

The video above shows the whole install. Here's the written version, so you can follow along or come back to it.

```
git clone https://github.com/underpeaks/underpeaks-core.git
cd underpeaks-core
npm install
npm run dev
```

Open `http://localhost:3000`. On a fresh install you're taken straight to the installer.

You don't write any environment variables by hand. The installer does it for you:

`.env` for you)
When it's done, you're sent to the sign-in page.

Use the admin email and password you just created.

The first time you sign in, Core asks for a license key:

Then you land in the console.

| Section | What it does | 
|---|---|
| Shared Models | Define your data models | 
| Pages | Build pages from your models | 
| Menu | Control the admin sidebar | 
| Navigator | Connect pages to each other | 
| Theme | Colours and branding | 
| Storage | Upload and manage media | 
| Users | Manage who can access your instance | 
| Settings | Project name, license key, SMTP, API keys | 

A good first move is to create a model and attach it to a page. The admin views for it show up straight away.

```
npm install -g underpeaks-nxf
nxf login
nxf generate flutter   # or: nxf generate nextjs
```

`nxf login` opens your browser to connect the CLI to your account. After that, `generate` gives you a real project you own, with models, an API client and auth flows included.

`.env.local` match your database exactly.
If you get stuck, tell me which step and which database you used. I'm a solo developer and I read every comment.

The next video in the series is Core vs Studio, the free self-hosted version compared with the hosted one. After that, we create your first model.

Core is free and open source: [GitHub](https://github.com/underpeaks/underpeaks-core?utm_source=devto&utm_medium=blog&utm_campaign=install-core).

Which database are you planning to run it on?
