Skip to content

Environments

Claritools supports three operating modes, each tailored to a different use case. The mode is controlled by the CLARITOOLS_ENVIRONMENT variable in your .env file, set during task init.

How environments work

Each environment determines:

  • Which Docker Compose files are used to start services
  • Which configuration directory is mounted (config/local/, config/dev/, or config/cd/)
  • Which URL pattern services are accessible at
  • How TLS is handled (self-signed or Let's Encrypt)

Compose file layering

Environment Compose files
local docker-compose.yml + docker-compose.local.yml
dev docker-compose.yml + docker-compose.local.yml + docker-compose.dev.yml
cd docker-compose.yml

The base docker-compose.yml defines the core services shared by all environments. Additional compose files layer on environment-specific services.

URL routing

Services are assigned HTTPS URLs based on a domain variable called CLARITOOLS_DOMAIN, which is derived automatically from the environment:

Environment CLARITOOLS_DOMAIN URL pattern
local local *.local.ciservers.net
dev local *.local.ciservers.net
cd cd *.cd.ciservers.net

Local and dev share the same URL pattern because dev mode is used to develop claritools features locally before they are deployed to the cd production environment.

Configuration directories

Each environment has its own configuration under config/<environment>/:

config/
  local/          # Local mode configs
    traefik.yml
    certificates.yml
    prometheus.yml
    homepage/
  dev/            # Dev mode configs
    traefik.yml
    certificates.yml
    prometheus.yml
    keycloak/
    homepage/
  cd/             # CD (production) mode configs
    traefik.yml
    certificates.yml
    prometheus.yml
    homepage/

Comparison

Feature Local Dev CD
Purpose App development Claritools development Production
Network Local machine Local machine Public internet
TLS Self-signed Self-signed Let's Encrypt
Authentication None Keycloak OIDC None (planned)
Portainer Yes Yes No
IT Tools Yes Yes No
Keycloak No Yes No
Dashboard title Claritools - Local Claritools - Dev Claritools - CD