# Instalacja ręczna

> Wdróż PentAGI ręcznie za pomocą Docker Compose — utwórz katalog roboczy, wypełnij plik .env, dodaj provider LLM i uruchom stos.

Skorzystaj z instalacji ręcznej, gdy chcesz mieć pełną kontrolę nad konfiguracją lub nie możesz uruchomić interaktywnego instalatora.

## [1. Utwórz katalog roboczy](https://pentagi.com/pl/docs/getting-started/manual-installation/#1-create-a-working-directory)

```bash
mkdir -p ~/pentagi && cd ~/pentagi
```

## [2. Pobierz plik środowiskowy](https://pentagi.com/pl/docs/getting-started/manual-installation/#2-download-the-environment-file)

```bash
test -f .env || curl -fo .env.new https://raw.githubusercontent.com/vxcontrol/pentagi/main/.env.example
test -f .env.new && openssl rand -hex 32 | xargs -I VALUE sed -E -i.bak 's/^COOKIE_SIGNING_SALT=salt( .*)?$/COOKIE_SIGNING_SALT=VALUE/' .env.new
test -f .env.new && openssl rand -hex 16 | xargs -I VALUE sed -E -i.bak 's/^PENTAGI_POSTGRES_PASSWORD=postgres( .*)?$/PENTAGI_POSTGRES_PASSWORD=VALUE/' .env.new
test -f .env || mv .env.new .env
```

Plik compose montuje trzy pliki konfiguracyjne [provider](https://pentagi.com/pl/docs/glossary/#provider), więc je utwórz — puste pliki są w porządku:

```bash
touch example.custom.provider.yml example.ollama.provider.yml example.bedrock.provider.yml
```

Jeśli planujesz użyć niestandardowego punktu końcowego zgodnego z OpenAI lub Ollama, pobierz przykładowe konfiguracje zamiast pustych plików i ustaw `LLM_SERVER_CONFIG_PATH` lub `OLLAMA_SERVER_CONFIG_PATH` w `.env` na `/opt/pentagi/conf/custom.provider.yml` lub `/opt/pentagi/conf/ollama.provider.yml`. Przykładowa konfiguracja niestandardowa wymienia modele OpenAI, wśród nich `o3-mini`, który OpenAI wycofuje 23 października 2026 r. — ustaw `model` każdego agenta na taki, który obsługuje Twój punkt końcowy:

```bash
curl -o example.custom.provider.yml https://raw.githubusercontent.com/vxcontrol/pentagi/main/examples/configs/custom-openai.provider.yml
curl -o example.ollama.provider.yml https://raw.githubusercontent.com/vxcontrol/pentagi/main/examples/configs/ollama-llama318b.provider.yml
```

## [3. Dodaj co najmniej jednego LLM provider](https://pentagi.com/pl/docs/getting-started/manual-installation/#3-add-at-least-one-llm-provider)

Edytuj `.env` i ustaw klucz dla co najmniej jednego provider:

```bash
OPEN_AI_KEY=your_openai_key
ANTHROPIC_API_KEY=your_anthropic_key
GEMINI_API_KEY=your_gemini_key
```

Inni providers — AWS Bedrock, Ollama, DeepSeek, GLM, Kimi, Qwen, MiniMax, Mistral, xAI oraz niestandardowe punkty końcowe — są opisani w sekcji [LLM providers](https://pentagi.com/pl/docs/configuration/llm-providers/). [Search engines](https://pentagi.com/pl/docs/glossary/#search-engine) są opcjonalne; DuckDuckGo i Sploitus nie wymagają klucza:

```bash
DUCKDUCKGO_ENABLED=true
SPLOITUS_ENABLED=true
TAVILY_API_KEY=your_tavily_key
```

## [4. Uruchom usługi](https://pentagi.com/pl/docs/getting-started/manual-installation/#4-start-the-stack)

```bash
curl -O https://raw.githubusercontent.com/vxcontrol/pentagi/main/docker-compose.yml
test -f .env && docker compose up -d
```

Interfejs WWW jest dostępny pod adresem `https://localhost:8443`. Zaloguj się danymi `admin@pentagi.com` / `admin` i zmień hasło.

Interfejs webowy i inne usługi są powiązane z localhost, ale każdy [sandbox](https://pentagi.com/pl/docs/glossary/#sandbox) [flow](https://pentagi.com/pl/docs/glossary/#flow) publikuje dwa porty callback, domyślnie z zakresu `28000`–`29999`, na każdym interfejsie hosta Docker, a ufw ich nie filtruje. Na hoście dostępnym dla innych najpierw ogranicz ten zakres — zobacz [Network exposure](https://pentagi.com/pl/docs/configuration/security/#network-exposure). Aby później zaktualizować instalację, postępuj zgodnie z [Upgrading](https://pentagi.com/pl/docs/deployment/upgrade/).

## [Usługi opcjonalne](https://pentagi.com/pl/docs/getting-started/manual-installation/#optional-stacks)

Każda opcjonalna usługa ma własny plik compose, który nakładasz na plik bazowy:

| Usługa                                             | Plik compose                                                                                       | Co dodaje                                             |
| -------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
| Obserwowalność LLM                                 | [`docker-compose-langfuse.yml`](https://pentagi.com/pl/docs/configuration/observability/#langfuse)                       | Langfuse z ClickHouse, Redis i MinIO                  |
| [Knowledge graph](https://pentagi.com/pl/docs/glossary/#knowledge-graph) | [`docker-compose-graphiti.yml`](https://pentagi.com/pl/docs/concepts/memory/#knowledge-graph-optional)                   | Graphiti i Neo4j                                      |
| Obserwowalność systemu                             | [`docker-compose-observability.yml`](https://pentagi.com/pl/docs/configuration/observability/#grafana-and-opentelemetry) | Grafana, OpenTelemetry, VictoriaMetrics, Jaeger, Loki |

> [!WARNING]
> W środowisku produkcyjnym i wszędzie tam, gdzie uruchamiany jest niezaufany kod, odizoluj kontenery [tool](https://pentagi.com/pl/docs/glossary/#tool) na dedykowanym [worker node](https://pentagi.com/pl/docs/deployment/worker-node/).