aboutsummaryrefslogtreecommitdiff
path: root/docker/compose.yml
blob: 36a02ff6556edb724a06aa739579f578cae698cb (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: Dockerfile
      args:
        USER_UID: 750
        USER_GID: 750
    image: senia/claude:latest
    container_name: senia
    stdin_open: true
    tty: true
    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

    working_dir: /workspace
    command: tail -f /dev/null