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:

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.

If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!