Serverless PHP. Brewed in Europe.
Deploy Laravel to Scaleway and bunny.net, two European clouds, in your own accounts. Brewless handles builds, releases, queues and scaling. You keep the infrastructure, the data and the bill.
$ brewless init Laravel 12 detected · PHP 8.4 Queue and scheduler found $ brewless deploy production Upload ........ 4 s Build ......... 1 m 51 s Migrate ....... 21 s Health ........ 200 Release 184 is live at app.mijnevent.eu
A server has a size. Serverless does not.
Drag the traffic and watch both. A server is one machine that is always on. Serverless starts more copies of your app when it gets busy and removes them when it is quiet.
One VPS
A fixed machine, on all day.
Fine. About half the machine is unused, and you pay for all of it.
Brewless on Scaleway
Copies of your app, as many as needed.
3 replicas. Sized to the traffic right now. They go away again when it drops.
Illustration. Here one replica handles 150 requests a minute and the VPS tops out at 900. Real numbers depend on your app. The database is a managed service that stays on in both cases.
Two European providers. Your app’s data stays in the EU.
Brewless runs your app on Scaleway and puts bunny.net in front of it. Both are European companies with headquarters in the EU. You hold the contract with each of them directly.
Scaleway
Paris, FranceWhere your app and your data live.
- Serverless Containers
- Runs your app, queue workers, migrations and the scheduler
- Serverless Jobs
- Long-running commands
- Managed PostgreSQL
- Your database, with backups
- Redis and Queues
- Cache, sessions and background jobs
- Object Storage
- Private files
- Secret Manager
- Your environment secrets
bunny.net
Ljubljana, SloveniaWhat your visitors reach first. Optional, and recommended.
- DNS
- Your domains
- CDN
- Caches pages and assets close to visitors
- Shield
- Firewall and DDoS protection
- TLS
- Certificates, renewed by bunny
- Storage and Optimizer
- Public media and image resizing
- Edge locations
- Can be limited to Europe
Pick where your app lives
One line in your config. Your app, database and files all go to that region.
Queues are not available in Warsaw or Milan yet, and file storage is still on its way to Milan.
environments:
production:
region: nl-ams
database:
type: managed-postgres Sovereignty is only as strong as the weakest link. If your app sends mail, payments or analytics through a service outside the EU, that data leaves the EU. Brewless cannot change that, and we will not call your setup fully sovereign when it is not. Two things to know about bunny.net: DNS lookups are answered from its worldwide network, and it uses a few US-based tools for its own support and email, which see account details, not your visitors’ traffic.
Cancel Brewless and see what stops.
Everything is set up in your own Scaleway and bunny.net accounts. Visitors never pass through us. Flip the switch.
Right now you are a customer. Both sides are running.
Yours
RunningIn your accounts, billed to you by the provider.
Ours
RunningThe control plane. This is all you stop paying for when you leave.
What you get, shown as what you type.
Pick a part. Each one is a line of config or a single command.
Deploy without Docker
Your code is built in the EU and pushed to your own registry. If a migration fails, the old release stays live.
$ brewless deploy production Build ......... 1 m 51 s Migrate ....... 21 s Release 184 is live
Two bills. Only one of them is ours.
You pay Scaleway and bunny.net directly for what your app uses. Brewless charges separately for deploying and running it. We add nothing on top of your cloud bill.
Their list prices, on your own account. This is what drives the amount:
- App and workersBy use. More when busy, less when quiet.
- DatabaseBy size. Always on, so a fixed amount.
- FilesPer gigabyte stored.
- CDNPer gigabyte delivered.
Early-access teams hear it first.
- No percentage of your cloud bill
- Cancel any month. Your app keeps running.
Built for PHP, starting with Laravel.
Want to try it on your own app?
We open access in small batches, starting with Laravel teams.
One email when your batch opens. We use your address for nothing else.