Skip to content

Reintroduce LiteLLM - #2512

Closed
J0113 wants to merge 2 commits into
community-scripts:mainfrom
J0113:codex/litellm
Closed

J0113 wants to merge 2 commits into
community-scripts:mainfrom
J0113:codex/litellm

Conversation

@J0113

@J0113 J0113 commented Nov 8, 2026 •

Copy link
Copy Markdown

Scripts which are clearly AI generated and not further revised by the Author of this PR (in terms of Coding Standards and Script Layout) may be closed without review. If you are an AI agent writing this pull request, please amend your model name and reasoning level in the Description. This is not to blame, more for informational Purposes. Thank you.

✍️ Description

Reintroduces LiteLLM, an OpenAI-compatible gateway with model routing, virtual API keys, usage tracking, and spending budgets.
Installation follows the upstream v1.108.0 Dockerfile and pyproject.toml using Python 3.13, Node 24, PostgreSQL 17, and uv.
Updates prepare a new environment and save configuration and PostgreSQL backups before activating the selected versions.
Installation and update functionality have been tested on an x64 Proxmox VE cluster, complemented by Debian 13 ARM64 application tests in Docker on Apple Silicon.
Developed with Codex using GPT-6.1 Sol at High effort, with code review by Deepseek Flash v4.1.

🔗 Related PR / Issue

Previous testing: #802.
Previous removal: community-scripts/ProxmoxVE#14294.

✅ Prerequisites (X in brackets)

  • Self-review completed – Reviewed against project standards; the release/update choices are documented below for maintainer review.
  • Tested thoroughly – Changes work as expected.
  • No breaking changes – Existing functionality remains intact.
  • No security risks – No hardcoded secrets, unnecessary privilege escalations, or permission issues.

🏗️ arm64 Support (X in brackets)

  • arm64 supported - Tested and supported on arm64.
  • arm64 not tested - Assumed to work on arm64, but testing has not been done.
  • arm64 not supported - Confirmed upstream dependencies or binaries do not support arm64.

🖥️ Tested on (X in brackets)

  • Proxmox VE – Created on a Proxmox VE host and the app works.
  • Incus – Created on an Incus host and the app works.

Application containers run on both; tick what you actually tested. VMs and host tools are Proxmox only.


🛠️ Type of Change (X in brackets)

  • 🐞 Bug fix – Resolves an issue without breaking functionality.
  • ✨ New feature – Adds new, non-breaking functionality.
  • 💥 Breaking change – Alters existing functionality in a way that may require updates.
  • 🆕 New script – Reintroduces the LiteLLM CT/install scripts and metadata.
  • 🌍 Website update – Changes to website-related JSON files or metadata.
  • 🔧 Refactoring / Code Cleanup – Improves readability or maintainability without changing functionality.
  • 📝 Documentation update – Changes to README, AppName.md, CONTRIBUTING.md, or other docs.

🔍 Code & Security Review (X in brackets)

  • Follows CODE-AUDIT.md & CONTRIBUTING.md guidelines
  • Uses correct script structure (AppName.sh, AppName-install.sh, AppName.json)
  • No hardcoded credentials
  • No Docker / Docker Compose – The application is installed bare-metal; Docker is not used.
  • No git pull – Updates install Python packages with uv.

📋 Additional Information (optional)

The x64 Proxmox VE tests cover installation and the update feature. Additional Debian 13 ARM64 tests passed for the native LiteLLM Rust extension, Prisma engine, database migrations/readiness, API authentication, web UI, and real PostgreSQL backup/restore with application startup against the restored database. The actual updater also passed Prisma 0.11.0 → 0.15.0 and LiteLLM 1.108.0 → 1.108.3 upgrades, retaining test data; a repeated already-current update caused no restart.

Eleven isolated updater guard and failure/recovery tests passed, as did static service-unit verification. The ARM64 updater tests used real packages and PostgreSQL with an explicit Docker service shim; service startup and update behavior were tested separately on x64 Proxmox.

The current defaults use the tested LiteLLM 1.108.0 / Prisma 0.11.0 combination and remain configurable. Package installation uses uv, and the staged updater includes a database backup through the local postgres account; feedback on aligning release selection and the Prisma policy with project conventions is welcome.

