Quick Start
Get Outpost running locally in under 5 minutes. You need Node.js 20+, pnpm 9+, and Docker for the local PostgreSQL instance.
Prerequisites
- Node.js ≥ 20.0.0
- pnpm ≥ 9.15.0
- Docker & Docker Compose (for local PostgreSQL)
- Git
Clone and Install
# Clone the repository
git clone [email protected]:CopilotKit/outpost.git
cd outpost
# Install dependencies
pnpm install
Start the Database
Outpost uses PostgreSQL 16 for AI-powered search. The included
docker-compose.yml handles this automatically.
# Start PostgreSQL
docker compose up -d
# Verify it's running
docker compose ps
Configure Environment
Copy the example environment file and fill in your values. At minimum you need the database URL, which is pre-configured for the local Docker setup.
cp .env.example .env
# The default DATABASE_URL works with docker compose:
# DATABASE_URL=postgresql://outpost:outpost@localhost:5432/outpost
See the Configuration Reference for all available environment variables.
Set Up the Database Schema
# Generate the Prisma client
pnpm db:generate
# Push the schema to the database
pnpm db:push
# Seed with sample data (optional)
pnpm db:seed
Start Development
# Start all apps in development mode
pnpm dev
This starts five processes via Turborepo:
- Web dashboard at
http://localhost:3000 - Discord bot (requires bot token in
.env) - Slack bot (requires Slack tokens in
.env) - Teams bot (requires Azure Bot credentials in
.env) - GitHub App (requires app credentials in
.env)
Tip: You can run individual apps with
pnpm dev --filter=@copilotkit/outpost-web if you only need the dashboard.
First Run: Setup Wizard
When you open http://localhost:3000 for the first time,
Outpost will redirect you to the Setup Wizard at /setup.
The wizard walks you through three steps:
- Organization Details — name your organization and configure basic settings
- Admin Account — create the first admin user with email and password (credentials auth)
- Launch — confirm and launch into the dashboard
After completing the wizard, you'll land on the main dashboard, fully authenticated. The setup wizard only runs once — subsequent visits go straight to the login page.
Auth: Outpost uses credentials-based authentication by default (email + password).
GitHub OAuth and OIDC providers can be enabled optionally via the
AUTH_PROVIDER environment variable. See the
Configuration Reference for details.
Next Steps
- Architecture Overview — understand the system design
- Discord Bot Setup — connect your Discord server
- Slack Bot Setup — connect your Slack workspace
- Teams Bot Setup — connect Microsoft Teams
- GitHub App Setup — link your GitHub repositories
- Configuration Reference — all environment variables