このプロジェクトについて

LevelrailはGoで書かれたセルフホスト型デプロイメントプラットフォームである。READMEに記載されている通り、その設計の最大の特徴は、コントロールプレーンがサーバーにSSHしてdockerコマンドをシェル実行するのではなく、各ノードで小さなエージェントがローカルのDocker Engine APIに直接通信することだ。1台以上のLinuxマシンを指し示すことで、プライベートクラウドとして動作し、gitリポジトリにプッシュするだけでTLS、ログ、メトリクス、ロールバック機能を備えた稼働中のアプリケーションが得られる。 コアデプロイメント機能については、準備状態と死活プローブに基づくゼロダウンタイムデプロイ(ローリング、再作成、ブルーグリーン戦略)と、保持される特定バージョンのイメージへのロールバックが記載されている。観測性は別インストールではなくコアに同梱され、ノードローカルメトリクス(15秒間隔)と全文ログ検索、デプロイマーカーをメトリクスチャートに重ねて変更とその影響を接続できる。 データベース管理は8つのエンジンを通じて単一レジストリで対応:Postgres、Redis、MySQL、MongoDB、MariaDB、KeyDB、Dragonfly、ClickHouse。全エンジンでスケジュールされたバックアップ、リストア、自動バックアップ後検証が適用される。 マルチノードサポートにはWireGuardメッシュ、ノード間内部DNS、コードン・ドレイン、マネージドサーバーへの着信ポート不要が含まれる。Git統合はGitHub、GitLab、Bitbucketのウェフフックに加え、毎プルリクエストごとのプレビュー環境と自動削除をサポートする。アクセス制御はAWS IAMをモデルとし、特定の資源にスコープされたAllow/DenyポリシーとCSVエクスポート可能なフル監査ログを備える。 アラートは閾値、クラッシュループ、証明書期限切れなど複数ルールタイプを支持し、Slack、Discord、メール、Telegram、Pushover、PagerDuty、Microsoft Teams、Resend、Gotify、Ntfy、Mattermost、Lark、Rocket.Chat、Opsgenie、Webex、Google Chat、汎用ウェブフックなど多数の宛先に配信される。ダッシュボードを支えるHTTP APIはMCPサーバーも支えており、AIツールでアプリ一覧の取得、ログ参照、クラッシュループの診断が可能。 READMEによればアーキテクチャは次の通り:コントロールプレーンは宣言的リソースレコードを観察されたDocker状態と照合する単一Goバイナリ(Kubernetesなしのコントローラーパターン)。ノードエージェントはコントロールプレーンへダイアルアウトし、DockerソケットをEngine API経由で使用。Caddyは自動TLSとドメインルーティングのためにGoライブラリとして埋め込まれ、BuildKitはdocker buildの代わりにGoライブラリとして使用。状態はmodernc.org/sqliteを介したWALモードの組み込みSQLiteに保存。HTTP APIは/api/v1でバージョン管理。フロントエンドはReact、Vite、TypeScript、Tailwind、TanStack Router/Queryで作られ、静的アセットとしてビルドされコントロールプレーンバイナリに埋め込まれる。合計2つのバイナリが提供され、シングルノードモードではエージェントトランスポートはインプロセスで動作する。 インストールオプションはlinux向けcurlパイプインストーラー(Dockerとsystemdユニットもインストール)、linux/amd64およびlinux/arm64のパブリッシュ済みイメージを用いたdocker runワンライナー、Goによるソースからのビルドが文書化されている。ローカル開発にはGo 1.26以降とDockerが必要。 ステータスは早期の開発段階であり安定リリースなしと率直に記載。本番ワークロードには不向きで、API、アプリ仕様フォーマット、ディスク上のデータレイアウトは事前通告なく変更される可能性がある。デプロイ経路以外に、READMEはIAMスタイルポリシーエンジン、監査ログ、フィーチャーフラグ、アラート、データベースエンジンを既に実装と記載し、123エントリーのカテテートサービステンプレートカタログを参照している。READMEにはCoolify、Dokploy、CapRover、Dokku、Kamalとの詳細な比較が含まれ、テンプレートカタログサイズの不足も認めている。これらの競争力はプロジェクト自身の位置づけであり比較ドキュメントに基づく。ライセンスはApache 2.0。