Additional Configuration
Production tuning for Redis, Octane, workers, and long-running services.
Once the panel is installed and reachable through Nginx, you should finish the production setup.
Recommended .env values
Section titled “Recommended .env values”The default environment file is intentionally conservative. For production, the most common setup is:
APP_ENV=productionAPP_DEBUG=falseAPP_URL=https://panel.example.com
DB_CONNECTION=pgsqlDB_HOST=127.0.0.1DB_PORT=5432DB_DATABASE=skyportDB_USERNAME=skyportDB_PASSWORD=change-me
CACHE_STORE=redisSESSION_DRIVER=redisQUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1REDIS_PORT=6379REDIS_PASSWORD=null
LOG_CHANNEL=stackLOG_LEVEL=info
OCTANE_SERVER=swooleOctane service
Section titled “Octane service”Create /etc/systemd/system/skyport-panel.service:
[Unit]Description=Skyport Panel (Laravel Octane)After=network.target
[Service]Type=simpleUser=www-dataGroup=www-dataWorkingDirectory=/var/www/skyportExecStart=/usr/bin/php artisan octane:start --server=swoole --host=127.0.0.1 --port=8000 --workers=auto --task-workers=auto --max-requests=500Restart=alwaysRestartSec=5Environment=APP_ENV=production
[Install]WantedBy=multi-user.targetQueue worker service
Section titled “Queue worker service”Create /etc/systemd/system/skyport-queue.service:
[Unit]Description=Skyport Queue WorkerAfter=network.target
[Service]Type=simpleUser=www-dataGroup=www-dataWorkingDirectory=/var/www/skyportExecStart=/usr/bin/php artisan queue:work --tries=1 --timeout=0Restart=alwaysRestartSec=5Environment=APP_ENV=production
[Install]WantedBy=multi-user.targetEnable and start services
Section titled “Enable and start services”sudo systemctl daemon-reloadsudo systemctl enable --now skyport-panel.service skyport-queue.serviceFile ownership
Section titled “File ownership”A safe baseline is to make the web user own the app directory:
sudo chown -R www-data:www-data /var/www/skyportUseful maintenance commands
Section titled “Useful maintenance commands”php artisan optimize:clearphp artisan config:cachephp artisan route:cachephp artisan view:cacheRun those after major environment changes or deployments.
Logging
Section titled “Logging”When debugging production issues, start with:
journalctl -u skyport-panel -u skyport-queue -fAnd Laravel’s application log:
tail -f /var/www/skyport/storage/logs/laravel.logRedis recommendations
Section titled “Redis recommendations”If you use Redis for cache, sessions, and queues, keep it local or private to your trusted network. Do not expose Redis directly to the internet.
Database recommendations
Section titled “Database recommendations”Use PostgreSQL for production unless you have a strong reason not to. SQLite is fine for local development, but PostgreSQL will be a much better default for real deployments.