The ML Platform Behind Uber's AI
Michelangelo AI: Uber's end-to-end machine learning platform.
Translation pending
Cloud in a Bottle is an open source way to run apps on a server you control: your own hardware, a rented VPS, or an instance managed for you.
Developer toolsPython · JavaScriptGitHub @cloud-in-a-bottleOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Deploy, use, and share web apps on a server you control. Your apps, data, and infrastructure stay yours.
Loading the full README.
Read the full README ↗Most people have no access to the cloud that isn't mediated by a company with different incentives than theirs. Open source web software exists but running it somewhere means fighting infrastructure that most people don't want to touch.
Cloud in a Bottle is the project our team needed and couldn't find: a corner of the cloud that's genuinely yours. Where apps install as easily as on your phone, and the data lives on hardware you control.
cloudinabottle.toml manifest to a repo with a Dockerfile and it's deployableCloud in a Bottle runs on your own hardware, a local virtual machine, or a cloud server. Follow the deployment guide to install it.
If you'd rather not run your own server, Imbue can provision one for you. We configure it with your SSH key, then hand it over.
The Python router is the control plane for your instance. Its dashboard and APIs install apps from Git repositories, read their cloudinabottle.toml manifests, build their Dockerfiles with rootless Podman, and manage updates, logs, and the container lifecycle.
By default, each app's main HTTP port is bound to the host's loopback interface. The router proxies HTTP and WebSocket requests to the right container based on the app subdomain. App routes require owner authentication by default, while the manifest can declare paths that should be public. In the standard public deployment, Caddy handles HTTPS and CoreDNS provides wildcard DNS for app subdomains.
App storage is organized into permanent data, temporary files, and archive storage. The manifest controls which tiers the container can access. Platform state and permanent app data are stored on your instance. Archive data can stay local or use S3-compatible storage you configure.
Read the Cloud in a Bottle manual for platform concepts, app development, and operating guides. Useful starting points include:
Cloud in a Bottle is provided under the AGPL-3.0 license.
We may move to a different license in the future, something like a fair source license, with the intent that personal use will always be unrestricted, while commercial use may be scoped to support a sustainable project.
Cloud in a Bottle is an Open Source project from Imbue.