-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
52 lines (50 loc) · 1.88 KB
/
docker-compose.yml
File metadata and controls
52 lines (50 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
networks:
web:
internal:
services:
traefik:
image: traefik:v3
restart: unless-stopped
networks: [web, internal]
command:
- --providers.docker=true
- --providers.docker.exposedbydefault=false
- --providers.docker.network=internal
- --entrypoints.websecure.address=:443
- --entrypoints.web.address=:80
- --certificatesresolvers.le.acme.email=${CLAYDE_GIT_EMAIL}
- --certificatesresolvers.le.acme.storage=/letsencrypt/acme.json
- --certificatesresolvers.le.acme.httpchallenge=true
- --certificatesresolvers.le.acme.httpchallenge.entrypoint=web
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./data/letsencrypt:/letsencrypt
clayde:
image: ghcr.io/claydecode/me:main
restart: unless-stopped
user: "1000:1000"
networks: [internal]
expose:
- "8080"
environment:
- CLAYDE_ENABLED=true
volumes:
- ./data:/data
# Mount Claude CLI OAuth credentials (required when CLAYDE_CLAUDE_BACKEND=cli)
- ~/.claude/.credentials.json:/home/clayde/.claude/.credentials.json
# Pebble skill directories — mount one or more host dirs read-only
# under /skills/. Subdirectory layout is free; discovery is recursive.
- ~/skills/personal:/skills/personal:ro
- ~/skills/shared:/skills/shared:ro
# Pebble knowledge-base working directory — Syncthing on the host
# handles cross-device sync; container performs no git on the KB.
- ~/knowledge_base:/home/clayde/knowledge_base
labels:
- "traefik.enable=true"
- "traefik.http.routers.clayde.rule=Host(`${CLAYDE_PEBBLE_HOST}`) && PathPrefix(`/webhook`)"
- "traefik.http.routers.clayde.entrypoints=websecure"
- "traefik.http.routers.clayde.tls.certresolver=le"
- "traefik.http.services.clayde.loadbalancer.server.port=8080"