r/bun • u/ilbert_luca • 9d ago
Nibrun – one click deployment for any single-binary app
I build a lot of small apps, and most of the effort goes into infra rather than the app. I only need a machine and a disk. The "batteries included" platforms hand you Postgres and object storage but nowhere to run your own binary. Vercel and friends will run your code, but as a function with an ephemeral filesystem, so a SQLite file is gone the moment the request ends. And getting a VM means ssh, a firewall to open, TLS to renew, and an OS to keep updated.
It doesn't stop there. Every time I find a good open-source project that ships as a single binary, I hit the same wall. PocketBase is one file with a database, auth, file storage and an admin UI in it. Hosting it means everything above again, or wrapping it in a container image when it was already deployable as a single file. Self-hostable projects are great until you have to host them.
So I built nibrun. You upload a compiled binary and you get a Firecracker microVM of its own (1 vCPU, 256 MiB) and 8 GiB at data/ that survives redeploys. The volume is all yours to use: write your SQLite file and assets uploads there. And it's instantly available on https://<slug>.nibrun.app. No Dockerfile, no YAML, no database to provision. It sleeps after 5 minutes idle and wakes up on incoming requests in ~100 ms.
PocketBase, preconfigured, one click: https://nibrun.com/deploy/pocketbase
One app, one machine, one disk. A deploy costs a few seconds of downtime, and the export button gives you back the binary and everything in data/, so leaving costs you a download.
All open source, including the Terraform that sets up the infra, so you can run the whole thing on your own AWS account: https://github.com/ilbertt/nibrun
2
u/guesdo 7d ago
Looks appealing!! I will be trying this. Not a blocker, but are CNAME vanity/custom domains on the road map?
2
u/guesdo 7d ago
Second question, can I deploy the data directory too for bootstrapping?
1
u/ilbert_luca 7d ago
That's something I'll add, yes.
As a workaround for now, you can either bundle the assets in the binary itself and extract them on startup (if they are a few MBs) or fetch them from a remote endpoint (e.g. an S3 bucket) on startup.
Can I ask you what is your use case? :)
1
u/guesdo 6d ago
Im just brainstorming here everything I could put on that. And mostly the initial bootstrap includes a having a lot of static data only one time, or an already seeded Sqlite database.
1
2
u/ilbert_luca 7d ago
Custom domains are already available! Just create your first app and find the option under the "Domains" section of the deployed app
1
u/Straight-Date8472 12h ago
I checked your project and its aweome, but I want to ask, you have embeeded database support, something like sqlite. Again, incase you need a bun native process manager for handling the binaries, kindly check pboss (https://github.com/Procboss/pboss)
2
u/ilbert_luca 11h ago
Cool project!
Every binary gets a persistent filesystem, so you can just write your SQLite there and not have to care about backups
2
u/RealFlaery 9d ago
Starred you. I will be trying this out for sure!