-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
53 lines (51 loc) · 2.53 KB
/
Copy pathdocker-compose.yml
File metadata and controls
53 lines (51 loc) · 2.53 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
52
53
# Runs the awaithumans server locally (API + dashboard at http://localhost:3001).
#
# The demo store is saucedemo.com — public, no Docker needed.
#
# Spin up:
# docker compose up -d
# Tear down:
# docker compose down -v
services:
awaithumans:
image: ghcr.io/awaithumans/awaithumans:latest
container_name: awaithumans-demo
ports:
- "3001:3001"
environment:
AWAITHUMANS_API_KEY: dev-key-not-secret
# No default — if not set in .env the compose CLI will fail loudly with
# "variable is not set" instead of starting the server with a placeholder
# and crashing at lifespan (exit code 3 with no traceback).
AWAITHUMANS_PAYLOAD_KEY: "${AWAITHUMANS_PAYLOAD_KEY:?Set AWAITHUMANS_PAYLOAD_KEY in .env — generate with: python3 -c \"import secrets; print(secrets.token_urlsafe(32))\"}"
# We do NOT override AWAITHUMANS_DATABASE_URL or AWAITHUMANS_DB_PATH —
# the image already sets them to /var/lib/awaithumans/awaithumans.db,
# which is the directory it owns + has write perms on. Overriding to
# /app/data was forcing alembic to write to a root-owned directory the
# awaithumans user can't write to.
# Verbose logging — surfaces auth / signup / login errors in the container
# logs so we can debug from outside. The image's default suppresses
# uvicorn access logs which makes browser-driven flows opaque.
AWAITHUMANS_LOG_LEVEL: DEBUG
UVICORN_LOG_LEVEL: info
# Channel credentials are picked up from your .env via env_file below.
env_file:
- .env
volumes:
# Mount at /var/lib/awaithumans (the image's actual data dir, NOT /app/data).
- awaithumans-data:/var/lib/awaithumans
# Expose the server's auto-generated discovery file (admin token + URL)
# to the host. The SDK auto-reads ~/.awaithumans-dev.json so the agent
# can authenticate to the server without you copy-pasting the admin
# token into .env. Without this, every container restart rotates the
# token and breaks the demo until the host file is refreshed.
#
# The file is rewritten on every server boot, so the host copy stays
# in sync.
- ${HOME}/.awaithumans-dev.json:/var/lib/awaithumans/.awaithumans-dev.json:rw
# No healthcheck override — the awaithumans image already ships one
# (Python urllib hitting /api/health), and our previous curl-based
# override silently failed because the slim Python image doesn't
# have curl installed. Let the image's default run instead.
volumes:
awaithumans-data: