diff --git a/compose/swarm/docker-compose.litellm.yml b/compose/swarm/docker-compose.litellm.yml new file mode 100644 index 0000000..0364c34 --- /dev/null +++ b/compose/swarm/docker-compose.litellm.yml @@ -0,0 +1,73 @@ +services: + litellm: + image: litellm/litellm:latest + restart: unless-stopped + depends_on: + litellm-db: + condition: service_healthy + volumes: + - /home/litellm/config.yaml:/app/config.yaml + command: + - "--config=/app/config.yaml" + environment: + DATABASE_URL: ${DATABASE_URL} + LITELLM_MASTER_KEY: ${LITELLM_MASTER_KEY} + LITELLM_SALT_KEY: ${LITELLM_SALT_KEY} + UI_USERNAME: ${UI_USERNAME} + UI_PASSWORD: ${UI_PASSWORD} + STORE_MODEL_IN_DB: "True" + # Provider Keys + OPENAI_API_KEY: ${OPENAI_API_KEY} + OPENAI_BASE_URL: ${OPENAI_BASE_URL} + COHERE_API_KEY: ${COHERE_API_KEY} + OR_SITE_URL: ${OR_SITE_URL} + OR_APP_NAME: ${OR_APP_NAME} + OR_API_KEY: ${OR_API_KEY} + AZURE_API_BASE: ${AZURE_API_BASE} + AZURE_API_VERSION: ${AZURE_API_VERSION} + AZURE_API_KEY: ${AZURE_API_KEY} + REPLICATE_API_KEY: ${REPLICATE_API_KEY} + REPLICATE_API_TOKEN: ${REPLICATE_API_TOKEN} + ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY} + INFISICAL_TOKEN: ${INFISICAL_TOKEN} + NOVITA_API_KEY: ${NOVITA_API_KEY} + INFINITY_API_KEY: ${INFINITY_API_KEY} + LITELLM_LOG: ${LITELLM_LOG:-WARN} + LANGFUSE_PUBLIC_KEY: ${LANGFUSE_PUBLIC_KEY} + LANGFUSE_SECRET_KEY: ${LANGFUSE_SECRET_KEY} + LANGFUSE_OTEL_HOST: ${LANGFUSE_OTEL_HOST} + networks: + - litellm + - badge-net + - public + expose: + - 4000 + + litellm-db: + image: postgres:17-alpine + restart: unless-stopped + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"] + interval: 5s + timeout: 5s + retries: 5 + volumes: + - /home/litellm/db/data:/var/lib/postgresql/data + networks: + - litellm + environment: + POSTGRES_DB: ${POSTGRES_DB} + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + + +volumes: + litellm-db: + name: litellm-db +networks: + litellm: + internal: true + badge-net: + external: true + public: + external: true \ No newline at end of file