SSD Nodes Learn Hosting plans →
Przewodniki Matt ConnorAutor: Matt Connor

Czy mozna hostowac Claude samodzielnie? Wyjasnienie

Modele Claude nie posiadaja publicznych wag, co uniemozliwia ich uruchomienie na wlasnym serwerze. Sprawdz, jak wykorzystac lokalne alternatywy, bramy API oraz Claude Code.

Czy można hostować Claude samodzielnie? Nie, oto dlaczego

Claude nie może być hostowany samodzielnie. Anthropic nie udostępnia wag modelu, więc nie istnieje plik do pobrania, kontener do uruchomienia ani licencja pozwalająca na serwowanie go z własnego sprzętu. Każde żądanie do Claude trafia do API Anthropic lub do hostowanego partnera, takiego jak Amazon Bedrock, Google Vertex AI czy Microsoft Foundry. Uruchomienie go na własnej maszynie nie jest kwestią konfiguracji. Ten artefakt po prostu nie istnieje poza infrastrukturą Anthropic.

To krótka odpowiedź. Dłuższa odpowiedź brzmi: większość osób zadających to pytanie w rzeczywistości nie potrzebuje wag modelu. Potrzebują jednej z trzech rzeczy, które można osiągnąć na własnym serwerze: wydajnego modelu działającego lokalnie, bramy (gateway) przechowującej klucze API i ograniczającej wydatki lub agenta programistycznego działającego na własnym serwerze zamiast na laptopie. Ten przewodnik omawia wszystkie trzy przypadki wraz z odpowiednimi poleceniami.

Co zazwyczaj oznacza "self-hosted Claude"

Ruch w wyszukiwarkach związany z frazą "self hosted Claude" wynika z kilku różnych potrzeb, które wymagają odmiennych rozwiązań.

Niektórzy użytkownicy oczekują prywatności. Nie chcą, aby prompty opuszczały ich sieć. Rozwiązaniem jest wyłącznie lokalny model o otwartych wagach, ponieważ każde żądanie do Claude jest z definicji żądaniem wysyłanym do Anthropic.

Niektórzy użytkownicy chcą kontrolować koszty. Obawiają się, że niekontrolowany agent wyczerpie dostępne środki. Rozwiązaniem jest brama (gateway), która współpracuje z Claude, pozwalając na zachowanie wysokiej jakości modelu.

Niektórzy użytkownicy chcą uniezależnić się od laptopa. Potrzebują agenta, który pracuje nawet po zamknięciu pokrywy urządzenia. Rozwiązaniem jest VPS, na którym Claude Code działa bez problemów.

Niektórzy użytkownicy szukają frazy "self hosted OpenRouter". To również wymaga bramy, a standardowym rozwiązaniem jest LiteLLM.

Należy określić własne wymagania, ponieważ w każdym z tych przypadków właściwa konfiguracja będzie inna.

Samodzielne hostowanie otwartego modelu za pomocą Ollama

Jeśli wymagane jest, aby żadne zapytanie nie opuszczało serwera, należy uruchomić model o otwartych wagach. Rodziny modeli, które obecnie realnie nadają się do użytku na wynajętym serwerze, to Llama, Qwen, Mistral, Gemma oraz DeepSeek. Wszystkie one udostępniają wagi, które można pobrać i uruchomić.

Ollama to najszybsza metoda wdrożenia. Skrypt instalacyjny składa się z jednej linii i konfiguruje usługę systemd w systemie Ubuntu.

curl -fsSL https://ollama.com/install.sh | sh
systemctl status ollama

systemctl status ollama powinno wyświetlić active (running). Następnie należy pobrać model i rozpocząć z nim konwersację.

ollama pull qwen3:8b
ollama run qwen3:8b "Summarise what a reverse proxy does in two sentences."

