Sobre o projeto

O Levelrail é uma plataforma de implantação auto-hospedada escrita em Go. Sua escolha de design distintiva, conforme descrita no README, é que um pequeno agente executa em cada nó e se comunica diretamente com a API do Docker Engine local, em vez do plano de controle fazer SSH nos servidores e executar comandos docker. voltado para uma ou mais máquinas Linux, destina-se a atuar como uma nuvem privada: faça push para um repositório git e obtenha um aplicativo em execução com TLS, logs, métricas e rollback. Recursos principais de implantação descritos: deploys sem tempo de inatividade usando estratégias rolling, recreate ou blue-green, baseados em probes de readiness e liveness, com rollback para imagens anteriores fixadas mantidas disponíveis. A observabilidade é embarcada no núcleo, em vez de instalada separadamente, abrangendo métricas locais do nó em resolução de 15 segundos e busca de logs de texto completo, com marcadores de deploy sobrepostos nos gráficos de métricas para conectar uma alteração ao seu efeito. Gerenciamento de banco de dados abrange oito mecanismos através de um único registry: Postgres, Redis, MySQL, MongoDB, MariaDB, KeyDB, Dragonfly e ClickHouse, com backups agendados, restauração e verificação automática pós-backup aplicados a todos eles. O suporte multi-nó inclui mesh WireGuard, DNS interno entre nós, cordon e drain, e não requer portas de entrada nos servidores gerenciados. A integração com git cobre webhooks do GitHub, GitLab e Bitbucket, além de ambientes de visualização por pull request com teardown automático. O controle de acesso é modelado no IAM da AWS, com políticas Allow/Deny escopadas a um recurso específico, além de um log de auditoria completo com exportação CSV. O sistema de alertas oferece tipos como threshold, crashloop, certificate-expiry e outros, entregues a uma longa lista de destinos, incluindo Slack, Discord, email, Telegram, Pushover, PagerDuty, Microsoft Teams, Resend, Gotify, Ntfy, Mattermost, Lark, Rocket.Chat, Opsgenie, Webex, Google Chat ou webhook genérico. A mesma API HTTP que sustenta o dashboard também sustenta um servidor MCP, para que ferramentas de IA possam listar aplicativos, ler logs e ajudar a diagnosticar crashloops. Arquitetura, conforme o README: o plano de controle é um único binário Go que reconcilia registros de recursos declarativos com o estado observado do Docker, um padrão de controller sem o resto do Kubernetes; o agente do nó diala o plano de controle e usa o soquete do Docker via Engine API; Caddy é embarcado como biblioteca Go para TLS automático e roteamento de domínio; BuildKit é usado como biblioteca Go em vez de docker build; o estado reside em SQLite embarcado em modo WAL através de modernc.org/sqlite; a API HTTP é versionada sob /api/v1; o frontend é React, Vite, TypeScript, Tailwind e TanStack Router/Query, construído como assets estáticos e embutido no binário do plano de controle. Dois binários são enviados no total, e no modo single-node o transporte do agente executa in-process. As opções de instalação documentadas incluem um script instalador via curl para Linux que também instala Docker e uma unit systemd, um comando docker run one-liner usando imagens publicadas para linux/amd64 e linux/arm64, e construir a partir do código-fonte com Go. O desenvolvimento local requer Go 1.26 ou superior e Docker. O status é declarado francamente como desenvolvimento inicial, ativo, sem release estável; o projeto afirma que ainda não está pronto para cargas de produção e que APIs, o formato da especificação do app e o layout de dados em disco podem mudar sem aviso prévio. Além do caminho de deploy, o README lista como já implementados: mecanismo de política estilo IAM, auditoria de logs, feature flags, alerting e os motores de banco de dados, e menciona um catálogo curado de templates de serviços com 123 entradas. O README inclui uma comparação detalhada contra Coolify, Dokploy, CapRover, Dokku e Kamal, incluindo uma lacuna admitida no tamanho do catálogo de templates; essas alegações competitivas são o posicionamento próprio do projeto, extraído de sua documentação de comparação. A licenciamento é Apache 2.0.