<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Виктор Семенов</title><subtitle>AI</subtitle><author><name>Виктор Семенов</name></author><id>https://teletype.in/atom/victor</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/victor?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@victor?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=victor"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/victor?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-05T15:22:32.662Z</updated><entry><id>victor:wQJExtzdlNy</id><link rel="alternate" type="text/html" href="https://teletype.in/@victor/wQJExtzdlNy?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=victor"></link><title>Работающий способ запустить OpenClaw в VPS в Docker</title><published>2026-02-04T14:32:23.975Z</published><updated>2026-02-04T14:37:34.994Z</updated><summary type="html">На момент написания поста официальный способ запуска OpenClaw в докере у меня не заработал. Было несколько проблем. В том числе — CLI-контейнер не мог подключиться к гейтвею. Получал ошибку [openclaw] CLI failed: Error: gateway closed (1006 abnormal closure (no close frame)): no close reason.</summary><content type="html">
  &lt;p id=&quot;SIsY&quot;&gt;На момент написания поста официальный способ запуска OpenClaw в докере у меня не заработал. Было несколько проблем. В том числе — CLI-контейнер не мог подключиться к гейтвею. Получал ошибку &lt;code&gt;[openclaw] CLI failed: Error: gateway closed (1006 abnormal closure (no close frame)): no close reason&lt;/code&gt;.&lt;/p&gt;
  &lt;p id=&quot;kSUt&quot;&gt;Вот как я запустил OpenClaw на VPS в docker compose.&lt;/p&gt;
  &lt;p id=&quot;p15J&quot;&gt;&lt;strong&gt;Подключился к VPS по SSH.&lt;/strong&gt;&lt;/p&gt;
  &lt;pre id=&quot;A58N&quot;&gt;ssh root@&amp;lt;host&amp;gt;&lt;/pre&gt;
  &lt;p id=&quot;6bmJ&quot;&gt;&lt;strong&gt;Cклонировал репозиторий.&lt;/strong&gt;&lt;/p&gt;
  &lt;pre id=&quot;Wqop&quot;&gt;git clone https://github.com/openclaw/openclaw.git
cd openclaw&lt;/pre&gt;
  &lt;p id=&quot;UO0D&quot;&gt;&lt;strong&gt;Создал директории для конфига и воркспейса, а затем задал владельцем этих директорий пользователя из контейнера.&lt;/strong&gt;&lt;/p&gt;
  &lt;pre id=&quot;bGEw&quot;&gt;mkdir -p /root/.openclaw
mkdir -p /root/.openclaw/workspace
chown -R 1000:1000 /root/.openclaw
chown -R 1000:1000 /root/.openclaw/workspace&lt;/pre&gt;
  &lt;p id=&quot;dFpK&quot;&gt;&lt;strong&gt;Создал файл &lt;code&gt;.env&lt;/code&gt; в корне репозитория. Содержимое файла:&lt;/strong&gt;&lt;/p&gt;
  &lt;pre id=&quot;6Ys2&quot;&gt;OPENCLAW_CONFIG_DIR=/root/.openclaw
