Skip to content
This repository was archived by the owner on Mar 14, 2026. It is now read-only.

Multi-Provider LiteLLM Integration & Infrastructure Refactor#37

Merged
takasaki404 merged 10 commits intomainfrom
ProvidersLitellm
Oct 6, 2025
Merged

Multi-Provider LiteLLM Integration & Infrastructure Refactor#37
takasaki404 merged 10 commits intomainfrom
ProvidersLitellm

Conversation

@Wes1eyyy
Copy link
Contributor

PR: Multi-Provider LiteLLM Integration & Infrastructure Refactor

Overview

This pull request refactors and enhances the orchestration of multiple LiteLLM providers (OpenRouter, NebulaBlock, ChutesAI) with unified infrastructure and management scripts.

Key Updates

  1. Provider Service Configuration

    • Updated Docker Compose and LiteLLM config files for ChutesAI and NebulaBlock.
    • Standardized environment variable usage via .env files for each provider.
    • Each provider runs on a dedicated port to avoid conflicts.
  2. Shared Database Infrastructure

    • Added/updated shared/docker-compose.database.yml for a unified PostgreSQL backend.
    • All providers use the same database, with logical separation via table prefixes.
  3. Database Initialization

    • Enhanced shared/init-scripts/01-init-schemas.sh to create provider-specific tables for isolation.
  4. Unified Service Management

    • Refactored manage-all-services.sh to manage all provider services and shared infrastructure (start/stop/restart/status/logs/test).

Updated Files

  • manage-all-services.sh: Orchestrates all provider and shared services.
  • chutesai/docker-compose.chutesai.yml, chutesai_config.yaml, .env.chutesai: ChutesAI service deployment and config.
  • nebulablock/docker-compose.nebulablock.yml, nebulablock_config.yaml, .env.nebulablock: NebulaBlock service deployment and config.
  • openrouter/docker-compose.openrouter.yml, openrouter_config.yaml, .env.openrouter: OpenRouter service deployment and config.
  • shared/docker-compose.database.yml: Shared database and infrastructure.
  • shared/init-scripts/01-init-schemas.sh: Provider-specific table initialization.

Notes

  • All configuration files now follow a consistent format.
  • Database credentials are managed via provider-specific .env files.
  • The system is ready for scalable, multi-provider deployment and monitoring.

- Created .env.openrouter for environment variables including API keys and database URL.
- Added docker-compose.openrouter.yml to define services for LiteLLM OpenRouter and PostgreSQL database.
- Introduced openrouter_config.yaml with model configurations and general settings for LiteLLM.
- Updated .gitignore to include new environment variable files for Nebula Block, ChutesAI, and OpenRouter.
- Removed obsolete .env.litellm.example and .env.chutes files.
- Added .env.nebulablock.example with configuration for Nebula Block.
- Created README.md for Nebula Block service with setup instructions and model details.
- Implemented docker-compose configuration for Nebula Block service.
- Added nebulablock_config.yaml for model configurations and pricing.
- Introduced textModelList.txt for available models and their pricing.
- Created shared Docker Compose file for infrastructure services including PostgreSQL, Redis, Prometheus, and Grafana.
- Added initialization script for setting up database schemas for multiple LiteLLM services.
- Ensured data directories are tracked with .gitkeep files.
@Wes1eyyy
Copy link
Contributor Author

This PR should solve issue #36

@Wes1eyyy
Copy link
Contributor Author

Wes1eyyy commented Oct 1, 2025

Added proxy config .toml file for openrouter,nabulablock,chutesai

@takasaki404 takasaki404 merged commit a70054b into main Oct 6, 2025
1 check failed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants