Aller au contenu principal

Installation

La façon la plus rapide de faire tourner Campbooks est avec Docker — docker compose up démarre toute la pile (Postgres avec pgvector, l'application web et un worker en arrière-plan). Si vous préférez travailler sur le code source, il y a une procédure depuis les sources ci-dessous.

Vous le déployez vraiment ? Cette page vous permet de le faire tourner localement. Pour un serveur de production avec un domaine et HTTPS, suivez le Guide d'auto-hébergement.

Option A — Docker (recommandé)​

Prérequis​

  • Docker et le plugin Docker Compose (Docker Desktop, ou Docker Engine ≥ 24 avec docker compose)
  • Environ 2 Go de RAM libre
  • openssl (déjà présent sur macOS et Linux) pour générer les secrets

C'est tout — Ruby, Postgres et tout le reste fonctionnent dans les conteneurs.

1. Cloner et configurer​

git clone https://github.com/notacamp/campbooks.git
cd campbooks

cp .env.example .env
bin/generate-secrets # fills SECRET_KEY_BASE, the encryption keys, and the DB password

bin/generate-secrets écrit les quatre secrets requis et le mot de passe de la base de données dans .env.

Les clés de chiffrement sont obligatoires. SECRET_KEY_BASE, ACTIVE_RECORD_PRIMARY_KEY, ACTIVE_RECORD_DETERMINISTIC_KEY et ACTIVE_RECORD_KEY_DERIVATION_SALT doivent tous être définis, sinon l'application ne démarrera pas. Ces clés protègent les tokens OAuth et les clés IA au repos — bin/generate-secrets les crée ; pour le faire manuellement, utilisez openssl rand -hex 64 pour SECRET_KEY_BASE et openssl rand -hex 16 pour les trois clés AR.

2. (Facultatif) Ajouter une clé IA et des intégrations​

Ouvrez .env et ajoutez au moins une clé de fournisseur IA pour activer le tri, Scout, les brouillons de réponse et l'analyse de documents — ainsi que toutes les informations OAuth pour les boîtes aux lettres et intégrations souhaitées. Tout ceci est optionnel ; l'application fonctionne sans.

# any one of these enables text AI (triage, Scout, draft replies)
OPENAI_API_KEY=... # also unlocks document/vision analysis + embeddings
ANTHROPIC_API_KEY=...
MISTRAL_API_KEY=... # EU-hosted

3. Démarrer​

docker compose up -d --build

# first boot creates the databases and runs migrations — watch it come up
docker compose logs -f web

Ouvrez http://localhost:3000 et créez le premier compte — sur une instance auto-hébergée, l'inscription est ouverte et le premier utilisateur crée l'espace de travail.

Identifiants de démonstration. Le premier démarrage initialise également un espace de travail de démonstration auquel vous pouvez vous connecter : admin@example.com / changeme123 (et partner@example.com). Changez ce mot de passe après la première connexion, ou définissez SEED_PASSWORD dans .env avant le premier démarrage.

Pour arrêter : docker compose down (ajoutez -v pour supprimer également la base de données et les fichiers téléversés).

Option B — Depuis les sources (pour le développement)​

Vous préférez exécuter l'application directement — pour contribuer, par exemple ? Vous aurez besoin de :

  • Ruby 3.2.2 (voir .ruby-version)
  • PostgreSQL 16+ avec l'extension pgvector (une migration exécute CREATE EXTENSION vector, donc un Postgres standard ne suffit pas)

Ni Node.js ni Redis ne sont nécessaires — JavaScript est servi via les import maps, Tailwind se compile via un binaire autonome, et les jobs/cache/cable fonctionnent tous sur Postgres via les adaptateurs Solid.

git clone https://github.com/notacamp/campbooks.git
cd campbooks
bin/setup # installs gems, prepares the database, and seeds it

Configurez les secrets dans .env (comme ci-dessus), puis lancez le serveur web et le worker :

bin/dev # web + Tailwind watcher (Procfile.dev)
bin/rails solid_queue:start # background worker (email scanning, AI, indexing)

Ouvrez http://localhost:3000 et connectez-vous avec un utilisateur de démonstration.

Prochaine étape​

Consultez le Guide de déploiement pour faire fonctionner Campbooks sur un serveur avec un reverse proxy et HTTPS.