Your first node

Start a node, find the root password and check that it answers.

A single node is already a complete database: it stores your collections, splits them into ranges and serves the drivers. It is what you use to develop.

Start

Shell
teseladb start --dbpath ./data

Without --dbpath, the data directory is ./teseladb-data. The node listens on 127.0.0.1 and opens these ports:

PortWhat for
27017Clients and drivers, always with TLS
27100Traffic between nodes, with mutual TLS
27200Administration: teseladb admin, /metrics and /healthz
27080REST API and MCP server

What the first start creates

In an empty directory, the first start creates the security of the cluster. The path of the credentials file is in the log; its content, never.

FileContentPermissions
pki/ca.pem, pki/ca.keyCluster certificate authority0644 / 0600
pki/node.pem, pki/node.keyCertificate and key of this node0644 / 0600
master.keyMaster key, which encrypts the other keys0600
root-credentials.txtThe root user and its initial password0600

Read the root password:

Shell
cat ./data/root-credentials.txt

Check that it answers

/healthz returns 200 when the node is serving:

Shell
curl -s -o /dev/null -w "%{http_code}\n" --cacert ./data/pki/ca.pem https://127.0.0.1:27200/healthz

Develop without TLS

For local tests you can start without PKI or users with --insecure. The node warns in the log and only listens on 127.0.0.1, unless you add --insecure-allow-remote. Do not use it outside your machine.

Shell
teseladb start --insecure --dbpath ./dev-data

Next step

Connect with mongosh and with your driver: Connect.