# Installation manuelle

> Déployez PentAGI manuellement avec Docker Compose : créez le répertoire de travail, renseignez le fichier .env, ajoutez un provider LLM et démarrez la stack.

Utilisez la méthode manuelle lorsque vous souhaitez un contrôle total sur la configuration ou si vous ne pouvez pas exécuter l'installateur interactif.

## [1. Créer un répertoire de travail](https://pentagi.com/fr/docs/getting-started/manual-installation/#1-create-a-working-directory)

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

## [2. Télécharger le fichier d’environnement](https://pentagi.com/fr/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
```

Le fichier Compose associe trois fichiers de configuration de [provider](https://pentagi.com/fr/docs/glossary/#provider) ; créez-les (des fichiers vides suffisent) :

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

Si vous prévoyez d'utiliser un point de terminaison personnalisé compatible avec OpenAI ou Ollama, récupérez les configurations d'exemple au lieu des fichiers vides et faites pointer `LLM_SERVER_CONFIG_PATH` ou `OLLAMA_SERVER_CONFIG_PATH` dans `.env` vers `/opt/pentagi/conf/custom.provider.yml` ou `/opt/pentagi/conf/ollama.provider.yml`. L'exemple personnalisé nomme des modèles OpenAI, parmi lesquels `o3-mini`, qu'OpenAI retire le 23 octobre 2026 — définissez le `model` de chaque [agent](https://pentagi.com/fr/docs/glossary/#agent) sur l'un de ceux que votre point de terminaison dessert :

```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. Ajouter au moins un LLM provider](https://pentagi.com/fr/docs/getting-started/manual-installation/#3-add-at-least-one-llm-provider)

Modifiez `.env` et définissez la clé d'au moins un provider :

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

D'autres providers — AWS Bedrock, Ollama, DeepSeek, GLM, Kimi, Qwen, MiniMax, Mistral, xAI et les points de terminaison personnalisés — sont décrits dans [LLM providers](https://pentagi.com/fr/docs/configuration/llm-providers/). Les [search engines](https://pentagi.com/fr/docs/glossary/#search-engine) sont optionnels ; DuckDuckGo et Sploitus ne nécessitent aucune clé :

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

## [4. Démarrer la pile](https://pentagi.com/fr/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
```

L'interface web est accessible à l'adresse `https://localhost:8443`. Connectez-vous avec `admin@pentagi.com` / `admin` et changez le mot de passe.

L’interface web et les autres services sont liés à localhost, mais le [sandbox](https://pentagi.com/fr/docs/glossary/#sandbox) de chaque [flow](https://pentagi.com/fr/docs/glossary/#flow) publie deux ports de rappel, de `28000` à `29999` par défaut, sur toutes les interfaces de l’hôte Docker, et ufw ne les filtre pas. Sur un hôte accessible par d’autres, restreignez d’abord cette plage — consultez [Exposition réseau](https://pentagi.com/fr/docs/configuration/security/#network-exposure). Pour mettre à jour l’installation ultérieurement, suivez [Mise à niveau](https://pentagi.com/fr/docs/deployment/upgrade/).

## [Piles optionnelles](https://pentagi.com/fr/docs/getting-started/manual-installation/#optional-stacks)

Chaque service optionnel est fourni sous la forme de son propre fichier Compose que vous superposez au fichier de base :

| Pile                                               | Fichier Compose                                                                                    | Apport                                                |
| -------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
| Observabilité LLM                                  | [`docker-compose-langfuse.yml`](https://pentagi.com/fr/docs/configuration/observability/#langfuse)                       | Langfuse avec ClickHouse, Redis et MinIO              |
| [Knowledge graph](https://pentagi.com/fr/docs/glossary/#knowledge-graph) | [`docker-compose-graphiti.yml`](https://pentagi.com/fr/docs/concepts/memory/#knowledge-graph-optional)                   | Graphiti et Neo4j                                     |
| Observabilité système                              | [`docker-compose-observability.yml`](https://pentagi.com/fr/docs/configuration/observability/#grafana-and-opentelemetry) | Grafana, OpenTelemetry, VictoriaMetrics, Jaeger, Loki |

> [!WARNING]
> Pour la production et tout environnement où du code non fiable est exécuté, isolez les conteneurs de [tool](https://pentagi.com/fr/docs/glossary/#tool) sur un [worker node](https://pentagi.com/fr/docs/deployment/worker-node/) dédié.