OPENCLAW_WORKSPACE_DIR=/root/.openclaw/workspace
OPENCLAW_GATEWAY_PORT=18789
OPENCLAW_BRIDGE_PORT=18790
OPENCLAW_GATEWAY_BIND=lan
OPENCLAW_IMAGE=openclaw:local
OPENCLAW_EXTRA_MOUNTS=
OPENCLAW_HOME_VOLUME=
OPENCLAW_DOCKER_APT_PACKAGES=&lt;/pre&gt;
  &lt;p id=&quot;6D94&quot;&gt;&lt;strong&gt;Собрал докер-образ.&lt;/strong&gt;&lt;/p&gt;
  &lt;pre id=&quot;LQ0V&quot;&gt;docker build -t openclaw:local -f Dockerfile .&lt;/pre&gt;
  &lt;p id=&quot;OFCZ&quot;&gt;&lt;strong&gt;Запустил онбординг.&lt;/strong&gt;&lt;/p&gt;
  &lt;pre id=&quot;HFUs&quot;&gt;docker compose run --rm openclaw-cli onboard&lt;/pre&gt;
  &lt;p id=&quot;LOBU&quot;&gt;Выбрал способ QuickStart. В качестве поставщика LLM я использую OpenRouter. Выбрал модель &lt;code&gt;openrouter/anthropic/claude-opus-4.5&lt;/code&gt;.&lt;/p&gt;
  &lt;p id=&quot;YOdi&quot;&gt;Также выбрал Telegram-бот в качестве канала. Ввел API-ключ бота от &lt;code&gt;botfather&lt;/code&gt;.&lt;/p&gt;
  &lt;p id=&quot;KqCq&quot;&gt;В терминале выведется такой блок:&lt;/p&gt;
  &lt;pre id=&quot;N5EQ&quot;&gt;◇ Dashboard ready
│
│ Dashboard link (with token):
│ http://127.0.0.1:18789/?token=77c80b65ea4813028b3b96cff1216869de20d49865f2afbe
│ Copy/paste this URL in a browser on this machine to control OpenClaw.
│ No GUI detected. Open from your computer:
│ ssh -N -L 18789:127.0.0.1:18789 user@&amp;lt;host&amp;gt;
│ Then open:
│ http://localhost:18789/
│ http://localhost:18789/?token=77c80b65ea4813028b3b96cff1216869de20d49865f2afbe
│ Docs:
│ https://docs.openclaw.ai/gateway/remote
│ https://docs.openclaw.ai/web/control-ui&lt;/pre&gt;
  &lt;p id=&quot;DK7H&quot;&gt;В конце выведется следующая строка, и процесс зависнет на этом.&lt;/p&gt;
  &lt;pre id=&quot;afKm&quot;&gt;└ Onboarding complete. Use the tokenized dashboard link above to control OpenClaw.&lt;/pre&gt;
  &lt;p id=&quot;H1uC&quot;&gt;Завершил процесс нажатием control+C.&lt;/p&gt;
  &lt;p id=&quot;lWdi&quot;&gt;&lt;strong&gt;Запустил гейтвей.&lt;/strong&gt;&lt;/p&gt;
  &lt;pre id=&quot;g0ua&quot;&gt;docker compose up -d openclaw-gateway&lt;/pre&gt;
  &lt;p id=&quot;wpqT&quot;&gt;В логах будет написано, что гейтвей слушает порт 18789.&lt;/p&gt;
  &lt;pre id=&quot;qzmN&quot;&gt;docker compose logs openclaw-gateway&lt;/pre&gt;
  &lt;pre id=&quot;SPEe&quot;&gt;[gateway] listening on ws://0.0.0.0:18789&lt;/pre&gt;
  &lt;p id=&quot;cHeA&quot;&gt;&lt;strong&gt;Пробросил порт.&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;3M3O&quot;&gt;Я пробросил порт через VS Code, но можно и через ssh.&lt;/p&gt;
  &lt;pre id=&quot;yRtI&quot;&gt;ssh -N -L 18789:127.0.0.1:18789 user@&amp;lt;host&amp;gt;&lt;/pre&gt;
  &lt;p id=&quot;QU5V&quot;&gt;&lt;strong&gt;Перешел по ссылке из Dashboard link выше.&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;mbqG&quot;&gt;Вижу ошибку:&lt;/p&gt;
  &lt;pre id=&quot;jXUj&quot;&gt;disconnected (1008): pairing required&lt;/pre&gt;
  &lt;p id=&quot;SmZx&quot;&gt;Надо апрувнуть свой браузер, чтобы исправить ошибку:&lt;/p&gt;
  &lt;pre id=&quot;Q89M&quot;&gt;docker compose exec openclaw-gateway node dist/index.js devices list
