Skip to content

Quickstart

This page gets Goiabada running on your machine in a few minutes, so you can try it out. All you need is Docker with Docker Compose.

  1. Download the setup wizard for your platform.

    Terminal window
    curl -LO https://github.com/leodip/goiabada/releases/latest/download/goiabada-setup-linux-amd64
    chmod +x goiabada-setup-linux-amd64
  2. In an empty directory, run it for local testing with SQLite. Use the name of the file you downloaded.

    Terminal window
    ./goiabada-setup-linux-amd64 --type=local --db=sqlite

    It writes docker-compose.yml and, beside it, docker-compose.override.yml, which holds the secrets.

  3. Start Goiabada.

    Terminal window
    docker compose up -d
  4. Check that both servers answer. Each one replies healthy.

    Terminal window
    curl http://localhost:9090/health
    curl http://localhost:9091/health

    The first start takes a little longer, while the auth server sets up its database.

  5. Get the admin password, which the wizard generated.

    Terminal window
    grep GOIABADA_ADMIN_PASSWORD docker-compose.override.yml
  6. Open the admin console at http://localhost:9091 and sign in as [email protected] with that password.

The wizard writes a Docker Compose file with two services, both from the images of the wizard’s own release:

Service Address What it does
goiabada-authserver http://localhost:9090 The auth server: signs users in and issues tokens.
goiabada-adminconsole http://localhost:9091 The admin console, where you manage clients, users and settings.

docker compose commands take these names, as in docker compose logs goiabada-authserver. Docker names the containers themselves after the directory holding the file, as in <directory>-goiabada-authserver-1.

The admin console starts once the auth server is healthy. On its first start, the auth server finds an empty database and fills it: the first administrator, the admin console’s client, its resource and permissions, and two signing keys.

The SQLite database lives in a Docker volume, so it survives docker compose down. To start over from an empty database, remove the volume too:

Terminal window
docker compose down -v

Prefer MySQL, PostgreSQL or SQL Server? Pass --db=mysql, --db=postgres or --db=mssql instead, and the Compose file runs that database in a third container. Or leave out every flag and the wizard asks you each question.