プログラミング
Show HN: Kubernetesなしでオンプレミスサーバーを管理する
Show HN: Managing on-premise servers without Kubernetes (github.com)
要約
Nautilusは、SSH経由でLinuxサーバーを管理するためのデスクトップアプリケーションです。Tauri、React、Node.jsサイドカーを使用して構築されており、ライブダッシュボード、マルチタブターミナル、SFTPファイルブラウザ、プロセス・cron・スニペット管理機能などを単一ウィンドウで提供します。パスワードはOSのクレデンシャルストアに安全に保存され、通信はサーバー以外には送信されません。
全文翻訳
Nautilus
SSH経由でLinuxサーバーを管理するためのデスクトップアプリ。
サーバーに接続すると、ライブダッシュボード、マルチタブターミナル、組み込みエディタ付きSFTPファイルブラウザ、プロセス、cron、スニペット管理機能 — すべて1つのウィンドウで利用できます。
Tauri、React、およびSSH/SFTPの重い処理を処理するNode.jsサイドカーで構築されています。
機能
ダッシュボード — CPU、メモリ、ディスク、ネットワークのライブメトリクス、稼働時間、systemdサービスの状態
ターミナル — マルチタブとワンクリックスニペットを備えたフルxterm.jsターミナル
ファイル — リモートファイルシステムをブラウズ、ドラッグ&ドロップアップロード、CodeMirrorでファイルをインプレース編集
プロセス — プロセスをリスト、フィルタリング、キル
Cron — スケジュールされたジョブを表示、作成、編集、ログ表示付き
スニペット — よく使用するコマンドを保存し、クリックで実行
パスワードはプレーンテキストでディスクに保存されることはありません — OSのクレデンシャルストア(Windows Credential Manager、GNOME Keyring、macOS Keychain)に入力されます。秘密鍵は接続時にのみ読み取られ、そのパスのみが保存されます。サーバー以外には何も送信されません。
実行方法
Node.js 18+、Rust (rustup)、およびプラットフォームのTauriビルドツールが必要です。
git clone https://github.com/ricardoborges/Nautilus.git
cd Nautilus
npm install
cd backend && npm install && cd ..
npm run tauri:dev
プラットフォーム用のインストーラーをビルドするには:
npm run tauri:build
出力はsrc-tauri/target/release/bundle/(OSでビルドするプラットフォームに応じて.msi、.deb/.AppImage、または.dmg)に配置されます。
仕組み
Tauriシェルは、パッケージ化されたNode.jsバックエンドをサイドカーとして起動します。ReactフロントエンドはローカルHTTP経由でそれに話しかけ、バックエンドはssh2でSSH/SFTPセッションを管理します。接続とスニペットはアプリデータディレクトリにJSONとして保存され、クレデンシャルはkeytar経由でシステムボルトに保存されます。ターゲットサーバーは、ダッシュボードとプロセスビューを機能させるためにSSHと通常のツール(ps、free、df、systemctlなど)のみが必要です。
貢献
問題とプルリクエストを歓迎します。バグを報告する場合は、OSと再現手順を含めてください。
ライセンス
MIT — LICENSEを参照してください。