docker compose exec openclaw-gateway node dist/index.js devices approve &amp;lt;requestId&amp;gt;&lt;/pre&gt;
  &lt;p id=&quot;SI2f&quot;&gt;На странице &lt;a href=&quot;http://localhost:18789/&quot; target=&quot;_blank&quot;&gt;http://localhost:18789/&lt;/a&gt; в правом верхнем углу будет отображаться &lt;code&gt;Health OK&lt;/code&gt;.&lt;/p&gt;
  &lt;h3 id=&quot;UExo&quot;&gt;Настройка телеграм-бота&lt;/h3&gt;
  &lt;p id=&quot;uGHv&quot;&gt;В телеграм-боте пишем &lt;code&gt;/start&lt;/code&gt;.&lt;/p&gt;
  &lt;p id=&quot;jwHQ&quot;&gt;В ответ получим такое сообщение:&lt;/p&gt;
  &lt;pre id=&quot;uy1P&quot;&gt;OpenClaw: access not configured.
Your Telegram user id: 223423429
Pairing code: 6Z7P3EM7
Ask the bot owner to approve with:
openclaw pairing approve telegram &amp;lt;code&amp;gt;&lt;/pre&gt;
  &lt;p id=&quot;PcOB&quot;&gt;Надо апрувнуть свой телеграм-бот.&lt;/p&gt;
  &lt;pre id=&quot;L0oT&quot;&gt;docker compose exec openclaw-gateway node dist/index.js pairing approve telegram 6Z7P3EM7&amp;#x60;&lt;/pre&gt;
  &lt;p id=&quot;SAsT&quot;&gt;Теперь можно что-нибудь написать телеграм-боту, и агент ответит.&lt;/p&gt;

</content></entry><entry><id>victor:i6KiHikVzXU</id><link rel="alternate" type="text/html" href="https://teletype.in/@victor/i6KiHikVzXU?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=victor"></link><title>Yakutsk. January 2024</title><published>2024-01-31T11:47:19.104Z</published><updated>2024-01-31T11:47:19.104Z</updated><summary type="html">City walking in Yakutsk. Jan 2024.</summary><content type="html">
  &lt;figure id=&quot;uZen&quot; class=&quot;m_column&quot;&gt;
    &lt;iframe src=&quot;https://www.youtube.com/embed/lw5GmkG8ev8?autoplay=0&amp;loop=0&amp;mute=0&quot;&gt;&lt;/iframe&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Ivpy&quot;&gt;City walking in Yakutsk. Jan 2024.&lt;/p&gt;

</content></entry><entry><id>victor:genome</id><link rel="alternate" type="text/html" href="https://teletype.in/@victor/genome?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=victor"></link><title>My Genome</title><published>2021-10-16T17:55:46.130Z</published><updated>2021-10-17T00:50:49.931Z</updated><summary type="html">16 MB of text: https://gist.githubusercontent.com/victorx64/a42ab11b580b1f1c7e01a3ad75ca2936/raw/c9817b1ad3cff230d41598dfa69f97209745955b/genome_Victor_Semenov_v5_Full_20211004072137.txt</summary><content type="html">
  &lt;p id=&quot;tlEi&quot;&gt;16 MB of text: &lt;a href=&quot;https://gist.githubusercontent.com/victorx64/a42ab11b580b1f1c7e01a3ad75ca2936/raw/c9817b1ad3cff230d41598dfa69f97209745955b/genome_Victor_Semenov_v5_Full_20211004072137.txt&quot; target=&quot;_blank&quot;&gt;https://gist.githubusercontent.com/victorx64/a42ab11b580b1f1c7e01a3ad75ca2936/raw/c9817b1ad3cff230d41598dfa69f97209745955b/genome_Victor_Semenov_v5_Full_20211004072137.txt&lt;/a&gt;&lt;/p&gt;
  &lt;figure&gt;
    &lt;script src=&quot;https://gist.github.com/victorx64/a42ab11b580b1f1c7e01a3ad75ca2936.js&quot;&gt;&lt;/script&gt;
  &lt;/figure&gt;

</content></entry></feed>