Pierwsze polecenie pull pobiera kilka gigabajtów danych, dlatego model musi zmieścić się w pamięci RAM lub pamięci GPU, zanim będzie w stanie udzielić jakiejkolwiek odpowiedzi. Przybliżona zasada dla modeli kwantyzowanych: model o 8 miliardach parametrów wymaga około 6 GB wolnej pamięci, model 14-miliardowy około 10 GB, a model 70-miliardowy potrzebuje więcej pamięci, niż posiada większość standardowych planów VPS. Jeśli serwerowi brakuje pamięci, proces jest zabijany przez jądro systemu, co skutkuje komunikatem Error: llama runner process has terminated oraz wpisem o braku pamięci (out of memory) w dmesg. Przed obwinianiem modelu należy sprawdzić free -h. Ten sam budżet pamięci decyduje o tym, jak długi fragment zapytania model faktycznie odczyta, ponieważ Ollama domyślnie przycina tekst po przekroczeniu skromnego okna kontekstowego, dlatego zwiększenie num_ctx i dostosowanie rozmiaru pamięci podręcznej KV jest pierwszą rzeczą do sprawdzenia, gdy długie dokumenty są zwracane tylko częściowo podsumowane.

Ollama udostępnia również API HTTP na porcie 127.0.0.1:11434, co czyni ją użyteczną dla innego oprogramowania, a nie tylko jako narzędzie do czatowania.

curl http://127.0.0.1:11434/api/generate -d '{"model":"qwen3:8b","prompt":"ping","stream":false}'

Jeśli pierwsze zapytanie po okresie bezczynności trwa trzydzieści sekund, a kolejne wracają natychmiast, nie oznacza to awarii: Ollama zwalnia model z pamięci po pięciu minutach bezczynności, a utrzymywanie go w pamięci za pomocą keep_alive eliminuje to opóźnienie przy ponownym ładowaniu.

Port ten powinien pozostać powiązany z localhost. Otwarty port Ollama na publicznym adresie IP to darmowa moc GPU dla każdego, kto go znajdzie. Pełna konfiguracja, w tym jednostka systemd, wykrywanie GPU oraz umieszczenie reverse proxy przed usługą, została opisana w przewodniku uruchamiania Ollama na VPS. Jeśli usługa ma obsługiwać więcej niż jednego użytkownika jednocześnie, należy najpierw przeczytać porównanie Ollama i vLLM, ponieważ konstrukcja Ollama oparta na pojedynczym strumieniu staje się wąskim gardłem znacznie wcześniej niż sam sprzęt.

Należy zachować realizm co do różnic. Dobry otwarty model na średniej wielkości serwerze VPS jest bardzo przydatny do podsumowywania, klasyfikacji, tworzenia szkiców i prostej ekstrakcji danych. W przypadku złożonego rozumowania wieloetapowego, dużych baz kodu oraz użycia agentów, nie dorównuje on wiodącym modelom hostowanym i żadne dopracowywanie promptów nie zniweluje tej różnicy. Należy wybierać model lokalny do zadań, w których się sprawdza, a za model hostowany płacić tam, gdzie stopień trudności jest rzeczywisty.

Uruchomienie własnej bramy (gateway) z LiteLLM

Jest to rozwiązanie typu "OpenRouter z własnym hostingiem", którego poszukują użytkownicy. Brama znajduje się pomiędzy aplikacjami a dostawcami modeli. Aplikacje przechowują jeden klucz, skierowany na Twój serwer. Rzeczywiste klucze dostawców znajdują się wyłącznie na tym serwerze. Możesz ograniczyć wydatki na klucz, kierować różne aplikacje do różnych modeli i logować każde żądanie w jednym miejscu.

LiteLLM jest powszechnym wyborem, ponieważ obsługuje API zgodne z OpenAI i przekazuje ruch do Anthropic, Ollama oraz większości innych dostawców za pośrednictwem tego samego punktu końcowego. Uruchom go w Docker za pomocą pliku konfiguracyjnego.

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

Zapisz to jako litellm_config.yaml i uruchom proxy. Nasłuchuje ono na porcie 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.yaml

LITELLM_MASTER_KEY to poświadczenie administratora, więc traktuj je jak hasło root i nie udostępniaj przykładowej wartości. Wywołuj proxy dokładnie tak, jak wywoływałbyś hostowane 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."}]}'

