Serverless Laravel, gebrouwen in Europa.
Steeds meer teams willen hun Laravel-app Europees hosten: niet alleen in een Europees datacenter, maar ook bij een Europese eigenaar. Brewless rolt Laravel serverless uit op Scaleway en bunny.net, in de eigen accounts van de klant. Brewless regelt builds, releases, queues en schalen. De klant houdt de infrastructuur, de data en de rekening.
Deze video laat het proces en de oplossing zien. De echte vormgeving van het product wijkt daarvan af, en alle namen en gegevens in de video zijn verzonnen.
Voor de developer
Eén commando van terminal naar live release.
Voor de organisatie
App en data in de EU, bij Europese eigenaren.
Voor de eigenaar
Zeg Brewless op en je app blijft draaien.
Een Europees datacenter is nog geen Europese hosting
Serverless hosting voor Laravel is fijn: geen servers om te patchen, geen machine die te klein is als de nieuwsbrief uitgaat. Maar serverless betekende tot nu toe bijna altijd een Amerikaanse cloud, ook als het datacenter in Frankfurt of Dublin staat.
Die vraag hoorden we steeds vaker, vooral bij organisaties met gevoelige gegevens. Vier wensen kwamen telkens terug.
Europese eigenaren
Niet alleen een server in de EU, maar ook een bedrijf onder Europees recht. Scaleway is Frans, bunny.net Sloveens: geen Amerikaanse partij ertussen, dus ook geen CLOUD Act.
Zelf eigenaar blijven
De app, de database en de bestanden horen in het account van de klant, met een eigen contract bij de provider. Niet bij een tussenpartij die ze doorverhuurt.
Geen nieuwe afhankelijkheid
Een hostingplatform mag niet de schakel worden waardoor een site omvalt. Als het platform een dag weg is, moet de app gewoon blijven draaien.
Het gemak van serverless
Uitrollen vanuit de terminal, migraties, queues en de scheduler geregeld, en schalen met het verkeer mee. Europees mag niet betekenen dat je weer servers gaat beheren.
Waar je data staat zegt weinig. Wie de eigenaar is wel.
De grote clouds hebben allemaal datacenters in Europa. Toch blijven het Amerikaanse bedrijven, en daarmee vallen ze onder Amerikaans recht. De belangrijkste wet daarbij is de CLOUD Act uit 2018: Amerikaanse autoriteiten kunnen een Amerikaanse provider dwingen om gegevens af te geven, ongeacht waar die gegevens zijn opgeslagen. Een server in Amsterdam of Frankfurt verandert daar niets aan.
Dat is geen theorie. In juni 2025 werd de juridisch directeur van Microsoft Frankrijk onder ede in de Franse Senaat gevraagd of hij kon garanderen dat gegevens van Franse burgers nooit zonder Franse toestemming bij Amerikaanse autoriteiten terechtkomen. Zijn antwoord: dat kon hij niet. Zo'n verzoek was er volgens hem nog nooit geweest, maar uitsluiten kon hij het niet.
Voor de AVG is dat een lastige spagaat: je verwerkersovereenkomst zegt Europa, terwijl een buitenlandse wet er doorheen kan grijpen. Wie dat risico echt weg wil hebben, heeft niet genoeg aan een Europese regio. Dan moet ook de partij die de infrastructuur levert Europees zijn.
Ik denk dat EU-soevereine hosting de standaard wordt. Niet uit wantrouwen, maar omdat je als Europese organisatie niet afhankelijk wilt zijn van de wetten en de politiek van een ander continent.
Een server heeft een maat. Serverless niet.
Een server koop je in één maat en die staat de hele dag aan. Te klein en je site wordt traag zodra het druk is; groot genoeg en je betaalt het grootste deel van de dag voor capaciteit die niemand gebruikt.
Brewless draait een Laravel-app in Scaleway Serverless Containers. Wordt het druk, dan starten er extra kopieën van de app; wordt het rustig, dan verdwijnen ze weer, tot het minimum dat je zelf instelt. De database, cache en opslag staan ernaast in hetzelfde account.
Eén bestand, één commando
Hoe elke omgeving eruitziet staat in brewless.yml in de repository: regio, database, cache, queue, bestanden en domeinen. brewless plan laat eerst zien wat er verandert; brewless deploy voert het uit.
Alles van een omgeving op één plek
Wat de terminal doet, is ook in de console te zien en te doen: hoe druk de app is, welke release live staat, wat er in het Scaleway-project draait en wie wat heeft veranderd. De cijfers komen live van Scaleway en bunny.net en worden niet bij Brewless opgeslagen.
De screenshots tonen de echte console met verzonnen demodata.
Zeg Brewless op en kijk wat er stopt
Alles staat in de eigen accounts van de klant bij Scaleway en bunny.net: de app, de database, de cache, de queues, de opslag, de secrets en de builds. Bezoekers gaan van bunny.net rechtstreeks naar de app en komen nooit langs Brewless.
Wie opzegt, verliest alleen wat Brewless zelf doet: deploys, de release-historie, rollback, het dashboard en het audit trail. De app blijft gewoon bezoekers bedienen. Die toets hanteren we bij elk onderdeel: als Brewless een dag onbereikbaar is, werkt de app dan nog?
Vier regels die niet buigen
Brewless beheert infrastructuur die niet van ons is. Dat vraagt om regels die in de architectuur zitten, niet in een belofte op de website.
Buiten het verkeerspad
Brewless is nooit een tussenstop voor bezoekers. Ook meten gebeurt zonder verzoeken naar de app: een health check zou een container wakker houden. Cijfers komen live van de provider.
Secrets blijven bij de klant
Omgevingsvariabelen staan in de eigen Secret Manager van de klant. Brewless bewaart alleen namen en referenties, nooit een waarde, en logt er ook nooit een.
Geen verborgen destructieve acties
Elke wijziging bij een provider is een duurzame, herhaalbare operatie en komt in het audit trail. Niets wordt stilletjes weggegooid in het account van de klant.
Eerlijk over soevereiniteit
Stuurt een app mail, betalingen of analytics via een dienst buiten de EU, dan verlaat die data de EU. Brewless kan dat niet oplossen en noemt een opzet daarom ook niet volledig soeverein als hij dat niet is.
Meer dan een deploy-knop
Uitrollen is het begin. Daaromheen zit alles wat een team nodig heeft om een Laravel-app in productie te houden.
Europa
Kies waar je app woont
Regio in één regel
Parijs, Amsterdam of Warschau: één regel in brewless.yml en app, database en bestanden gaan naar die regio.
Scaleway als kern
Serverless Containers, serverless of managed PostgreSQL, Queues, Object Storage, Redis, een Private Network en Secret Manager.
bunny.net aan de rand
DNS, CDN, certificaten en een firewall met DDoS-bescherming. Edge-locaties zijn te beperken tot Europa.
Laravel
Weet hoe een Laravel-app in elkaar zit
Artisan op de live release
Elk commando draaien op de release die live staat, vanuit het dashboard of de terminal.
Migraties en scheduler
Migraties draaien in elke deploy, en de schedule wordt uit de app zelf gelezen. brewless.yml blijft kort.
Queues zonder brug
Jobs wachten in Scaleway Queues, en de queue wekt de worker zodra er een job klaarstaat.
Team & veiligheid
Wie wat deed, en wie wat mag
Database per organisatie
Elke organisatie heeft een eigen database en een eigen subdomein. Organisaties kunnen niet bij elkaars gegevens.
Aanmelden zonder wachtwoord
Inloggen met een link, een code of een passkey. De terminal koppelt met een apparaatcode.
Audit trail
Elke wijziging, elke aanmelding en elke mislukte aanmelding komt in een logboek dat achteraf niet te wijzigen is.
Open
De onderdelen bij de klant zijn openbaar
Open-source CLI
De command line, het Laravel-pakket en de basis-images staan openbaar op GitHub. Wat in de infrastructuur van de klant draait, is in te zien.
Basis-images met FrankenPHP
Apps draaien op een openbaar basis-image met FrankenPHP, dat Brewless bijwerkt zodra er een PHP-patch uitkomt.
Overstappen vanaf Vapor
brewless init leest een bestaande vapor.yml en schrijft de brewless.yml die erbij past.
Brewless draait op Brewless
Brewless is zijn eigen eerste klant. brewless.eu draait zelf in Scaleway-containers in Parijs, achter bunny.net met alleen Europese edge-locaties, en elke nieuwe versie gaat live met brewless deploy. Elke fout die een klant zou raken, merken wij dus eerst.
We bouwden het als product, niet als maatwerk voor één klant, omdat dezelfde vraag overal terugkomt waar met gevoelige gegevens wordt gewerkt. Brewless is nu in early access en gaat in kleine groepen open, te beginnen bij Laravel-teams.
Meer cases
Andere projecten waarin software, website, shop of app niet als los kanaal is gebouwd, maar als onderdeel van een werkend proces.
Online ALV
Digitaal vergaderplatform voor rechtsgeldige ALV's met stemmodule.
Pandjeshuis Suikerland
Pandjeshuisproces voor verkoop, beleningen en webshop, bediend via software en custom iOS-app.
VIS
Veilig interventiesysteem voor meldingen en incidentregistratie in de zorg.
Vergelijkbaar project?
Je Laravel-app Europees hosten, of een platform dat infrastructuur voor je klanten regelt? Laten we sparren.
Start het gesprek