Локальный LLM на Ollama: как поднять нейросеть дома и открыть доступ из любой точки

Локальный LLM на Ollama: как поднять нейросеть дома и открыть доступ из любой точки

Локальный LLM-сервер — это машина у вас дома или в офисе, на которой работает языковая модель без облачных подписок и лимитов токенов. Я собрал такой стенд на Ollama: модель отвечает из моей сети, данные не уходят к чужому провайдеру, а с телефона я подключаюсь через обратный туннель. Ниже — пошагово, какие ресурсы нужны, как открыть API и не оставить дыру в безопасности.

Меня давно раздражали растущие счета за API и ощущение, что каждый промпт куда-то логируется. Домашний ПК с нормальным GPU простаивал — логичный шаг: поставить рантайм, скачать 7–8B модель и гонять код, тексты и быстрые вопросы локально. Для девяти из десяти задач этого хватает; топовые облачные гиганты домашний стенд не заменит, но контроль и приватность — на вашей стороне.

Зачем поднимать LLM у себя, а не в облаке

Облачные сервисы удобны, пока не смотришь на годовой чек и политику хранения данных. Локальный инференс снимает лимиты запросов, убирает зависимость от чужого аптайма и позволяет экспериментировать с моделями без страха «слить» внутренний код. Платите вы в основном за электричество и железо, которое уже стоит под столом.

Плюс — предсказуемая латентность в домашней сети и возможность тонко настроить окружение: свои версии моделей, свои скрипты-обёртки, свой мониторинг. Минус — вы сами отвечаете за обновления, бэкапы и безопасность. Для меня это осознанный обмен: меньше магии чужого SaaS, больше прозрачности.

Какое железо нужно для Ollama

Минимальный комфортный сетап, который я бы рекомендовал: CPU на 8 ядер и 32 ГБ оперативной памяти — тогда модель среднего размера помещается в RAM целиком. GPU с 12 ГБ видеопамяти сильно ускоряет инференс: семи-восьми миллиардные модели отвечают почти мгновенно. Без видеокарты Ollama тоже работает на CPU, просто ждать ответ дольше.

Диск — под каталог моделей заложите 20–50 ГБ: веса llama3.1:8b и аналогов занимают ощутимое место. Сеть для локального использования не критична; для удалённого доступа важнее стабильный аплинк и продуманный туннель, а не гигабит внутри квартиры.

Установка Ollama и открытие API

Терминал Linux: установка Ollama и загрузка модели llama3.1
Терминал Linux: установка Ollama и загрузка модели llama3.1

Ollama называют «Docker для LLM» не зря: на Linux достаточно одной команды установки, затем ollama pull llama3.1:8b и ollama run llama3.1:8b. Рантайм поднимает REST API на 127.0.0.1:11434 — по умолчанию только с localhost, и это правильно.

Чтобы API слушал всю домашнюю сеть, я правлю unit через sudo systemctl edit ollama и добавляю Environment="OLLAMA_HOST=0.0.0.0:11434", после чего перезапускаю сервис. Теперь к модели можно стучаться с ноутбука и телефона в Wi‑Fi, не открывая порт наружу.

Доступ снаружи через обратный туннель

Защищённый туннель между домашним сервером и смартфоном в другой стране
Защищённый туннель между домашним сервером и смартфоном в другой стране

Проброс порта на роутере — классическая боль: серый IP, смена адреса, постоянная цель для ботов. Обратный туннель решает иначе: агент на домашней машине сам подключается к сервису и получает стабильный URL. Я использовал nozi.io — один адрес работает из дома и с мобильного интернета, независимо от NAT.

Критично: раз API оказался в интернете, закройте его. Минимум — заголовок с токеном и проверка на входе. Открытый эндпоинт без авторизации сканеры находят за часы и начинают греть вашу видеокарту чужими запросами. Я добавил простую проверку Bearer-токена на reverse-proxy перед Ollama.

Автозапуск через systemd

Юнит systemd перезапускает туннель после обрыва связи
Юнит systemd перезапускает туннель после обрыва связи

Комп перезагружается, провайдер моргает — туннель падает. Решение: обернуть клиент в systemd с Restart=always и RestartSec=5. Отдельный юнит nozi-tunnel.service зависит от network-online.target и ollama.service, а скрипт keep-tunnel.sh в цикле перезапускает туннель, если процесс завершился.

После daemon-reload и enable --now стенд поднимается сам: Ollama стартует, туннель цепляется, с телефона снова доступен тот же URL. Ручных действий после перезагрузки не требуется.

Что получилось в итоге

Персональная нейросеть на своём железе: данные остаются дома, подписки и лимиты токенов не душат эксперименты, один адрес доступен отовсюду, модели и версии — под полным контролем. Для кода, черновиков текстов, разбора документов и быстрых вопросов этого более чем достаточно.

Если хотите повторить путь: начните с Ollama и небольшой модели, убедитесь, что локальный API отвечает, затем прикрутите туннель и авторизацию. Туннель — последний шаг, не первый.

Частые вопросы

Можно ли без GPU? Да, Ollama работает на CPU, но ответы будут в разы медленнее; для постоянной работы GPU окупается комфортом.

Какую модель ставить первой? Для старта хватает llama3.1:8b — баланс качества и требований к памяти.

Безопасно ли светить API в интернет? Только с токеном или VPN; голый порт 11434 наружу — приглашение для ботов.

Чем туннель лучше проброса порта? Не нужен белый IP на роутере, адрес стабильный, исходящее соединение проще согласовать с провайдером.