Deploying Coral Server
The first step to running Coral Server in production is having a proper deployment of it. Exactly how you manage & deploy it depends on your application, but we offer a docker image for Coral Server, and support orchestrating agents via Docker.Docker (recommended)
Coral Server reads its main configuration from a TOML file specified by theCONFIG_FILE_PATH environment variable. When running from our provided Docker image, set CONFIG_FILE_PATH to /config/config.toml and mount a directory there.
Agent discovery (the “registry”) is configured inside config.toml via registry.localAgents glob patterns that point to directories containing coral-agent.toml files. There is no separate REGISTRY_FILE_PATH or registry.toml file.
Create directories for the server configuration and your agent definitions:
my-config/config.toml before starting the server. Replace the example auth key and configure an LLM provider if your agents request one:
docker.address when the default host gateway is not the machine running Coral.
Agents using filesystem option transport require their temporary files to be visible at the same host paths to the Docker daemon. With a mounted host socket, container filesystem paths are not automatically host paths; use a shared directory mounted at the same absolute path and set the server JVM’s java.io.tmpdir there. A remote daemon needs equivalent shared storage.
See Docker in Docker for steps to support Docker orchestration from inside Docker
Java
Clone the repo and build the jar file:[auth] and keys, as shown above, then run the actual built artifact from the repository root:
gradle.properties and the corresponding file in build/libs. For reproducible deployments, select an actually published version-plus-commit image tag or pin an image digest. Do not assume a bare 1.5.0 or v1.5.0 image tag exists; the workflow publishes branch, version-plus-commit, and build-number tags. The latest command above is a starting point, not a release pin.
You should also consider writing a systemd service (or something similar) that runs your jar file for more reliable deployments.