Deploy apps to VPS.org servers — no Docker required
Project description
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
- You run
vps deployfrom your project directory - The CLI reads
vps.yamland sends the config to the VPS.org API - 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
vpsdotorg-0.1.0.tar.gz
(10.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
vpsdotorg-0.1.0-py3-none-any.whl
(10.0 kB
view details)
File details
Details for the file vpsdotorg-0.1.0.tar.gz.
File metadata
- Download URL: vpsdotorg-0.1.0.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e8ed324e8cdd05f2a2106ca62c530810e23180426a88dae0cf9674ab38b1b98
|
|
| MD5 |
ac52ea777d55291bd668564f9b9351d0
|
|
| BLAKE2b-256 |
9028c44594c56a9b088193074b5373245a9dc1f487bc295e57cafe109a9bd3cd
|
File details
Details for the file vpsdotorg-0.1.0-py3-none-any.whl.
File metadata
- Download URL: vpsdotorg-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d874b2be2ea0cc8af2aa293449cfcc2bd7ff9c9c219167038108857f0a435b4
|
|
| MD5 |
4f995972fd9fd73a0f21e23618677e16
|
|
| BLAKE2b-256 |
63459c17f030067e8799774a250820c121f18e3995ab8ac369a8c64498e5991c
|