SST Laravel Documentation
SST Laravel deploys a Laravel application to AWS Fargate with SST. You describe the application in sst.config.ts with the LaravelService component: a web service, optional workers and Reverb, the environment, and the AWS resources it links to. SST Laravel builds the Docker images and deploys them to your own AWS account.
Start here
If you are new to the package, read the pages in this order:
- Getting Started installs the package, creates
sst.config.ts, and deploys adevstage. - Environment Variables shows how the containers get their
.env. - Linking Resources connects a database, Redis, or a bucket.
Everything else can be read as you need it.
Pages
| Page | What it covers |
|---|---|
| Overview | What gets deployed, the quick start, requirements, and roadmap. |
| Onboard your agent | Set up your coding agent with the SST Laravel skill and deployment instructions. |
| Why SST Laravel | What SST is, and what the setup gives you: infrastructure as code, auto-scaling, linked AWS resources, and security. |
| Getting Started | Requirements, installation, the generated sst.config.ts, the first deploy, and checking it. |
| Web | The HTTP service: domain, container size, scaling, health check, HTTPS redirect, and access logs. |
| Workers | Horizon, the scheduler, and custom commands in worker containers or in the web container. |
| Reverb | A dedicated Laravel Reverb service for WebSockets, with its own domain. |
| Load Balancer | The secure defaults of the load balancer, the IP allowlist, and access logs in S3. |
| Environment Variables | Environment files, SST secrets, RemoteEnvVault (AWS Secrets Manager), and the variables SST Laravel adds. |
| Linking Resources | Linked databases, Redis, and buckets, PlanetScale, custom variable names, and IAM permissions. |
| Deploying | The deploy command, readiness and status checks, PHP settings, the deployment script, and GitHub Actions. |
| CLI | Every sst-laravel command and its options. |
| Troubleshooting | Common errors and how to fix them. |
| API Reference | Every LaravelService and RemoteEnvVault option. |
| Agent Setup | The instructions a coding agent follows to set up and deploy an app. |
Conventions
The examples show only the LaravelService call. It goes inside the run() function of sst.config.ts, with the component imported the same way init does it:
const { LaravelService } = await import("@kirschbaum-development/sst-laravel");
$app.stage is the SST stage you deploy, such as dev or production.