LiteLLM — an LLM gateway/proxy that exposes 100+ providers (OpenAI, Anthropic, Ollama, and more) behind one OpenAI-compatible API, with a master key, routing, and usage tracking. Deployed as a stateless host-networked Nomad service with a rendered config; pre-wired to the ollama pack.
Save as values.hcl, edit, then run:
# The name of the Nomad job.
job_name = "litellm"
# The Nomad namespace to deploy into.
namespace = "default"
# The datacenters to deploy to.
datacenters = ["*"]
# The LiteLLM proxy container image. Pin a tag in production.
image = "ghcr.io/berriai/litellm:main-latest"
# Host port for the LiteLLM OpenAI-compatible API.
port = 4000
# Master API key clients authenticate with (LITELLM_MASTER_KEY). Must start with 'sk-'. CHANGE THIS.
master_key = "sk-change-me-to-a-long-random-key"
# Base URL of an Ollama server to expose (models as ollama/<name>). Empty to omit.
ollama_base = "http://127.0.0.1:11434"
# Full LiteLLM config.yaml. The default proxies all Ollama models via ollama_base; add provider models/keys as needed.
config = <<-EOT
model_list:
- model_name: ollama/*
litellm_params:
model: ollama/*
api_base: os.environ/OLLAMA_API_BASE
litellm_settings:
drop_params: true
EOT
# Placement constraints. On a nomploy cluster: attribute = "$${meta.nomploy_control_plane}", operator = "=", value = "true".
constraints = []
# The task resources.
resources = {
cpu = 500
memory = 512
}
| Name | Type | Default | Description |
|---|---|---|---|
| job_name | string | "litellm" | The name of the Nomad job. |
| namespace | string | "default" | The Nomad namespace to deploy into. |
| datacenters | list | ["*"] | The datacenters to deploy to. |
| image | string | "ghcr.io/berriai/litellm:main-latest" | The LiteLLM proxy container image. Pin a tag in production. |
| port | number | 4000 | Host port for the LiteLLM OpenAI-compatible API. |
| master_key set me | string | "sk-change-me-to-a-long-random-key" | Master API key clients authenticate with (LITELLM_MASTER_KEY). Must start with 'sk-'. CHANGE THIS. |
| ollama_base | string | "http://127.0.0.1:11434" | Base URL of an Ollama server to expose (models as ollama/<name>). Empty to omit. |
| config | string | <<-EOT
model_list:
- model_name: ollama/*
litellm_params:
model: ollama/*
api_base: os.environ/OLLAMA_API_BASE
litellm_settings:
drop_params: true
EOT | Full LiteLLM config.yaml. The default proxies all Ollama models via ollama_base; add provider models/keys as needed. |
| constraints | list | [] | Placement constraints. On a nomploy cluster: attribute = "$${meta.nomploy_control_plane}", operator = "=", value = "true". |
| resources | object | {
cpu = 500
memory = 512
} | The task resources. |
No variables match.
LiteLLM — an LLM gateway/proxy that exposes 100+ providers (OpenAI, Anthropic, Ollama, and more) behind one OpenAI-compatible API, with a master key, routing, fallbacks, and usage tracking.
Stateless host-networked Nomad service with a rendered config.yaml, pre-wired to the
ollama pack.
nomad-pack registry add nomploy https://github.com/Nomploy/nomad-packs
nomad-pack run litellm --registry=nomploy
| Variable | Default | Description |
|---|---|---|
port |
4000 |
OpenAI-compatible API port. |
master_key |
sk-change-me-… |
LITELLM_MASTER_KEY clients authenticate with. Change it. |
ollama_base |
http://127.0.0.1:11434 |
Ollama server to expose (ollama/* models). |
config |
proxies all Ollama models | Full config.yaml; add provider models/keys. |
image |
ghcr.io/berriai/litellm:main-latest |
Image. Pin a tag in production. |
resources |
{ cpu = 500, memory = 512 } |
Task resources. |
Point any OpenAI SDK at http://<node-ip>:4000 with the master key as the API key. Edit config
to add OpenAI/Anthropic/etc. models. Stateless — add a Postgres DB for virtual keys/budgets (see the
LiteLLM docs).