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.2.tar.gz (55.6 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.2-py3-none-any.whl (72.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: llmport_cli-0.2.2.tar.gz
  • Upload date:
  • Size: 55.6 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.2.tar.gz
Algorithm Hash digest
SHA256 81ea4e201c2e4966f875d056beca160cc2dd3384b21f7a161f56df9c5081ebe4
MD5 99bdd6984c61ab8a17901a8d762737e7
BLAKE2b-256 42c362e0ab841b44bf4b8b1724b4c83120283804fc82508f587e0c507ff86829

See more details on using hashes here.

File details

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

File metadata

  • Download URL: llmport_cli-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 72.1 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 242a9fb4c4999d64cb17d47b3109198919de62e09f49413afb8508b40a6f93f8
MD5 ba0df8d789fadd85060caa1b2b2e427e
BLAKE2b-256 fe160bb935513ed91fe176c4dec672668a74967380817a6fe84721bf6e670feb

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