Docker
Run Paperclip in Docker without installing Node or pnpm locally.
Compose Quickstart (Recommended)
Section titled “Compose Quickstart (Recommended)”docker compose -f docker-compose.quickstart.yml up --buildOpen http://localhost:3100.
Defaults:
- Host port:
3100 - Data directory:
./data/docker-paperclip
Override with environment variables:
PAPERCLIP_PORT=3200 PAPERCLIP_DATA_DIR=./data/pc \ docker compose -f docker-compose.quickstart.yml up --buildManual Docker Build
Section titled “Manual Docker Build”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-localData Persistence
Section titled “Data Persistence”All data is persisted under the bind mount (./data/docker-paperclip):
- Embedded PostgreSQL data
- Uploaded assets
- Local secrets key
- Agent workspace data
Claude and Codex Adapters in Docker
Section titled “Claude and Codex Adapters in Docker”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:
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-localWithout API keys, the app runs normally — adapter environment checks will surface missing prerequisites.