-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
50 lines (46 loc) · 1.44 KB
/
Copy pathdocker-compose.yml
File metadata and controls
50 lines (46 loc) · 1.44 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
# OpenMuse in a container. The agent sees two mounts: /data (memory, goals,
# vault, audit log, threads) and /workspace (its files). config/config.toml is
# mounted read-only — run `openmuse config init` on the host first.
#
# cp .env.example .env && $EDITOR .env # API key, OPENMUSE_SERVER_TOKEN
# docker compose up -d app # phone app on http://<host>:8787/?token=...
# docker compose run --rm muse # terminal chat
# docker compose run --rm muse run "plan my week" # one task
# docker compose up -d daemon # advance goals on a timer, no UI
services:
muse:
build: .
image: openmuse:latest
env_file:
- path: .env
required: false
stdin_open: true
tty: true
command: ["chat"]
volumes:
- openmuse-data:/data
- ./workspace:/workspace
- ./config/config.toml:/app/config/config.toml:ro
# Uncomment to make the container filesystem immutable apart from the mounts.
# read_only: true
# tmpfs: [/tmp]
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
app:
extends: muse
stdin_open: false
tty: false
command: ["serve", "--host", "0.0.0.0", "--no-qr"]
ports:
- "8787:8787"
restart: unless-stopped
daemon:
extends: muse
stdin_open: false
tty: false
command: ["daemon", "--interval", "3600"]
restart: unless-stopped
volumes:
openmuse-data: