← Back to all posts
Tools

Imbue Raised $200M for AI Agents. Its Newest Product Is a Home Server.

September 6, 2026 · 05:11 UTC · Tools
Imbue Raised $200M for AI Agents. Its Newest Product Is a Home Server.

TL;DR

Cloud in a Bottle is an open-source personal cloud from Imbue, the AI lab that raised $200 million from Nvidia and others in 2023 to build agents that reason and code. The launch post went up on September 5 and topped Hacker News overnight. Under the hood it is an Ubuntu 24.04 box running a Python router, Caddy, CoreDNS, and rootless Podman, with a 12-app catalog, one login for everything, and a manifest format that turns any Dockerfile in a git repo into an app on its own subdomain. It is AGPL-3.0, claims zero telemetry, and Imbue sells managed instances from $5 a month. The pitch aimed squarely at this audience: somewhere to run "all things that you made with Claude but are still stuck on your laptop." The thread also caught the team promoting it through an undisclosed GitHub account, which the author owned up to.


What actually shipped

The launch post, by Imbue's Zack Polizzi, says the platform was built and tested privately for "6+ months" before going public; the repo shows 1,152 commits on main. His own description is refreshingly unmagical: "At the core, it's just an Ubuntu machine with a web server that hosts a dashboard and routes requests to containerized apps." The framing he is after is a "cloud smartphone": something you own, where finding and installing good apps is trivial.

The architecture docs fill in the parts. A router service serves the dashboard and API, builds and runs app containers, manages domains and certificates, and listens on port 8080. Caddy terminates TLS on 443 in front of it. CoreDNS serves authoritative DNS for your zone so certificate challenges and wildcard subdomains work. Each app is a rootless Podman container in its own user namespace. A privileged "system agent" handles the few things the unprivileged host user cannot, like OS updates. The internals still call the whole thing OpenHost: the systemd unit, the identity headers, and the default data directory all carry that name.

one request to https://notes.yourzone.tld/ wildcard DNSCoreDNS zone Caddy :443TLS terminates router :8080auth + headers rootless Podman127.0.0.1 only owner session required unless the path is listed in public_paths
Every hop lives on one box, and the router is the only way into a container.

The catalog at launch has 12 apps: a Matrix homeserver with the Cinny client, Nextcloud, Jellyfin, Vaultwarden, a collaborative markdown editor, SearXNG, Pi-hole, Forgejo, a Minecraft server, Open WebUI, Navidrome, and Uptime Kuma. If you have run a homelab for more than a week, that list will not surprise you. The interesting part is how they are wired together.

One login, enforced at the router

The feature the launch post leads with is unified auth: "if you're logged into your instance, you're automatically logged into all your apps." Per the security docs, every route requires the owner's session unless the app's manifest lists the path in public_paths. The router checks that before proxying, then sets identity headers on the way into the container. It also strips any client-supplied X-OpenHost-* headers first, which is what makes those headers trustworthy on the app side.

Think of the router as the bouncer who stamps your hand at the door: the apps inside only trust the stamp because the bouncer wipes off anything you drew on yourself in the parking lot. The catch, which Polizzi acknowledged on HN, is that "apps have to be built to respect that header," and some catalog apps do it by running a small sidecar proxy in front of the upstream software.

Apps do not talk to each other directly either. The cross-app services layer routes every call through the router with a provider and consumer model: a consumer declares what it needs in its manifest, the owner approves grants at install time (or per app for data-scoped access like "read this inbox"), and the router forwards the grant to the provider, whose job it is to enforce it. It is the Sandstorm idea of capability-scoped app permissions, rebuilt for plain OCI containers.

Sandbox defaults, and what a custom app looks like

The container defaults are stricter than a typical docker-compose homelab. Container root maps to a non-root subuid. Bind mounts are idmapped so files an app writes land on disk with the right ownership. Each container sees only its own /data/app_data/<app> directory plus optional temp and archive dirs, and nothing of other apps, the router database, or TLS keys. No capabilities beyond the Docker defaults, no-new-privileges on, baseline devices only, and the app's single HTTP port published only on 127.0.0.1 so the router is the only way in. Even DNS inside the container points at the instance's own resolver.

Your own apps get the same treatment. Point the dashboard (or the CLI) at a git repo containing a Dockerfile and a cloudinabottle.toml, and the router builds it with rootless Podman and serves it at its own subdomain of your zone. The manifest is short: an app block, a container image path and port, optional resource limits (the defaults are a stingy 128 MB and 0.1 cores, so set them), optional public paths, and a data block that can provision SQLite databases for you. The docs' whole example:

[app]
name = "my-app"
version = "0.1.0"
description = "A simple web app"

[runtime.container]
image = "Dockerfile"
port = 8080

[resources]
memory_mb = 128
cpu_cores = 0.1

[data]
sqlite = ["main"]

Three data tiers, one storage guard

The data model is the most opinionated piece. Permanent data (SQLite, config, small assets) lives on local disk with real fsync semantics and gets backed up. Temp data (thumbnails, transcodes, build artifacts) is local and never backed up. The archive tier, for photos, video, and model weights, is a JuiceFS mount whose backend is either local disk or any S3-compatible bucket you supply; backups skip it either way, on the theory that it is either recreatable or already remote. When free space drops under 500 MB, a storage guard stops running apps until you free some. Managed instances ship with roughly 50 GB of disk, per Polizzi, which is why the S3 hook exists.

where an app's bytes go (per-app directories under /data) app_datalocal disk, real fsyncbacked up app_temp_datalocal disk, scratchnever backed up app_archiveJuiceFS: local or S3backups skip it storage guard: under 500 MB free, running apps stop until you free space
Only the first tier is backed up; bulk media is expected to live in S3 or be recreatable.

