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:625981c83410a3ea68eb0697590a57ec1d764d634514d54fa5db0591077ee839 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} volumes: - ./config.yaml:/app/config.yaml:ro - google-adc:/credentials:ro command: ["--config", "/app/config.yaml", "--host", "0.0.0.0", "--port", "${LITELLM_PORT:-1049}"] logging: driver: json-file options: max-size: 1m max-file: "2" volumes: google-adc: networks: hk-web: external: true name: hk-web