Skip to content

Get Started

By the end of this tutorial you will have Henceforth running locally with the schema applied, and you will be logged into both Studio (the admin control plane) and App (the end-user workspace).

TODO(#787): install instructions land with the distribution spec; until then this tutorial assumes a source checkout of henceforth-labs/henceforth, built with the toolchain below.

  • Rust (stable toolchain) — rustup.rs
  • Bunbun.sh
  • justcargo install just or brew install just
  • Docker or Podman — for running PostgreSQL
Terminal window
just db-up

This starts a PostgreSQL 18 container with SSL enabled.

The server’s bootstrap process automatically creates two seed accounts on first run. You can also run just db-seed to create them manually (before the first server start).

Username Password Role
admin0 admin0 Admin (Studio access)
user0 user0 Regular user (App access)
Terminal window
just ui-install

Start the server and apply the schema:

Terminal window
just serve &
just apply

Stop the background server after apply completes (just stop or Ctrl-C).

Terminal window
just serve

Dev mode is the default: no master key needed, auth is bypassed with a built-in admin principal, and the embedded UI is served at http://localhost:8080.

Navigate to http://localhost:8080. You will be redirected to the login page.

  • Sign in as admin0 / admin0 to access Studio (the admin control plane).
  • Sign in as user0 / user0 to access App (the end-user workspace).

After login, the UI calls GET /auth/me to determine your role and redirects you to the appropriate surface.

Log out and sign back in as user0 to confirm you land in App, then again as admin0 to confirm you land in Studio. If either sign-in redirects back to the login page instead of the corresponding surface, re-run just apply and confirm it completed without error before retrying.

To model your own data, see Objects, Records, and Fields. To create your first record through the API, see Create records through the API.