🐙 Tenancy v4 & SaaS boilerplate v2 release is very close!
If you're building a SaaS, make sure you don't miss out on the launch discount!
Subscribe here to be notified about the release (we don't send any spam, only big announcements): https://t.co/g42YL4D9kR
This is what my entire server config looks like.
On NixOS, this configures:
- nginx
- php-fpm
- SSL certificates (including renewals)
- cron for Laravel schedule
- users and groups
- queue worker
- firewall
- ssh keys, and more
For as many sites as I want.
Article link below
New article — some things to consider when using SQLite in production (from the point of view of Laravel apps).
Covers:
1. Journal mode
2. Data types
3. Concurrent transactions (the dreaded "database is locked" error)
Link below
⚠️ New CRITICAL vulnerability disclosed in Livewire v3, you need to update ASAP! ⚠️
This is a rather sneaky one that gives an attacker RCE (under the right conditions), and can be done unauthenticated with no user input... hence CRITICAL. 😱
https://t.co/lzXnAxfDxx #Laravel
4000 words about forking PHP processes and a bit of FFI for some extremely unnecessary optimizations, link below
This is how Tenancy v4 massively speeds up tenant migrations
We have an open source changelog now by the way. 😇
Monthly summaries of what we've been shipping across our open source ecosystem.
https://t.co/g5PCYQF8Q4
.@enunomaduro is posting a lot about pcntl_fork(), which is a super underrated approach for doing things concurrently in PHP
Thinking it's time to write a long form article about how it can be used, with our use in @TenancyLaravel as a reference? 😼
Under the hood, this is uses the pcntl extension to fork the process and distributes the work between the child processes
The implementation makes sure to keep track of any failures so that if there's any error in any child process, the parent process will exit with non-0
🦀 The neat thing is how we've implemented this. Maintaining 24 repos would be impossible, so instead we have a custom tool written in Rust for generating these setups
Each generated setup has a clean git history and is automatically tested after being built
Here's how we keep this maintainable 👇
🐙 Tenancy v4 & SaaS boilerplate v2 release is very close!
If you're building a SaaS, make sure you don't miss out on the launch discount!
Subscribe here to be notified about the release (we don't send any spam, only big announcements): https://t.co/g42YL4D9kR
🤯 Tenancy v4 will launch with 24 different SaaS boilerplate setups
That is any combination of:
- Jetstream with teams, Jetstream without teams, new Laravel 12 starter kits
- Domain identification / Path identification
- Livewire / Inertia + Vue
- Multi-database / PostgreSQL RLS (new v4 feature!)
Version 3 only had one boilerplate which obviously doesn't work for many apps — we use Livewire, domain identification, multi-database, but many apps don't!
This addresses that problem and makes the boilerplate usable for so many more projects
Excited to see what people build with it!
🐙 Tenancy v4 & SaaS boilerplate v2 release is very close!
If you're building a SaaS, make sure you don't miss out on the launch discount!
Subscribe here to be notified about the release (we don't send any spam, only big announcements): https://t.co/g42YL4D9kR
🦀 The neat thing is how we've implemented this. Maintaining 24 repos would be impossible, so instead we have a custom tool written in Rust for generating these setups
Each generated setup has a clean git history and is automatically tested after being built
Here's how we keep this maintainable 👇
🤯 Tenancy v4 will launch with 24 different SaaS boilerplate setups
That is any combination of:
- Jetstream with teams, Jetstream without teams, new Laravel 12 starter kits
- Domain identification / Path identification
- Livewire / Inertia + Vue
- Multi-database / PostgreSQL RLS (new v4 feature!)
This is just a short peek into what the process of generating 24 different app templates looks like. If people are interested, I can cover how we keep this reasonably fast (related to why we're using Rust) and some details like how distributing updates works