selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
tobab logo

Self-host tobab

v0.2.5

Passkey-based identity-aware proxy for homelab

ReleaseOpen SourceMIT
Updated9 hours ago
LanguageGo
Setup difficultyModerate
Stars
155
Port
8080 (HTTP server)
Docker
ghcr.io/gnur/tobab
Install with Linux
tobab screenshot 1

What is tobab?

tobab is a lightweight identity-aware proxy that enables passkey-based authentication for self-hosted services. It acts as a forward authentication target for reverse proxies like Caddy, nginx, or Traefik, providing single sign-on across subdomains. The project is written in Go and uses an embedded BoltDB database via the storm library for persistence. It runs as a single Docker container with configuration via a TOML file. The first user to register becomes the admin and can manage access through a web UI. It is designed for homelab use with simple setup and no external dependencies beyond the container itself.

Should you self-host tobab?

tobab scores 37/100 on selfhost.directory (how scoring works) and ranks #34 of 40 in Authentication. It has 155 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Go.

Its closest alternative on selfhost.directory is keycloak (86/100, 37 564 stars). It scores higher overall, so compare the two before you pick. See tobab vs keycloak side by side.

Features

  • Admin web UI
  • Embedded Database
  • Forward authentication
  • Passkey Authentication
  • Single sign-on across subdomains

tobab README

How to install tobab

Install tobab with Linux

go build -ldflags="-s -w" -o tobab ./cmd/tobab/

Build from source with Go 1.21+

How to configure tobab

  • cookiescopeCookie scope for SSO across subdomains

    Cookie scope for SSO across subdomains

  • databasepath./tobab.dbPath to the database file

    Path to the database file

  • DefaultTokenAge720hDefault token age duration

    Default token age duration

  • DevDevelopment mode flag

    Development mode flag

    values: true, false

  • displaynameUsed for passkey creation

    Used for passkey creation

  • hostnameHostname where the login occurs

    Hostname where the login occurs

  • loglevelLog level (debug, info, warning, error)

    Log level (debug, info, warning, error)

    values: debug, info, warning, error

  • MaxTokenAge8760hMaximum token age duration

    Maximum token age duration

  • TOBAB_TOML/etc/tobab/tobab.tomlPath to TOML config file

    Path to TOML config file

More in Identity & Auth

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…