Skip to main content
In Coral, (Docker) containers are the preferred production execution environment for Coral agents. The Docker runtime is a way of configuring the Coral server to run your agent using a Docker image. Running Docker agents on your Coral server may require additional configuration, see the Docker config for more information.
If you are running the Coral server using Docker, you must set up Docker in Docker

Full example

[runtimes.docker]
image = "myusername/myagent"
command = ["--custom-command", "123"]
transport = "streamable_http" # default value

Environment

Standard streams

Timestamps and log levels are prefixed by the Coral server, the agent should not print these.
  • Standard output will be printed to the agent’s log at an INFO level.
  • Standard error will be printed to the agent’s log at a WARN level.
  • Standard input is not used

Coral environment variables

CORAL_CONNECTION_URL

The URL of the MCP server that this agent must connect to, either SSE or Streamable HTTP depending on the value given for runtimes..transport. This URL will change every time the agent is launched. This URL contains the agent secret and should not be printed or shared. The value of this should also not be given to an LLM.

CORAL_RUNTIME_ID

Always set to .

CORAL_AGENT_ID

The unique name provided for this agent in GraphAgentRequest.name.

CORAL_AGENT_SECRET

A unique secret generated for this agent. This secret is used to authenticate communications between the agent and the Coral server. This secret should not be printed, shared or given to an LLM.

CORAL_SESSION_ID

The unique ID of the session that this agent belongs to. This ID is generated by the Coral server and is used uniquely to identify a session. This ID should not be printed, shared or given to an LLM.

CORAL_API_URL

The base URL of the Coral server. This can be used to RPC requests to the Coral server on behalf of the agent. All requests to the Coral server must be authenticated with the agent secret.

Optional Coral environment variables

CORAL_PROMPT_SYSTEM

If the session that launched this agent defines a systemPrompt, it will be set to this environment variable. If not, this variable will not be set.

CORAL_REMOTE_AGENT

Placeholder. Currently not used.

Other environment variables

  • An environment variable for every defined agent option
  • All the environment variables the Coral server was launched with
  • All environment variables configured in the Coral server’s debug.additionalDockerEnvironment configuration field

Configuration

runtimes.docker.image

required Example
[runtimes.docker]
image = "myusername/myagent"
A string representing the Docker image name to run for this agent. If no tag is specified, the version of the agent will be used as a tag. It is recommended to not specify a tag in this field and allow the agent version to control which Docker image is used.

runtimes.docker.command

optional Example
[runtimes.docker]
command = ["--custom-command", "123"]
An array of strings overriding the default command ran in the Docker container. Leave this field empty to use the command specified in the Docker image.

runtimes.docker.transport

default streamable_http
optional
Example
[runtimes.docker]
transport = "sse"
sse is deprecated and may be removed in a future release.
A string controlling the value of the CORAL_CONNECTION_URL Coral environment variable. If your agent requires a specific MCP transport protocol, it must be set here. Supported values:
  • sse
  • streamable_http