Any app works the first time and fixes itself when it fails
Paste a repository link and see the plan before anything builds. A build that fails is fixed and tried again by itself, then explained.
Updated 31 Oct 20262 min read
Connect a repository or paste its link, and your app builds and goes live without you setting anything.
What's new
The plan, before anything is built: the Add page reads your code and shows what it'll do, each line with its reason. For the open-source Laravel blog laravel-blog it says "Laravel 11 on PHP 8.4 (your packages accept 8.3 and 8.4)", the extensions added for its packages, Node.js 22 and Yarn 4.5.1 for its assets, a MySQL database, a cache for its queue and email from your project with their prices a month first, Horizon as a worker, and "Needs your key: Pusher (live comments)". Change any line before you deploy.
Versions your packages accept: we read your lock file too, not only
composer.json,package.jsonorpyproject.toml, and use our default when everything accepts it. No more builds on a version one of your packages refuses.Extensions and system libraries added for you: the ones your packages need, even when only the lock file names them, and the ones well-known packages use without saying, like gd for picture libraries. The most common ones are ready on every server, so most builds start straight away.
Variables made and filled:
APP_KEY,SECRET_KEYand the like are made for you and kept encrypted; your app's address, production settings and safe values from your example file are filled in; keys only you have are listed, never invented. A variable you set is never replaced.SQLite moves to a real database (MySQL, or PostgreSQL for Django and Rails), because a file database would be lost at every deploy. Choose Keep SQLite (one copy only) if you'd rather keep the file.
Run the way your framework expects: PHP apps run on the same web server as our sites, several requests at a time, with
.htaccess; migrations and the framework's other release steps run before each version goes live, and the build makes the public storage link; workers and the scheduler are set up from your code, with their prices shown first.Sample data when you ask: an app with a seeder offers Add the sample data once, and warns you first when it creates a login everyone can read in the code.
Builds that fix themselves: when a build fails, we read why, fix what we safely can and try again, at most twice. If it still fails, the build's page says what went wrong, what we did and what you can do, with Fix it and Ask Sali.
Ask us to add it: if your code needs an extension, a version or a service we don't offer yet, you're told in one sentence before anything is built, with a button to ask for it.
Read Deploy a Laravel app and Deploying.