Skip to content
プロジェクト

boubli/AMUD-Dashboard

GitHubで見る

boubli/AMUD-Dashboard has 27 GitHub stars and 2 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-15 06:48 UTC. Last push 2026-11-11.

この数値の測り方

計測したスター増加

24時間
0
7日間
履歴を収集中
15日間
履歴を収集中
1か月
履歴を収集中

期間ごとの純増数です。期間は重複しており、日別の値ではありません。未計測の値は空欄です。スター数は注目度の指標であり、品質の保証ではありません。

概要

Unify your homelab. A fast, Rust-powered, zero-YAML dashboard with live Proxmox & Docker telemetry, container controls, and integrations for popular self-hosted services - all from the UI.

セルフホスト

readmes/README.ja.md

オリジナル
AMUD Logo

AMUD Dashboard

GitHub Release Docker Pulls Unraid CA — Dashboard Unraid CA — Agent

English | Español | Português | Français | Deutsch | Italiano | Русский | 中文 | 日本語 | हिन्दी | 한국어 | العربية

変更履歴 · ブログ · テーマギャラリー · ロードマップ · ドキュメント · FAQ

main の新機能(次回リリース)

  • フランス語インターフェース — 任意。Settings → Appearance → Interface language で切り替え(既定は英語のまま)
  • Catppuccin Frappé テーマ — パステル調のブルーグレーにモーブのアクセント。ライトモードは Catppuccin Latte

