Later: The owner asked for this after selling works; it needs a provider account from him and a spike before any commitment.
Why. If signups surge past the owned machines, a forge should be able to live on a rented unit. Research 2026-11-10: the AWS product the owner heard of is Lambda MicroVMs (sessions capped at 8 hours; a poor fit for a permanent forge). The simplest match for "one forge = one unit, sleeps when idle, wakes on a request, keeps its disk" looks like Fly Machines with one volume each (an idle forge costs roughly its volume); always-on VMs (Hetzner, DigitalOcean) are the plain fallback.
What. A spike, not a build: on one Fly Machine, prove (1) bwrap --unshare-user works, so the crew sandbox holds, (2) stop/suspend and wake on an HTTP request with the volume intact, and the measured wake time, (3) the wildcard <app>--<forge> hostname routes, (4) real monthly cost idle and busy for small and large. Write the result in docs/CLOUD.md with a go or no-go and what a fly vendor in cloud.json would need.
Acceptance. The four answers are measured numbers, not estimates.
Later: The owner asked for this after selling works; it needs a provider account from him and a spike before any commitment.
Why. If signups surge past the owned machines, a forge should be able to live on a rented unit. Research 2026-11-10: the AWS product the owner heard of is Lambda MicroVMs (sessions capped at 8 hours; a poor fit for a permanent forge). The simplest match for "one forge = one unit, sleeps when idle, wakes on a request, keeps its disk" looks like Fly Machines with one volume each (an idle forge costs roughly its volume); always-on VMs (Hetzner, DigitalOcean) are the plain fallback.
What. A spike, not a build: on one Fly Machine, prove (1)
bwrap --unshare-userworks, so the crew sandbox holds, (2) stop/suspend and wake on an HTTP request with the volume intact, and the measured wake time, (3) the wildcard<app>--<forge>hostname routes, (4) real monthly cost idle and busy for small and large. Write the result indocs/CLOUD.mdwith a go or no-go and what aflyvendor incloud.jsonwould need.Acceptance. The four answers are measured numbers, not estimates.