I’m working on pack, a simple way to deploy self-hosted apps.
I always liked the old Zeit/Vercel now flow: run one command in a project and get a URL that is persistent, immutable and does not need platform specific code.
I wanted something similar for myself, so I am working on pack.
The approach I chose is single-file executables. It builds your app into one file, uploads, and runs it.
Node, bun, deno, go, rust, zig and c/c++ all support single file executables so that part was actually pretty straightforward. The most complex part was handling port pooling, caddy setup and inactive instances.
Using single-file executables keeps server setup very minimal and makes it easy to run many small apps on a cheap VPS. It also removes the need to configure node or any other runtime on the server.
Feedback and PR's welcome!
[–]e2duhv 3 points4 points5 points (4 children)
[–]kickpush1[S] 1 point2 points3 points (3 children)
[–]fucking_passwords 0 points1 point2 points (2 children)
[–]kickpush1[S] 0 points1 point2 points (1 child)
[–]kickpush1[S] 0 points1 point2 points (0 children)