Introduction

The whole Qaack structure moves around the concept of environment. In a nutshell, a environment is a set of services that runs your web application.

Conceptually, above 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

A entity that contains repositorires. 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 users. Under groups settings, new users can be added.

Repository

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

Environment

Every environment is attached to a git reference. All environments are created and built from a configuration file, the Qaackfile. This file can fetch from the git reference (as a file in the repository) or from the repository settings and its 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 the users whats happening.

Service

This is a docker container running following the Qaackfile.