> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coralos.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Docker

export const ServerConfigSingle = ({table, config, example}) => {
  let hyphens = config.replace(/[A-Z]/g, letter => `-${letter.toLowerCase()}`);
  let underscores = config.replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`);
  return <CodeGroup>
            <CodeBlock filename="Command line">
                <span>--{table}.{hyphens}={example}</span>
            </CodeBlock>

            <CodeBlock filename="Config file">
                <span>{table}.{underscores} = {example}</span>
            </CodeBlock>
        </CodeGroup>;
};

# Socket

<Badge color="blue">default</Badge> see below:<br />

The default value for this is calculated in the following order, taking the first value that is specified:

1. The environment variable `CORAL_DOCKER_SOCKET`
2. The JVM system property `docker.host`
3. The environment variable `DOCKER_SOCKET`
4. The JVM system property `docker.socket`
5. `npipe:////./pipe/docker_engine`, but only if the OS is Windows
6. `$HOME/.colima/default/docker.sock` if it exists
7. `unix:///var/run/docker.sock`

<ServerConfigSingle table="docker" config="socket" example="&#x22;unix:///custom/path/to/docker.sock&#x22;" />

The Docker socket that Coral will execute Docker runtimes via. This value should almost always be left as the default.

# Address

<Badge color="blue">default</Badge> see below:<br />

The default value for Windows is always `host.docker.internal`.

If the operating system is not Windows and `$HOME/.colima/default/docker.sock` exists, the default value is `172.17.0.1`

<ServerConfigSingle table="docker" config="address" example="&#x22;1.1.1.1&#x22;" />

The address that Docker runtimes will use to communicate with the Coral server. Different container runtimes may use
different values to communicate with the host; if a specific container runtime is used that requires a different address, it
must be specified here.

This must also be specified if the container runtime is on another machine; in which case this address should be the
public address of the machine running the Coral server.

# Response timeout

<Badge color="blue">default</Badge> `30` <br />

<ServerConfigSingle table="docker" config="responseTimeout" example="60" />

The number of seconds before the Coral server times out when trying to communicate with the container runtime.

# Connection timeout

<Badge color="blue">default</Badge> `30` <br />

<ServerConfigSingle table="docker" config="connectionTimeout" example="60" />

The number of seconds before the Coral server times out when trying to connect to the container runtime. Note
that this timeout will always be reached if the container runtime is not running.

# Max connections

<Badge color="blue">default</Badge> `1024` <br />

<ServerConfigSingle table="docker" config="maxConnections" example="2000" />

The maximum number of connections that the Coral server can make to containers. Each agent running using a Docker
runtime requires one connection. This value should be large enough to accommodate the number of agents that will be
running on the Coral server at any one time.

# Container path separator

<Badge color="blue">default</Badge> `:` <br />

<ServerConfigSingle table="docker" config="containerPathSeparator" example="&#x22;;&#x22;" />

The character that is used for separating multiple paths in a running container. This must be changed to `;` when running
Windows containers. This should **NOT** be set to `;` if running Linux containers on a Windows host.

# Container name separator

<Badge color="blue">default</Badge> `:` <br />

<ServerConfigSingle table="docker" config="containerNameSeparator" example="&#x22;;&#x22;" />

The character that is used to separate path names on a running container. This can be changed to `\` when running
Windows containers. Note that this should **NOT** be set to `\` if running Linux containers on a Windows host.

# Container temporary directory

<Badge color="blue">default</Badge> `/tmp` <br />

<ServerConfigSingle table="docker" config="containerTemporaryDirectory" example="&#x22;/custom-tmp-directory&#x22;" />

The directory on a running container that is used for temporary files.