Why an AI lab is shipping a home server

Imbue raised its $200 million Series B in September 2023 at a valuation above $1 billion, with Nvidia and the Astera Institute among the investors, to build "practical AI agents." Since then its product page has filled up with developer tools, including Sculptor, a desktop UI for running parallel coding agents. Cloud in a Bottle is the missing last step in that pipeline: agents make apps cheap to build, and then the app sits on your laptop because deploying it properly is still a sysadmin task.

That is why the agent docs exist on day one. There is an installable skill (npx skills add cloud-in-a-bottle/cloud-in-a-bottle --skill cloud-in-a-bottle-context) that hands a coding agent the context to package a project as a Bottle app, deploy it, read the build logs, fix what broke, and reload. The bottle CLI, installed with uv, "does what the dashboard does, without a browser," and holds the login so the agent never handles a token. Every docs page is also served as markdown by appending .md, and the whole manual sits at /docs/all.md on your instance, versioned with the code you are actually running. The roadmap lists LLM inference on Linux/NVIDIA and macOS as planned, so Open WebUI would have something local to talk to.

Imbue's homepage lists eight other products with names like Bouncer, Latchkey, and Keystone. The ninth is a bottle. Naming aside, the business logic is plain: the managed tier is how the project gets funded, and the launch post promises the self-hosted path "runs exactly the same code."

Imbue managed tiers, $ per month (billed only while running) Small 2GB/2vCPU$5 / free 60 days Medium 4GB/3vCPU$10 / free 30 days Large 8GB/4vCPU$20 / free 15 days $10 starter credit :: ~50 GB disk :: self-hosting on your own box is free
$2.50 per GB of RAM at every tier; the trial shrinks as the box grows.

The managed tiers are Small (2 GB RAM, 2 vCPU) at $5 a month, Medium (4 GB, 3 vCPU) at $10, and Large (8 GB, 4 vCPU) at $20, usage-based and billed only while the space is running. The page advertises a $10 starter credit and a free period that shrinks as the tier grows: 60 days on Small, 30 on Medium, 15 on Large. Running it on your own hardware or a VPS costs nothing beyond the machine.

The Hacker News thread

The HN discussion passed 250 points and 100 comments within hours and did what HN does. The comparisons came fast: Sandstorm, which the launch post itself calls "very close in spirit" but abandoned; YunoHost, which the post dings for lacking sandboxing; Coolify, where "every app is an island" with its own login; plus Cloudron, CapRover, Umbrel, and FreedomBox from the crowd. One commenter said the catalog "leaves me cold. It's too much like a tiny mobile app store," which is a fair reading of a 12-app launch, and also exactly the product Polizzi says he wants.

Then a commenter noticed that an account had been opening issues in other projects' repos to promote Cloud in a Bottle, and forking them to add implementations, with no disclosure that it belonged to the team, and traced it to one of the project's contributors. Polizzi's reply: "Yeah, I'll make sure this doesn't continue. To be clear there were 11 total issues posted; this was a mistake, not some huge spamming campaign." Eleven issues is indeed not a campaign. It is, however, exactly the kind of growth hack Hacker News can smell from orbit, and a strange unforced error for a project whose entire pitch is trust.

Caveats before you wipe a box for it

  • Fresh Ubuntu 24.04 only. The home server guide wants a freshly installed 24.04 and a root filesystem that supports idmapped mounts (ext4, xfs, or btrfs). The install is a curl-into-sudo-bash provision script. Normal for the category, still worth reading before you run it.
  • Single machine, no failover. Multi-space peering is listed as speculative on the roadmap. Your Pi-hole going down with the box is part of the deal.
  • Catalog review is light. The security page says catalog apps are reviewed but "we don't guarantee they are safe," and changes after inclusion are not re-reviewed.
  • Raspberry Pi is a plan, not a feature. Polizzi wants to sell pre-configured Pis and optimized Pi support is on the roadmap; he also called current Pi prices "a shame."
  • Early. The roadmap marks the core, catalog, and managed platform as "mostly finished/stable," with docs and self-host onboarding still in progress. The version you install this week is the version people are filing bugs against.
  • AGPL-3.0. Fine for a homelab, worth knowing if you plan to fork it into a product.

Key Takeaways

  • Cloud in a Bottle is an AGPL-3.0 personal cloud from Imbue: Ubuntu 24.04, a Python router, Caddy, CoreDNS, and rootless Podman, with one login enforced at the router.
  • Custom apps are a Dockerfile plus a short TOML manifest in a git repo; the router builds them and serves each on its own subdomain.
  • The sandbox defaults (subuid root, idmapped mounts, per-app data dirs, localhost-only ports, stripped identity headers) are tighter than most compose-based homelabs.
  • The agent skill, the bottle CLI, and markdown docs make it a deploy target for coding agents, which is the real reason an AI lab built it.
  • Managed instances run $5 to $20 a month with roughly 50 GB of disk and an S3-capable archive tier for bulk data.
  • The team was caught promoting it through an undisclosed account (11 issues) and the author owned it. Watch the repo, not the launch post, for what it becomes.

Sources: Cloud in a Bottle launch post, architecture docs, security docs, data docs, manifest spec, cross-app services, AI agents guide, bottle CLI, roadmap, home server setup, GitHub repo, Imbue managed pricing, Hacker News thread, Imbue Series B announcement, TechCrunch on the raise

AISelf-HostingHomelabOpen SourceImbuePodmanVibe CodingTools
CONSOLE
$