Skip to main content

CLI installer and management tool for the llm.port platform

Project description

llmport-cli

PyPI version Python 3.12+ License

The single entry point to deploy, configure, and manage the llm.port platform — an open-source LLM gateway that routes, secures, and observes traffic across local runtimes and remote providers.

pip install llmport-cli        # or: uv tool install llmport-cli
llmport doctor                 # verify prerequisites
llmport deploy /opt/llmport    # full production deployment

Features

  • One-command production deploy — pre-flight checks, .env generation, image builds, database migrations, and service startup.
  • Auto-tuning — detects host CPU / RAM and computes optimal worker counts, DB pool sizes, and queue channel pools.
  • Module management — enable / disable optional services (PII redaction, Auth, Mailer, Docling OCR) via Docker Compose profiles.
  • GPU auto-detection — discovers NVIDIA (CUDA), AMD (ROCm), and Intel GPUs; selects the correct vLLM container image automatically.
  • Developer workflow — clone all repos, install deps, run infra + migrations, and generate a VS Code workspace in one command.
  • Rich terminal UI — tables, progress bars, and themed output powered by Rich. Interactive TUI wizard via Textual.
  • Command abbreviation — type llmport st instead of llmport status.

Requirements

Dependency Minimum
Python 3.12
Docker Engine 24.0
Docker Compose v2
Git 2.x

Installation

From PyPI

pip install llmport-cli

# or with uv
uv tool install llmport-cli

From source

git clone https://github.com/llm-port/llm-port-cli.git
cd llm-port-cli
uv sync                   # install deps + editable entry point
uv run llmport --help

Verify

llmport version
llmport doctor

Quick start

Production deployment

# Full deploy — pre-flight, env gen, build, migrate, start
llmport deploy /opt/llmport

# Enable optional modules
llmport deploy /opt/llmport --modules pii,auth

# Skip image builds (pull only)
llmport deploy /opt/llmport --no-build

Day-to-day operations

llmport up                          # start all services
llmport up --build llm-port-api     # rebuild a single service
llmport down                        # stop all services
llmport down --volumes              # stop + remove volumes
llmport status                      # service table
llmport logs -f                     # tail all logs
llmport logs -f llm-port-backend    # tail one service

Modules

llmport module list                 # show available modules
llmport module enable pii auth      # enable modules
llmport module disable docling      # disable a module

Configuration

llmport config show                 # print current config
llmport config set dev.branch main  # update a value (dot-notation)
llmport config edit                 # open in $EDITOR
llmport config path                 # print config file location

Auto-tuning

llmport tune                        # detect resources, write .env
llmport tune --profile prod         # production-grade sizing
llmport tune --dry-run              # preview without writing

Admin utilities

llmport admin reset-password --email admin@localhost

Developer workflow

# Bootstrap everything — clone repos, install deps, start infra,
# run migrations, generate VS Code workspace
llmport dev init ~/projects/llm-port
llmport dev init ~/projects/llm-port --ssh        # SSH cloning
llmport dev init ~/projects/llm-port --overwrite   # force pull

# Start / stop / status
llmport dev up
llmport dev up --backend-only
llmport dev down
llmport dev status

# Check dev prerequisites (optionally auto-install missing tools)
llmport dev doctor
llmport dev doctor --install --yes

Command reference

Command Description
llmport version Print CLI, Python, Docker, and Compose versions
llmport doctor Run system health checks (OS, RAM, disk, Docker, GPU, ports)
llmport deploy [DIR] Full production deployment with pre-flight checks
llmport up [SERVICES...] Start services (supports --build, --pull)
llmport down Stop and remove containers (--volumes, --all)
llmport status Show service state, health, and ports (--json)
llmport logs [SERVICES...] Stream logs (-f, -n, --timestamps)
llmport config show|set|edit|path|init Manage YAML configuration
llmport module list|enable|disable Toggle optional platform modules
llmport tune Auto-tune worker and pool settings (--profile, --dry-run)
llmport admin reset-password Reset a user password directly in the database
llmport dev init [DIR] Bootstrap full developer workspace
llmport dev up Start backend, worker, and frontend dev servers
llmport dev down Stop all dev processes
llmport dev status Show repo branches, infra, and dev processes
llmport dev doctor Check dev prerequisites (--install)

Project structure

llm_port_cli/
├── pyproject.toml
├── src/
│   └── llmport/
│       ├── cli.py                 # Click root group + AliasedGroup
│       ├── commands/
│       │   ├── version.py         # version
│       │   ├── doctor.py          # doctor
│       │   ├── deploy.py          # deploy
│       │   ├── up.py              # up
│       │   ├── down.py            # down
│       │   ├── status.py          # status
│       │   ├── logs_cmd.py        # logs
│       │   ├── config.py          # config group
│       │   ├── module.py          # module group
│       │   ├── tune.py            # tune
│       │   ├── admin.py           # admin group
│       │   └── dev/               # developer workflow
│       │       ├── dev_init.py
│       │       ├── dev_up.py
│       │       ├── dev_status.py
│       │       └── dev_doctor.py
│       ├── core/                  # shared utilities
│       │   ├── compose.py         # Docker Compose wrapper
│       │   ├── detect.py          # OS / GPU / port detection
│       │   ├── settings.py        # YAML config (~/.config/llmport/)
│       │   ├── api_client.py      # Backend REST client (httpx)
│       │   ├── bootstrap.py       # First-admin bootstrap
│       │   ├── env_gen.py         # .env generation (Jinja2)
│       │   ├── git.py             # Git clone / checkout helpers
│       │   ├── install.py         # Cross-platform tool installer
│       │   ├── registry.py        # Central metadata registry
│       │   ├── sysinfo.py         # Resource detection + tuning
│       │   └── console.py         # Rich themed output
│       ├── tui/                   # Textual TUI wizard
│       └── templates/             # Jinja2 .env templates
└── tests/

License

Apache License 2.0 — see LICENSE for details.

Part of the llm.port project.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llmport_cli-0.2.1.tar.gz (52.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llmport_cli-0.2.1-py3-none-any.whl (68.4 kB view details)

Uploaded Python 3

File details

Details for the file llmport_cli-0.2.1.tar.gz.

File metadata

  • Download URL: llmport_cli-0.2.1.tar.gz
  • Upload date:
  • Size: 52.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for llmport_cli-0.2.1.tar.gz
Algorithm Hash digest
SHA256 fb09f7cd1ea49ac4636f7b70d3a6a14eff1343e86247d2ed393a1a2991c0688b
MD5 5f0e9b5773b188b260dbbbab5a3f1ecd
BLAKE2b-256 5e910d67fcce2fb22cafe6505d74dbd3e1207f364e6ca4f987f2cf3daabd593d

See more details on using hashes here.

File details

Details for the file llmport_cli-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: llmport_cli-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 68.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for llmport_cli-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9e9b67c19f5ee079974fc3b385c24b9ed09be6a3dbe00c64832a3912809508c9
MD5 013c01ea0f9bf8235225c28539ad6a61
BLAKE2b-256 48c43227ac5035ace3e27965c09a33e11b0a4822fbaf951a01a84be28f67e656

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page