Poprawna odpowiedź to standardowy JSON z tablicą choices. 401 oznacza błąd uwierzytelnienia. W tej konfiguracji najczęstszą przyczyną jest nagłówek Authorization, który nie pasuje do klucza głównego. LiteLLM zwraca ten błąd również dla nieprawidłowego klucza wirtualnego oraz w przypadku, gdy dostawca odrzuci klucz (na przykład błędny ANTHROPIC_API_KEY) – błąd uwierzytelnienia zawiera wtedy nazwę dostawcy w formacie <Provider>Exception. 400 wskazujący na model często oznacza, że model w żądaniu nie pasuje do żadnego model_name w pliku konfiguracyjnym. LiteLLM zwraca również 400, gdy żądanie jest zbyt długie dla okna kontekstowego modelu, więc przed edycją konfiguracji przeczytaj komunikat o błędzie.

Powodem budowy tego rozwiązania zamiast bezpośredniego wywoływania Anthropic jest limit wydatków. Wydawaj osobny klucz wirtualny dla każdej aplikacji, z własnym budżetem.

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}'

Klucze wirtualne i budżety wymagają bazy danych Postgres za proxy. Powyższy docker run jej nie posiada, więc najpierw dodaj do niego -e DATABASE_URL=postgresql://user:password@host:5432/litellm. Bez bazy danych to wywołanie kończy się błędem No connected db..

Taki klucz może wydać sto dolarów i uzyskać dostęp do jednego modelu, i niczego więcej. Gdy agent zacznie działać nieprawidłowo o trzeciej nad ranem, zasięg awarii ogranicza się do jednego klucza, a nie całego konta. Ten wzorzec, wraz z towarzyszącym mu monitorowaniem, jest tematem utrzymywania kosztów agentów pod kontrolą na VPS. Jeśli nadal zastanawiasz się, czy w ogóle płacić za tokeny, porównanie kosztów API kontra subskrypcji przeprowadzi Cię przez obliczenia.

Zwróć uwagę na to, czego brama nie robi. Nie sprawia, że Claude działa lokalnie i nie ukrywa Twoich promptów przed Anthropic. Żądania nadal opuszczają Twój serwer w kierunku dostawcy. Zyskujesz natomiast kontrolę nad kluczami, wydatkami, routingiem i logami.

Uruchamianie Claude Code na własnym VPS

Trzecie życzenie jest najłatwiejsze do spełnienia. Claude Code to klient. Instaluje się jako pojedynczy natywny plik binarny i komunikuje się z API przez HTTPS. Umieszczenie go na własnym serwerze oznacza, że agent pracuje dalej po zamknięciu laptopa, a jego zasięg działania ogranicza się do środowiska, które można zresetować, zamiast wpływać na główną maszynę roboczą.

npm install -g @anthropic-ai/claude-code
claude --version

Pakiet npm wymaga Node.js 22 lub nowszego, choć w starszych wersjach Node.js instalacja wyświetla jedynie ostrzeżenie EBADENGINE i kończy się powodzeniem. Zalecany przez Anthropic instalator natywny, curl -fsSL https://claude.ai/install.sh | bash, nie wymaga Node.js w ogóle. Niezależnie od metody, zainstalowany plik binarny claude nie działa w oparciu o Node. Anthropic określa 4 GB pamięci RAM jako minimum, więc należy odpowiednio dobrać parametry VPS.

Należy uruchamiać go wewnątrz tmux, aby zerwanie połączenia SSH nie przerywało długotrwałych zadań. Taka konfiguracja, w tym obsługa sesji, została opisana w uruchamianiu Claude Code na VPS z tmux. Agentowi należy przydzielić osobnego użytkownika bez uprawnień administracyjnych oraz zapoznać się z zasadami bezpieczeństwa przy uruchamianiu Claude Code na serwerze przed przyznaniem mu uprawnień do zapisu w istotnych lokalizacjach.

Jest to self-hosting agenta, a nie modelu. Warto zachować precyzję w tym zakresie, ponieważ jest to kwestia często mylona. Użytkownik posiada kontrolę nad procesem, systemem plików, ruchem wychodzącym sieci oraz logami. Anthropic nadal odpowiada za inferencję.

Rzeczywiste koszty poszczególnych opcji

