Install and maintain the protected Sngine Live Pro server without editing Docker files by hand.
Sngine Live Pro runs a self-hosted live streaming server with Laravel, Docker, Nginx, Redis, MariaDB, Socket.IO, and OvenMediaEngine. The protected installer verifies the live server license, downloads the latest release, prepares the environment, and prints the admin login details.
Requirements
Common Docker install command for AlmaLinux, Rocky, RHEL, and many cPanel servers
dnf -y install dnf-plugins-core
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
systemctl enable --now docker
docker --version
docker compose version
One-command Live Server Install
Use the live server purchase code from the store. Do not use the Sngine addon purchase code for the server install.
cd /root
curl -fsSL -o /root/live-server-installer.php \
https://sngine-live.fluttercrafters.com/installer/live-server-installer.php.txt
php /root/live-server-installer.php \
--purchase-code=YOUR-LIVE-SERVER-PURCHASE-CODE \
--domain=live.example.com \
--target=/opt
The installer will verify the license, download the latest server release, generate secure secrets, create the license file, run Docker setup, run Laravel migrations, and print the admin URL and password.
/opt/sngine-live-pro-advanced-live-streaming-system/INSTALLATION-SUMMARY.txt.
cPanel Setup
On cPanel servers, the live server Docker stack listens on the local proxy target
http://127.0.0.1:8080. cPanel should proxy the live domain to that target and manage SSL.
Find the cPanel account owner
/scripts/whoowns example.com
Apply the cPanel proxy helper
curl -fsSL -o /root/fix-sngine-live-cpanel.sh \
https://sngine-live.fluttercrafters.com/installer/fix-sngine-live-cpanel.sh
bash /root/fix-sngine-live-cpanel.sh \
CPANEL_USER \
live.example.com \
/opt/sngine-live-pro-advanced-live-streaming-system
Run AutoSSL if the certificate is self-signed or defective
/usr/local/cpanel/bin/autossl_check --user=CPANEL_USER
curl -Ik https://live.example.com/admin/login should return
HTTP/1.1 200 OK after the proxy and SSL are correct.
After Install
Quick health checks
cd /opt/sngine-live-pro-advanced-live-streaming-system
docker compose ps
curl -Ik https://live.example.com/admin/login
docker compose exec -T laravel-app php artisan live:license:check --refresh
Future Updates From the Dashboard
The admin dashboard includes a protected update panel. It checks the store for the latest server release, validates the runtime license, and runs the update agent. Customers do not need to upload server files manually.
Manual Update Command
Use this when the dashboard cannot be opened, or when support asks the customer to update from SSH.
cd /opt/sngine-live-pro-advanced-live-streaming-system
php scripts/self-update.php
docker compose exec -T laravel-app php artisan optimize:clear
docker compose restart nginx
Safer repair update for old installations
Use this helper when an old version returns `500` on `/admin`, or when the old self-update runner fails.
cd /root
rm -f /root/fix-live-admin-500.sh
curl -fsSL -o /root/fix-live-admin-500.sh \
https://sngine-live.fluttercrafters.com/installer/fix-live-admin-500.sh
bash /root/fix-live-admin-500.sh \
/opt/sngine-live-pro-advanced-live-streaming-system \
live.example.com
Successful output should include `Dashboard status: 200`.
Repair Commands
| Problem | Command | When to use |
|---|---|---|
| cPanel proxy, SSL, storage, APP_KEY, or license file permissions | fix-sngine-live-cpanel.sh |
Use after installing on cPanel or when the site returns 502/500 from a cPanel domain. |
| Admin page returns 500 after login | fix-live-admin-500.sh |
Use when `/admin/login` works but `/admin` fails, or when updating an older server build. |
| Need logs | tail storage/logs/laravel*.log |
Use when a page still returns 500 after repair commands. |
Laravel log command
cd /opt/sngine-live-pro-advanced-live-streaming-system
docker compose exec -T laravel-app sh -lc 'tail -n 160 storage/logs/laravel*.log'
Troubleshooting
| Symptom | Most likely cause | Fix |
|---|---|---|
Docker is required before automatic setup can run |
Docker is not installed or not running. | Install Docker, start it, then rerun the installer. |
This purchase code is already bound |
The install was interrupted after license activation, or the customer is moving servers. | Retry on the same install path. If the server is being moved, contact support to reset the server installation binding. |
| Download looks slow | Network speed between the customer server and the store is slow. | The current package is small. Wait for the progress counter or retry from a better network. |
502 Bad Gateway |
The hosting panel proxy cannot reach Docker Nginx on `127.0.0.1:8080`, or containers are not running. | Run `docker compose ps`, then run the cPanel proxy repair helper if using cPanel. |
500 Server Error on `/admin/login` |
Laravel environment, storage, APP_KEY, license file, or dependency setup is incomplete. | Run the cPanel repair helper, then check Laravel logs if it continues. |
500 Server Error after logging in to `/admin` |
Old server version or old dashboard settings parser. | Run `fix-live-admin-500.sh` to update to the latest server release and clear caches. |
| SSL says self-signed or defective | cPanel has not issued a trusted certificate for the live subdomain yet. | Run AutoSSL for the cPanel user after DNS is correct. |
vendor/autoload.php missing |
The update or composer install did not complete. | Run the repair update helper or run `docker compose exec -T laravel-app composer install --no-dev --optimize-autoloader` from the project root. |
Sngine Addon Setup
The live server and the Sngine addon are separate parts of the product. The live server runs Docker and streaming services. The addon is uploaded inside the customer's Sngine website and connects Sngine to the live server.