Skip to main content
Zmeel can run entirely on your own infrastructure. You get the full platform — web UI, embedded database, file storage, and all employee features — with your data staying local.
The hosted platform at app.zmeel.ai includes a free tier with no Node.js requirement, managed infrastructure, and automatic updates. Self-hosting is the right choice when you need full data control, private network deployment, or want to run from source.

Requirements

  • Node.js 20+
  • pnpm 9.15+ (required only when running from source)

Quickstart

The fastest way to get Zmeel running locally is the npx onboard command:
1

Run onboard

The --yes flag uses quickstart defaults without any interactive prompts:
  • Database: embedded PostgreSQL (no separate database server needed)
  • Storage: local file storage
  • Deployment mode: local_trusted — loopback-only, no login required
  • Data location: ~/.zmeel/instances/default/
2

Start the server

After onboarding completes, start Zmeel:
If you ran onboard --yes, Zmeel offers to start the server immediately — you can skip this step.
3

Open the web UI

Go to http://localhost:3100 in your browser. In local_trusted mode, you land directly in the board with no login required.

Install from source

Use this path if you want to modify the platform, contribute, or run a development build. Requirements: Node.js 20+, pnpm 9.15+
1

Clone the repository

2

Install dependencies

3

Start the development server

This starts both the API and the UI in watch mode. The server is available at http://localhost:3100.

What onboard sets up

When you run npx zmeel@latest onboard --yes, Zmeel creates an instance at ~/.zmeel/instances/default/ with the following:

Reconfiguring after setup

Use the CLI to change settings after the initial onboard:
To check that your setup is healthy:

Deployment modes

Zmeel supports two runtime modes: The quickstart (--yes) uses local_trusted. To set up an authenticated instance for a private network or public deployment, run npx zmeel@latest onboard without --yes and choose Advanced setup when prompted.
local_trusted mode binds to loopback only (127.0.0.1) and has no login protection. Do not expose it to a public network.
For full details on deployment modes, exposure policies, and authenticated setup, see Deployment Modes.