Documentation Index
Fetch the complete documentation index at: https://docs.startmyvpn.com/llms.txt
Use this file to discover all available pages before exploring further.
Before you start, make sure PHP 8.4 and the IonCube Loader v15+ are installed and verified with
php -v. See Requirements for details. Skipping this will cause the application to fail during composer install with cannot be decoded by this version of the ionCube Loader.1. Upload the application files
Download the latest StartMyVPN release.zip from your customer portal and upload it to your server, then extract it:
2. Install PHP dependencies
3. Install and build front-end assets
Assets are compiled on each install so your branding, theme colors, and any per-client customizations are baked into the bundle. Run both commands from the release directory:Use
npm ci (not npm install) to install the exact versions from package-lock.json. This guarantees the build matches what was tested against this release.public/build/ and a manifest.json that Laravel’s @vite directive uses to reference them.
4. Create the environment file
5. Configure the environment
Open.env and set the core values:
6. Seed initial data
7. Publish Livewire assets
8. Set storage permissions
9. Create the storage symlink
10. Optimize for production
11. Access the app
Point your web server at/var/www/startmyvpn/public (see Web Server for Nginx/Apache configs), then open your domain in a browser. The first-run setup wizard at /setup walks you through the rest of the configuration.
Default admin credentials are created by the seeder. Change your password immediately after first login from Admin → Settings → Profile.
Update procedure
When a new version is released, download the updated.zip, replace the application files (keeping your .env and storage/ directory), then run:
Always back up your database before running
php artisan migrate --force on a new release.