In this page we will see the main concepts that goes along with Qaack.


A group can contain several repositories and several users can belong to it.

By default, all users have a owned group.

You can invite other users to your group.


A repository represents a Git repository, its connected with a code platform like GitLab or Azure.

As a Git repository, it holds data related with branches, tags and merge requests or pull requests, depending on the code platform.


A environment is linked to a git reference. Is possible to create multiple environments from the same git reference. All environments are created and build from a config file, the qaackfile. The qaackfile specifies the services to spin up for the environment.

Each environment has a public URL to the default service as well as some properties, like a name or a time to live.

Environments have a state, which are:

  • Empty: The environment is visible as the git ref exists but it doesnt have any services yet.

  • Created: The services have been created but no build commands have been executed. Its already accessible.

  • Building: The build commands are being executed.

  • Cancelled: The build process has been cancelled without any further action (no clean up)

  • Failed: The build process didnt exited successfully

  • Built: The build process has completed without errors.


This is a running software, for example a Docker container or a VM.