Чи можна розгорнути Claude на власному сервері?
Ваги Claude не опубліковані, тому запустити модель на власному сервері неможливо. Дізнайтеся, що можна self-host: open models, gateway і Claude Code.
Чи можна розгорнути Claude на власній інфраструктурі? Ні, і ось чому
Ви не можете розгорнути Claude на власній інфраструктурі. Anthropic не публікує ваги моделі, тому немає файла для завантаження, контейнера для запуску чи ліцензії, яка дозволяла б надавати до нього доступ із власного обладнання. Кожен запит до Claude надходить до API Anthropic або до розміщеного партнера, наприклад Amazon Bedrock, Google Vertex AI чи Microsoft Foundry. Запуск на машині, якою ви володієте, — це не проблема конфігурації. Цього артефакту просто не існує за межами Anthropic.
Це коротка відповідь. Розгорнута відповідь полягає в тому, що більшість людей, які ставлять це запитання, насправді не потребують ваг моделі. Їм потрібна одна з трьох речей, кожну з яких можна реалізувати на сервері під вашим контролем: потужна модель, що працює локально; шлюз, який зберігає їхні API keys і обмежує витрати; або coding agent, що працює на їхньому власному сервері, а не на ноутбуці. У цьому посібнику розглянуто всі три варіанти разом із командами.
Що зазвичай мають на увазі під "self-hosted Claude"
Пошуковий трафік за запитом "self hosted Claude" охоплює кілька різних потреб, і для кожної потрібна окрема відповідь.
Дехто хоче конфіденційності. Вони не хочуть, щоб промпти залишали їхню мережу. Це вирішує лише локальна модель із відкритими вагами, оскільки будь-який запит Claude за визначенням надходить до Anthropic.
Дехто хоче контролювати витрати. Вони побоюються, що агент без обмежень витратить усі кредити. Це вирішує gateway, який працює з Claude і дає змогу зберегти якість моделі.
Дехто хоче не залежати від ноутбука. Їм потрібен агент, який продовжує працювати після закриття кришки. Це вирішує VPS, і Claude Code без проблем працює на ньому.
Дехто шукає "self hosted OpenRouter". Це також gateway, і зазвичай для цього використовують LiteLLM.
Визначте, який варіант потрібен саме вам, оскільки в кожному випадку потрібна інша конфігурація.
Розгортання open model із self-hosting через Ollama
Якщо потрібно, щоб жоден prompt не залишав ваш сервер, запустіть open weight model. Сімейства, які сьогодні справді придатні для використання на орендованому сервері, — Llama, Qwen, Mistral, Gemma і DeepSeek. Для всіх них доступні weights, які можна завантажити й запустити.
Ollama — найшвидший спосіб почати. Скрипт встановлення складається з одного рядка та налаштовує systemd service в Ubuntu.
curl -fsSL https://ollama.com/install.sh | sh
systemctl status ollamasystemctl status ollama має вивести active (running). Потім завантажте модель і поспілкуйтеся з нею.
ollama pull qwen3:8b
ollama run qwen3:8b "Summarise what a reverse proxy does in two sentences."Перший pull завантажує кілька гігабайтів, тому модель має поміщатися в RAM або GPU memory, перш ніж зможе щось відповісти. Орієнтовне правило для quantised models: моделі з 8 billion parameters потрібно близько 6 GB вільної пам’яті, моделі з 14 billion parameters — близько 10 GB, а моделі з 70 billion parameters потрібно більше пам’яті, ніж доступно в більшості VPS загального призначення. Якщо на сервері недостатньо пам’яті, kernel завершує процес, і ви бачите Error: llama runner process has terminated, а в dmesg з’являється повідомлення про недостатній обсяг пам’яті. Перевірте free -h, перш ніж звинувачувати модель. Цей самий бюджет пам’яті визначає, яку частину довгого prompt модель фактично прочитає, оскільки Ollama непомітно обрізає все, що виходить за межі помірного вікна за замовчуванням. Тому збільшення num_ctx і визначення розміру KV cache — це перше, що потрібно перевірити, якщо після обробки довгих документів повертається лише частковий підсумок.
Ollama також надає HTTP API на 127.0.0.1:11434. Саме це робить її корисною для іншого програмного забезпечення, а не лише як чат-інструмент.
curl http://127.0.0.1:11434/api/generate -d '{"model":"qwen3:8b","prompt":"ping","stream":false}'Якщо перший запит після тривалої паузи виконується тридцять секунд, а наступний повертається миттєво, це не означає, що щось зламалося: Ollama вивантажує модель після п’яти хвилин бездіяльності, а утримання моделі в пам’яті за допомогою keep_alive усуває затримку повторного завантаження.
Залиште цей порт прив’язаним до localhost. Відкритий порт Ollama на публічній IP-адресі фактично надає безкоштовний GPU тому, хто його знайде. Повний опис розгортання, включно з systemd unit, визначенням GPU та встановленням reverse proxy перед Ollama, наведено в посібнику із запуску Ollama на VPS. Якщо одночасно обслуговується більше одного користувача, спочатку прочитайте порівняння Ollama і vLLM, оскільки однопотокова архітектура Ollama стає вузьким місцем значно раніше, ніж апаратне забезпечення.
Реалістично оцінюйте різницю. Якісна open model на VPS середнього розміру справді корисна для підсумовування, класифікації, підготовки чернеток і простого вилучення даних. У тривалому багатокроковому міркуванні, роботі з великими codebase та agentic tool use вона не наближається до frontier hosted model, і жодне налаштування prompt не усуне цю різницю. Обирайте локальну модель для завдань, у яких вона ефективна, а hosted model використовуйте там, де складність справді висока.
Запустіть власний gateway за допомогою LiteLLM
Це «self-hosted OpenRouter», який шукають користувачі. Gateway розташовується між вашими застосунками та всіма провайдерами моделей. Застосунки використовують один ключ, спрямований на ваш сервер. Справжні ключі провайдерів зберігаються лише на цьому сервері. Ви можете обмежувати витрати для кожного ключа, спрямовувати різні застосунки до різних моделей і журналювати кожен запит в одному місці.
LiteLLM часто обирають, оскільки він підтримує OpenAI-compatible API і проксує запити до Anthropic, Ollama та більшості інших провайдерів через один endpoint. Запустіть його в Docker із файлом конфігурації.
model_list:
- model_name: claude
litellm_params:
model: anthropic/claude-sonnet-5
api_key: os.environ/ANTHROPIC_API_KEY
- model_name: local
litellm_params:
model: ollama/qwen3:8b
api_base: http://127.0.0.1:11434Збережіть це як litellm_config.yaml і запустіть proxy. Він слухає порт 4000.
docker run -v $(pwd)/litellm_config.yaml:/app/config.yaml \
-e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
-e LITELLM_MASTER_KEY=sk-1234 \
-p 4000:4000 docker.litellm.ai/berriai/litellm:latest \
--config /app/config.yamlLITELLM_MASTER_KEY — це облікові дані адміністратора, тому захищайте їх так само, як пароль root, і не використовуйте значення з прикладу в production. Викликайте proxy так само, як hosted API.
curl http://localhost:4000/v1/chat/completions \
-H 'Authorization: Bearer sk-1234' \
-H 'Content-Type: application/json' \
-d '{"model": "claude","messages": [{"role": "user","content": "Say hello in five words."}]}'Коректна відповідь — звичайний JSON із масивом choices. Значення 401 означає помилку автентифікації. У цій конфігурації типовою причиною є заголовок Authorization, значення якого не збігається з вашим master key. LiteLLM також повертає його для недійсного virtual key. Автентифікація також завершується помилкою, якщо провайдер відхиляє його ключ (наприклад, через неправильний ANTHROPIC_API_KEY); у помилці буде назва провайдера у форматі <Provider>Exception. Значення 400 із назвою моделі часто означає, що model у вашому запиті не відповідає жодному model_name у файлі конфігурації. LiteLLM також повертає 400, коли запит надто довгий для context window моделі, тому прочитайте текст помилки, перш ніж змінювати конфігурацію.
Причина розгортати це рішення, а не звертатися безпосередньо до Anthropic, — обмеження витрат. Створіть окремий virtual key для кожного застосунку та призначте кожному власний бюджет.
curl 'http://0.0.0.0:4000/key/generate' \
--header 'Authorization: Bearer sk-1234' \
--header 'Content-Type: application/json' \
--data-raw '{"models": ["claude"], "max_budget": 100}'Для virtual keys і бюджетів потрібна база даних Postgres за proxy. У наведеному вище docker run її немає, тому спочатку додайте до нього -e DATABASE_URL=postgresql://user:password@host:5432/litellm. Без бази даних цей виклик завершується помилкою No connected db.
Цей ключ може витратити сто доларів і звертатися лише до однієї моделі. Інші операції йому недоступні. Якщо агент працює некоректно о третій годині ночі, наслідки обмежуються одним ключем, а не всім вашим обліковим записом. Цей підхід і пов’язаний із ним моніторинг описано в матеріалі як контролювати витрати агентів на VPS. Якщо ви ще вирішуєте, чи варто взагалі платити за кожен токен, у матеріалі порівняння вартості API та підписки наведено відповідні розрахунки.
Зверніть увагу, чого gateway не робить. Він не робить Claude локальним і не приховує ваші промпти від Anthropic. Запити все одно залишають ваш сервер і надходять до провайдера. Натомість ви отримуєте контроль над ключами, витратами, маршрутизацією та журналами.
Запустіть Claude Code на власному VPS
Це найпростіше виконати з третього пункту. Claude Code — клієнт. Він встановлюється як один native binary і працює з API через HTTPS. Якщо розмістити його на власному сервері, агент продовжить працювати після вимкнення ноутбука. Крім того, наслідки збою або компрометації обмежуються сервером, який можна перевстановити, а не основним комп’ютером.
npm install -g @anthropic-ai/claude-code
claude --versionДля npm package потрібен Node.js 22 або новіший. На старішій версії Node.js під час встановлення лише виводиться попередження EBADENGINE, після чого встановлення завершується успішно. Рекомендований Anthropic native installer, curl -fsSL https://claude.ai/install.sh | bash, взагалі не потребує Node.js. У будь-якому разі встановлений бінарний файл claude не працює на Node. Anthropic вказує 4 GB RAM як мінімальну вимогу, тому обирайте VPS із відповідним обсягом пам’яті.
Запускайте його всередині tmux, щоб розрив SSH-з’єднання не завершував тривале завдання. Цю конфігурацію, зокрема роботу із сесіями, описано в матеріалі як запускати Claude Code на VPS за допомогою tmux. Створіть для агента окремого непривілейованого користувача. Перш ніж надати йому доступ на запис до важливих даних, ознайомтеся з матеріалом правила безпечного запуску Claude Code на сервері.
Це self-hosting агента, а не моделі. Важливо чітко розрізняти ці поняття, оскільки їх часто плутають. Ви контролюєте процес, файлову систему, вихідний мережевий трафік і журнали. Inference і далі виконує Anthropic.
Скільки насправді коштує кожен варіант
Ціни змінюються, тому сприймайте наведені значення як орієнтир, а не як комерційну пропозицію. Станом на 17 October 2026 Claude Sonnet 5.5 коштує $2 за мільйон вхідних токенів і $10 за мільйон вихідних токенів, а Claude Opus 5.5 — $4 і $20 відповідно. Sonnet 5, модель у наведеній вище конфігурації gateway, замінено на Sonnet 5.5, але її не визнано застарілою: на сторінці Anthropic про припинення підтримки моделей її статус зазначено як Active, а виведення з експлуатації заплановано не раніше 30 June 2027. Вона й далі коштує $2 і $10, а для Opus 5, як і раніше, вказано $5 і $25. Локальна модель не має вартості за токен. Натомість ви платите щомісячну вартість сервера незалежно від того, використовуєте його чи ні.
Точка беззбитковості настає раніше, ніж очікує більшість людей. VPS із достатнім обсягом пам’яті для запуску корисної open model щомісяця коштує реальних грошей і більшу частину часу простоює. Якщо навантаження має сплески, hosted API зазвичай дешевший. Якщо навантаження постійне або ваші дані не можуть залишати мережу, локальна модель виграє за обома критеріями.
Чесна комбінована відповідь — це варіант, до якого зрештою приходить більшість команд. Запускайте open model локально для великого обсягу нескладних завдань. Складні запити спрямовуйте до hosted frontier model. Розмістіть gateway перед обома моделями, щоб застосункам не потрібно було знати, яка саме модель обробляє запит, а ви могли змінювати межу між ними без змін у коді застосунків. Ця архітектура є практичною версією «self hosted Claude», і, на відміну від буквальної версії, вона існує. Якщо ви також хочете самостійно запускати весь стек agent, ознайомтеся з оглядом self-hosted AI agents, де описано доступні варіанти.
FAQ
Чи можна завантажити ваги моделі Claude і запускати її локально?
Ні. Anthropic ніколи не випускала ваги жодної моделі Claude, і ліцензії, що дозволяє self-hosting, не існує. Усе, що рекламують в інтернеті як завантажувану «модель Claude», — це або інша модель із оманливою назвою, або wrapper, який викликає API. Якщо для роботи потрібен API key, це не локальний запуск.
Яка open model найближча до Claude?
Точного відповідника немає, а лідери змінюються кожні кілька місяців. Сімейства моделей із відкритими вагами, які варто протестувати, — Llama, Qwen, Mistral, Gemma і DeepSeek. Для узагальнення, класифікації та простого редагування коду якісна open model із 8–14 мільярдами параметрів справді корисна. У складному багатокроковому міркуванні та агентному використанні інструментів розрив із hosted frontier model досі значний. Тестуйте моделі на власних промптах, а не покладайтеся на leaderboard.
LiteLLM — це self-hosted OpenRouter?
Функціонально — так, у частині маршрутизації та керування ключами. LiteLLM працює на вашому сервері, надає один OpenAI-compatible endpoint і проксує запити до Anthropic, Ollama та більшості інших провайдерів. Після підключення бази даних Postgres ви отримуєте ліміти витрат для кожного ключа, маршрутизацію моделей і єдине місце для перегляду журналів. Але LiteLLM не забезпечує локальний inference: запити до Claude все одно передаються в Anthropic.
Чи зберігає запуск Claude Code на власному сервері конфіденційність мого коду?
Ні. Claude Code надсилає вміст прочитаних файлів до Anthropic API, незалежно від того, де запущено процес. VPS забезпечує ізоляцію агента, але не конфіденційність вмісту. Створіть для нього окремого непривілейованого користувача, обмежте доступ до облікових даних і сторонніх репозиторіїв та вважайте все, що він може прочитати, даними, які залишають сервер.