Skip to main content

Server requirements

StartMyVPN is built against PHP 8.4. Older PHP versions (8.2, 8.3) are not supported — the application will not load.

PHP extensions

The following PHP extensions must be enabled:
  • BCMath
  • Ctype
  • cURL
  • DOM
  • Fileinfo
  • JSON
  • Mbstring
  • OpenSSL
  • PDO + pdo_mysql
  • Tokenizer
  • XML
  • Zip

IonCube Loader (required)

StartMyVPN ships with core business logic encoded using IonCube. You must install the IonCube Loader v15 or newer before the application will run. Earlier loader versions (v14 and below) cannot decode PHP 8.4 files and will fail with cannot be decoded by this version of the ionCube Loader.

1. Download the loader

Download the latest IonCube Loader from ioncube.com/loaders.php. Select the package matching your OS and architecture.

2. Find your PHP extension directory

3. Copy the loader

4. Add to php.ini

Find your active php.ini:
Add the following line at the very top of php.ini, before any other extension= or zend_extension= lines:
The IonCube zend_extension directive must appear before any other extension directives in php.ini. Placing it after other extensions (especially OPcache) may cause PHP to fail to start.

5. Restart PHP-FPM

6. Verify the loader is active

Or confirm via module list:
If php -v still shows no ionCube line, the zend_extension path is wrong or the loader file is the wrong architecture for your PHP build.

Supported PHP version

Required software

  • Composer 2.x — PHP dependency manager
  • Node.js 20+ and npm — front-end assets are compiled on each install so your branding, theme, and per-client customizations are baked into the bundle
  • unzip — to extract the release archive

Queue & scheduler

StartMyVPN relies on Laravel queues for background jobs (WireGuard config generation, server provisioning, etc.) and the Laravel scheduler for periodic tasks. You need either:
  • Supervisor to keep queue workers running (recommended for production)
  • OR a cron job that runs the scheduler every minute (minimum requirement)
See Queue Workers and Scheduler for setup instructions.

Cloud provider accounts

To deploy VPN servers from within the admin dashboard, you need at least one of:
  • A DigitalOcean account with an API token (Personal Access Token with write access)
  • A Vultr account with an API key
Servers can also be added manually (any VPS with SSH access) without a cloud provider integration.

Payment gateway accounts

At least one payment gateway is required to accept payments:
  • Stripe — credit/debit card payments
  • PayPal — PayPal checkout and recurring subscriptions
  • CryptAPI — cryptocurrency payments (Bitcoin, Ethereum, etc.)