<aside> 👉 Before proceeding, we recommend you first review our Architecture Overview.

</aside>

Our installation process requires ansible to be installed either locally on your computer, or remotely on a linux machine. Please ensure this has been setup prior to continuing with this installation process.

Linux Distribution

We currently only support Debian 12 Bookworm.

SECTIONS

Domain Names

Various services require a proper dns configuration. Please ensure the following domains are configured and ready prior to installation.

CONTROLLER

This is the main URL for the control panel.

Example: portal, dashboard, controller.

METRICS

The metrics server will collect container and node metrics, as well as serve as the log aggregation platform for containers. The controller and all nodes in the availability zone (or region depending on configuration) will need to connect to this via SSL. Ensure you have a valid DNS configured; the ansible installer will automatically generate a lets encrypt ssl certificate.

Recommended Format: metrics.<availability-zone>.<region>.example.net

Example: metrics.a.ams.example.net

DEFAULT APPLICATION URL

Each container service will receive a default URL. You will need to define a unique base domain for each node. For example, for node a in region ams:

Example: a.ams.example.net

POWERDNS

You will need to configure domain names used by both power dns servers (primary, and follower).

Example: ns1.example.net, and ns2.example.net

Example Zone file

a.dev.cmptstks.net. IN A %{node_ip}
metrics.dev.cmptstks.net. IN A %{PUBLIC IP OF METRICS SERVER}
*.a.dev.cmptstks.net. IN CNAME a.dev.cmptstks.net.
portal.dev.cmptstks.net. IN A %{controller ip address}
cr.dev.cmptstks.net. IN CNAME portal.dev.cmptstks.net.

Linux User Setup

Our container nodes depend on having UID & GID 1001 available for our use. This is generally not a problem on most cloud and virtual machine images, however if you performed some pre-installation steps that included creating a user, this UID/GID may be already taken.

Please change the UID and GID of the user who took that ID before proceeding. Here is a guide to help you accomplish this.

You can verify that this is available by running the following commands on the container nodes.

cat /etc/passwd | grep 1001
cat /etc/group | grep 1001

Network Setup

Our recommended ip setup is: 1 Public, 1 Private, per server. You can configure the private IPs of the nodes to communicate over that private IP if the controller is within the same network. Otherwise, the controller may communicate with the nodes over their public IP Address.

Disk Setup

If you have the option to select the partition layout for the container nodes, please place most of your disk storage at /var/lib/docker. You can skip a dedicated /home partition, as this is not used in our environment.