Skip to content

Docker

Run Paperclip in Docker without installing Node or pnpm locally.

Terminal window
docker compose -f docker-compose.quickstart.yml up --build

Open http://localhost:3100.

Defaults:

  • Host port: 3100
  • Data directory: ./data/docker-paperclip

Override with environment variables:

Terminal window
PAPERCLIP_PORT=3200 PAPERCLIP_DATA_DIR=./data/pc \
docker compose -f docker-compose.quickstart.yml up --build
Terminal window
docker build -t paperclip-local .
docker run --name paperclip \
-p 3100:3100 \
-e HOST=0.0.0.0 \
-e PAPERCLIP_HOME=/paperclip \
-v "$(pwd)/data/docker-paperclip:/paperclip" \
paperclip-local

All data is persisted under the bind mount (./data/docker-paperclip):

  • Embedded PostgreSQL data
  • Uploaded assets
  • Local secrets key
  • Agent workspace data

The Docker image pre-installs:

  • claude (Anthropic Claude Code CLI)
  • codex (OpenAI Codex CLI)

Pass API keys to enable local adapter runs inside the container:

Terminal window
docker run --name paperclip \
-p 3100:3100 \
-e HOST=0.0.0.0 \
-e PAPERCLIP_HOME=/paperclip \
-e OPENAI_API_KEY=sk-... \
-e ANTHROPIC_API_KEY=sk-... \
-v "$(pwd)/data/docker-paperclip:/paperclip" \
paperclip-local

Without API keys, the app runs normally — adapter environment checks will surface missing prerequisites.