Skip to content

MXWXZ/gandalf

Repository files navigation

Gandalf

Release Version Docker License

Identity and Access Management for home-lab environments.

Introduction

Gandalf is designed to be a lightweight OIDC provider and run on very limited resource devices. It is written in Rust and uses SQLite as its database.

Compared to Keycloak (require Java and 2GB+ RAM) and Authentik (500MB+ RAM), Gandalf can work on 16MB RAM devices (but 32MB+ is recommended). It is optimized for home-lab environments and gateways.

Quick Start

Docker (Recommended)

  1. Copy docker-compose.yml and conf.yml from the repo.

  2. Change base_url (must) and other settings as needed.

  3. Start with Docker Compose:

    docker compose up -d
  4. Create root user (or any username), the initial password will be generated for you:

    docker compose exec gandalf /app/gandalf user add root --admin
    sudo chown 1000:1000 data.db
    docker compose restart
  5. Open base_url in your browser and login with the user you just created.

Single Binary

  1. Download the latest release from Releases.

  2. Change base_url (must) and other settings as needed.

  3. Create root user (or any username), the initial password will be generated for you:

    ./gandalf user add root --admin
  4. Start gandalf:

    ./gandalf run
  5. Open base_url in your browser and login with the user you just created.

CLI

Usage: gandalf [OPTIONS] <COMMAND>

Commands:
  run    Run gandalf
  user   User management
  check  Check config file
  help   Print this message or the help of the given subcommand(s)

Options:
  -c, --config <FILE>  Config file [default: conf.yml]
  -v, --verbose        Show verbose/debug log
  -q, --quiet          Do not print any log
      --log-json       Use JSON to format log
  -h, --help           Print help
  -V, --version        Print version

License

GPL-3.0

About

Identity and Access Management for home-lab environments.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages