Prise en main rapide
Fichiers source
Cette page est générée à partir des fichiers source suivants :
Prérequis
Sim est une plateforme open source permettant de construire des agents IA et d'orchestrer des workflows agentiques. Avant de commencer l'installation, il est essentiel de vérifier que l'environnement répond aux exigences minimales.
Exigences système
| Composant | Exigence minimale | Notes |
|---|---|---|
| Mémoire RAM | 12 Go+ | Le conteneur principal est limité à 8 Go (docker-compose.prod.yml:10) |
| Docker | Version récente | Obligatoire pour le déploiement via NPM ou Docker Compose (README.md:55) |
| Ports | 3000, 3002, 5432 | Respectivement pour l'application, le serveur realtime et PostgreSQL |
Pour l'installation manuelle
| Composant | Version requise |
|---|---|
| Bun | Dernière version stable |
| Node.js | v20+ (README.md:113) |
| PostgreSQL | 12+ avec extension pgvector (README.md:113) |
Méthodes dinstallation
Le projet propose plusieurs méthodes d'installation adaptées à différents cas d'usage. Le tableau suivant récapitule les options disponibles :
| Méthode | Commande principale | Cas d'usage |
|---|---|---|
| NPM (recommandé) | npx simstudio | Démarrage rapide local |
| Docker Compose | docker compose -f docker-compose.prod.yml up -d | Déploiement production |
| Ollama local | docker compose -f docker-compose.ollama.yml --profile setup up -d | IA locale sans API externe |
| Dev Containers | VS Code + extension Remote | Développement contributif |
| Manuel | bun install + configuration | Personnalisation avancée |
Démarrage rapide avec NPM
La méthode la plus simple pour démarrer Sim localement utilise le package NPM officiel. Cette approche convient parfaitement pour un test rapide ou un développement local.
Commande de démarrage
bash1npx simstudio
Cette commande lance l'application sur le port 3000 par défaut (README.md:50-52).
Options disponibles
| Flag | Description |
|---|---|
-p, --port <port> | Port d'exécution (défaut : 3000) (README.md:61) |
--no-pull | Ignorer le téléchargement des dernières images Docker (README.md:62) |
Prérequis Docker
Docker doit être installé et en cours d'exécution sur la machine (README.md:55). Sans cela, la commande échouera.
Déploiement avec Docker Compose
Docker Compose offre un déploiement complet incluant l'application, la base de données et les services satellites.
Installation standard
bash1git clone https://github.com/simstudioai/sim.git && cd sim 2docker compose -f docker-compose.prod.yml up -d
L'application sera accessible à l'adresse http://localhost:3000 (README.md:66-71).
Architecture des services
Le fichier docker-compose.prod.yml définit quatre services principaux :
| Service | Image | Port | Rôle |
|---|---|---|---|
| simstudio | ghcr.io/simstudioai/simstudio:latest | 3000 | Application principale (docker-compose.prod.yml:2-6) |
| realtime | ghcr.io/simstudioai/realtime:latest | 3002 | Serveur Socket.io temps réel (docker-compose.prod.yml:40-44) |
| migrations | ghcr.io/simstudioai/migrations:latest | - | Exécution des migrations DB (docker-compose.prod.yml:67-68) |
| db | pgvector/pgvector:pg17 | 5432 | PostgreSQL avec pgvector (docker-compose.prod.yml:78-82) |
Variables d'environnement essentielles
Le fichier compose référence plusieurs variables d'environnement critiques :
yaml1DATABASE_URL=postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@db:5432/${POSTGRES_DB:-simstudio} 2BETTER_AUTH_SECRET=${BETTER_AUTH_SECRET} 3ENCRYPTION_KEY=${ENCRYPTION_KEY} 4INTERNAL_API_SECRET=${INTERNAL_API_SECRET}
Ces variables sont définies dans le fichier compose (docker-compose.prod.yml:13-19). Les valeurs par défaut pour PostgreSQL sont postgres/postgres/simstudio.
Utilisation avec Ollama
Sim supporte les modèles IA locaux via Ollama, permettant un fonctionnement sans API externe.
Démarrage avec support GPU
bash1docker compose -f docker-compose.ollama.yml --profile setup up -d
Cette commande télécharge automatiquement le modèle gemma3:4b (README.md:78-79).
Démarrage CPU uniquement
bash1docker compose -f docker-compose.ollama.yml --profile cpu --profile setup up -d
Pour les systèmes sans GPU (README.md:81-82).
Ajout de modèles supplémentaires
bash1docker compose -f docker-compose.ollama.yml exec ollama ollama pull llama3.1:8b
Cette commande permet d'ajouter d'autres modèles après le démarrage initial (README.md:86-88).
Configuration Ollama externe
Si Ollama tourne sur la machine hôte, utiliser host.docker.internal :
bash1OLLAMA_URL=http://host.docker.internal:11434 docker compose -f docker-compose.prod.yml up -d
L'URL Ollama par défaut dans le fichier Ollama est http://ollama:11434 (docker-compose.ollama.yml:23), tandis que le fichier prod utilise http://localhost:11434 (docker-compose.prod.yml:23).
Installation manuelle
L'installation manuelle offre un contrôle total sur la configuration mais nécessite plus d'étapes.
Clonage et installation des dépendances
bash1git clone https://github.com/simstudioai/sim.git 2cd sim 3bun install
Ces commandes clonent le dépôt et installent les dépendances (README.md:117-121).
Configuration de PostgreSQL avec pgvector
bash1docker run --name simstudio-db \ 2 -e POSTGRES_PASSWORD=your_password \ 3 -e POSTGRES_DB=simstudio \ 4 -p 5432:5432 \ 5 -d pgvector/pgvector:pg17
Cette commande crée un conteneur PostgreSQL avec l'extension pgvector (README.md:125-127).
Configuration des fichiers d'environnement
bash1cp apps/sim/.env.example apps/sim/.env 2cp packages/db/.env.example packages/db/.env
Les deux fichiers .env doivent être configurés avec la variable DATABASE_URL (README.md:133-137).
Exécution des migrations
bash1cd packages/db && bunx drizzle-kit migrate --config=./drizzle.config.ts
Cette commande applique les migrations à la base de données (README.md:141-143).
Démarrage des serveurs
bash1bun run dev:full
Cette commande démarre à la fois l'application Next.js et le serveur Socket.io temps réel (README.md:147-149). Alternativement, les serveurs peuvent être démarrés séparément avec bun run dev et cd apps/sim && bun run dev:sockets.
Vérification du déploiement
Vérification de l'état des conteneurs
bash1docker compose -f docker-compose.prod.yml ps
Attendre que tous les conteneurs soient en état "healthy" (1-2 minutes) selon la documentation (README.md:17).
Healthchecks configurés
Les services disposent de healthchecks automatiques :
| Service | Commande de healthcheck | Intervalle |
|---|---|---|
| simstudio | wget --spider --quiet http://127.0.0.1:3000 | 90s (docker-compose.prod.yml:33-38) |
| realtime | wget --spider --quiet http://127.0.0.1:3002/health | 90s (docker-compose.prod.yml:60-65) |
| db | pg_isready -U postgres | 5s (docker-compose.prod.yml:89-93) |
Accès à l'application
L'interface web doit être accessible à l'adresse http://localhost:3000 après démarrage réussi (README.md:71).
Dépannage courant
Port déjà utilisé
Problème : Les ports 3000, 3002 ou 5432 sont déjà occupés.
Solution : Identifier et arrêter le processus utilisant le port, ou modifier les ports dans le fichier docker-compose. Les ports sont définis aux lignes suivantes :
- Port 3000 : docker-compose.prod.yml:5-6
- Port 3002 : docker-compose.prod.yml:43-44
- Port 5432 : docker-compose.prod.yml:81-82
Docker non démarré
Problème : Docker n'est pas en cours d'exécution.
Solution : Vérifier l'état de Docker avec docker info et le démarrer si nécessaire. Cette vérification est recommandée dans le guide de démarrage (README.md:17).
Mémoire insuffisante
Problème : Le système dispose de moins de 12 Go de RAM.
Solution : Le service simstudio est limité à 8 Go (docker-compose.prod.yml:8-10) et le service realtime à 1 Go (docker-compose.prod.yml:45-48). Augmenter la mémoire disponible ou ajuster les limites dans le fichier compose.
Variables d'environnement manquantes
Problème : Les secrets requis ne sont pas définis.
Solution : Générer les secrets avec OpenSSL :
bash1openssl rand -hex 32 # Pour BETTER_AUTH_SECRET, ENCRYPTION_KEY, etc.
Les variables requises incluent BETTER_AUTH_SECRET, ENCRYPTION_KEY, et INTERNAL_API_SECRET (docker-compose.prod.yml:16-19).
Ollama non accessible
Problème : L'instance Ollama n'est pas joignable depuis le conteneur.
Solution : Sur macOS/Windows, utiliser host.docker.internal:11434. Sur Linux, ajouter extra_hosts au fichier compose ou utiliser l'IP de l'hôte (README.md:92-98).
Prochaines étapes
Une fois l'installation terminée et vérifiée, consulter les ressources suivantes pour approfondir l'utilisation de Sim :
| Ressource | Description |
|---|---|
| Documentation officielle | https://docs.sim.ai (README.md:13) |
| Cloud hébergé | https://sim.ai pour tester sans installation (README.md:43) |
| Discord | Communauté et support (README.md:11) |
| Guide contributif | Fichier .github/CONTRIBUTING.md pour participer au projet (README.md:192) |
Configuration de Copilot
Pour utiliser les fonctionnalités Copilot sur une instance auto-hébergée :
- Se rendre sur
https://sim.ai→ Settings → Copilot - Générer une clé API Copilot
- Définir la variable
COPILOT_API_KEYdans le fichier.env(README.md:155-158)
Support vLLM
Sim supporte également vLLM pour les modèles auto-hébergés. Configurer les variables VLLM_BASE_URL et optionnellement VLLM_API_KEY dans l'environnement (README.md:100-102).
