Unlatch GitHub

Unlatch

Unlatch is a single sign-on server you host yourself. It speaks OpenID Connect, so people sign in once and can then use every service you connect to it, such as Grafana, Forgejo or Nextcloud. It is written in Rust with few dependencies and runs as one 9 MB binary with one SQLite file, in about 7 MB of memory.

Unlatch is young: it hasn't been audited or certified yet. The comparison shows how it differs from Authelia, authentik, Kanidm, Pocket ID and Rauthy.

The sign-in page

Applications in the web interface

Features

Getting started

Download a release, install it with cargo install --locked unlatch, or build it with cargo build --release. To try it on this machine:

(umask 077; unlatch generate-key > key)
UNLATCH_ISSUER=http://localhost:8080 UNLATCH_KEY_FILE=key unlatch

Or with Docker:

docker run --rm ghcr.io/romanok2805/unlatch generate-key > key
docker run --rm -p 127.0.0.1:8080:8080 -e UNLATCH_ISSUER=http://localhost:8080 \
  -e UNLATCH_KEY_FILE=/key -v "$PWD/key:/key:ro" ghcr.io/romanok2805/unlatch

Then open the link from the log, which creates the first administrator. The administrator then connects applications and invites people in the web interface. Running Unlatch shows how to run it on a server, with systemd or Docker Compose.

Documentation

Development

License

MIT