<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.
We currently only support Debian 12 Bookworm.
SECTIONS
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
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.
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
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.
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.