Guide · 3 min read

Your first 15 minutes with Domma CMS

One command, a four-question wizard and a dashboard that tells you what still needs doing. Here is what the first quarter of an hour with Domma CMS looks like.

Darryl WaterhouseUpdated

Most content management systems ask for a database, a web server and a configuration file before they show you anything. Domma CMS asks for Node.js and one command. This post walks through the first fifteen minutes, from an empty folder to a signed-in admin with the basics set. The full step-by-step version, with screenshots, is the tutorial Your first 15 minutes with Domma CMS.

What you need

  • Node.js 24 or later. Run node --version. If it says v22 or older, install Node 24 first (nvm install 24 if you use nvm). The installer checks this for you and stops with the version it found, rather than failing halfway through.
  • A terminal.
  • Optional: your mail provider's SMTP details, so the site can send password resets and form notifications.

There is no database to create. Content is stored as files - Markdown pages, JSON collections - so a new site is a folder you can copy, back up or put in git. MongoDB is there when a site outgrows files, but you never need it to start.

One command

npx domma-cms acme-site

That creates the folder, copies the CMS into it, installs its packages and starts a short wizard in the terminal. It asks four things:

  1. Your first admin account - name, email and a password of at least eight characters. This is the Super Admin, who can do everything.
  2. The site's title and tagline.
  3. A theme - pick one or press Enter for the default. Changing it later takes seconds.
  4. The port - press Enter for 4096.

It then adds starter pages, forms and collections, so the first thing you see is a site, not a blank screen. If you are installing somewhere without a terminal wizard, --no-setup skips it and the first visit to /admin shows a sign-up form for the first Super Admin instead.

Start it and sign in

cd acme-site
npm run dev

The public site is at http://localhost:4096 and the admin at /admin. Sign in with the account the wizard made.

Read the dashboard

The dashboard shows page views today, visitors right now, pages and drafts, form submissions this week and a site health figure, with a 30-day traffic chart underneath. The card worth learning first is Needs attention: it gathers every red or amber badge from the sidebar and every health check that is not OK, and each line links to the screen that fixes it.

On a new site it usually lists two things, which are the next two steps.

Tell the site its own address

In System > Site Settings, set the Site URL to the address the site will live at. It is used for canonical links, the sitemap, share cards and the links in emails. Until it is set, those fall back to whatever address a visitor happened to use.

Give it a way to send email

Still in Site Settings, the Email tab takes your SMTP host, port, user and password, and a Send test button proves them. Without SMTP, forms still store their submissions and admins can copy password-reset links by hand - but nothing can be emailed. The "No SMTP host" badge in the sidebar stays amber until this is done, which is the point: it is easy to forget and awkward to discover the day a client needs a reset.

Where to go next

With the site running, the useful next steps are:

Every one of those uses only what ships with the free install. When you want more, the Tools directory lists every built-in, free and Pro Tool, and each has its own page showing what it does.