Skip to main content
Version 0.2.0-beta.2 reset /opt/laravelify to a mode nginx cannot read. Fix it once, then update again:
Releases from 0.2.0-beta.3 keep the permissions.
The PM2 file was named ecosystem.config.js, which breaks in projects with "type": "module". Update to 0.2.0-beta.5 or later: the file is now ecosystem.config.cjs, and old files are renamed on the next update.
Add output: "standalone" to your next.config and deploy again.
Install @sveltejs/adapter-node and use it in your SvelteKit config instead of adapter-auto.
A warning, not an error: Composer could not reach Packagist and used its cache. If the install stops there, the server usually cannot reach IPv6 addresses. Prefer IPv4 and run the installer again:
The tunnel is not connected or the public hostname is missing.
In Cloudflare, check the tunnel is Healthy and the hostname points to http://localhost:80.
The GitHub App is not installed on that repository, or the personal token expired or lacks Contents: read. Open Sources, check the repository is listed, then deploy again.
The queue worker is not running:
Click Turn on tracking on the website’s Monitoring tab, then visit the site. If it still shows nothing, check the scheduler runs (sudo supervisorctl status laravelify-scheduler) and that /var/log/laravelify/{slug}.metrics.log grows when you visit the site.
Add output: 'standalone' to next.config and deploy again. Before the first successful build there is nothing for PM2 to start; that is expected.
PM2 restores apps on boot through the pm2-root service. Set it up (and move any apps started by older versions into root’s PM2) with:
systemctl status pm2-root should then show it enabled. Updating the panel runs this for you.
A cached config ignores .env. Saving the Environment tab clears it; from the terminal run php artisan config:clear.

Where to look

Still stuck? Open an issue with the error message and these logs (remove secrets first).