# Handmatige installatie

> Zet PentAGI handmatig op met Docker Compose — maak de werkmap aan, vul het .env-bestand in, voeg een LLM provider toe en start de stack.

Gebruik de handmatige methode wanneer je volledige controle over de configuratie wilt of de interactieve installer niet kunt uitvoeren.

## [1. Maak een werkmap aan](https://pentagi.com/nl/docs/getting-started/manual-installation/#1-create-a-working-directory)

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

## [2. Download het omgevingsbestand](https://pentagi.com/nl/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
```

Het compose-bestand gebruikt drie configuratiebestanden voor [providers](https://pentagi.com/nl/docs/glossary/#provider), dus maak deze aan — lege bestanden zijn voldoende:

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

Als je een eigen OpenAI-compatibel endpoint of Ollama wilt gebruiken, haal dan de voorbeeldconfiguraties op in plaats van de lege bestanden en verwijs met `LLM_SERVER_CONFIG_PATH` of `OLLAMA_SERVER_CONFIG_PATH` in `.env` naar `/opt/pentagi/conf/custom.provider.yml` of `/opt/pentagi/conf/ollama.provider.yml`. De aangepaste voorbeelden noemen OpenAI-modellen, waaronder `o3-mini`, dat OpenAI op 23 oktober 2026 uitfaset — stel de `model` van elke [agent](https://pentagi.com/nl/docs/glossary/#agent) in op een model dat jouw endpoint aanbiedt:

```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. Voeg minimaal één LLM-provider toe](https://pentagi.com/nl/docs/getting-started/manual-installation/#3-add-at-least-one-llm-provider)

Bewerk `.env` en stel de sleutel van ten minste één provider in:

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

Andere providers — AWS Bedrock, Ollama, DeepSeek, GLM, Kimi, Qwen, MiniMax, Mistral, xAI en eigen endpoints — worden beschreven in [LLM-providers](https://pentagi.com/nl/docs/configuration/llm-providers/). [Search engines](https://pentagi.com/nl/docs/glossary/#search-engine) zijn optioneel; DuckDuckGo en Sploitus hebben geen sleutel nodig:

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

## [4. Start de stack](https://pentagi.com/nl/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
```

De webinterface is beschikbaar op `https://localhost:8443`. Log in met `admin@pentagi.com` / `admin` en wijzig het wachtwoord.

De web-UI en de andere services zijn gebonden aan localhost, maar de [sandbox](https://pentagi.com/nl/docs/glossary/#sandbox) van elke [flow](https://pentagi.com/nl/docs/glossary/#flow) publiceert twee callback-poorten, standaard van `28000`–`29999`, op elke interface van de Docker-host en ufw filtert deze niet. Beperk dat bereik eerst op een host die anderen kunnen bereiken — zie [Netwerkexpositie](https://pentagi.com/nl/docs/configuration/security/#network-exposure). Volg [Upgraden](https://pentagi.com/nl/docs/deployment/upgrade/) om de installatie later bij te werken.

## [Optionele stacks](https://pentagi.com/nl/docs/getting-started/manual-installation/#optional-stacks)

Elke optionele service wordt geleverd als een eigen compose-bestand dat je bovenop het basisbestand legt:

| Stack                                              | Compose-bestand                                                                                    | Wat het toevoegt                                      |
| -------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
| LLM-observability                                  | [`docker-compose-langfuse.yml`](https://pentagi.com/nl/docs/configuration/observability/#langfuse)                       | Langfuse met ClickHouse, Redis en MinIO               |
| [Knowledge graph](https://pentagi.com/nl/docs/glossary/#knowledge-graph) | [`docker-compose-graphiti.yml`](https://pentagi.com/nl/docs/concepts/memory/#knowledge-graph-optional)                   | Graphiti en Neo4j                                     |
| Systeemobservability                               | [`docker-compose-observability.yml`](https://pentagi.com/nl/docs/configuration/observability/#grafana-and-opentelemetry) | Grafana, OpenTelemetry, VictoriaMetrics, Jaeger, Loki |

> [!WARNING]
> Voor productie en elke omgeving waar niet-vertrouwde code draait, isoleer je de tool-containers op een speciale [worker node](https://pentagi.com/nl/docs/deployment/worker-node/).