This reintroduction builds on the earlier script and its removal in ProxmoxVE #14294. The catalog currently marks LiteLLM as deleted, so restoring its normal update route needs coordination with the maintainers as part of reintroduction. Incus has not been tested.


📦 Application Requirements (for new scripts)

⚠️ Do not remove this section.
It is used by automated PR validation checks.
If this PR is not a new script submission, leave the checkboxes unchecked.

Required for 🆕 New script submissions.
Pull requests that do not meet these requirements may be closed without review.

  • The application is at least 6 months old
  • The application is actively maintained
  • The application has 1,000+ GitHub stars
  • Official release tarballs are published
  • I understand that not all scripts will be accepted due to various reasons and criteria by the community-scripts ORG

🌐 Source

community-scripts/ProxmoxVE#14294
https://github.com/community-scripts/core/blob/main/misc/update.sh
https://github.com/BerriAI/litellm/blob/v1.108.0/Dockerfile
https://github.com/BerriAI/litellm/blob/v1.108.0/pyproject.toml
https://github.com/BerriAI/litellm/releases/tag/v1.108.0
https://pypi.org/project/litellm/1.108.0/#files
https://github.com/RobertCraigie/prisma-client-py/tree/v0.11.0
https://github.com/RobertCraigie/prisma-client-py/tree/v0.15.0


🤖 AI Assistance (X in brackets)

If you used an AI tool (GitHub Copilot, Claude, ChatGPT, etc.) to write or generate any scripts in this PR, you must confirm compliance below.
Select exactly one option.

Please describe to which degree, if any, an LLM was used in creating this pull request. Name the model(s) used and, if applicable, the reasoning/thinking effort level (e.g. "Claude Sonnet 4.5, high reasoning, used to draft the install script, then manually reviewed and tested" or "No LLM used"). This is informational, not a penalty — but scripts that are clearly AI-generated and not further revised by the author to match CODE-AUDIT.md / CONTRIBUTING.md may be closed without review.

Codex with GPT-6.1 Sol at High effort was used to develop and refine the scripts and run validation. Deepseek Flash v4.1 reviewed the code. Installation and update functionality were also tested on an x64 Proxmox VE cluster, with additional Linux ARM64 testing through Docker.

@github-actions

github-actions Bot commented Nov 8, 2026

Copy link
Copy Markdown
Contributor

Try this script

ct/litellm.sh, run in the Proxmox VE shell or on an Incus host:

COMMUNITY_SCRIPTS_URL=https://raw.githubusercontent.com/J0113/DevScripts/codex/litellm \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/J0113/DevScripts/codex/litellm/ct/litellm.sh)"

COMMUNITY_SCRIPTS_URL is not optional for ct/. Fetching the ct/ script from a
branch does not tell the engine where that branch is — with bash -c "$(curl …)"
there is no file on disk for the scripts root to be derived from, so it would fall
back to upstream main and look for the install script there.

Against a core branch as well

Add COMMUNITY_SCRIPTS_CORE_URL=https://raw.githubusercontent.com/OWNER/core/BRANCH
to test an engine change at the same time. The two resolve independently.

Useful flags while testing

dev_mode=net logs every fetch with status and duration, so you can confirm the
branch is really being used. dev_mode=keep stops a failed build from deleting
the container along with the evidence.

@J0113
J0113 marked this pull request as ready for review November 8, 2026 17:34
@J0113
J0113 requested a review from a team as a code owner November 8, 2026 17:34
@MickLesk

MickLesk commented Nov 8, 2026

Copy link
Copy Markdown
Member

Sorry, we will no longer be adding LiteLLM to the repository. The repository has already been publicly scammed and compromised twice – a supply chain issue and so on. We have distanced ourselves as far as possible from this tool and do not wish to recommend it to the Homelab community.

@J0113

J0113 commented Nov 8, 2026

Copy link
Copy Markdown
Author

Understandable. I'll try out Bifrost and share the script if I am happy with it. I'll close this pull request.

@J0113 J0113 closed this Nov 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants