How to Install ZITADEL on macOS

ZITADEL is an open-source identity and access management (IAM) solution that can easily be installed on macOS. In this tutorial, we will guide you through the installation process of ZITADEL on macOS using the terminal.

Prerequisites

Before you begin, make sure that the following prerequisites are met:

  • macOS is installed on your machine
  • Homebrew is installed on your machine

If you don't have Homebrew installed, you can install it by following the instructions on the official Homebrew website.

Installation Steps

  1. Open the Terminal app on your macOS machine.

  2. First, we need to install go. Run the following command to do so:

    brew install go
    

    This command will install the latest version of go on your machine.

  3. Next, we need to download the latest release of ZITADEL from the official ZITADEL GitHub repository. Run the following command:

    curl -L https://github.com/caos/zitadel/releases/latest/download/zitadel_darwin_amd64.tar.gz --output zitadel.tar.gz
    

    This will download the latest release of ZITADEL into a file called zitadel.tar.gz.

  4. Now, we need to extract the contents of the downloaded file using the following command:

    tar xzf zitadel.tar.gz
    

    This will extract the contents of zitadel.tar.gz into a directory called zitadel.

  5. To test the installation, navigate to the zitadel directory and run the following command:

    ./zitadel serve
    

    This will start the ZITADEL server. If you see output similar to the following, then the installation was successful:

    2021-09-09T10:51:48.486+0200    INFO    config/config.go:121    config.LoadConfig    Loaded config from CLI flags, flag provider and environment with values: api: authorization-secret:******** auth: client: id: admin.secret scope: roles:admin
    2021-09-09T10:51:48.487+0200    INFO    config/config.go:327    config.PrintConfig    Printed config: <zitadel.ConfigV1>{ConfigVersion:"v1", ConfigSet:map[string]*zitadel.ConfigSetV1{"api":(*zitadel.ConfigSetV1)(0xc0000ae420), "auth":(*zitadel.ConfigSetV1)(0xc0000bc300), "auth.oauth":(*zitadel.ConfigSetV1)(0xc0000cfe00), "auth.oidc":(*zitadel.ConfigSetV1)(0xc0000cfec0), "auth.jwt":(*zitadel.ConfigSetV1)(0xc0000499a0), "storage":(*zitadel.ConfigSetV1)(0xc0000b7710), "security":(*zitadel.ConfigSetV1)(0xc0000bd270)}, AppendValues:map[string][]string{}, SecretsLoaded:[]string{"api.authentication.jwt.secret", "api.authorizaton.jwt.secret", "auth.client.secret", "auth.oauth.jwt.secret", "auth.oidc.jwt.secret"}, SecretsProvider:(*zitadel.SecretsProvider)(nil), Valid:true, Reconfigurable:true, ConfigScopeName:""}
    2021-09-09T10:51:48.489+0200    INFO    config/config.go:269    config.PrintEnvironmentVariables    Configuration set via environment variables: map[API_AUTHORIZATION_SECRET:******** AUTH_CLIENT_ID:admin.secret AUTH_CLIENT_SCOPE:roles:admin]
    2021-09-09T10:51:48.489+0200    INFO    server/server.go:107    server.(*Server).start    Starting server, listening on :7272
    

Congratulations! You have successfully installed ZITADEL on macOS. You can now use ZITADEL to manage users and roles in your application.