Skip to content

Concepts

The entire Qaack structure revolves around the concept of an environment. In a nutshell, an environment is a set of services that run your web application.

Conceptually, on top of a given environment, you will find a repository, which provides the code for the environment.

Every repository is contained in a group. Any user can belong to one or more groups.

Let's see more details of each concept:

Group

An entity that contains repositories. Each group may have many repositories, and at least one user belongs to every group.

By default, a new group is created for every user with the name of the user. Under group settings, new users can be added.

Repository

An entity that holds information about a code platform (like GitHub, GitLab, Bitbucket, etc.). It also has settings related to time to live, webhooks, SSH keys, and much more.

Read more about repositories here.

Environment

Every environment is attached to a git reference. All environments are created and built from a configuration file, the Qaackfile. This file can be fetched from the git reference (as a file in the repository) or from the repository settings and is very similar to a docker-compose file.

All environments are proxied through a subdomain.

In addition, the environment has a status (like creating, building, failed, etc.) to indicate to the users what's happening.

Read more about environments here.

Service

This is a docker container running according to the Qaackfile.