Skip to main content

Advanced configuration

Customize CodeGate's behavior

The CodeGate container runs with defaults that work with supported LLM providers using typical settings. To customize CodeGate's application settings like provider endpoints and logging level, you can add extra configuration parameters to the container as environment variables:

docker run --name codegate -d -p 8989:8989 -p 9090:9090 \
[-e KEY=VALUE ...] \
--mount type=volume,src=codegate_volume,dst=/app/codegate_volume \
--restart unless-stopped ghcr.io/stacklok/codegate

Config parameters

CodeGate supports the following parameters:

ParameterDefault valueDescription
CODEGATE_APP_LOG_LEVELWARNINGSets the logging level. Valid values: ERROR, WARNING, INFO, DEBUG (case sensitive)
CODEGATE_LOG_FORMATTEXTType of log formatting. Valid values: TEXT, JSON (case sensitive)
CODEGATE_ANTHROPIC_URLhttps://api.anthropic.com/v1Specifies the Anthropic engine API endpoint URL.
CODEGATE_LM_STUDIO_URLhttp://host.docker.internal:1234Specifies the URL of your LM Studio server.
CODEGATE_OLLAMA_URLhttp://host.docker.internal:11434Specifies the URL of your Ollama instance.
CODEGATE_OPENAI_URLhttps://api.openai.com/v1Specifies the OpenAI engine API endpoint URL.
CODEGATE_VLLM_URLhttp://localhost:8000Specifies the URL of the vLLM server to use.
DASHBOARD_BASE_API_URLhttp://localhost:8989Overrides the base URL of the CodeGate API referenced by the dashboard UI (see run CodeGate on a remote host).

Example: Use CodeGate with a remote Ollama server

Set the Ollama server's URL when you launch CodeGate:

docker run --name codegate -d -p 8989:8989 -p 9090:9090 \
-e CODEGATE_OLLAMA_URL=https://my.ollama-server.example \
--mount type=volume,src=codegate_volume,dst=/app/codegate_volume \
--restart unless-stopped ghcr.io/stacklok/codegate

Example: run CodeGate on a remote host

warning

For security reason,s only run CodeGate on a remote host within a local or otherwise secured/trusted network. CodeGate should not be run on a remote host that is directly accessible from the Internet!

The CodeGate web dashboard provided in the Docker container makes client-side API calls from your web browser, and expects the CodeGate API to be available on localhost port 8989 by default. To run CodeGate on a different host from your client/browser, you can override this using the DASHBOARD_BASE_API_URL environment variable (available since CodeGate v0.1.28):

docker run --name codegate -d -p 8989:8989 -p 9090:9090 \
-e DASHBOARD_BASE_API_URL=http://<REMOTE_HOST>:8989 \
--mount type=volume,src=codegate_volume,dst=/app/codegate_volume \
--restart unless-stopped ghcr.io/stacklok/codegate

Replace <REMOTE_HOST> with the IP or DNS name of your remote CodeGate host as reachable from your client / web browser.