Ceny ulegają zmianom, dlatego należy traktować je jako orientacyjne, a nie jako ofertę handlową. Według stanu na 17 października 2026, Claude Sonnet 5.5 kosztuje 2 USD za milion tokenów wejściowych i 10 USD za milion tokenów wyjściowych, a Claude Opus 5.5 odpowiednio 4 USD i 20 USD. Sonnet 5, model użyty w powyższej konfiguracji bramy, został zastąpiony przez Sonnet 5.5, ale nie jest wycofany: strona Anthropic dotycząca wycofywania modeli oznacza go jako aktywny, z datą zakończenia wsparcia nie wcześniejszą niż 30 czerwca 2027. Kosztuje on nadal 2 USD i 10 USD, a Opus 5 odpowiednio 5 USD i 25 USD. Model lokalny nie generuje kosztów za token, lecz kosztuje tyle, ile miesięczne utrzymanie serwera, niezależnie od tego, czy jest używany, czy nie.

Punkt rentowności znajduje się niżej, niż się powszechnie uważa. VPS z pamięcią wystarczającą do uruchomienia użytecznego modelu otwartoźródłowego generuje realne koszty co miesiąc, pozostając przez większość czasu bezczynnym. Jeśli użycie ma charakter skokowy, hostowane API jest zazwyczaj tańsze. Jeśli użycie jest stałe lub dane nie mogą opuszczać sieci, model lokalny wygrywa pod oboma względami.

Uczciwym rozwiązaniem hybrydowym jest to, na które decyduje się większość zespołów. Uruchomienie modelu otwartoźródłowego lokalnie do zadań o dużej skali i niskim stopniu trudności. Kierowanie trudnych zapytań do hostowanego modelu klasy frontier. Umieszczenie bramy przed oboma rozwiązaniami sprawia, że aplikacje nie muszą rozróżniać modeli, a granice między nimi można przesuwać bez modyfikacji kodu aplikacji. Taka architektura jest praktyczną wersją "self-hosted Claude" i w przeciwieństwie do wersji dosłownej, faktycznie istnieje. Jeśli istnieje chęć samodzielnego uruchomienia całego stosu agenta, przegląd samoobsługowych agentów AI zawiera informacje o dostępnych rozwiązaniach.

FAQ

Czy mogę pobrać wagi modelu Claude i uruchomić je lokalnie?

Nie. Anthropic nigdy nie udostępniło wag żadnego modelu Claude i nie istnieje licencja zezwalająca na self-hosting. Wszystko, co jest reklamowane w sieci jako „model Claude” do pobrania, jest albo innym modelem o mylącej nazwie, albo wrapperem wywołującym API. Jeśli rozwiązanie wymaga klucza API, nie jest to uruchomienie lokalne.

Jaki jest najbliższy otwarty model względem Claude?

Nie ma dokładnego odpowiednika, a liderzy zmieniają się co kilka miesięcy. Rodziny modeli o otwartych wagach, które warto przetestować, to Llama, Qwen, Mistral, Gemma oraz DeepSeek. W zadaniach takich jak podsumowywanie, klasyfikacja i proste edycje kodu, dobry otwarty model o rozmiarze od 8 do 14 miliardów parametrów jest w pełni użyteczny. W przypadku długiego, wieloetapowego wnioskowania oraz korzystania z narzędzi przez agentów, różnica względem hostowanych modeli klasy frontier pozostaje znaczna. Należy przeprowadzić testy na własnych promptach, zamiast polegać wyłącznie na rankingach.

Czy LiteLLM to self-hosted OpenRouter?

Funkcjonalnie tak, w zakresie routingu i zarządzania kluczami. LiteLLM działa na własnym serwerze, udostępnia jeden endpoint zgodny z OpenAI i przekazuje zapytania do Anthropic, Ollama oraz większości innych dostawców. Po podłączeniu bazy danych Postgres uzyskuje się limity wydatków na klucz, routing modeli oraz centralne miejsce do przeglądania logów. Rozwiązanie to nie zapewnia jednak lokalnej inferencji: zapytania do Claude nadal trafiają do Anthropic.

Czy uruchomienie Claude Code na własnym serwerze zapewnia prywatność kodu?

Nie. Claude Code wysyła zawartość odczytywanych plików do API Anthropic, niezależnie od tego, gdzie uruchomiony jest proces. VPS zapewnia izolację agenta, a nie prywatność treści. Należy przypisać mu dedykowanego użytkownika bez uprawnień, trzymać go z dala od poświadczeń i niepowiązanych repozytoriów oraz traktować wszystko, co agent może odczytać, jako dane opuszczające serwer.

Czy ten artykuł był przydatny?