AI-translated from English; not yet reviewed by a fluent editor.
# VPS वर एक Hermes Agent प्रवेशद्वार चालवा व खासगी Telegram उत्तर तपासा
> Linux VPS वर आवृत्ती तपासलेले Hermes Docker प्रवेशद्वार बसवा, एक खासगी Telegram प्रेषक मान्य करा, खरे उत्तर व पुनःप्रारंभ-थांबा तपासा.
By BIG CHANGE Editorial
Published: 2026-10-19T20:31:34.981Z
Updated: 2026-10-19T20:31:34.981Z
Canonical: https://bigchange.ai/blog/hermes-vps-docker-private-telegram-first-reply

AI-generated conceptual illustration by BIG CHANGE; no actual Telegram interface, Hermes deployment or observed reply is depicted.
खासगी Telegram बॉटने VPS एजंट गाठणे सोपे होते; जोडलेले प्रवेशद्वार योग्य व्यक्तीला उत्तराचा पुरावा नाही. नव्या Hermes Agent डेटा फोल्डरने सुरुवात, एक संख्यात्मक Telegram ID मंजूर, खरे उत्तर व खात्रीचा थांबा तपासतो. आधार NousResearch ची [v0.22.2 Docker सूचना](https://raw.githubusercontent.com/NousResearch/hermes-agent/v0.22.2/website/docs/user-guide/docker.md) आणि [Telegram सूचना](https://raw.githubusercontent.com/NousResearch/hermes-agent/v0.22.2/website/docs/user-guide/messaging/telegram.md) आहेत, 19 ऑक्टोबर 2026 रोजी तपासल्या. BIG CHANGE ने VPS चालवला नाही, प्रतिमा ओढली नाही, बॉट केला नाही किंवा मॉडेल कॉल केला नाही.
## मोठा बदल
- **काय बदलले:** डायजेस्टने ठरवलेली व आवृत्ती तपासलेली Docker प्रतिमा आणि स्वतंत्र `/opt/data` माउंट या प्रवेशद्वाराचे सॉफ्टवेअर व स्थिती ओळखू देतात.
- **हे महत्त्वाचे का:** संख्यात्मक Telegram परवानगी यादी व खरे खासगी उत्तर योग्य खाते वापरू शकते का दाखवतात.
- **कशाकडे लक्ष द्यावे:** जोडणी किंवा सर्वव्यापी अधिकार प्रवेश वाढवतात; निरुपद्रवी सूचना साधने मर्यादित करत नाही. अधिकार, नोंदी, पुनःप्रारंभ व थांबा तपासा.
SSH ने Linux VPS व्यवस्थापित करण्याचा अधिकार, चालू Docker Engine व होस्ट पुनर्प्राप्ती प्रवेश, BotFather बॉट तयार करणारे Telegram खाते व पात्र Hermes मॉडेल पुरवठादार खाते हवे. वास्तुरचना व साधने अधिकृत amd64/arm64 प्रतिमेशी जुळवा; सहाय्यकापूर्वी प्रवेश व बिल पाहा. Docker आधीच चालतो गृहीत; बसवणूक व फायरवॉल OS/पुरवठादारावर. होस्टचा Telegram व मॉडेलकडे बाह्य संपर्क हवा. खासगी स्थिती फोल्डर व मर्यादित वाचक ठेवा: `/opt/data` ओळखतपशील, सत्रे व नोंदी ठेवेल. [Docker पुस्तिका](https://raw.githubusercontent.com/NousResearch/hermes-agent/v0.22.2/website/docs/user-guide/docker.md) त्याला कायमचा अधिकृत स्थितीस्रोत म्हणते.
## 1. सेटअपपूर्वी प्रतिमा ठरवा
SSH ने जोडून त्याच शेलमध्ये राहा. `stable` टॅग बदलू शकतो. प्रतिमा ओढा, रिपॉझिटरी डायजेस्ट नोंदवा व प्रतिमेने सांगितलेली आवृत्ती `0.22.2` तपासा. फरक, डायजेस्ट नाही, जुना डेटा किंवा `hermes` नावाचा कंटेनर असल्यास थांबा. प्रत्यक्ष आवृत्तीसाठी सूचना बदला किंवा जुळणारी दस्तऐवजीकृत प्रतिमा मिळवून पुढे जा. डायजेस्ट प्रतिमा ठरवतो, एकटा आवृत्ती सिद्ध करत नाही.
```sh
set -eu
docker info >/dev/null
docker container inspect hermes >/dev/null 2>&1 && { echo 'Container hermes already exists; stop here.'; exit 1; }
HERMES_DATA="$HOME/.hermes"
if [ -e "$HERMES_DATA" ]; then echo 'Hermes data path already exists; stop here.'; exit 1; fi
mkdir -m 700 "$HERMES_DATA"
docker pull nousresearch/hermes-agent:stable
docker image inspect nousresearch/hermes-agent:stable --format '{{json .RepoDigests}}'
IMAGE_REF="$(docker image inspect nousresearch/hermes-agent:stable --format '{{index .RepoDigests 0}}')"
if ! printf '%s\n' "$IMAGE_REF" | grep -Eq '^nousresearch/hermes-agent@sha256:[0-9a-f]{64}$'; then
echo 'No valid repository digest; stop here.'; exit 1
fi
printf 'Pinned image: %s\n' "$IMAGE_REF"
VERSION_OUTPUT="$(docker run --rm "$IMAGE_REF" --version)"
printf 'Image version: %s\n' "$VERSION_OUTPUT"
if ! printf '%s\n' "$VERSION_OUTPUT" | grep -Eq '(^|[^0-9])v?0[.]22[.]2([^0-9]|$)'; then
echo 'Image version is not 0.22.2; stop here.'; exit 1
fi
```
`set -eu` Docker नसल्यास, ओढणे/तपासणी किंवा आवृत्ती कमांड अयशस्वी झाल्यास क्रम थांबवते. स्पष्ट तपासणी रिकामा डायजेस्ट किंवा दुसऱ्या आवृत्तीवरही थांबवते. त्यानंतर सेटअप नको. नोंदलेले `nousresearch/hermes-agent@sha256:…` मूल्य ठेवा. सेटअप व प्रवेशद्वार खाली `IMAGE_REF` वापरतात; टॅग बदलून कंटेनर गुपचूप बदलत नाही. वाचकाने प्रत्यक्ष VPS वर तपासावे; लेखात खात्रीचा प्रतिमा डायजेस्ट नाही. मूळ होस्ट फाइल व्यवस्थेत नवा वेगळा फोल्डर; एकाच डेटावर दोन प्रवेशद्वारे कधीही नकोत.
## 2. पुरवठादार व एक खासगी प्रेषक ठरवा
माउंट फोल्डरसह [Docker सेटअप सहाय्यक](https://raw.githubusercontent.com/NousResearch/hermes-agent/v0.22.2/website/docs/user-guide/docker.md) चालवा. खात्याने मान्य मॉडेलमार्ग, प्रमाणीकरण व पुरवठादार/मॉडेल पाहा. प्रवेश व किंमत खात्यावर अवलंबून. साठवलेली सेटिंग यशस्वी मॉडेल विनंतीचा पुरावा नाही.
```sh
docker run -it --rm -v "$HERMES_DATA:/opt/data" "$IMAGE_REF" setup
```
Telegram मध्ये [@BotFather](https://t.me/BotFather) कडे `/newbot` ने बॉट मागून टोकन गुप्त ठेवा. प्रेषकाचा **संख्यात्मक Telegram वापरकर्ता ID** मिळवा, उदा. [Telegram पुस्तिका](https://raw.githubusercontent.com/NousResearch/hermes-agent/v0.22.2/website/docs/user-guide/messaging/telegram.md) जोडलेल्या पद्धतीने; वापरकर्तानाव ID नाही. सहाय्यक किंवा `hermes gateway setup` टोकन व यादी लिहितो. हाताने `TELEGRAM_BOT_TOKEN=<private token>` आणि `TELEGRAM_ALLOWED_USERS=<your numeric ID>` ठेवा `$HERMES_DATA/.env` मध्ये, कंटेनरमध्ये ते `/opt/data/.env` दिसते. टोकन कमांड, इतिहास, सामायिक नोंद किंवा लेखात नको.
या `$HERMES_DATA/config.yaml` (`/opt/data/config.yaml` मध्ये, कंटेनरचा पथ) अनधिकृत खासगी संदेशांचे एकंदर वर्तन ठरवा:
```yaml
unauthorized_dm_behavior: ignore
```
सेटअप कंटेनर संपल्यावर प्रतिमेने `$HERMES_DATA` मालक कार्यरत UID 10000 केला असेल. सुरुवात `.env` मोड `600` व विद्यमान `config.yaml` मोड `640` पर्यंत मर्यादित करते; त्या वेळी प्रथम बनलेल्या सेटिंगलाही ही कडकता लागू करावी लागू शकते. सामान्य SSH वापरकर्ता फाइल उघडू न शकेल. कळा नसल्यास **अधिकृत होस्ट प्रशासक** नेमक्या दोन फाइल `sudo` ने पाहून बदलून मालक व खासगी मोड परत करतो. UID 10000 संपादक लॉगिन-मालकाच्या `$HOME` मधून जाऊ न शकतो, म्हणून प्रशासक अधिकार वापरतो. होस्टवर `sudo` आणि `vi` असल्यास गैरगुप्त मालक/मोड वाचून वापरा. दुसरा UID किंवा फाइल नसल्यास आधी प्रवेश सोडवा.
```sh
sudo stat -c '%u:%g %a %n' "$HERMES_DATA" "$HERMES_DATA/.env" "$HERMES_DATA/config.yaml"
# Expected: directory owner 10000 and mode 700; .env owner 10000 and mode 600.
# config.yaml should have owner 10000; its first-boot mode can vary.
sudo vi "$HERMES_DATA/.env"
sudo vi "$HERMES_DATA/config.yaml"
sudo chown 10000:10000 "$HERMES_DATA/.env" "$HERMES_DATA/config.yaml"
sudo chmod 700 "$HERMES_DATA"
sudo chmod 600 "$HERMES_DATA/.env"
sudo chmod 640 "$HERMES_DATA/config.yaml"
sudo stat -c '%u:%g %a %n' "$HERMES_DATA" "$HERMES_DATA/.env" "$HERMES_DATA/config.yaml"
```
शेवटच्या `stat` मध्ये दोन्ही फाइल UID/GID 10000, फोल्डर मोड `700`, `.env` मोड `600` आणि `config.yaml` मोड `640` हवेत. हे मेटाडेटा आहे, गुप्त तपशील नाही. `chown` फक्त दोन फाइल व संपादकाने केलेली बदली लक्ष्य करतो. `sudo` किंवा `vi` नसेल तर अधिकृत होस्ट प्रक्रियेत तीच पडताळणी करा. सर्वांना वाचन देऊ नका, कंटेनर वापरकर्ता रीमॅप करू नका.
संपादनात पुरवठादार सेटिंग जपा. Telegram-विशिष्ट `unauthorized_dm_behavior` बदल `pair` नसावा, जागतिक `GATEWAY_ALLOWED_USERS` किंवा `GATEWAY_ALLOW_ALL_USERS` प्रवेश वाढवू नये. `config.yaml` मध्ये न `gateway.allow_all_users` न वरचा `allow_all_users` true असावा; जागतिक/Telegram यादीत अतिरिक्त प्रेषक नको. `*` वापरू नका, समूहयादी किंवा जोडणी कोड मंजूर करू नका. नवा फोल्डर जुन्या अधिकारांपासून वाचवतो; डेटा असल्यास थांबून पाहा, पुसू नका. BotFather समूह गोपनीयता चालू, बॉट समूहात किंवा प्रशासक नको. [प्रवेशद्वार प्रवेश पुस्तिका](https://raw.githubusercontent.com/NousResearch/hermes-agent/v0.22.2/website/docs/user-guide/messaging/index.md) यादी व कायम जोडणी अधिकार स्वतंत्र मार्ग सांगते. [सुरक्षा पुस्तिका](https://raw.githubusercontent.com/NousResearch/hermes-agent/v0.22.2/website/docs/user-guide/security.md) नुसार `ignore` अनधिकृत खासगी संदेश शांतपणे टाकतो.
यादी संवाद सुरू करणारा ठरवते; अधिकृत एजंटची कृती नाही. Hermes Telegram सत्रात मूळ टर्मिनल साधने असतात. परवानगीपूर्वी साधने, Docker माउंट, पुरवठादार व होस्ट धोरण पाहा. निरुपद्रवी चाचणी केवळ विनंती आहे.
## 3. सुरू करून पहिले उत्तर पाहा
नोंदलेल्या डायजेस्टने एक नामित कंटेनर चालवा. प्रकाशित Docker कमांडमधील ऐच्छिक `-p 8642:8642` API साठी; इथे वगळा कारण खासगी Telegram ला सार्वजनिक API किंवा नियंत्रणपटल पोर्ट लागत नाही. प्रतिमा प्रक्रियेवर देखरेख करते, Docker ची `unless-stopped` नीती Docker सुरुवातीला पुनःप्रारंभ नियंत्रित करते. माउंट सेटिंग व सत्रे ठेवतो.
```sh
docker run -d --name hermes --restart unless-stopped \
-v "$HERMES_DATA:/opt/data" "$IMAGE_REF" gateway run
if ! {
docker inspect hermes --format '{{.Image}} {{.State.Status}}' &&
[ "$(docker inspect hermes --format '{{.State.Status}}')" = running ] &&
docker logs --tail 50 hermes &&
docker exec -u hermes hermes hermes pairing list
}; then
echo 'State, logs or pairing check failed; stopping before any message.'
docker stop hermes || true
docker inspect hermes --format '{{.State.Status}}' || true
exit 1
fi
```
कंटेनर `running` असावा; नोंदीत Telegram जोडणी/पुरवठादार त्रुटी व संदेशाआधी जोडणी यादी पाहा. पहिली वाचणी अयशस्वी तर कोड थांबवून स्थिती दाखवतो; अज्ञात CLI/अधिकार मंजुरी नाही. आधी `exited` खात्री करून तपासा; अनिश्चितेत संदेश किंवा पुनःप्रारंभ नाही. दुसरा मान्य प्रेषक आढळल्यास थांबवून स्थिती पाहा. `docker exec` थांबलेल्या कंटेनरवर चालत नाही; सामान्य प्रतिमा प्रवेश पूर्वीचे प्रवेशद्वार परत चालवू शकतो. नव्या मूळ UID मध्ये ऑफलाइन तपासणी फक्त ठरवलेला Hermes CLI UID 10000, नेटवर्क व प्रवेशद्वार सुरुवातीविना चालवते. दस्तऐवजीकृत कमांड/प्रवेशाचे रूपांतर आहे, BIG CHANGE चाचणी नाही. कार्यरत UID व डेटा मालक दोन्ही 10000 खात्रीतच वापरा. मालक, UID, CLI किंवा अधिकार अस्पष्ट असल्यास थांबवून पुनःप्रारंभाआधी सोडवा.
```sh
if [ "$(docker exec -u hermes hermes id -u)" != 10000 ] || [ "$(stat -c %u "$HERMES_DATA")" != 10000 ]; then
echo 'Runtime UID or data owner differs; stop for a host-specific repair.'; docker stop hermes; exit 1
fi
docker stop hermes
if [ "$(docker inspect hermes --format '{{.State.Status}}')" != exited ]; then
echo 'Container is not exited; do not mount state in another container.'; exit 1
fi
docker run --rm --network none --user 10000:10000 \
--entrypoint /opt/hermes/.venv/bin/hermes \
-v "$HERMES_DATA:/opt/data" "$IMAGE_REF" pairing list
# For a listed unwanted Telegram user, read the exact numeric ID first:
printf 'Unwanted numeric Telegram user ID: '; IFS= read -r UNWANTED_ID
if ! printf '%s\n' "$UNWANTED_ID" | grep -Eq '^[0-9]+$'; then echo 'Invalid ID; leave gateway stopped.'; exit 1; fi
docker run --rm --network none --user 10000:10000 \
--entrypoint /opt/hermes/.venv/bin/hermes \
-v "$HERMES_DATA:/opt/data" "$IMAGE_REF" pairing revoke telegram "$UNWANTED_ID"
docker run --rm --network none --user 10000:10000 \
--entrypoint /opt/hermes/.venv/bin/hermes \
-v "$HERMES_DATA:/opt/data" "$IMAGE_REF" pairing list
```
शेवटच्या यादीत अनावश्यक ID नसावा. खासगीत `$HERMES_DATA/.env` आणि `config.yaml` मध्ये इतर मंच/जागतिक याद्या, `*` किंवा सर्वपरवानगी पाहून दस्तऐवजीकृत मार्गाने अधिकार काढा. सर्व प्रवेश पाहेपर्यंत थांबलेले ठेवा. एक नोंद काढून स्वतंत्र जोडणी/जागतिक अधिकार जात नाही. तपासणीनंतर `docker start hermes` मूळ कंटेनर जाणीवपूर्वक परत आणते; संदेशाआधी नोंदी/यादी पुन्हा पाहा.
मान्य खात्यातून बॉटचा **खासगी** संवाद उघडून “थोडक्यात अभिवादन करून उत्तर द्या” सारखा निरुपद्रवी अनुरोध करा. खरे उत्तर व संबंधित नोंद/सत्र पाहा. पाठवणे, टाइपिंग, स्थिती किंवा पूर्ण सेटअप उत्तर नाही. Telegram चे `/whoami` सक्रिय संदेश व्याप्ती दाखवते, होस्ट अधिकार नाही. गैरसंवेदनशील पुरावाच ठेवा.
उत्तर नसेल तर आधी स्थिती व `docker logs --tail 50 hermes` वाचा. टोकन, नेमके संख्यात्मक `TELEGRAM_ALLOWED_USERS` मूल्य, मॉडेल प्रमाणीकरण/पात्रता व बाह्य संपर्क पाहा. परिणाम अनिश्चित असल्यास पुन्हा पाठवण्याआधी संवाद/नोंदी वाचा. कोल्ड-बूट प्रतीक्षा अपडेट टाकू शकतो, दुबार प्रतिबंध स्मृतीत मर्यादित. नेमक्या एकदा वितरणाची हमी नाही.
## 4. पुनःप्रारंभ, थांबा व पुनर्प्राप्ती पाहा
पहिला फेरा पूर्ण झाल्यावर तोच कंटेनर पुन्हा चालवून नव्या नोंदी व ठेवलेली `/opt/data` स्थिती पाहा, मग **नवा** निरुपद्रवी खासगी अनुरोध व उत्तर तपासा. थांबवून Docker स्थिती वाचा. `exited` थांब्याचा संकेत, शांत संवाद पुरेसा नाही. `docker start hermes` नंतर जाणीवपूर्वक सुरू करण्याची पद्धत.
```sh
docker restart hermes
docker logs --tail 50 hermes
docker inspect hermes --format '{{.State.Status}}'
# After the restarted gateway is ready, send a new private test message.
docker stop hermes
docker inspect hermes --format '{{.State.Status}}'
# Expected after stop: exited
# When intentionally resuming later: docker start hermes
```
अयशस्वी पुनःप्रारंभात Docker/नोंदी, मग `$HERMES_DATA/logs/gateways/default/current` आणि `$HERMES_DATA/logs/container-boot.log`, माउंट, मालक व ठरलेली प्रतिमा/आवृत्ती पाहा. [v0.22.2 प्रकाशन नोंदी](https://github.com/NousResearch/hermes-agent/releases/tag/v0.22.2) प्रारंभ सक्रियता सुधारणा सांगतात, तुमच्या होस्टची घटना नाही. दुरुस्तीत डेटा पुसू नका. टोकन फुटल्यास थांबा, BotFather मध्ये रद्द, माउंटच्या `.env` मध्ये खासगीत बदला, नंतर आधी प्रवेश पाहा. अनावश्यक जोडणीही रद्द करून खऱ्या याद्या पाहा.
VPS व मॉडेल वेगळी किंमत घेऊ शकतात. प्रत्यक्ष योजना, मर्यादा व शुल्क पाहा; वेळ, मोफत कोटा किंवा उपलब्धतेचे वचन नाही. Telegram/पुरवठादार संदेश हाताळतात, होस्ट गुपिते व स्थिती ठेवतो. हे एक होस्ट-बॉटचे पहिले उत्तर तपासते. वेगळे BIG CHANGE मार्गदर्शक सांगतात [Hermes बॅकअप व पुनर्प्राप्ती](https://bigchange.ai/blog/hermes-encrypted-github-backup-recovery-guide) आणि [पुनरावृत्तीचे Hermes काम](https://bigchange.ai/blog/hermes-skill-recurring-job-first-run).
## स्रोत व अधिक वाचन
ही [Docker मांडणी](https://raw.githubusercontent.com/NousResearch/hermes-agent/v0.22.2/website/docs/user-guide/docker.md), [Telegram मांडणी](https://raw.githubusercontent.com/NousResearch/hermes-agent/v0.22.2/website/docs/user-guide/messaging/telegram.md), [प्रवेशद्वार प्रवेश](https://raw.githubusercontent.com/NousResearch/hermes-agent/v0.22.2/website/docs/user-guide/messaging/index.md), [सुरक्षा](https://raw.githubusercontent.com/NousResearch/hermes-agent/v0.22.2/website/docs/user-guide/security.md) आणि [v0.22.2 आवृत्ती](https://github.com/NousResearch/hermes-agent/releases/tag/v0.22.2) NousResearch चे प्राथमिक स्रोत आहेत. [झटपट प्रारंभ](https://raw.githubusercontent.com/NousResearch/hermes-agent/v0.22.2/website/docs/getting-started/quickstart.md) मॉडेल पुरवठादार सेटअप सांगतो. या पद्धतीच्या नोंदी आहेत, BIG CHANGE ने VPS/बॉट चालवल्याचा पुरावा नाही.
## Sources
- [Hermes Agent v0.22.2 प्रकाशन](https://github.com/NousResearch/hermes-agent/releases/tag/v0.22.2) — तारीख व दस्तऐवजीकृत प्रारंभ सक्रियता सुधारणा.
- [Hermes Docker मांडणी, v0.22.2](https://raw.githubusercontent.com/NousResearch/hermes-agent/v0.22.2/website/docs/user-guide/docker.md) — प्रतिमा मार्ग, माउंट, मांडणी, देखरेख, पोर्ट व नोंदी.
- [अधिकृत Dockerfile, v0.22.2](https://raw.githubusercontent.com/NousResearch/hermes-agent/v0.22.2/Dockerfile) — प्रवेश, कार्यरत UID, HERMES_HOME व मर्यादित ऑफलाइन CLI तपासणी पथ.
- [Docker दुसऱ्या टप्प्याचा हुक, v0.22.2](https://raw.githubusercontent.com/NousResearch/hermes-agent/v0.22.2/docker/stage2-hook.sh) — मांडणीनंतर डेटा मालकी व .env/config परवानग्या.
- [Telegram मांडणी, v0.22.2](https://raw.githubusercontent.com/NousResearch/hermes-agent/v0.22.2/website/docs/user-guide/messaging/telegram.md) — BotFather, टोकन, संख्यात्मक यादी, गोपनीयता व वितरण मर्यादा.
- [संदेश व प्रवेशद्वार, v0.22.2](https://raw.githubusercontent.com/NousResearch/hermes-agent/v0.22.2/website/docs/user-guide/messaging/index.md) — खरा प्रवेश, जोडणी वाचणी व रद्द करणे.
- [सुरक्षा, v0.22.2](https://raw.githubusercontent.com/NousResearch/hermes-agent/v0.22.2/website/docs/user-guide/security.md) — अनधिकृत खासगी संदेश व प्रवेश मर्यादा.
- [झटपट प्रारंभ, v0.22.2](https://raw.githubusercontent.com/NousResearch/hermes-agent/v0.22.2/website/docs/getting-started/quickstart.md) — मॉडेल पुरवठादार मांडणी मार्ग.
BIG CHANGE वृत्तपत्र
मोठे चित्र. तुमच्या गतीने.
AI आणि रोबोटिक्सवरील ताज्या बातम्या, पाहण्यासारखे बदल आणि वापरता येतील अशा व्यावहारिक कल्पना. दैनिक माहिती, साप्ताहिक सारांश किंवा मासिक दृष्टिकोन निवडा.
Next scheduled send (UTC): . Your first edition arrives at the next scheduled send after you confirm.
तुमची गोपनीयता, तुमची निवड.
आवश्यक स्टोरेज साइट सुरक्षित ठेवण्यास आणि तुमच्या निवडी लक्षात ठेवण्यास मदत करते. तुमची परवानगी मिळेपर्यंत पर्यायी Google Analytics बंद राहते. फक्त आवश्यक स्टोरेज वापरून प्रत्येक लेख वाचता येतो. गोपनीयतेचा तपशील