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.