Self-host guide

Deploy your own Launchstack
in under an hour.

Launchstack is the open-source second brain for founders — docs, recordings, and messages turned into a cited knowledge graph. Bring your own API keys, host it anywhere, keep your data.

What you're shipping

Everything in the box when you spin up a fresh Launchstack instance.

RAG over everything

PDFs, Office docs, transcripts, repos, and exports — chunked, embedded, and retrieved with pgvector plus optional reranking.

Predictive analysis

Eight document classes (contract, financial, compliance, technical, HR, research, educational, general) with per-type recommendations.

Legal generation

Template-driven DOCX for NDAs, employment, and service agreements, with clause-level AI refinement.

Voice & transcription

Gemini turns audio and video uploads into searchable documents, and speaks answers back — one key for both.

Marketing pipeline

Generate and verify platform-specific posts for Reddit, X, LinkedIn, and Bluesky against your own source docs.

Pluggable storage

Vercel Blob by default. S3, UploadThing, and local disk swap in through the storage port.

Get started

Four accounts to create before your first boot.

Clerk

Sign up at dashboard.clerk.com, create an application, and copy the Publishable and Secret keys.

An AI provider

Google Gemini by default — or any endpoint speaking the OpenAI chat-completions protocol. Details on the AI Model Providers page.

PostgreSQL with pgvector

neon.tech for serverless, or run the bundled postgres + pgvector container for self-hosting.

Vercel Blob

Storage → Create Database → Blob in your Vercel project. The connector injects BLOB_READ_WRITE_TOKEN automatically.

Quick start

Run the app on your machine in five commands.

1

Clone the repository

git clone https://github.com/Deodat-Lawson/pdr_ai_v2.git
cd pdr_ai_v2
2

Install dependencies

pnpm install
3

Configure environment variables

Drop a .env at the repo root with at least these keys.

DATABASE_URL="postgresql://user:password@host:5432/db?sslmode=require"

NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=<your-clerk-publishable-key>
CLERK_SECRET_KEY=<your-clerk-secret-key>

# One OpenAI-compatible endpoint — Gemini shown, see Chat Models for others.
# Model ids and route assignments live in apps/web/config/chat-models.yaml.
CHAT_BASE_URL=https://generativelanguage.googleapis.com/v1beta/openai
CHAT_API_KEY=<your-google-ai-key>

# Vercel Blob — required for document uploads
BLOB_READ_WRITE_TOKEN=vercel_blob_rw_xxxxxxxxxxxx

# Inngest — placeholder is fine for local dev
INNGEST_EVENT_KEY=dev-placeholder
4

Apply the schema migrations

pnpm --filter @launchstack/core db:migrate
5

Start the dev server

pnpm --filter @launchstack/web dev

Choose a deployment path

Pick what matches your infra.

Vercel

Managed hosting with auto-deploys from GitHub. Neon serverless Postgres handles pgvector out of the box.

Open Vercel guide

Docker

Self-host the full stack with Docker Compose: Postgres + pgvector, migrate, app, and optional OCR sidecars.

Open Docker guide

Required integrations

Must be configured before the app boots cleanly.

AI providers

Google Gemini out of the box. Any endpoint speaking the OpenAI chat-completions protocol also works, including a local vLLM or Ollama server.

Pick a provider

Vercel Blob

Primary document storage backend. There is no database-only fallback for uploaded files.

Configure blob

Inngest

Event-driven background jobs for OCR, embeddings, analysis, and scheduled content pipelines.

Set up Inngest

Optional integrations

Enable as needed.

LangSmith tracing

Observability for every LLM, retriever, and tool call.

Enable tracing

OCR services

Azure Document Intelligence or Landing.AI for scanned and complex layouts.

Choose an OCR

Exa search

Semantic web search for the trend and research agents.

Wire up Exa

Voice & audio

Gemini voices for spoken answers. Transcription is built in on the same key.

Configure voice

Video walkthroughs

Short clips for the trickier steps.

Clerk setup

public/deployment-demos/clerk-setup.mov
Keep secrets out of git. Commit only .env.example. Put real keys in your deploy platform’s environment variable manager.
Need help with Clerk? Open the Clerk Authentication tab in the sidebar for a full walkthrough including redirect URLs and production keys.