Как поднять self-hosted аналог ChatGPT на сервере
Свой ChatGPT на собственном сервере — это приватные диалоги, отсутствие подписки и лимитов, независимость от блокировок и полный контроль над данными. Поднять self-hosted аналог ChatGPT на сервере сегодня реально за вечер: связка удобного веб-интерфейса и локальной модели даёт привычный чат с историей, выбором моделей и загрузкой файлов. Разберём по шагам архитектуру, требования к железу и настройку приватного AI-ассистента.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Из чего состоит self-hosted ChatGPT
Своя замена ChatGPT собирается из двух частей: движка, который запускает языковую модель, и веб-интерфейса, через который вы с ней общаетесь. Движок берёт на себя инференс — прогон модели и генерацию ответов, — а интерфейс отвечает за привычный чат: историю диалогов, переключение моделей, системные промпты, загрузку документов.
Самая популярная и простая связка — Ollama в роли движка и Open WebUI в роли интерфейса. Ollama устанавливает и запускает модели одной командой и отдаёт их по API, а Open WebUI даёт красивый чат в браузере, внешне почти неотличимый от ChatGPT. Обе части бесплатны, открыты и отлично работают вместе.
Есть гибкость и в источнике модели. Можно запускать модель локально на своём GPU ради полной приватности и отсутствия оплаты за токены, а можно подключить внешние API-ключи и использовать интерфейс просто как единую точку доступа к разным сервисам. Часто эти подходы совмещают: локальная модель для чувствительных данных и внешние — для сложных задач.
Требования к серверу
Железо зависит от того, где крутится модель. Если вы подключаете только внешние API, сервер нужен минимальный: интерфейс и оркестрация почти не нагружают систему, хватит 2 ядер и 2–4 ГБ RAM без всякого GPU. Это дешёвый вариант, если цель — обойти блокировки и получить единый приватный интерфейс к облачным моделям.
Если же вы хотите настоящую локальную модель ради приватности и независимости, нужен GPU. Объём VRAM определяет доступный размер модели: 7–8B в 4-битном квантовании требуют около 5–6 ГБ, 13B — порядка 10 ГБ, 32B — 20–24 ГБ. Видеокарта на 8–12 ГБ комфортно тянет модели, качества которых хватает для большинства повседневных задач — ответов на вопросы, помощи с текстами, программирования.
На мощном процессоре модель тоже запустится, но медленно — несколько токенов в секунду, что ощутимо в интерактивном чате. Для комфортной работы берут GPU-сервер. У MAATRIX его можно арендовать с оплатой из России картой, СБП или криптой, а для варианта с внешними API подойдёт и обычный недорогой VPS в зарубежной локации ради чистого IP и доступа к сервисам.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать GPU-серверУстановка движка модели
Начнём с движка. Установите Ollama и скачайте модель — это база, к которой подключится интерфейс:
curl -fsSL https://ollama.com/install.sh | sh
ollama pull llama3.1
Проверьте, что видеокарта задействована, командой nvidia-smi — если карта видна, Ollama использует её автоматически. После загрузки модели движок уже работает в фоне и отдаёт её по локальному API на порту 11434. Можно сразу протестировать ответ в консоли командой ollama run llama3.1, чтобы убедиться, что модель отвечает.
Скачайте несколько моделей разного размера, если позволяет диск: маленькую и быструю для простых задач, покрупнее — для сложных. Open WebUI позволит переключаться между ними прямо в чате, как между разными «характерами» ассистента. Модели весят гигабайты, поэтому заложите на диск запас.
Запуск веб-интерфейса
Open WebUI проще всего поднять в Docker — один контейнер, который сразу подхватывает Ollama:
docker run -d -p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui ghcr.io/open-webui/open-webui:main
После запуска интерфейс доступен на порту 3000. При первом входе вы создаёте локальную учётную запись администратора — она хранится на вашем сервере, никакие данные наружу не уходят. Интерфейс сам обнаружит запущенный Ollama и покажет доступные модели в выпадающем списке.
Дальше вы получаете привычный опыт ChatGPT: диалоги с историей, системные промпты для настройки поведения ассистента, возможность загрузить документ и задавать по нему вопросы, переключение моделей на лету. Если хотите добавить облачные модели, укажите внешние API-ключи в настройках — интерфейс станет единой точкой доступа и к локальным, и к внешним сервисам.
Безопасный доступ снаружи
Чтобы пользоваться ассистентом не только с сервера, но и с телефона и ноутбука, нужен безопасный доступ извне. Никогда не выставляйте интерфейс в интернет голым портом — поставьте перед ним обратный прокси Nginx с HTTPS и доступом по домену:
apt install -y nginx certbot python3-certbot-nginx
certbot --nginx -d chat.ваш-домен.ru
Прокси проксирует запросы на локальный порт 3000 и добавляет шифрование. Встроенная в Open WebUI авторизация закрывает доступ паролем, а фаервол стоит настроить так, чтобы напрямую порт интерфейса извне не открывался — только через прокси. Так вы получаете приватный ChatGPT, доступный отовсюду, но защищённый от чужих. Для командного использования Open WebUI поддерживает несколько пользователей с разными правами, что удобно для небольшой компании с единым приватным ассистентом.
Приватность, обслуживание и рост
Главная ценность self-hosted решения — приватность. При локальной модели ваши диалоги, документы и данные не покидают сервер: ничего не отправляется во внешние сервисы, не используется для обучения чужих моделей и не хранится где-то на стороне. Для работы с чувствительной информацией — коммерческими данными, персональными сведениями, внутренними документами — это принципиальное преимущество.
По обслуживанию всё несложно: обновляйте контейнер Open WebUI и модели Ollama, следите за местом на диске и загрузкой GPU. Оформите оба сервиса на автостарт, чтобы они поднимались после перезагрузки сервера. Регулярно появляются новые, более сильные модели того же размера — обновление даёт прирост качества без смены железа.
Когда захочется запускать модели покрупнее ради лучшего качества ответов, понадобится карта с большим объёмом VRAM. Перейти на GPU-сервер помощнее у MAATRIX можно из панели с привычной оплатой из России, без переезда на другую площадку. Так ваш приватный ассистент растёт вместе с вашими задачами, оставаясь полностью под вашим контролем.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать GPU-серверОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Нужен ли GPU для self-hosted аналога ChatGPT?
Зависит от модели. Для локальной модели ради приватности — да, видеокарта на 8–12 ГБ VRAM тянет полезные модели. Если подключать внешние API, хватит обычного VPS без GPU.
Какая связка проще всего?
Ollama как движок модели и Open WebUI как интерфейс. Обе части бесплатны, ставятся за минуты, а чат внешне почти неотличим от ChatGPT с историей и выбором моделей.
Данные остаются приватными?
При локальной модели — полностью: диалоги и документы не покидают сервер и не уходят во внешние сервисы. Это ключевое преимущество для работы с чувствительной информацией.
Как оплатить сервер из России?
У MAATRIX доступна оплата картой российского банка, по СБП, криптовалютой и токеном MAAT, зарубежная карта не требуется.
Нужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.