mirror of
https://github.com/paperclipai/paperclip
synced 2026-05-08 16:12:20 +02:00
- Add wget, ripgrep, python3, and GitHub CLI (gh) to base image - Add OPENCODE_ALLOW_ALL_MODELS=true to production ENV - Move compose files, onboard-smoke Dockerfile to docker/ - Move entrypoint script to scripts/docker-entrypoint.sh - Add Podman Quadlet unit files (pod, app, db containers) - Add docker/README.md with build, compose, and quadlet docs - Add scripts/docker-build-test.sh for local build validation - Update all doc references for new file locations - Keep main Dockerfile at project root (no .dockerignore changes needed) Co-Authored-By: Paperclip <noreply@paperclip.ing>
1.6 KiB
1.6 KiB
title, summary
| title | summary |
|---|---|
| Docker | Docker Compose quickstart |
Run Paperclip in Docker without installing Node or pnpm locally.
Compose Quickstart (Recommended)
docker compose -f docker/docker-compose.quickstart.yml up --build
Open 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/docker-compose.quickstart.yml up --build
Note: PAPERCLIP_DATA_DIR is resolved relative to the compose file (docker/), so ../data/pc maps to data/pc in the project root.
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-local
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
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-local
Without API keys, the app runs normally — adapter environment checks will surface missing prerequisites.