[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-7642":3},{"id":4,"name":5,"fullName":6,"owner":5,"repo":5,"description":7,"homepage":8,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":9,"rankLanguage":9,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":9,"pushedAt":9,"updatedAt":38,"readmeContent":39,"aiSummary":40,"trendingCount":15,"starSnapshotCount":15,"syncStatus":41,"lastSyncTime":42,"discoverSource":43},7642,"ubicloud","ubicloud\u002Fubicloud","Open source alternative to AWS. Elastic compute, block storage (non replicated), firewall and load balancer, managed Postgres, K8s, AI inference, and IAM services.","https:\u002F\u002Fubicloud.com",null,"Ruby",12092,565,63,10,0,1,8,51,4,79.36,"GNU Affero General Public License v3.0",false,"main",true,[26,27,28,29,30,31,32,33,34,35,36,37],"bare-metal","cloud","github-actions","hosting","kubernetes","linux","managed-cloud","open","opensource","portable","postgresql","ruby","2026-06-12 04:00:35","\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F779e73bd-c260-4729-8430-c630628f1b6b\">\n\u003C\u002Fp>\n\n\n# Ubicloud [![CI](https:\u002F\u002Fgithub.com\u002Fubicloud\u002Fubicloud\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fubicloud\u002Fubicloud\u002Factions\u002Fworkflows\u002Fci.yml) [![Build](https:\u002F\u002Fgithub.com\u002Fubicloud\u002Fubicloud\u002Factions\u002Fworkflows\u002Fbuild.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fubicloud\u002Fubicloud\u002Factions\u002Fworkflows\u002Fbuild.yml) \u003Ca href=\"https:\u002F\u002Fapp.greptile.com\u002Frepo\u002Fubicloud\u002Fubicloud\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flearn_with-greptile-%091B12?color=%091B12\" alt=\"Learn this repo using Greptile\">\u003C\u002Fa>\n\nUbicloud is an open source cloud that can run anywhere. Think of it as an open alternative\nto cloud providers, like what Linux is to proprietary operating systems.\n\nUbicloud provides IaaS cloud features on bare metal providers, such as Hetzner, Leaseweb,\nand AWS Bare Metal. You can set it up yourself on these providers or you can use our\n[managed service](https:\u002F\u002Fconsole.ubicloud.com).\n\n## Quick start\n\n### Managed platform\n\nYou can use Ubicloud without installing anything. When you do this, we pass along the\nunderlying provider's benefits to you, such as price or location.\n\nhttps:\u002F\u002Fconsole.ubicloud.com\n\n### Build your own cloud\n\nYou can also build your own cloud. To do this, start up Ubicloud's control plane and\nconnect to its cloud console.\n\n```\ngit clone git@github.com:ubicloud\u002Fubicloud.git\n\n# Generate secrets for demo\n.\u002Fdemo\u002Fgenerate_env\n\n# Run containers: db-migrator, app (web & respirate), postgresql\ndocker-compose -f demo\u002Fdocker-compose.yml up\n\n# Visit localhost:3000\n```\n\nThe control plane is responsible for cloudifying bare metal Linux machines.\nThe easiest way to build your own cloud is to lease instances from one of those\nproviders. For example: https:\u002F\u002Fwww.hetzner.com\u002Fsb\n\nOnce you lease instance(s), update the `.env` file with the following environment\nvariables:\n- `HETZNER_USER`\n- `HETZNER_PASSWORD`\n- `HETZNER_SSH_PUBLIC_KEY`\n- `HETZNER_SSH_PRIVATE_KEY`\n\nTo get the user credentials, create a user according to\n[these instructions](https:\u002F\u002Frobot.hetzner.com\u002Fdoc\u002Fwebservice\u002Fen.html#preface).\nThe SSH key is the one you set when you created the robot server.\n\nThe first thing to make sure is you use the hetzner robot rescue system to\ninstall ubuntu 24.04.\n\nThen, run the following script for each instance to cloudify it.\nCurrently, the script cloudifies bare metal instances leased from Hetzner.\nAfter you cloudify your instances, you can provision and manage cloud\nresources on these machines.\n\n```\n# Enter hostname\u002FIP and provider\ndocker exec -it ubicloud-app .\u002Fdemo\u002Fcloudify_server\n```\n\nLater when you create VMs, Ubicloud will assign them IPv6 addresses. If your ISP\ndoesn't support IPv6, please use a VPN or tunnel broker such as Mullvad or Hurricane\nElectric's https:\u002F\u002Ftunnelbroker.net\u002F to connect. Alternatively, you could lease\nIPv4 addresses from your provider and add them to your control plane.\n\n## Why use it\n\nPublic cloud providers like AWS, Azure, and Google Cloud have made life easier for\nstart-ups and enterprises. But they are closed source, have you rent computers\nat a huge premium, and lock you in. Ubicloud offers an open source alternative,\nreduces your costs, and returns control of your infrastructure back to you. All\nwithout sacrificing the cloud's convenience.\n\nToday, AWS offers about two hundred cloud services. Ultimately, we will implement\n10% of the cloud services that make up 80% of that consumption.\n\nExample workloads and reasons to use Ubicloud today include:\n\n* You have an ephemeral workload like a CI\u002FCD pipeline (we're integrating with\nGitHub Actions), or you'd like to run compute\u002Fmemory heavy tests. Our managed\ncloud is ~3x cheaper than AWS, so you save on costs.\n\n* You want a portable and simple app deployment service like\n[Kamal](https:\u002F\u002Fgithub.com\u002Fbasecamp\u002Fkamal). We're moving Ubicloud's control plane\nfrom Heroku to Kamal; and we want to provide open and portable services for\nKamal's dependencies in the process.\n\n* You have bare metal machines sitting somewhere. You'd like to build your own\ncloud for portability, security, or compliance reasons.\n\n## Status\n\nYou can provide us your feedback, get help, or ask us questions regarding your\nUbicloud installations in the [Community Forum](https:\u002F\u002Fgithub.com\u002Fubicloud\u002Fubicloud\u002Fdiscussions).\n\nWe follow an established architectural pattern in building public cloud services.\nA control plane manages a data plane, where the data plane leverages open source\nsoftware.  You can find our current cloud components \u002F services below.\n\n* **Elastic Compute**: Our control plane communicates with Linux bare metal servers\nusing SSH. We use [Cloud\nHypervisor](https:\u002F\u002Fgithub.com\u002Fcloud-hypervisor\u002Fcloud-hypervisor) as our virtual\nmachine monitor (VMM); and each instance of the VMM is contained within Linux\nnamespaces for further isolation \u002F security.\n\n* **Networking**: We use [IPsec](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIPsec) tunneling to\nestablish an encrypted and private network environment. We support IPv4 and IPv6 in\na dual-stack setup and provide both public and private networking. For security,\neach customer’s VMs operate in their own networking namespace. For\n[firewalls](https:\u002F\u002Fwww.ubicloud.com\u002Fblog\u002Fubicloud-firewalls-how-linux-nftables-enables-flexible-rules)\nand [load balancers](https:\u002F\u002Fwww.ubicloud.com\u002Fblog\u002Fubicloud-load-balancer-simple-and-cost-free),\nwe use Linux nftables.\n\n* **Block Storage, non replicated**: We use Storage Performance Development Toolkit\n([SPDK](https:\u002F\u002Fspdk.io)) to provide virtualized block storage to VMs. SPDK enables\nus to add enterprise features such as snapshot and replication in the future. We\nfollow security best practices and encrypt the data encryption key itself.\n\n* **Attribute-Based Access Control (ABAC)**: With ABAC, you can define attributes,\nroles, and permissions for users and give them fine-grained access to resources. You\ncan read more about our [ABAC design here](https:\u002F\u002Fwww.ubicloud.com\u002Fdocs\u002Farchitecture\u002Fattribute-based-access-control-abac#attribute-based-access-control-abac-design).\n\n* **What's Next?**: We're planning to work on a managed K8s or metrics\u002Fmonitoring\nservice next. If you have a workload that would benefit from a specific cloud\nservice, please get in touch with us through our [Community\nForum](https:\u002F\u002Fgithub.com\u002Fubicloud\u002Fubicloud\u002Fdiscussions).\n\n* Control plane: Manages data plane services and resources. This is a Ruby program\nthat stores its data in Postgres. We use the [Roda](https:\u002F\u002Froda.jeremyevans.net\u002F)\nframework to serve HTTP requests and [Sequel](http:\u002F\u002Fsequel.jeremyevans.net\u002F) to\naccess the database. We manage web authentication with\n[Rodauth](http:\u002F\u002Frodauth.jeremyevans.net\u002F). We communicate with data plane servers\nusing SSH, via the library [net-ssh](https:\u002F\u002Fgithub.com\u002Fnet-ssh\u002Fnet-ssh). For our\ntests, we use [RSpec](https:\u002F\u002Frspec.info\u002F).\n\n* Cloud console: Server-side web app served by the Roda framework. For the visual\ndesign, we use [Tailwind CSS](https:\u002F\u002Ftailwindcss.com) with components from\n[Tailwind UI](https:\u002F\u002Ftailwindui.com). We also use jQuery for interactivity.\n\nIf you’d like to start hacking with Ubicloud, any method of obtaining\nRuby and Postgres versions is acceptable. If you have no opinion on\nthis, our development team uses `mise` as [documented here in\ndetail](DEVELOPERS.md).\n\n[Greptile](https:\u002F\u002Fgreptile.com\u002F) provides an AI\u002FLLM that indexes\nUbicloud's source code [can answer questions about\nit](https:\u002F\u002Flearnthisrepo.com\u002Fubicloud).\n\n## FAQ\n\n### Do you have any experience with building this sort of thing?\n\nOur founding team comes from Azure; and worked at Amazon and Heroku before that.\nWe also have start-up experience. We were co-founders and founding team members\nat [Citus Data](https:\u002F\u002Fgithub.com\u002Fcitusdata\u002Fcitus), [which got acquired by\nMicrosoft](https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=18990469).\n\n### How is this different than OpenStack?\n\nWe see three differences. First, Ubicloud is available as a managed service (vs boxed\nsoftware). This way, you can get started in minutes rather than weeks. Since Ubicloud\nis designed for multi-tenancy, it comes with built-in features such as encryption\nat rest and in transit, virtual networking, secrets rotation, etc.\n\nSecond, we're initially targeting developers. This -we hope- will give us fast feedback\ncycles and enable us to have 6 key services in GA form in the next two years. OpenStack\nis still primarily used for 3 cloud services.\n\nLast, we're designing for simplicity. With OpenStack, you pick between 10 hypervisors,\n10 S3 implementations, and 5 block storage implementations. The software needs to work\nin a way where all of these implementations are compatible with each other. That leads\nto consultant-ware. We'll take a more opinionated approach with Ubicloud.\n","Ubicloud 是一个开源的云服务替代方案，提供了包括弹性计算、块存储（非复制）、防火墙、负载均衡器、托管Postgres数据库、Kubernetes集群、AI推理及身份与访问管理等在内的多种服务。该项目采用Ruby语言开发，并支持在裸金属服务器上部署，如Hetzner和Leaseweb等平台。其核心特点在于提供了一种类似于Linux相对于专有操作系统的方式，为用户提供了一个开放且可移植的云基础设施选项。Ubicloud适用于需要构建自定义云环境或寻求更灵活云计算解决方案的企业和个人开发者。通过Ubicloud，用户可以在保持对底层硬件控制的同时享受到云服务带来的便利。",2,"2026-06-11 03:13:30","top_language"]