Skip to main content

VPS CLI

Deploy apps to your VPS.org server with a single command. No Docker required.

Install

pip install vps-cli

Quick Start

# 1. Login with your API token
vps login

# 2. In your project directory, link to a server
cd my-project/
vps link

# 3. Edit vps.yaml with your app config

# 4. Deploy
vps deploy

Configuration (vps.yaml)

Create a vps.yaml in your project root:

Python app:

name: my-app
type: python
version: "3.12"
build:
  - pip install -r requirements.txt
start: gunicorn app.wsgi:application --workers 3 --bind 127.0.0.1:8000
port: 8000
domain: myapp.example.com
git_repo: https://github.com/user/repo.git
git_branch: main

Node.js app:

name: my-api
type: node
version: "20"
build:
  - npm install
start: node server.js
port: 3000
domain: api.example.com
git_repo: https://github.com/user/repo.git
git_branch: main

Static site:

name: my-site
type: static
build:
  - npm run build
domain: example.com
git_repo: https://github.com/user/repo.git
git_branch: main

Commands

Command Description
vps login Authenticate with your API token
vps link Link project to a VPS server
vps deploy Deploy the current project
vps deployments List deployment history
vps logs [UUID] Show deployment logs
vps env list List environment variables
vps env set KEY=VALUE Set environment variables
vps env rm KEY Remove an environment variable
vps ssh SSH into the linked server

Environment Variables

# Set variables
vps env set DATABASE_URL=postgres://... SECRET_KEY=abc123

# List variables
vps env list

# Remove a variable
vps env rm SECRET_KEY

How It Works

  1. You run vps deploy from your project directory
  2. The CLI reads vps.yaml and sends the config to the VPS.org API
  3. The platform SSHes into your VPS and:
    • Sets up the runtime (Python via pyenv, Node via nvm)
    • Clones/pulls your code from git
    • Runs build commands
    • Configures Supervisor (process manager)
    • Configures Nginx (reverse proxy + SSL)
    • Runs a health check

Requirements

  • Python >= 3.9
  • A VPS.org server with SSH access
  • An API token from admin.vps.org

License

MIT

Metadata

Release files for vpsdotorg 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vpsdotorg 0.1.0
File Size Uploaded Provenance
vpsdotorg-0.1.0.tar.gz 10.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for vpsdotorg 0.1.0
File Interpreter ABI Platform
vpsdotorg-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 20.2 kB

Release files / vpsdotorg-0.1.0.tar.gz

Download URL vpsdotorg-0.1.0.tar.gz
Size 10.2 kB
Tags Source
SHA-256 checksum
How to use checksums
4e8ed324e8cdd05f2a2106ca62c530810e23180426a88dae0cf9674ab38b1b98
BLAKE2b-256 checksum
How to use checksums
9028c44594c56a9b088193074b5373245a9dc1f487bc295e57cafe109a9bd3cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / vpsdotorg-0.1.0-py3-none-any.whl

Download URL vpsdotorg-0.1.0-py3-none-any.whl
Size 10.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9d874b2be2ea0cc8af2aa293449cfcc2bd7ff9c9c219167038108857f0a435b4
BLAKE2b-256 checksum
How to use checksums
63459c17f030067e8799774a250820c121f18e3995ab8ac369a8c64498e5991c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Security for vpsdotorg 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page