Docker-Compose
[---[% import 'current_versions.j2' as current_versions %]---] Comet provides a docker compose sample file for cases where Linux Deployments or Kubernetes deployments are not an option. We only recommend it for PoC's.
Basic Requirements ¶
- Docker: https://docs.docker.com/install/
- Docker-compose: https://docs.docker.com/compose/install/
A repository username and password that will also double as your license key will be provided by Comet. You will need these values during the installation process.
Server Requirements ¶
Hardware requirements¶
- 16 VCPUS
- 32GB RAM (64GB Recommended)
- 1TB Root Disk space
The disk space allocation may be adjusted downward if you plan on storing experiment data on another partition or offsite.
If you're using a public cloud provider, the following instance types are recommended for use:
- AWS Instance type:
m6i.4xlarge
- Azure Instance type:
D16 v3
- GCP instance type:
n1-standard-16
Log in to Comet private docker registry¶
Login to our docker registry with the previously shared credentials
docker login docker.comet.com
Configuring your .env file¶
The first step is to create your own
.env
file, where you will configure most of the variables for your environment.Update the
COMET_BASE_URL
variable with the external IP or hostname you’re going to use in the installation. E.g.
[---[% import 'dot.env.j2' as dot_env %]---]
[---[ dot_env ]---]
Note
There are other variables you might want to set to increase security, please take a look at the docker-compose.yml
below for a full list.
- Make sure you create your
docker-compose.yaml
file with the following contents: [---[% import 'docker-compose.yaml.j2' as docker_compose_yaml %]---][---[ docker_compose_yaml ]---]
Enabling https¶
Currently the only way to activate https using docker-compose is setting up a Nginx service or an Application Load Balancer in front of this installation. In that case you should update the COMET_BASE_URL
variable in the .env
file.
Upgrading Comet version¶
In your .env
file, you just need to update the following variables.
FRONTEND_VERSION=[---[ current_versions.frontend_version ]---]
BACKEND_VERSION=[---[ current_versions.backend_version ]---]
OPTIMIZER_VERSION=[---[ current_versions.optimizer_version ]---]
Note
The versions above reflect the latest stable versions available.