Hermes Dashboardを使いたいよ

Artificial Intelligence

Hermes Desktopが使えないので

つい最近Hermes Desktopがリリースされて便利だという話は聞いたものの、悲しいかな私のノートPC環境があんまり贅沢でもなく、セットアップ時にエラーを吐いたりして全く先に進まないもんだから、さっさとそこは拘らずに見切りをつけて、代わりになるものを探してみたら「そうだ、Hermes Dashboard使えばええやん!」と気づいてこれを使うことにした件。

使ってみたときの画面

こんな風になってまして、Webブラウザからセッション履歴だったりHermes Chatだったりを操作できるなど。
せっかくなんでそのうちTLS化したいなと思うけど、それはもう少し後でもいいかなと。

Hermes Dashboard自体の処理

常にDashboardサービスは上げておきたいということで、systemdで自動起動できるようにしといた。
まず、hermesのワークディレクトリで以下のようなファイルを作成し、start-dashboard.sh として保存し、実行属性をつけておく。

#!/usr/bin/bash
#

source /home/aiuser/.bashrc
/home/aiuser/.local/bin/hermes dashboard --host 0.0.0.0 --port 19000 --insecure

今度は sudo su – でSuperUserになっておき、/etc/systemd/system 配下に hermes-dashboard.service と言うファイルを作る。

[Unit]
Description=Hermes Dashboard
After=podman.socket
Requires=podman.socket

[Service]
Type=simple
User=aiuser
ExecStart=/home/aiuser/hermes-output/start-dashboard.sh
WorkingDirectory=/home/aiuser/hermes-output
StandardOutput=append:/var/log/hermes-dashboard-stdout.log
StandardError=append:/var/log/hermes-dashboard-stderr.log

Restart=on-failure

[Install]
WantedBy=multi-user.target

依存関係はPodmanを貼っているのだが、これはバックエンド環境にDockerを使っているから。
これであとは以下のように実行すれば起動してくれるようになる。

$ sudo systemctl daemon-reload
$ sudo systemctl start hermes-dashboard
$ sudo systemctl enable hermes-dashboard

Nginxの設定

Nginxの設定では以下のようにした。今はまだHTTP接続の定義のみだけど、これをそのうちHTTPS接続でも行けるよう設定する予定。設定ファイルは /etc/nginx/conf.d/hermes.conf にした。

server {
    listen 80;
    server_name hermes.bluecore.net; # 本番用のドメインに変更してください

    # フロントエンド (静的ファイル配信)
    location / {
        proxy_pass http://192.168.xxx.yyy:19000;

        # 重要なプロキシヘッダー(バックエンドに正しいクライアント情報を渡す)
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        # WebSocketサポート(DashboardがSSEやWebSocketを使用する場合に必須)
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        # タイムアウト設定(長時間接続を維持する場合)
        proxy_connect_timeout 900s;
        proxy_send_timeout 900s;
        proxy_read_timeout 900s;
        # キャッシュを無効化(最新の状態を常に表示するため)
        proxy_buffering off;
        proxy_cache_bypass $http_upgrade;
    }
}

これを入れた後で以下のようにNginxを再起動すればOK

$ sudo systemctl restart nginx

コメント

タイトルとURLをコピーしました