54 lines
1.6 KiB
YAML
54 lines
1.6 KiB
YAML
x-defaults: &defaults
|
|
restart: unless-stopped
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: ${PAPERCLIP_LOG_MAX_SIZE:-100m}
|
|
max-file: '${PAPERCLIP_LOG_MAX_FILE:-3}'
|
|
|
|
services:
|
|
paperclip:
|
|
<<: *defaults
|
|
build:
|
|
context: https://github.com/paperclipai/paperclip.git#${PAPERCLIP_GIT_REF:-main}
|
|
dockerfile: Dockerfile
|
|
image: ${GLOBAL_REGISTRY:-}alexsuntop/paperclip:${PAPERCLIP_GIT_REF:-main}
|
|
ports:
|
|
- '${PAPERCLIP_PORT_OVERRIDE:-3100}:3100'
|
|
environment:
|
|
- TZ=${TZ:-UTC}
|
|
- HOST=0.0.0.0
|
|
- PORT=3100
|
|
- SERVE_UI=true
|
|
- PAPERCLIP_HOME=/paperclip
|
|
- PAPERCLIP_DEPLOYMENT_MODE=${PAPERCLIP_DEPLOYMENT_MODE:-authenticated}
|
|
- PAPERCLIP_DEPLOYMENT_EXPOSURE=${PAPERCLIP_DEPLOYMENT_EXPOSURE:-private}
|
|
- PAPERCLIP_PUBLIC_URL=${PAPERCLIP_PUBLIC_URL:-http://localhost:3100}
|
|
- PAPERCLIP_ALLOWED_HOSTNAMES=${PAPERCLIP_ALLOWED_HOSTNAMES:-localhost}
|
|
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
|
|
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
|
|
- DATABASE_URL=${DATABASE_URL:-}
|
|
env_file:
|
|
- .env
|
|
volumes:
|
|
- paperclip_data:/paperclip
|
|
healthcheck:
|
|
test:
|
|
- CMD-SHELL
|
|
- curl -fsS http://127.0.0.1:3100/api/health >/dev/null || exit 1
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 5
|
|
start_period: 60s
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: ${PAPERCLIP_CPU_LIMIT:-2.00}
|
|
memory: ${PAPERCLIP_MEMORY_LIMIT:-4G}
|
|
reservations:
|
|
cpus: ${PAPERCLIP_CPU_RESERVATION:-0.50}
|
|
memory: ${PAPERCLIP_MEMORY_RESERVATION:-1G}
|
|
|
|
volumes:
|
|
paperclip_data:
|