Repolode
psviderski

psviderski/uncloud

Implanta e escala aplicações em containers nos seus próprios hosts Docker por uma rede WireGuard, sem Kubernetes nem Swarm.

Alternativa open source a:Heroku

Estrelas
5,566
Forks
184
Issues abertas
89
Último commit
há 10 dias

O que é?

Uncloud é uma ferramenta leve para executar aplicações web em containers em vários hosts Docker, incluindo VMs na nuvem, servidores dedicados e máquinas físicas. Ela configura uma rede WireGuard entre as máquinas, para que containers em hosts diferentes tenham IPs exclusivos e possam se comunicar diretamente.

O cluster não tem plano de controle central nem quórum. Cada máquina mantém uma cópia sincronizada do estado do cluster por meio de comunicação peer-to-peer, então as operações continuam funcionando mesmo quando algumas máquinas ficam offline. Os serviços são definidos em arquivos Docker Compose, e a CLI oferece comandos semelhantes aos do Docker. A descoberta de serviços e o balanceamento de carga integrados, junto com um proxy reverso Caddy, gerenciam o tráfego de entrada com HTTPS automático.

A ferramenta é indicada para desenvolvedores que querem hospedar seus próprios aplicativos em suas próprias máquinas e precisam de mais do que um único host Docker, mas não querem operar Kubernetes.

Recursos principais

  • 01Cria uma rede WireGuard entre hosts Docker com descoberta automática de peers.
  • 02Aceita arquivos Docker Compose padrão para definir serviços e volumes.
  • 03Oferece descoberta de serviços baseada em DNS e balanceamento de carga integrados.
  • 04Gerencia o tráfego HTTPS de entrada com certificados automáticos do Let's Encrypt via Caddy.
  • 05Oferece suporte a atualizações contínuas para implantações sem tempo de inatividade.
  • 06Funciona sem um plano de controle central, então nenhuma máquina é um ponto único de falha.

Casos de uso

  • Hospedar seus próprios aplicativos web em algumas VMs na nuvem ou em um servidor doméstico.
  • Executar um serviço de alta disponibilidade em várias regiões ou provedores.
  • Hospedar serviços stateful por conta própria, com volumes gerenciados entre máquinas.
  • Substituir uma configuração com um único host Docker sem adotar Kubernetes.

Início rápido

  1. 1

    Instale o Uncloud CLI com o Homebrew

    brew install psviderski/tap/uncloud
  2. 2

    Inicialize sua primeira máquina via SSH

    uc machine init root@your-server-ip
  3. 3

    Implante uma imagem Docker e publique a porta 8000 como HTTPS no seu domínio

    uc run -p app.example.com:8000/https image/my-app
  4. 4

    Crie um registro DNS A que aponte seu domínio para o endereço IP do servidor e aguarde a propagação do DNS

Antes de usar

  • Segundo o README, o rollback automático em caso de falha ainda não está disponível.
  • A configuração exige acesso SSH aos seus próprios servidores, e o daemon da máquina e o Docker são instalados em cada um deles.

Em coleções

Tópicos

Perguntas frequentes

O que é uncloud?
Implanta e escala aplicações em containers nos seus próprios hosts Docker por uma rede WireGuard, sem Kubernetes nem Swarm. Uncloud é uma ferramenta leve para executar aplicações web em containers em vários hosts Docker, incluindo VMs na nuvem, servidores dedicados e máquinas físicas. Ela configura uma rede WireGuard entre as máquinas, para que containers em hosts diferentes tenham IPs exclusivos e possam se comunicar diretamente.
uncloud é gratuito? Qual é a licença?
uncloud é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
uncloud ainda é mantido?
Manutenção ativa. O último commit de uncloud foi em 14 de out. de 2026.
Para que posso usar uncloud?
Hospedar seus próprios aplicativos web em algumas VMs na nuvem ou em um servidor doméstico. Executar um serviço de alta disponibilidade em várias regiões ou provedores. Hospedar serviços stateful por conta própria, com volumes gerenciados entre máquinas. Substituir uma configuração com um único host Docker sem adotar Kubernetes.
Como instalar uncloud?
Instale o Uncloud CLI com o Homebrew: brew install psviderski/tap/uncloud Inicialize sua primeira máquina via SSH: uc machine init root@your-server-ip Implante uma imagem Docker e publique a porta 8000 como HTTPS no seu domínio: uc run -p app.example.com:8000/https image/my-app Crie um registro DNS A que aponte seu domínio para o endereço IP do servidor e aguarde a propagação do DNS
Onde consigo uncloud?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/psviderski/uncloud

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados