Часто при настройке ИИ на своем сервере приходится выбирать: либо богатый функционал, либо здоровая нервная система. Odysseus – приятное исключение. Это полноценная рабочая среда, которая разворачивается на вашем личном сервере. В ней есть чат, режим агента, глубокий поиск (deep research), ИИ-сортировка почты, календарь, работа с документами и долгосрочная память. И всё это можно подключить к любой нейросети на ваш выбор. В этом руководстве мы подробно разберем установку системы на Linux VPS с нуля.
Odysseus – это опенсорсный проект для тех, кто хочет получить функционал уровня ChatGPT или Claude, но не желает делиться своими данными с корпорациями. Вы полностью контролируете сервер, сами выбираете модели, и по умолчанию ни один байт информации не покидает вашу инфраструктуру.
Важно понимать, что проект находится в стадии активной разработки – об этом прямо сказано в README. Иногда могут возникать баги и шероховатости, но обычно они лечатся командой docker compose restart и просмотром логов.
Главный смысл установки Odysseus на свой сервер – защитить данные от чужих глаз. Но концепция «своего сервера» имеет смысл только в том случае, если вы контролируете, где физически находится сервер.
С is*hosting вы можете выбрать из более чем 40 локаций в Северной Америке, Европе, Азии и других регионах, управляя всем через один аккаунт. Это значит, что вы можете развернуть свой ИИ-воркспейс в той юрисдикции, которой доверяете, и максимально близко к вашему реальному местоположению. Для тех, кто работает с клиентскими данными или конфиденциальными документами, это главный аргумент в пользу личного VPS по сравнению с облачными ИИ-сервисами.
|
Сценарий использования |
Мин. ОЗУ |
Тариф is*hosting |
|
Только чат (через удаленный API) |
2 ГБ |
Start VPS ($10.19/мес при оплате за год) |
|
Режим агента + работа с браузером |
2 ГБ |
Start VPS ($10.19/мес при оплате за год) |
|
Интенсивный глубокий поиск (Deep Research) |
3–4 ГБ |
Medium VPS ($21.24/мес при оплате за год) |
|
Локальная нейросеть на том же сервере |
16 ГБ+ |
Индивидуальный тариф / Сервер с GPU |
Тариф Start (2 vCPU / 2 ГБ ОЗУ / 30 ГБ NVMe) отлично справится со всеми задачами, описанными в этой статье. А вот тариф Lite с 1 ГБ оперативной памяти не подойдет: одна только база данных ChromaDB быстро исчерпает этот лимит. Запуск локальной ИИ-модели на том же сервере, где работает Odysseus – это уже совсем другая история, которая требует значительных вычислительных мощностей и выходит за рамки данного руководства.
Сразу стоит отметить еще один важный момент. Функции глубокого поиска и браузерный инструмент Playwright отправляют реальные исходящие запросы в интернет – иногда десятки на каждую задачу. У крупных облачных провайдеров это может привести к тому, что вы незаметно для себя накопите приличный счет за исходящий трафик. У is*hosting, начиная с тарифа Medium, трафик не лимитирован, а на младших тарифах цены максимально прозрачны. Так что после активных ИИ-исследований вас не будут ждать неприятные неожиданности в счете.
На VPS-тарифах is*hosting Docker не установлен по умолчанию, но зато на всех планах предоставляется полный root-доступ по SSH. Установка нужного софта займет буквально пару минут, и мы подробно разберем ее в Шаге 2.
Разверните свой ИИ-воркспейс на быстром и надежном VPS. Более 40 локаций, безлимитный трафик с тарифа Medium и root-доступ на всех тарифах.
Если вы используете Mac или Linux, откройте терминал и введите:
ssh root@ВАШ_IP_АДРЕС
В Windows можно использовать встроенный PowerShell или скачать удобный терминал, например Tabby. При первом подключении система спросит, доверяете ли вы этому узлу – напишите yes. Затем введите свой пароль (обратите внимание: в целях безопасности символы при вводе не отображаются на экране). Если вы видите строку вроде root@hostname:~# – значит, вы успешно зашли на сервер.
Для начала проверим, установлен ли Docker на вашем сервере:
docker --version
Если в ответ ничего не появилось или выдает ошибку, устанавливаем его одной командой:
curl -fsSL https://get.docker.com | sh
После установки убедитесь, что обе нужные утилиты работают корректно:
docker --version
docker compose version
Примечание: Если вторая команда выдает ошибку, скорее всего, у вас установлена старая версия в виде отдельного бинарного файла docker-compose (через дефис). В таком случае просто используйте написание с дефисом во всех последующих шагах этого руководства.
Теперь настроим сетевую защиту (UFW). По умолчанию Docker имеет неприятную особенность: он обходит стандартные правила UFW и выставляет порты контейнеров прямиком в открытый интернет. Чтобы обезопасить сервер, закроем лишнее:
apt install -y ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
Эти настройки оставляют открытыми только базовые порты для подключения по SSH и доступа к сайтам по HTTP/HTTPS, блокируя всё остальное. Само приложение Odysseus по умолчанию привязывается к локальному адресу 127.0.0.1, поэтому его порт 7000 безопасен. А вот вспомогательные сервисы из комплекта (SearXNG на порту 8080, ntfy на 8091 и база ChromaDB на 8100) ни в коем случае не должны быть доступны извне – именно от этого нас и защитит настроенный файрвол.
Сначала скачаем файлы проекта из репозитория и перейдем в папку:
git clone https://github.com/pewdiepie-archdaemon/odysseus.git
cd odysseus
По умолчанию вы попадете в ветку dev, где ведутся разработки – она может работать нестабильно. Если вы настраиваете сервер для реального использования, лучше переключиться на стабильную ветку main:
git checkout main
Затем создадим файл конфигурации из готового шаблона и откроем его для редактирования:
cp .env.example .env
nano .env
Основные параметры, которые нужно проверить или изменить:
APP_BIND=127.0.0.1 # оставляем для локального доступа
APP_PORT=7000 # меняем, только если порт уже занят
AUTH_ENABLED=true # обязательно оставляем включенным
ODYSSEUS_ADMIN_PASSWORD=ваш_надежный_пароль # можно сразу задать пароль администратора
SECURE_COOKIES=true # добавьте эту строку, если планируете использовать HTTPS
Чтобы сохранить изменения и выйти из редактора, нажмите Ctrl+X, затем Y и Enter.
docker compose up -d --build
Эта команда соберет и запустит четыре контейнера: сам Odysseus, базу данных ChromaDB, поисковую систему SearXNG и сервис уведомлений ntfy. Первая сборка обычно занимает около 3–5 минут.
Посмотреть, как идет процесс запуска, можно через логи:
docker compose logs -f odysseus
Когда вы увидите строчку Uvicorn running on http://0.0.0.0:7000 – система готова к работе. Нажмите Ctrl+C, чтобы выйти из режима просмотра логов. Теперь убедимся, что все запустилось корректно:
docker compose ps
Все четыре контейнера должны иметь статус running или healthy. Обратите внимание: при самом первом запуске проверка состояния SearXNG (health check) может занять до 30 секунд.
Когда всё работает, полезно проверить, сколько оперативной памяти потребляет система:
docker stats --no-stream
В состоянии покоя (сразу после установки) цифры должны быть примерно такими:
|
Контейнер |
ОЗУ в простое |
|
odysseus |
~180–250 МБ |
|
chromadb |
~100–120 МБ |
|
searxng |
~60–80 МБ |
|
ntfy |
~15–25 МБ |
|
Всего |
~355–475 МБ |
Базовое потребление пустой базы данных ChromaDB обычно составляет около 104 МБ. Этот объем будет постепенно расти по мере того, как система будет сохранять новые данные и «воспоминания». Конечно, конкретные значения зависят от версий образов, но эти цифры – хороший ориентир. Если вы заметили, что какой-то контейнер в простое съедает сильно больше памяти, чем указано в таблице, первым делом загляните в его логи.
При самом первом запуске Odysseus автоматически создает учетную запись администратора и выводит одноразовый пароль в логах старта. Чтобы его найти, введите:
docker compose logs odysseus | head -50
Скопируйте этот пароль, войдите в систему и сразу же смените его на свой собственный в настройках (Settings).
По умолчанию Odysseus работает только локально (на 127.0.0.1:7000). Получить к нему доступ можно двумя способами:
Способ 1: SSH-туннель (быстрый вариант для тестов). Выполните эту команду на своем домашнем компьютере (не на сервере!):
ssh -L 7000:127.0.0.1:7000 root@ВАШ_IP_АДРЕС
После этого просто откройте в браузере адрес http://localhost:7000. Весь трафик будет безопасно передаваться внутри зашифрованного SSH-соединения.
Способ 2: Настройка Caddy (для постоянного использования). Это настройка обратного прокси-сервера. Выполните на VPS:
apt install -y caddy
nano /etc/caddy/Caddyfile
Впишите в файл следующий блок (заменив домен на свой):
ваш.домен.com {
reverse_proxy 127.0.0.1:7000
}
Сохраните файл и перезапустите Caddy:
systemctl restart caddy
Caddy сам позаботится о бесплатных SSL-сертификатах Let's Encrypt. Вам останется только направить A-запись вашего домена на IP-адрес сервера в панели регистратора – и всё готово.
Перейдите в настройки (Settings) и добавьте провайдера ИИ. Если вы арендуете обычный сервер без видеокарт, то советуем OpenRouter. Он дает доступ к сотням моделей, имеет бесплатные тарифы и берет оплату только за фактическое использование (от 0 до пары долларов в месяц при обычном личном использовании).
Бесплатные модели имеют ограничения – примерно 20 запросов в минуту, и они не умеют «видеть» картинки (нет функции vision). Если вы планируете каждый день запускать тяжелые задачи глубокого поиска (Deep Research), заложите в бюджет $5–10 в месяц на платные модели вроде Claude Haiku или Gemini Flash.
Как настроить подключение:
Напишите тестовое сообщение в чат, чтобы убедиться, что ИИ вам отвечает.
В системе есть встроенный браузерный MCP-сервер на базе Playwright. Он позволяет ИИ-агенту по-настоящему «гулять» по веб-страницам, делать скриншоты и взаимодействовать с интерфейсом кнопок и меню, а не просто читать сырой HTML-код. При стандартном запуске эта функция игнорируется, так как для нее нужно предварительно кэшировать npm-пакет. Выполните на сервере эту команду один раз:
npx -y @playwright/mcp@latest --version
Она скачает около 300 МБ данных, включая сами файлы браузера. После этого перезапустите Odysseus, и браузерный инструмент подключится автоматически. Он работает в headless-режиме с включенной функцией распознавания изображений (vision).
В репозитории (в папке integrations/) есть специальный API. Он позволяет инструментам вроде Claude Code или Codex получать доступ к вашему рабочему пространству: читать и редактировать задачи, почту, события в календаре, документы и память. Чтобы это настроить, сгенерируйте токен в меню Settings > Integrations, добавьте агента Claude и следуйте инструкциям на экране. Права доступа строго контролируются на стороне сервера: сторонний ИИ сможет взаимодействовать только с теми функциями, которые вы ему явно разрешите.
Gmail, Fastmail и любые другие почтовые сервисы, поддерживающие «пароли приложений» (app passwords), подключаются без проблем. А вот Outlook и Microsoft 365 работать не будут. Microsoft отключила базовую авторизацию по IMAP/SMTP для большинства аккаунтов, а Odysseus пока не умеет авторизовываться через современные протоколы вроде OAuth. Вы просто столкнетесь с ошибкой 535 5.7.139 Authentication unsuccessful, и обойти это ограничение на данный момент нельзя.
cd odysseus && git pull && docker compose down && docker compose up -d --build
Все ваши пользовательские данные хранятся в папке ./data/, которая привязана к контейнеру, поэтому они не сотрутся при пересборке или обновлении. Тем не менее, перед установкой крупных обновлений обязательно делайте копию базы данных:
cp ~/odysseus/data/app.db ~/odysseus/data/app.db.bak
Провайдер is*hosting делает бесплатные еженедельные бэкапы на всех VPS-тарифах. Они копируют сервер целиком. Но если после очередного обновления приложения что-то сломается, откатиться из сделанной вручную локальной копии базы данных будет в разы быстрее.
SearXNG не переходит в статус healthy (здоров). В образе версии 2026.6.2 есть известный баг, из-за которого происходит сбой при запуске. Разработчики Odysseus жестко закрепили в коде рабочую версию, но если вы скачивали файлы репозитория давно, у вас может быть старый вариант. Скачайте последние обновления (через git pull) и попробуйте снова. Проверить причину ошибки можно командой: docker compose logs searxng | tail -20
ChromaDB постоянно падает. Для запуска этой базе данных требуется около 100–120 МБ оперативной памяти. На серверах с 1 ГБ ОЗУ ей может не хватить места из-за работы других сервисов, и система «убьет» процесс (ошибка Out Of Memory). Сам Odysseus запустится и без неё, но долгосрочная память и векторный поиск работать не будут. Логи можно посмотреть так: docker compose logs chromadb | tail -20
Функции памяти работают в режиме «degraded» (с ограничениями). Если сервисы ChromaDB или SearXNG запустились некорректно, Odysseus молча переходит в резервный режим, отключая часть функций. Чтобы проверить, не произошло ли это, введите:
docker compose logs odysseus | grep -E 'ChromaDB|MemoryVectorStore|DEGRADED'
Порт 7000 уже занят. Откройте файл .env, поменяйте значение на APP_PORT=7001, после чего выполните перезапуск: docker compose down && docker compose up -d
Разверните Odysseus на VPS с root-доступом, безлимитным трафиком и более чем 40 локациями серверов.
Установка Odysseus на любой Linux VPS занимает менее 20 минут. В результате вы получаете автономное ИИ-пространство с долгосрочной памятью, управлением браузером, глубоким поиском, умной сортировкой писем и специальным API для подключения ваших любимых инструментов. И самое главное – всё это работает на сервере в той юрисдикции, которую выбрали лично вы.
Вот несколько идей, что стоит попробовать, когда вы освоитесь с базовыми функциями:
Если вы всё еще выбираете сервер, тарифы на VPS от is*hosting начинаются с $10.19 в месяц (при оплате тарифа Start за год). Этих ресурсов полностью хватит для всего, что описано в данном руководстве.