<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alikaravi.ir/index.php?action=history&amp;feed=atom&amp;title=Ai_Install_Hermes_In_Incus</id>
	<title>Ai Install Hermes In Incus - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alikaravi.ir/index.php?action=history&amp;feed=atom&amp;title=Ai_Install_Hermes_In_Incus"/>
	<link rel="alternate" type="text/html" href="https://wiki.alikaravi.ir/index.php?title=Ai_Install_Hermes_In_Incus&amp;action=history"/>
	<updated>2026-10-11T09:14:23Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://wiki.alikaravi.ir/index.php?title=Ai_Install_Hermes_In_Incus&amp;diff=208&amp;oldid=prev</id>
		<title>Karavi at 22:34, 27 August 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki.alikaravi.ir/index.php?title=Ai_Install_Hermes_In_Incus&amp;diff=208&amp;oldid=prev"/>
		<updated>2026-08-27T22:34:42Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.alikaravi.ir/index.php?title=Ai_Install_Hermes_In_Incus&amp;amp;diff=208&amp;amp;oldid=207&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Karavi</name></author>
	</entry>
	<entry>
		<id>https://wiki.alikaravi.ir/index.php?title=Ai_Install_Hermes_In_Incus&amp;diff=207&amp;oldid=prev</id>
		<title>Karavi at 22:34, 27 August 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki.alikaravi.ir/index.php?title=Ai_Install_Hermes_In_Incus&amp;diff=207&amp;oldid=prev"/>
		<updated>2026-08-27T22:34:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.alikaravi.ir/index.php?title=Ai_Install_Hermes_In_Incus&amp;amp;diff=207&amp;amp;oldid=206&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Karavi</name></author>
	</entry>
	<entry>
		<id>https://wiki.alikaravi.ir/index.php?title=Ai_Install_Hermes_In_Incus&amp;diff=206&amp;oldid=prev</id>
		<title>Karavi at 21:29, 27 August 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki.alikaravi.ir/index.php?title=Ai_Install_Hermes_In_Incus&amp;diff=206&amp;oldid=prev"/>
		<updated>2026-08-27T21:29:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.alikaravi.ir/index.php?title=Ai_Install_Hermes_In_Incus&amp;amp;diff=206&amp;amp;oldid=205&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Karavi</name></author>
	</entry>
	<entry>
		<id>https://wiki.alikaravi.ir/index.php?title=Ai_Install_Hermes_In_Incus&amp;diff=205&amp;oldid=prev</id>
		<title>Karavi: Created page with &quot;= راهنمای جامع صفر تا صد: نصب Incus، راه‌اندازی کانتینر Ubuntu و داشبورد وب Hermes Agent =  == بخش اول: نصب و راه‌اندازی Incus روی سرور اصلی (Host) ==  # ۱. نصب پیش‌نیازها و افزودن مخزن رسمی Zabbly sudo apt-get update sudo apt-get install -y curl gpg sudo mkdir -p /etc/apt/keyrings/ curl -fsSL https://pkgs.zabbly.com/key.asc -o /etc/apt/keyrings/zabbly.asc  sud...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.alikaravi.ir/index.php?title=Ai_Install_Hermes_In_Incus&amp;diff=205&amp;oldid=prev"/>
		<updated>2026-08-27T21:27:54Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= راهنمای جامع صفر تا صد: نصب Incus، راه‌اندازی کانتینر Ubuntu و داشبورد وب Hermes Agent =  == بخش اول: نصب و راه‌اندازی Incus روی سرور اصلی (Host) ==  # ۱. نصب پیش‌نیازها و افزودن مخزن رسمی Zabbly sudo apt-get update sudo apt-get install -y curl gpg sudo mkdir -p /etc/apt/keyrings/ curl -fsSL https://pkgs.zabbly.com/key.asc -o /etc/apt/keyrings/zabbly.asc  sud...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= راهنمای جامع صفر تا صد: نصب Incus، راه‌اندازی کانتینر Ubuntu و داشبورد وب Hermes Agent =&lt;br /&gt;
