Skip to main content

Prerequisites

Before you begin, make sure you have:
  • A server running Ubuntu 22.04+ with SSH access
  • PHP 8.2+ and Composer installed
  • MySQL 8.0+ running
  • Nginx or Apache
  • A domain pointed at your server
See the full requirements page for details.

Step 1 — Install the application

Download the latest .zip from your customer portal, upload it to your server, and extract it:
unzip startmyvpn-latest.zip -d /var/www/startmyvpn
cd /var/www/startmyvpn

# Install dependencies
composer install --no-dev --optimize-autoloader
npm install && npm run build

# Create config
cp .env.example .env
php artisan key:generate
Edit .env with your database credentials, app URL, and mail settings:
APP_URL=https://yourdomain.com
DB_DATABASE=startmyvpn
DB_USERNAME=your_user
DB_PASSWORD=your_password
Run migrations, seed, and publish required assets:
php artisan migrate --force
php artisan db:seed
php artisan storage:link
php artisan livewire:publish --assets

Step 2 — Configure the web server

Nginx (quick example — see full guide):
server {
    listen 80;
    server_name yourdomain.com;
    root /var/www/startmyvpn/public;
    index index.php;

    location / { try_files $uri $uri/ /index.php?$query_string; }
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
Set up SSL with Let’s Encrypt:
sudo certbot --nginx -d yourdomain.com

Step 3 — Start queue workers and the scheduler

# One-time cron entry
echo "* * * * * www-data cd /var/www/startmyvpn && php artisan schedule:run >> /dev/null 2>&1" | sudo tee /etc/cron.d/startmyvpn
Set up Supervisor for queue workers — see Queue Workers.

Step 4 — Complete setup in the admin panel

  1. Open https://yourdomain.com/setup in your browser
  2. Log in with the default admin credentials from the seeder
  3. Change your password immediately
  4. Navigate to Admin → Settings to configure:
    • App name and branding
    • SMTP email settings
    • Payment gateways (Stripe, PayPal, or CryptAPI)
    • Cloud provider keys (DigitalOcean / Vultr)

Step 5 — Create your first plan and deploy a server

  1. Go to Admin → Plans → Create Plan — define bandwidth, speed limits, trial days
  2. Add a billing cycle under the plan (e.g. Monthly at $9.99)
  3. Go to Admin → Deployments → DigitalOcean (or Vultr) to deploy your first VPN server
  4. Create a Server Group and add the server to it
  5. Assign the server group to your plan
Your VPN service is now live. Customers can register at yourdomain.com, subscribe, and download their VPN configs.