Об этом проекте
Levelrail — это самодостаточная платформа деплоя, написанная на Go. Её ключевая архитектурная особенность, описанная в README: небольшой агент работает на каждом узле и обращается напрямую к локальному Docker Engine API, а не использует SSH для выполнения docker-команд на серверах. Направленная на один или несколько Linux-узлов, она должна действовать как приватное облако: пуш в git-репозиторий и получение запущенного приложения с TLS, логами, метриками и откатом.
Основные функции деплоя включают zero-downtime-развёртывание с использованием стратегий rolling, recreate или blue-green, с проверкой готовности через readiness и liveness probe, а также откат к зафиксированным предыдущим образам. Наблюдаемость (observability) встроена в ядро: локальные метрики узлов с разрешением 15 секунд, полнотекстовый поиск логов и метки деплоя на графиках метрик.
Управление базами данных охватывает восемь движков через единый реестр: Postgres, Redis, MySQL, MongoDB, MariaDB, KeyDB, Dragonfly и ClickHouse, со запланированными бэкапами, восстановлением и автоматической проверкой после бэкапа.
Многоузловая поддержка включает WireGuard-mesh, внутренний DNS между узлами, cordon и drain, без необходимости открывать входящие порты на управляемых серверах. Интеграция с Git покрывает вебхуки GitHub, GitLab и Bitbucket, а также превью-окружения на каждый pull-request с автоматическим удалением.
Контроль доступа смоделирован по аналогии с AWS IAM: политики Allow/Deny, связанные с конкретным ресурсом, плюс полный аудит-лог с экспортом в CSV.
Оповещения поддерживают пороговые значения, crashloop, истечение срока сертификатов и другие типы правил, с отправкой в множество адресатов: Slack, Discord, email, Telegram, Pushover, PagerDuty, Microsoft Teams, Resend, Gotify, Ntfy, Mattermost, Lark, Rocket.Chat, Opsgenie, Webex, Google Chat или.generic webhook. Тот же HTTP API, что питает дашборд, также предоставляет MCP-сервер, позволяющий AI-инструментам просматривать приложения, читать логи и диагностировать crashloops.
Архитектура, согласно README: control plane — единый Go-бинарник, который синхронизирует декларативные ресурсы с наблюдаемым состоянием Docker, по controller-паттерну без избыточности Kubernetes; node agent выходит наружу к control plane и использует Docker socket через Engine API; Caddy встроен как Go-библиотека для автоматического TLS и роутинга доменов; BuildKit используется как Go-библиотека вместо docker build; состояние хранится в встроенном SQLite в WAL-режиме через modernc.org/sqlite; HTTP API версионируется под /api/v1; фронтенд написан на React, Vite, TypeScript, Tailwind и TanStack Router/Query, компилируется в статические ассеты и встраивается в бинарник control plane. Всего поставляется два бинарника, а в single-node режиме агентский транспорт выполняется in-process.
Документированные варианты установки: curl-piped установочный скрипт для Linux, который также ставит Docker и systemd-юнит; docker run one-liner с опубликованными образами для linux/amd64 и linux/arm64; сборка из исходников через Go. Для локальной разработки требуются Go 1.26+ и Docker.
Статус проекта прямо заявлен как ранняя активная разработка без стабильного релиза; заявляется, что он не готов для production-нагрузок, а API, формат спецификации приложения и layout данных на диске могут изменяться без предупреждения. Помимо пути деплоя, в README перечислены как уже реализованные IAM-стиль policy engine, audit logging, feature flags, alerting и движки баз данных, а также упоминается кураторский каталог сервисных шаблонов из 123 позиций. В README приведено детальное сравнение с Coolify, Dokploy, CapRover, Dokku и Kamal, включая признанный недостаток в размере каталога шаблонов; эти конкурентные утверждения основаны на собственной позиционизации проекта.
Лицензия: Apache 2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.