No description
- Jinja 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| defaults | ||
| files | ||
| meta | ||
| tasks | ||
| templates | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
ansible-role-litellm
Deploys a rootless podman LiteLLM proxy with Postgres.
References:
- https://docs.litellm.ai/
files/docker-compose.yml
Variables
Production secrets should be defined in inventory or Ansible Vault:
litellm_database_passwordlitellm_master_keylitellm_salt_key
Useful deployment variables:
litellm_listen: 127.0.0.1:4000
litellm_image_tag: main-stable
litellm_custom_env:
OPENAI_API_KEY: "{{ litellm_openai_api_key }}"
Use an existing external database by disabling the bundled Postgres container and pointing LiteLLM at the external host:
litellm_database_disabled: true
litellm_database_host: postgres.internal.example
litellm_database_port: 5432
litellm_database_name: litellm
litellm_database_user: litellm
litellm_database_password: "{{ vault_litellm_database_password }}"
Add models through litellm_model_list:
litellm_model_list:
- model_name: gpt-5
litellm_params:
model: openai/gpt-5
api_key: os.environ/OPENAI_API_KEY
Additional LiteLLM config sections can be supplied with:
litellm_litellm_settingslitellm_general_settingslitellm_router_settings
The role writes config.yaml under the service user's config directory and mounts it at /app/config.yaml.
Deployment Example
- name: Setup LiteLLM
hosts: litellm
become: true
roles:
- role: litellm
litellm_listen: 127.0.0.1:4000
litellm_database_disabled: true
litellm_database_host: postgres.internal.example
litellm_database_name: litellm
litellm_database_user: litellm
litellm_database_password: "{{ vault_litellm_database_password }}"
litellm_master_key: "{{ vault_litellm_master_key }}"
litellm_salt_key: "{{ vault_litellm_salt_key }}"
litellm_custom_env:
OPENAI_API_KEY: "{{ vault_litellm_openai_api_key }}"
litellm_model_list:
- model_name: gpt-5
litellm_params:
model: openai/gpt-5
api_key: os.environ/OPENAI_API_KEY