From cb796981eeeb5c199aacdb0e11d458a4226ccebd Mon Sep 17 00:00:00 2001 From: Codex Date: Wed, 22 Jul 2026 00:20:28 -0700 Subject: [PATCH] feat: add HK LiteLLM Vertex relay --- servers/bwh-hk-dc3/litellm/README.md | 5 ++++ servers/bwh-hk-dc3/litellm/compose.yaml | 40 +++++++++++++++++++++++++ servers/bwh-hk-dc3/litellm/config.yaml | 15 ++++++++++ 3 files changed, 60 insertions(+) create mode 100644 servers/bwh-hk-dc3/litellm/README.md create mode 100644 servers/bwh-hk-dc3/litellm/compose.yaml create mode 100644 servers/bwh-hk-dc3/litellm/config.yaml diff --git a/servers/bwh-hk-dc3/litellm/README.md b/servers/bwh-hk-dc3/litellm/README.md new file mode 100644 index 0000000..298ec8b --- /dev/null +++ b/servers/bwh-hk-dc3/litellm/README.md @@ -0,0 +1,5 @@ +# LiteLLM Vertex AI Relay + +- 仅通过 HK 节点的 Tailscale IPv4 地址监听;`LISTEN_IP` 不要填写公网地址或 `0.0.0.0`。 +- ADC、LiteLLM key 仅存放于 Arcane `.env`,不得提交 Git。 +- 后续 Vertex Anthropic 模型在 `config.yaml` 增加独立模型项。 diff --git a/servers/bwh-hk-dc3/litellm/compose.yaml b/servers/bwh-hk-dc3/litellm/compose.yaml new file mode 100644 index 0000000..3d106bd --- /dev/null +++ b/servers/bwh-hk-dc3/litellm/compose.yaml @@ -0,0 +1,40 @@ +services: + adc-init: + image: alpine:3.22 + restart: "no" + environment: + GOOGLE_ADC_B64: ${GOOGLE_ADC_B64} + volumes: + - google-adc:/credentials + command: + - /bin/sh + - -c + - | + umask 077 + printf '%s' "$${GOOGLE_ADC_B64}" | base64 -d > /credentials/application_default_credentials.json + + litellm: + image: ghcr.io/berriai/litellm:main-stable + restart: unless-stopped + depends_on: + adc-init: + condition: service_completed_successfully + ports: + - "${LISTEN_IP}:${HOST_PORT:-4000}:4000" + environment: + GOOGLE_APPLICATION_CREDENTIALS: /credentials/application_default_credentials.json + VERTEXAI_PROJECT: ${VERTEXAI_PROJECT} + VERTEXAI_LOCATION: ${VERTEXAI_LOCATION:-global} + LITELLM_MASTER_KEY: ${LITELLM_MASTER_KEY} + volumes: + - ./config.yaml:/app/config.yaml:ro + - google-adc:/credentials:ro + command: ["--config", "/app/config.yaml", "--port", "4000"] + logging: + driver: json-file + options: + max-size: 1m + max-file: "2" + +volumes: + google-adc: diff --git a/servers/bwh-hk-dc3/litellm/config.yaml b/servers/bwh-hk-dc3/litellm/config.yaml new file mode 100644 index 0000000..b160078 --- /dev/null +++ b/servers/bwh-hk-dc3/litellm/config.yaml @@ -0,0 +1,15 @@ +model_list: + - model_name: gemini-3.6-flash + litellm_params: + model: vertex_ai/gemini-3.6-flash + vertex_project: os.environ/VERTEXAI_PROJECT + vertex_location: os.environ/VERTEXAI_LOCATION + + - model_name: gemini-3.5-flash-lite + litellm_params: + model: vertex_ai/gemini-3.5-flash-lite + vertex_project: os.environ/VERTEXAI_PROJECT + vertex_location: os.environ/VERTEXAI_LOCATION + +general_settings: + master_key: os.environ/LITELLM_MASTER_KEY