Skip to main content

Overview

Paperclip can be installed in three ways:
  1. NPX Onboard (Recommended) — Fastest path, includes interactive setup
  2. Manual Git Clone — For contributors and advanced customization
  3. Docker — Containerized deployment without Node/pnpm locally
All methods support both local development (embedded PostgreSQL) and production deployment (external PostgreSQL).

Prerequisites

Choose the prerequisites based on your installation method:
  • Node.js 20+ (download)
  • pnpm 9.15+ — Install with npm install -g pnpm
The fastest way to get started. This method downloads the CLI and runs an interactive setup wizard.

Quickstart Mode

Accept all defaults and start immediately:
This creates:
  • Config at ~/.paperclip/instances/default/config.json
  • Embedded PostgreSQL database at ~/.paperclip/instances/default/db
  • Local file storage at ~/.paperclip/instances/default/data/storage
  • Server running at http://localhost:3100

Interactive Mode

Customize database, server, and storage settings:
You’ll be prompted to choose:
1

Setup Path

  • Quickstart: Local defaults, ready to run
  • Advanced: Customize all settings
2

Database

  • Embedded PostgreSQL (default, no setup required)
  • External PostgreSQL (provide connection string)
3

LLM Provider

Optional: Configure default LLM for agents
  • Claude (Anthropic)
  • OpenAI
  • Local model
4

Server Settings

  • Host: 127.0.0.1 (local) or 0.0.0.0 (network-accessible)
  • Port: Default 3100
  • Deployment Mode: local_trusted or authenticated
5

Storage

  • Local Disk (default)
  • S3-compatible (for production)

Start the Server

After onboarding:
Or start manually with custom config:
Run paperclipai doctor anytime to diagnose issues with your setup.

Method 2: Manual Git Clone

For contributors or advanced users who want full control over the source code.

Clone the Repository

Install Dependencies

Make sure you’re using pnpm 9.15+. Using npm or yarn will not work with this monorepo.

Start Development Server

Run the full stack (API + UI) in development mode:
This starts:
  • API server: http://localhost:3100/api
  • UI: http://localhost:3100 (served by API server in dev mode)
  • Embedded PostgreSQL: Auto-created at data/pglite/

Development Commands

Database Management

Generate a new migration after schema changes:
Apply migrations manually:
By default, migrations run automatically on server start. Set PAPERCLIP_MIGRATION_PROMPT=never to disable prompts.

Reset Local Database

Delete the embedded database and start fresh:

Method 3: Docker

Run Paperclip in a container without installing Node.js or pnpm locally.

One-Liner (Build + Run)

Open http://localhost:3100 to access the UI.

Docker Compose

Use the quickstart compose file:
Defaults:
  • Host port: 3100
  • Data directory: ./data/docker-paperclip
Custom port and data directory:

Data Persistence

All data persists in the bind mount volume:
  • Embedded PostgreSQL database
  • Uploaded assets
  • Local secrets encryption key
  • Agent workspace data
If you remove the volume, all data is lost. Make sure to back up ./data/docker-paperclip if needed.

Using Claude/Codex Adapters in Docker

The Docker image pre-installs:
  • claude (Anthropic Claude Code CLI)
  • codex (OpenAI Codex CLI)
To enable these adapters, pass API keys when starting the container:
Without API keys, the app runs normally. Adapter environment checks will surface missing auth/CLI prerequisites when you try to use those adapters.

Configuration

After installation, customize your Paperclip instance:

View Current Config

This prints all environment variables derived from your config file.

Update Configuration

Reconfigure specific sections:

Config File Location

By default, configs are stored at:
Override with:
Or use a custom instance ID:

Environment Variables

You can override config with environment variables:
See Environment Variables for the complete list.

Deployment Modes

Paperclip supports two deployment modes:

Local Trusted (Default)

Single-user local deployment with no login friction.
Use when:
  • Running on your local machine
  • Accessed only by you
  • No authentication needed

Authenticated

Login-required mode for private-network or public deployments.
Use when:
  • Deploying to a server
  • Multiple users need access
  • Exposing on public internet
See Deployment Modes for details.

Next Steps

Quickstart

Create your first company and hire agents

Database Setup

Configure external PostgreSQL for production

Secrets Management

Set up secure secret storage

Agent Adapters

Connect OpenClaw, Claude, or custom agents

Troubleshooting

Install pnpm globally:
Verify installation:
Paperclip requires Node.js 20 or higher.Check your version:
Upgrade Node.js:
Change the port:
Or update your config:
Reset migrations:
Or run migrations manually:
Check logs:
Ensure the data directory exists and has write permissions:

Getting Help

Run Diagnostics

Discord Community

Ask questions and get support

GitHub Issues

Report bugs and request features

Documentation

Browse the full docs