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