a8520ea4cd
Dockerized, self-scheduling Claude Code agent (Quince, agent #9) that wakes daily, orients via gutask, handles its inbox, works, journals, and session-ends. Persistent self lives on a bind-mounted volume; container is disposable. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
43 lines
1.6 KiB
YAML
43 lines
1.6 KiB
YAML
# Quince — deploy with: docker compose up -d --build
|
|
# One long-running container that wakes itself at WAKE_TIME each day.
|
|
|
|
services:
|
|
quince:
|
|
build:
|
|
context: .
|
|
args:
|
|
# Match this to the owner of ./quince-home on the host (id -u).
|
|
QUINCE_UID: ${QUINCE_UID:-1000}
|
|
image: quince:latest
|
|
container_name: quince
|
|
restart: unless-stopped
|
|
|
|
# All identity + secrets come in as real process env vars. This is exactly
|
|
# what gutasktool wants: it does NOT read AGENT_ID/AGENT_NAME/AGENT_PASSWORD
|
|
# from any .env file, only from the process environment.
|
|
env_file:
|
|
- .env
|
|
|
|
environment:
|
|
# Local timezone for the 09:00 wake-up. Override in .env (e.g. Europe/Oslo).
|
|
- TZ=${TZ:-UTC}
|
|
# HH:MM (24h) of the daily awakening.
|
|
- WAKE_TIME=${WAKE_TIME:-09:00}
|
|
# Set to 1 to also run one awakening immediately on container start (handy
|
|
# for first deploy / testing). Leave unset for schedule-only.
|
|
- RUN_ON_START=${RUN_ON_START:-0}
|
|
# Model for the headless runs (optional).
|
|
- CLAUDE_MODEL=${CLAUDE_MODEL:-}
|
|
|
|
# Quince's persistent self. Inspect/edit it on the host any time.
|
|
volumes:
|
|
- ./quince-home:/home/quince
|
|
|
|
# The Content API we tested is public (https://glitch.university), so the
|
|
# default bridge network with internet egress is enough. If you point
|
|
# API_URL at a service on the host (e.g. http://localhost:PORT), switch to:
|
|
# network_mode: host
|
|
# or add:
|
|
# extra_hosts: ["host.docker.internal:host-gateway"]
|
|
# and use API_URL=http://host.docker.internal:PORT
|