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.0.tar.gz (52.4 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.0-py3-none-any.whl (68.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: llmport_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 52.4 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.0.tar.gz
Algorithm Hash digest
SHA256 cf30e50a6ceb24d1ce382f43491a650be7b396981f78ad8b1ccd1a81635d874a
MD5 9532aa84f7e33ef1c8633ddcf0c8f8e0
BLAKE2b-256 0970040d57d24f4ecf9f81f4caacec5f01ca5d4110756d5f3775521f853941b8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: llmport_cli-0.2.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 143cafa9859b7d5632c2e272b34bef15dff016c263e9d6a11e596ddfb6ea0cc8
MD5 642b3ca2fcdee1ce9f7849fe06bb5bf4
BLAKE2b-256 fac17832b7b19b81530e2185369b93f39e99cf889849c2685b4ccaaaa8a0bbf5

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