cooler

Makes coolify and serviceman hold the services the co_*.toml files declare. Each file is one whole service, named co_<service>.toml: its compose, its env, its serviceman sites and its bckp backups. The name is the coolify service's and the serviceman file's. cooler diffs that against what coolify and serviceman hold and changes only what differs.

  • A service coolify does not have is created, given its env and tasks, and started.
  • A changed compose is replaced and the service restarted, pulling images.
  • A changed env is set and the service restarted.
  • A changed backup task is updated, with no restart.
  • Serviceman sites point at the containers coolify runs and are synced to Caddy.

An invocation touches only the services of the tomls it is given.

Usage

cooler example                        # write a commented example.toml to start from
cooler pull os8okksgwg8wgg440ogsccc0  # write a coolify service as co_<name>.toml
cooler diff                           # print what an apply would change, change nothing
cooler                                # apply every co_*.toml here
cooler open                           # open each service's coolify page in the browser
cooler co_actual.toml                 # apply just that one

Configuration

Read from the environment, or .env:

Variable Meaning
COOLER_COOLIFY_URL coolify instance
COOLER_COOLIFY_TOKEN API token with read:sensitive, write and deploy
COOLER_COOLIFY_PROJECT project uuid new services go in
COOLER_COOLIFY_SERVER server uuid new services run on
COOLER_COOLIFY_DESTINATION destination uuid new services deploy to
COOLER_COOLIFY_ENVIRONMENT environment uuid new services go in
COOLER_SERVICEMAN_URL serviceman instance
COOLER_SNIFFER_KEY OpenObserve key; unset logs to the console only
Description
No description provided
Readme 191 KiB
v1.7.2 Latest
2026-09-28 18:14:16 +00:00
Languages
Go 99.9%
Shell 0.1%