&lt;br /&gt;
== بخش اول: نصب و راه‌اندازی Incus روی سرور اصلی (Host) ==&lt;br /&gt;
&lt;br /&gt;
# ۱. نصب پیش‌نیازها و افزودن مخزن رسمی Zabbly&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install -y curl gpg&lt;br /&gt;
sudo mkdir -p /etc/apt/keyrings/&lt;br /&gt;
curl -fsSL https://pkgs.zabbly.com/key.asc -o /etc/apt/keyrings/zabbly.asc&lt;br /&gt;
&lt;br /&gt;
sudo sh -c &amp;#039;cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/apt/sources.list.d/zabbly-incus-stable.sources&lt;br /&gt;
Enabled: yes&lt;br /&gt;
Types: deb&lt;br /&gt;
URIs: https://pkgs.zabbly.com/incus/stable&lt;br /&gt;
Suites: $(. /etc/os-release &amp;amp;&amp;amp; echo ${VERSION_CODENAME})&lt;br /&gt;
Components: main&lt;br /&gt;
Architectures: $(dpkg --print-architecture)&lt;br /&gt;
Signed-By: /etc/apt/keyrings/zabbly.asc&lt;br /&gt;
EOF&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# ۲. نصب بسته‌های Incus و فعال‌سازی&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install -y incus incus-ui-canonical&lt;br /&gt;
sudo usermod -aG incus-admin $USER&lt;br /&gt;
newgrp incus-admin&lt;br /&gt;
&lt;br /&gt;
# ۳. مقداردهی اولیه استوریج و شبکه Incus&lt;br /&gt;
incus admin init --auto&lt;br /&gt;
&lt;br /&gt;
# ۴. ساخت کانتینر اختصاصی Ubuntu 24.04&lt;br /&gt;
incus launch images:ubuntu/24.04 incus-ubuntu-hermes&lt;br /&gt;
&lt;br /&gt;
# ۵. مشاهده لیست و وضعیت کانتینرها&lt;br /&gt;
incus list&lt;br /&gt;
&lt;br /&gt;
# ۶. ورود مستقیم به محیط شل (Bash) کانتینر با دسترسی Root&lt;br /&gt;
incus exec incus-ubuntu-hermes -- bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== بخش دوم: مراحل داخل کانتینر (incus-ubuntu-hermes) ==&lt;br /&gt;
&lt;br /&gt;
# ۱. به‌روزرسانی و نصب ابزارهای پایه و ضروری&lt;br /&gt;
apt update &amp;amp;&amp;amp; apt install -y curl git tar xz-utils socat python3 nano&lt;br /&gt;
&lt;br /&gt;
# ۲. نصب رسمی Hermes Agent&lt;br /&gt;
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash&lt;br /&gt;
source ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
# ۳. تولید هش امن رمز عبور با الگوریتم scrypt اختصاصی Hermes&lt;br /&gt;
# (به جای PASSWORD_HERE رمز دلخواه خود را بگذارید)&lt;br /&gt;
HASH=$(/root/.hermes/bin/uv run python - &amp;lt;&amp;lt; &amp;#039;EOF&amp;#039;&lt;br /&gt;
import sys&lt;br /&gt;
sys.path.insert(0, &amp;#039;/usr/local/lib/hermes-agent&amp;#039;)&lt;br /&gt;
from plugins.dashboard_auth.basic import hash_password&lt;br /&gt;
print(hash_password(&amp;quot;Password!2345&amp;quot;))&lt;br /&gt;
EOF&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
# ۴. تنظیم دامین و احراز هویت در فایل config.yaml&lt;br /&gt;
mkdir -p /root/.hermes&lt;br /&gt;
sed -i &amp;#039;/^dashboard:/,$d&amp;#039; /root/.hermes/config.yaml&lt;br /&gt;
&lt;br /&gt;
cat &amp;lt;&amp;lt; EOF &amp;gt;&amp;gt; /root/.hermes/config.yaml&lt;br /&gt;
&lt;br /&gt;
dashboard:&lt;br /&gt;
  public_url: &amp;quot;http://s5.sovi.ir:9119&amp;quot;&lt;br /&gt;
  basic_auth:&lt;br /&gt;
    username: &amp;quot;karavi&amp;quot;&lt;br /&gt;
    password_hash: &amp;quot;$HASH&amp;quot;&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
# ۵. ایجاد سرویس خودکار systemd برای وب‌سرور Hermes&lt;br /&gt;
cat &amp;lt;&amp;lt; &amp;#039;EOF&amp;#039; &amp;gt; /etc/systemd/system/hermes-dashboard.service&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Hermes Agent Web Dashboard&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=root&lt;br /&gt;
WorkingDirectory=/root&lt;br /&gt;
Environment=&amp;quot;PATH=/usr/local/bin:/root/.hermes/bin:/usr/local/share/uv/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
ExecStart=/usr/local/bin/hermes dashboard --host 127.0.0.1 --port 9119 --no-open --skip-build&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=5&lt;br /&gt;
StandardOutput=journal&lt;br /&gt;
StandardError=journal&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
# ۶. ایجاد سرویس فوروارد پورت شبکه (socat)&lt;br /&gt;
cat &amp;lt;&amp;lt; &amp;#039;EOF&amp;#039; &amp;gt; /etc/systemd/system/hermes-proxy.service&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Expose Hermes Dashboard to Network&lt;br /&gt;
After=hermes-dashboard.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
ExecStart=/usr/bin/socat TCP4-LISTEN:9120,fork,reuseaddr TCP4:127.0.0.1:9119&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=3&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
# ۷. فعال‌سازی و استارت سرویس‌ها داخل کانتینر&lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
systemctl enable --now hermes-dashboard hermes-proxy&lt;br /&gt;
&lt;br /&gt;
# ۸. خروج از کانتینر به هاست اصلی&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== بخش سوم: پورت فورواردینگ روی سرور اصلی (Host) ==&lt;br /&gt;
&lt;br /&gt;
# ۱. هدایت پورت 9119 سرور اصلی به پورت 9120 کانتینر از طریق پروکسی بومی Incus&lt;br /&gt;
incus config device add incus-ubuntu-hermes hermes-web-port proxy listen=tcp:0.0.0.0:9119 connect=tcp:127.0.0.1:9120&lt;br /&gt;
&lt;br /&gt;
# ۲. بررسی وضعیت پورت روی هاست&lt;br /&gt;
ss -tulpn | grep 9119&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== بخش چهارم: دسترسی به داشبورد و مدیریت ==&lt;br /&gt;
* آدرس در مرورگر: http://s5.sovi.ir:9119&lt;br /&gt;
* نام کاربری (Username): karavi&lt;br /&gt;
* رمز عبور (Password): رمز عبور تنظیم‌شده در مرحله ۳&lt;br /&gt;
&lt;br /&gt;
=== دستورات مفید مدیریتی: ===&lt;br /&gt;
* ورود مجدد به کانتینر: incus exec incus-ubuntu-hermes -- bash&lt;br /&gt;
* مشاهده لاگ زنده داشبورد: journalctl -u hermes-dashboard -f&lt;br /&gt;
* ریستارت داشبورد: systemctl restart hermes-dashboard&lt;br /&gt;
* متوقف کردن کانتینر: incus stop incus-ubuntu-hermes&lt;br /&gt;
* روشن کردن کانتینر: incus start incus-ubuntu-hermes&lt;/div&gt;</summary>
		<author><name>Karavi</name></author>
	</entry>
</feed>