[PITCH] Open-Source Container OS com Dashboard, API e CLI - Construídos para simplicidade
Os containers são incríveis, mas às vezes podem ser um pouco complicados. Sempre ouço desenvolvedores que gastaram um tempão tentando containerizar seus aplicativos, especialmente os legados. Alguns têm várias dependências, outros dependem de gerenciamento de processos, cron jobs e coisas assim.
Então pensamos: e se pudéssemos simplificar isso? Foi assim que surgiu o Infinite OS. É um sistema operacional para containers de código aberto que criamos para facilitar a containerização. O Infinite OS é o container, não o sistema operacional host. Nosso objetivo era simples: permitir o gerenciamento e a implantação de aplicações com apenas alguns cliques.
O que o Infinite OS pode fazer por você hoje?
- instalar aplicativos, stacks ou frameworks;
- instalar e gerenciar serviços nativos suportados ou personalizados;
- instalar e gerenciar bancos de dados e usuários de banco de dados;
- gerenciar e emitir certificados SSL automaticamente;
- gerenciar seus arquivos com um gerenciador de arquivos integrado;
- configurar suas definições de runtime e módulos;
- gerenciar mapeamentos de proxy reverso (ele fará o trabalho pesado para você se instalar o app pelo marketplace);
- gerenciar seus cron jobs.
Preparei um FAQ rápido com perguntas que provavelmente surgirão, mas antes disso, se você precisa gerenciar múltiplos containers, temos outro projeto gratuito self-hosted que pode te interessar: o Infinite Ez. Provavelmente vou escrever outro post sobre isso, mas, em resumo, é uma PaaS self-hosted com uma abordagem diferente. Não é apenas uma interface sobre o docker-compose
, mas sim um híbrido leve entre painéis de hospedagem compartilhada e containerização.
FAQ
P: "Isso é uma alternativa ao Proxmox/ESXi/<insira-plataforma-de-virtualização-ou-paas-aqui>?"
R: O Infinite OS é o container, não o sistema operacional host. Pense nele como uma imagem de container metamórfica (se é que isso existe). Você pode usar o Proxmox ou qualquer outra plataforma de virtualização/PaaS para realizar o deploy do Infinite OS.
O Infinite OS oferece um painel, uma API e uma CLI para você usar. Olha só como é simples:
Primeiro, faça o deploy do container usando sua interface ou CLI de runtime de containers favorita:
docker run --rm --name myapp-container \
--env 'PRIMARY_VHOST=myapp.net' \
-p 8080:80 -p 8443:443 -p 1618:1618 \
-it docker.io/goinfinite/os:latest
O painel do container estará disponível em https://localhost:1618/_/
, mas você precisará de uma conta para fazer login. Para isso, acesse o terminal do container e crie sua conta. Se desejar, pode até instalar um WordPress com um comando bem simples:
docker exec -it myapp-container /bin/bash
os account create -u admin -p admin
os mktplace install -s wp -n \
-f 'adminUsername:admin' \
-f 'adminPassword:abc123' \
-f 'adminMailAddress:[email protected]'
Estamos adicionando um assistente de configuração (wizard) ao painel na próxima versão, então, depois de realizar o deploy do container, você poderá gerenciá-lo totalmente pelo painel, sem precisar acessar o terminal para criar a primeira conta ;)
O outro projeto que mencionei antes, o Infinite Ez, esse sim é um sistema operacional host. Confira a página do projeto para saber mais.
P: "Mas containers devem ser stateless e executar um único processo!"
R: Perfeito, num mundo ideal seria assim. Mas, às vezes, você só quer entregar algo sem configurar bancos de dados externos, object storage e toda uma pipeline de CI/CD. Nós entendemos. O Infinite OS tá aí pra te ajudar.
P: "Um painel e CLI não vão consumir muitos recursos?"
R: O Infinite OS foi escrito quase totalmente em Go. O comando podman stats
mostra que o Infinite OS consome apenas 82 MB
de RAM. A imagem? 316 MB
compactada. E ainda incluímos algumas ferramentas úteis como o Vim, porque why not?
P: "O container ficará desatualizado?"
R: O unattended-upgrades
já vem pré-instalado. No futuro, estamos planejando uma ferramenta de atualização completa no Infinite Ez (a PaaS self-hosted que mencionei) para migrar os dados e configurações do seu container para uma nova imagem do Infinite OS.
P: "Posso usar isso com Kubernetes ou Docker Swarm?"
R: Claro! Embora, se você já estiver profundamente envolvido com Kubernetes, talvez nem precise do Infinite OS. Ainda assim, ele deve funcionar bem com ferramentas tradicionais de orquestração. Mas não deixe de conferir o Infinite Ez também. É gratuito e fácil de usar.
P: "O Infinite OS é gratuito?"
R: Sim! O Infinite OS é totalmente gratuito e de código aberto.
P: "E o armazenamento persistente?"
R: Embora ainda não tenhamos documentação específica sobre o tema, é tecnicamente possível configurar armazenamento persistente usando volumes. Em breve, forneceremos mais orientações sobre isso.
P: "Posso personalizar o painel?"
R: Ainda não, mas está no nosso roadmap. Por enquanto, aproveite o conjunto de recursos padrão.
P: "E sobre logging e monitoramento?"
R: Temos um recurso integrado de registro de segurança que registra eventos-chave. Um frontend amigável e monitoramento adequado? Estão chegando, então fique ligado!
P: "Como posso ajudar ou contribuir com o projeto?"
R: Ficamos sempre empolgados com a participação da comunidade! Confira nossos repositórios no GitHub, envie issues, proponha recursos ou até envie pull requests. Por exemplo, tanto o marketplace de apps quanto os serviços nativos são baseados em arquivos JSON ou YAML — muito fáceis de escrever. Confira nos repositórios em https://github.com/goinfinite/os-marketplace e https://github.com/goinfinite/os-services. Se você não encontrar seu aplicativo favorito lá, que tal escrever sua própria receita/manifesto e compartilhar com a comunidade?
P: "Quem são vocês?"
R: Somos a Infinite, uma provedora de hospedagem gerenciada com uma década de experiência. Ao longo da nossa jornada, sempre quisemos retribuir à comunidade tech. Quando reconstruímos nossa plataforma em 2022, nos comprometemos a ser tão abertos quanto um negócio autossustentável pode ser. Anos trabalhando com painéis de hospedagem complexos e desafios de DevOps nos inspiraram a criar algo diferente – um jeito que não exigisse certificações e que até minha esposa pudesse hospedar o próprio blog ou VPN em uma VM, mesmo sem saber o que significa SSH. Ainda não chegamos lá, mas estamos nos aproximando de tornar a tecnologia acessível a todos que quiserem participar.
Adoraríamos ouvir sua opinião! Um abraço!
P.S. Pedimos desculpas se isso parece autopromoção! Estamos genuinamente animados com o projeto e seu potencial para ajudar a comunidade de self-hosting. Como é totalmente gratuito e de código aberto, esperamos que possa beneficiar muitos de vocês. Obrigado pela compreensão!