56 lines
1.7 KiB
YAML
56 lines
1.7 KiB
YAML
services:
|
|
adc-init:
|
|
image: alpine:3.24@sha256:294b683cb724975bec92580e1e685676bd4b50bda910ddb8c51d4cabeaec77e6
|
|
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@sha256:3d88bd757134a00e8c00237b85a021ab1f6d54abb9c1df750f411dbe7256a500
|
|
restart: unless-stopped
|
|
depends_on:
|
|
adc-init:
|
|
condition: service_completed_successfully
|
|
networks:
|
|
hk-web:
|
|
aliases:
|
|
- litellm-api
|
|
environment:
|
|
GOOGLE_APPLICATION_CREDENTIALS: /credentials/application_default_credentials.json
|
|
VERTEXAI_PROJECT: ${VERTEXAI_PROJECT}
|
|
VERTEXAI_LOCATION: ${VERTEXAI_LOCATION:-global}
|
|
LITELLM_MASTER_KEY: ${LITELLM_MASTER_KEY}
|
|
VERTEXAI_ENABLED: "true"
|
|
ZENMUX_SUBSCRIPTION_API_KEY: ${ZENMUX_SUBSCRIPTION_API_KEY:-}
|
|
ZENMUX_PAYG_API_KEY: ${ZENMUX_PAYG_API_KEY:-}
|
|
OPENROUTER_API_KEY: ${OPENROUTER_API_KEY:-}
|
|
volumes:
|
|
- ./models.yaml:/etc/litellm/models.yaml:ro
|
|
- ./provider_routes.py:/etc/litellm/provider_routes.py:ro
|
|
- ./render_config.py:/etc/litellm/render_config.py:ro
|
|
- google-adc:/credentials:ro
|
|
entrypoint: ["/bin/sh", "-c"]
|
|
command:
|
|
- python /etc/litellm/render_config.py && exec litellm --config /tmp/litellm.yaml --host 0.0.0.0 --port ${LITELLM_PORT:-1049} --num_workers 1
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: 1m
|
|
max-file: "2"
|
|
|
|
volumes:
|
|
google-adc:
|
|
|
|
networks:
|
|
hk-web:
|
|
external: true
|
|
name: hk-web
|