Saltar al contenido principal

Instalación

La forma más rápida de ejecutar Campbooks es con Docker — docker compose up inicia toda la pila (Postgres con pgvector, la aplicación web y un worker en segundo plano). Si prefieres trabajar con el código fuente directamente, a continuación encontrarás ese camino también.

¿Solo quieres desplegarlo de verdad? Esta página te pone en marcha en local. Para un servidor en producción con dominio y HTTPS, sigue la guía de autoalojamiento.

Opción A — Docker (recomendado)

Requisitos previos

  • Docker y el plugin Docker Compose (Docker Desktop, o Docker Engine ≥ 24 con docker compose)
  • Unos 2 GB de RAM libre
  • openssl (ya disponible en macOS y Linux) para generar secretos

Eso es todo — Ruby, Postgres y todo lo demás se ejecutan dentro de los contenedores.

1. Clona y configura

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

cp .env.example .env
bin/generate-secrets # rellena SECRET_KEY_BASE, las claves de cifrado y la contraseña de la BD

bin/generate-secrets escribe en .env los cuatro secretos obligatorios y la contraseña de la base de datos.

Las claves de cifrado son obligatorias. SECRET_KEY_BASE, ACTIVE_RECORD_PRIMARY_KEY, ACTIVE_RECORD_DETERMINISTIC_KEY y ACTIVE_RECORD_KEY_DERIVATION_SALT deben estar definidas o la aplicación no arrancará. Las claves de cifrado protegen los tokens OAuth y las claves de IA en reposo — bin/generate-secrets las crea; para hacerlo manualmente, usa openssl rand -hex 64 para SECRET_KEY_BASE y openssl rand -hex 16 para las tres claves AR.

2. (Opcional) Añade una clave de IA e integraciones

Abre .env y añade al menos una clave de proveedor de IA para activar la organización automática, Scout, los borradores de respuesta y el análisis de documentos — además de las credenciales OAuth para los buzones o integraciones que quieras. Todo esto es opcional; la aplicación funciona sin ello.

# cualquiera de estas activa la IA de texto (organización, Scout, borradores)
OPENAI_API_KEY=... # también activa el análisis de documentos/visión + embeddings
ANTHROPIC_API_KEY=...
MISTRAL_API_KEY=... # alojado en la UE

3. Iníciala

docker compose up -d --build

# el primer arranque crea las bases de datos y ejecuta las migraciones — observa cómo levanta
docker compose logs -f web

Abre http://localhost:3000 y registra la primera cuenta — en una instancia autoalojada el registro está abierto, y el primer usuario crea el espacio de trabajo.

Inicio de sesión de prueba. El primer arranque también inicializa un espacio de trabajo de demostración al que puedes acceder con: admin@example.com / changeme123 (y partner@example.com). Cambia esa contraseña tras el primer inicio de sesión, o define SEED_PASSWORD en .env antes del primer arranque.

Para detenerla: docker compose down (añade -v para eliminar también la base de datos y los archivos subidos).

Opción B — Desde el código fuente (para desarrollo)

¿Prefieres ejecutar la aplicación directamente — para contribuir, por ejemplo? Necesitarás:

  • Ruby 3.2.2 (consulta .ruby-version)
  • PostgreSQL 16+ con la extensión pgvector (una migración ejecuta CREATE EXTENSION vector, por lo que un Postgres estándar no sirve)

No se requiere Node.js ni Redis — JavaScript se sirve mediante import maps, Tailwind compila con un binario independiente, y los jobs, la caché y el cable funcionan sobre Postgres mediante los adaptadores Solid.

git clone https://github.com/notacamp/campbooks.git
cd campbooks
bin/setup # instala las gemas, prepara la base de datos y la inicializa

Configura los secretos en .env (como arriba) y luego ejecuta el servidor web y el worker:

bin/dev # web + observador de Tailwind (Procfile.dev)
bin/rails solid_queue:start # worker en segundo plano (escaneo de correo, IA, indexación)

Abre http://localhost:3000 e inicia sesión con un usuario de prueba.

Próximo paso

Consulta la guía de despliegue para ejecutar Campbooks en un servidor con proxy inverso y HTTPS.