bootload

AM HORIZONT — BALD

⚓ idle harbor

Aktiviere eine Option und die microVM deiner App wird in einen Snapshot pausiert wenn der Verkehr stoppt. Während sie schläft, zahlst du nur für den Speicher der geparkten VM — keinen Cent Rechenleistung. Die nächste Anfrage weckt sie in unter einer Sekunde.

🧮 was es wirklich spart

Snapshot storage costs €0.10/GB-month — the same rate as a volume. A typical microVM snapshot is about the size of its RAM allocation.

dinghy · ¼ vCPU / 512 MB
€2.00/month always-on
~€0.10/month harbored at 2 h/day active
compute for 60 h + 0.5 GB snapshot storage
sloop · 1 vCPU / 2 GB
€8.00/month always-on
~€0.50/month harbored at 4 h/day active
compute for 120 h + 2 GB snapshot storage
10 PR previews · dinghies
€20.00/month always-on
~€1.50/month harbored during review hours
active ~3 h/day, asleep overnight and weekends

Compute is billed per second while awake, snapshot storage per second while asleep. No rounding, no minimums.

🗺️ aktivieren

idle harbor
$ bootload deploy --image ghcr.io/you/app --idle-harbor --idle-after 15m …15 quiet minutes later… ⚓ app dropped anchor in the harbor — compute billing stopped now paying: snapshot storage only (~€0.05/month for this service) …a visitor arrives… 🌊 app under sail again in 0.3s — the visitor just sees the page # already deployed? toggle it on without a redeploy: $ bootload service set --idle-harbor --idle-after 10m # or flip it off: $ bootload service set --no-idle-harbor

The portal has a one-click toggle on every service. The idle window is configurable from 1 minute to 24 hours — shorter for webhooks that should feel instant, longer for services where the first wake can afford a brief delay.

⚙️ was passiert, Schritt für Schritt

🕐
traffic stops for N minutes
The gateway notices no requests have arrived for the configured idle window (default: 15 min, down to 1 min). It signals the node.
📸
snapshot taken — < 1 second
The node agent freezes the running Firecracker microVM and writes the full memory state to an encrypted snapshot file on disk. Your process is captured mid-execution — open files, network state, heap, everything.
vCPU and RAM freed
The VM is torn down. The CPU slot and memory are returned to the node. Billing flips: compute meters stop, snapshot storage starts (€0.10/GB-month — the same rate as a volume).
🔔
a request arrives
The gateway catches the incoming request and holds it — the caller's connection stays open, no error is returned. The agent is signaled to restore.
🌊
VM restored — ~150–300 ms
Firecracker loads the snapshot back into a new microVM. The clock is resynced to wall time, the RNG is reseeded (so you never replay entropy state), and LUKS volume mappers are re-opened if the service has volumes attached.
health check passes — request released
A quick health probe confirms the process is responding. The held request is forwarded, completes normally, and the service is back under sail. The visitor sees a page, not an error.

💡 gemacht für

🧪

Nebenprojekte & Demos

Dein Portfolio bekommt drei Besucher pro Woche. Immer-an sind 2 €/Monat; im Harbor kostet ein 512-MB-Snapshot etwa 0,05 €/Monat — dieselbe App, ein Bruchteil der Rechnung.

🪝

Webhooks & Integrationen

Ein Empfänger, der feuert, wenn Stripe, GitHub oder n8n anruft. 23 von 24 Stunden im Schlaf, wach sobald ein Payload ankommt — der Sender merkt die 300 ms nicht.

🎭

Staging- & Preview-Umgebungen

Zehn offene PRs heißt zehn Preview-Instanzen. Immer-an sind 20 €+/Monat für Umgebungen, die nach 17 Uhr niemand ansieht. Im Harbor schläft jede, wenn der Reviewer den Tab schließt.

🏢

Interne Tools

Das Admin-Dashboard, der Report-Generator, das Wiki, das sonntags niemand liest. Tools, die du Stunden pro Woche nutzt, sollten nicht Stunden pro Monat kosten.

Funktionsartige Dienste

Eine API, die auf Anfrage Bilder umwandelt oder PDFs rendert, verhält sich wie eine Funktion — ohne Umschreiben für eine FaaS-Runtime. Deploy denselben Container und lass Harbor auf fast null skalieren.

🤖

Bots & Assistenten

Chatbots und KI-Agenten, die auf Erwähnungen reagieren, schlafen zwischen Gesprächen. Wake-on-Request hält das Tempo; die Wallet behält ihre Münzen.

💻

Persönliche Dev-Umgebungen

Deine Cloud-Devbox mit all deinen Tools. Aktiv beim Coden, schlafend sonst. Kein Zahlen mehr für untätige Rechenleistung zwischen Abendsession und Morgen-Standup.

📅

Geplante Batch-Jobs

Ein Dienst, der um 03:00 Reports rechnet und den Rest des Tages idle ist. Park ihn zwischen Läufen; ein Cron-Wecksignal (oder ein simpler HTTP-Call) bringt ihn genau dorthin zurück, wo er aufhörte.

⚙️

Worker & Prozessoren

Ein HTTP-getriggerter Worker, der die Aufgabe erledigt — ein Video transkodieren, ein Bild skalieren — und dann bis zum nächsten schläft. Der Dispatcher weckt ihn auf Abruf, du zahlst nur die Sekunden des Rechnens.

🌐

Edge-artige Request-Handler

Ein HTTP-Handler, der sich wie eine Serverless-Funktion verhält — eine Anfrage rein, eine Antwort raus — aber in einer vollen Linux-microVM ohne Beschränkungen läuft und deinen exakten Prozess wiederherstellt, keinen leeren Container.

🔬 unter der Haube

For the curious: Idle Harbor uses Firecracker snapshot/restore — the same technology AWS uses for Lambda cold starts, except here the snapshot preserves your running process rather than a pre-initialized blank VM. The snapshot captures the full memory state: heap, stack, open file descriptors, everything your process had in flight.

⚖️ wann nicht zu verwenden

Idle Harbor ist nicht für Immer-an-Workloads:

Harbor ist eine Option, die du pro Dienst aktivierst, nie Standard. Die meisten Teams lassen ihre Prod-App immer-an und parken den Rest.

🪙 Preise ansehen registrieren — Harbor kommt bald