Skip to the content.

Documentation

Complete reference for Simple VPS Provisioner.

Table of Contents

Installation & Setup

Core Features

Command Reference

Advanced Topics


System Requirements

Supported Operating Systems

Debian:

Ubuntu:

Required Access


Installation Methods

For most users, the quick install script is the easiest option:

curl -fsSL https://raw.githubusercontent.com/willjackson/simple-vps-provisioner/main/install-from-github.sh | sudo bash

Pros:

Use when:

Method 2: Manual Download

Download and verify manually:

# Set version (get latest from releases page)
VERSION="1.0.30"

# Download binary
wget https://github.com/willjackson/simple-vps-provisioner/releases/download/v${VERSION}/svp-linux-amd64

# Download checksums
wget https://github.com/willjackson/simple-vps-provisioner/releases/download/v${VERSION}/checksums.txt

# Verify
sha256sum --check --ignore-missing checksums.txt

# Install
chmod +x svp-linux-amd64
sudo mv svp-linux-amd64 /usr/local/bin/svp

# Verify
svp --version

Use when:

Method 3: Build from Source

For development or customization:

# Clone repository
git clone https://github.com/willjackson/simple-vps-provisioner.git
cd simple-vps-provisioner

# Build and install
sudo bash install.sh

Use when:


First Time Setup

After installation, your first provisioning looks like this:

1. Prepare Your Domain

Configure DNS A record:

A    example.com    YOUR_SERVER_IP

Wait 5-30 minutes for DNS propagation.

2. Run Setup Command

sudo svp setup example.com \
  --cms drupal \
  --le-email admin@example.com

Note: SSL is enabled when you provide --le-email. Omit it to set up without SSL initially.

3. Wait for Completion

svp will automatically:

  1. ✅ Update system packages
  2. ✅ Install Nginx
  3. ✅ Install PHP-FPM
  4. ✅ Install MariaDB
  5. ✅ Create database and user
  6. ✅ Install CMS
  7. ✅ Obtain SSL certificate
  8. ✅ Configure firewall

4. Access Your Site

Visit https://example.com to see your site!

For Drupal, you’ll get a one-time login link:

Login to admin: https://example.com/user/reset/...

Environment Variables

svp respects these environment variables:

DEBUG

Enable debug output:

DEBUG=1 svp setup example.com --cms drupal
# or use the --debug flag:
svp setup example.com --cms drupal --debug

Shows detailed command execution and troubleshooting information.


Configuration Files

System-Wide Configuration

Location: /etc/svp/

/etc/svp/
├── php.conf              # Current PHP version
└── sites/                # Per-site configurations
    ├── example.com.conf  # Site config
    └── example.com.db.txt # Database credentials

Per-Site Configuration

Site Config (/etc/svp/sites/example.com.conf):

# Site configuration for example.com
DOMAIN='example.com'
PHP_VERSION='8.3'
WEBROOT='/var/www/example.com/web'
CREATED='Mon Jan 15 10:30:00 UTC 2024'
SSL_EMAIL='admin@example.com'  # If SSL enabled

Database Credentials (/etc/svp/sites/example.com.db.txt):

Database: drupal_example_com
Username: drupal_example_com
Password: [auto-generated secure password]
Host: localhost
Port: 3306

⚠️ Important: Keep database credential files secure with 600 permissions.


Next Topics

Explore detailed documentation for specific features:


← Back to Home Examples →