Cloud in a Bottle
Self-hosted personal cloud platform from Imbue that installs web apps from Git repos with one click, runs them in rootless Podman containers, and serves each on its own HTTPS subdomain.
Overview
Description
Cloud in a Bottle is an open-source personal app platform that lets you deploy, use, and share web apps on a server you control. It turns a home server, local VM, or cloud machine into your own corner of the cloud, where open source software and personal tools install as easily as apps on a phone. It is built by Imbue and licensed under AGPL-3.0.
Features
- One-Click App Catalog: Install ready-made apps such as Forgejo, Jitsi Meet, Matrix, Minecraft servers, and email servers from a built-in catalog.
- Deploy From Git: Add a
cloudinabottle.tomlmanifest to any repo with a Dockerfile and it becomes deployable, including apps generated by coding agents. - Subdomain Routing & HTTPS: Every app gets its own subdomain, with Caddy handling TLS and CoreDNS providing wildcard DNS.
- Private by Default: App routes require owner authentication unless the manifest explicitly marks paths as public.
- Tiered Storage: Separate permanent, temporary, and archive storage per app, with optional S3-compatible archive backends.
- Lifecycle Management: A dashboard and API for updates, logs, and container lifecycle across all installed apps.
Technology Stack
A Python router acts as the control plane, building app images with rootless Podman and proxying HTTP and WebSocket traffic to each container. Caddy terminates HTTPS and CoreDNS serves wildcard DNS for app subdomains.
Requirements
A Linux server you control: your own hardware, a local virtual machine, or a cloud VPS, plus a domain for public app URLs. Imbue also offers managed instances that are provisioned with your SSH key and then handed over.