aboutsummaryrefslogtreecommitdiff
path: root/docker/compose.yml
blob: 80c0a4d060682e945320800a66f76eb88ee5a4a9 (plain)
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
services:
  senia:
    build:
      context: ..
      dockerfile: docker/Dockerfile
      args:
        USER_UID: 750
        USER_GID: 750
    image: senia/claude:latest
    container_name: senia
    restart: unless-stopped
    stdin_open: true
    tty: true
    ports:
      - "8000:8000"
    volumes:
      # workspace: read/write, this is where senia does its work
      - ../workspace:/workspace

      # claude config and auth: read/write so /login persists
      - ../claude:/home/senia/.claude
      - ../.claude.json:/home/senia/.claude.json

      # persona: real if submodule initialized, placeholder otherwise
      - ../private/CLAUDE.md:/home/senia/.claude/CLAUDE.md:ro

      # contexts: real if submodule initialized, empty dir otherwise
      # - ../private/contexts:/etc/senia/data/contexts:ro

      # dockerfile read-only: senia can read it, suggest edits in conversation, can't modify
      - ./Dockerfile:/etc/senia/Dockerfile:ro

      # mcp servers source, read-only
      - ../mcp:/etc/senia/mcp:ro

      - ../scripts:/etc/senia/scripts
      # data dir: read-write, where mcp servers store sqlite dbs and other state
      - ../data:/etc/senia/data