両方を提供してくれた @Lib-LOCALE に感謝します(#18)。

v1.9.5 の新機能

  • Multi-node agents — AMUD サーバーは 1 台、各 Proxmox / Unraid / CasaOS / Docker ホストに agent(Remote agents)
  • Nodes strip — ホストを選んで CPU/RAM 表示;操作は node_tag で振り分け
  • TCP + 任意 TLS — リモート agent は VPN または TLS;ローカルは UDS

v1.9.3 の新機能

  • Clock timezone & format — IANA タイムゾーン + 12h/24h
  • Custom search engines — カスタム検索エンジン (#17)
  • v1.9.2 — Docs / 41 テーマ

履歴の全体: Changelog

リリース状況

推奨バージョン: 1.9.5。詳細は 英語 README(Release status)を参照。

AMUD Dashboard UI

ホームラボを統合。 Rust 製で高速、YAML 不要のダッシュボード。Proxmox と Docker のリアルタイムテレメトリ、コンテナ操作、人気のセルフホストサービスとの連携を、すべて UI から。

重いランタイム(PHP-FPM、Node.js)で動作し、複雑なネストされたYAML設定ファイルに依存する従来のダッシュボード(Heimdall、Homepage、Homarr)とは異なり、AMUDはコンパイル済みのRustで書かれており、完全にSQLiteに保存されます。サーバーとテレメトリエージェントはアイドル時 30–50 MB RAM(統合グリッド満載時のピーク約 150 MB)で、ルート実行速度はミリ秒未満です。

アーキテクチャと設計決定

AMUDダッシュボードは、2つのネイティブバイナリに分割されています。

  1. amud-server: サーバー側でレンダリングされたHTML(Alpine.js経由でテンプレート化)を提供し、SQLite経由で状態を管理するAxumベースのWebサーバー。
  2. amud-agent: ホームラボのホストにインストールされるスタンドアロンデーモン。ホストメトリクス、Proxmox VEコンテナ、Dockerランタイムをクエリし、Unixドメインソケット(UDS)またはTCPを介して生のJSONペイロードをサーバーに送り返します。
graph TD
    User[Webブラウザ] -->|HTML / WebSockets| Server[amud-server]
    Server -->|SQLite WAL| DB[(amud.db)]
    Agent[amud-agent] -->|UNIXソケット経由のJSON| Server
    Agent -->|直接のHTTPS REST API| PVE[Proxmox VE API]
    Agent -->|Unixドメインソケット| Docker[Dockerデーモン]

技術スタックの選定理由

Rust & Axum

  • ランタイムオーバーヘッドなし: ネイティブマシンコードに直接コンパイルされます。JVM/V8の起動やヒープのオーバーヘッドを排除します。
  • 並行イベントループ(Tokio): テレメトリストリームとサードパーティの統合(AdGuard、Pi-hole、Plex、Home Assistant)は、Tokioのグリーンスレッド上で並行してポーリングされます。テレメトリはポーリングごとに1回シリアル化され、tokio::sync::watch チャンネルを使用してWebSocketにブロードキャストされます。

SQLiteによる永続化 (rusqlite)

  • YAML不要: 設定は組み込みのSQLiteデータベースに保存されます。レイアウト、カテゴリタブ、設定はUIから直接設定でき、YAMLの構文エラーの悩みを回避できます。
  • パフォーマンス: WAL(Write-Ahead Logging)モードで構成されており、外部ネットワークのオーバーヘッドなしで、並行読み取りと低レイテンシの書き込みが可能です。

直接テレメトリ収集

  • シェルサブプロセスの排除: 従来のソリューションは、コンテナの統計情報を取得するために数秒ごとに pvesh や curl などのシステムコールをフォークするため、高いCPUオーバーヘッドが発生します。
  • ネイティブなネットワーク接続: amud-agent は hyper と rustls を使用してネイティブのHTTPS REST API呼び出しを Proxmox VE に送信し、hyperlocal を介してUNIXソケット上で直接 Docker デーモンを読み取ります。

テレメトリ設定

Proxmox VEの統合

ホストメトリクスは自動的に機能します。LXCコンテナの監視では、エージェントが Proxmox VE REST API に対して認証されている必要があります。

1. APIトークンの生成

Proxmox VEのWeb UIで以下を行います。

  1. データセンター → アクセス権限 → APIトークン に移動します。
  2. 追加 をクリックします。ユーザー(例: root@pam)とトークンID(例: amud)を選択します。
  3. トークンがユーザーのVM/システム監査権限を継承するように、「特権の分離」のチェックを外します。
  4. 返された秘密鍵(Secret key)をコピーします。

2. エージェントへのトークンの受け渡し

エージェントを実行しているホストで環境変数を設定します。

PVE_API_TOKEN=PVEAPIToken=root@pam!amud=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

デプロイ

Docker Compose

コンテナ化されたホスト用(Unixソケット用の共有ボリュームを介して通信するサーバーとエージェントの組み合わせ):

version: '3.8'

services:
  app:
    image: tradmss/amud-dashboard:latest
    container_name: amud_app
    restart: always
    ports:
      - "8000:8000"
    environment:
      - PORT=8000
      - BIND_ADDR=0.0.0.0
      - DB_PATH=/app/data/amud.db
      - AMUD_SOCKET_PATH=/var/run/amud/amud.sock
      - AMUD_AGENT_SECRET=change-me-to-a-long-random-string # 下のエージェントの秘密鍵と一致する必要があります
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    volumes:
      - ./data:/app/data
      - amud_run:/var/run/amud

  agent:
    image: tradmss/amud-dashboard:latest
    container_name: amud_agent
    entrypoint: ["/app/amud-agent"]
    restart: always
    environment:
      - AMUD_SOCKET_PATH=/var/run/amud/amud.sock
      - AMUD_AGENT_SECRET=change-me-to-a-long-random-string # 上のアプリの秘密鍵と一致する必要があります
      - AMUD_DOCKER=1 # docker.sock マウント時に自動有効;無効化は 0
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    volumes:
      - amud_run:/var/run/amud
      - /var/run/docker.sock:/var/run/docker.sock:ro

volumes:
  amud_run:
    name: amud_run

Unraid (Community Applications)

Unraid の Apps タブから両方のアプリをインストールしてください(相互通信が必要です):

両方で同じ Agent Secret を使います。ガイド: Unraidインストール文書

初回起動の権限エラー? ログに .amud-secrets-key: Permission denied と出る場合は v1.7.2+ に更新してコンテナを再作成するか、トラブルシューティングと appdata 権限を参照してください。

テンプレートXMLは templates/ にあり、Community Applicationsへの提出用の ca_profile.xml が含まれています。

Proxmox LXCオートパイロットスクリプト

Proxmox VE LXCコンテナ内へのネイティブインストール(Dockerの外部で実行)の場合、Proxmox VEホストでこれを実行します。

curl -sSL https://github.com/boubli/AMUD-Dashboard/releases/latest/download/setup-amud.sh | bash

本番環境でのリソースフットプリント

次元 Heimdall (旧PHP) AMUD Dashboard (Rust)
エンジン PHP 8+ / Laravel Rust / Axum / Tokio
実行オーバーヘッド 高(解釈型PHP-FPM) ゼロ(ネイティブマシンコード)
アセット配信 リクエストごとのディスク読み込み include_str! によりバイナリに埋め込み
アイドル時RAM使用量 ~150MB 30–50 MB (ピーク ~150 MB)
起動時間 ~2 - 5 秒 ミリ秒未満

サポートと寄付

バグと機能リクエスト: GitHub Issues(推奨 — リリースごとに追跡)
質問とチャット: GitHub Discussions
ドキュメント / トラブルシューティング: boubli.github.io/AMUD-Dashboard/docs