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# Reference single-machine deployment: SQLite + local filesystem +
# one configured model provider is enough for a single-user deployment.
#
# docker compose up
#
# Set the referenced variables in a .env file (see .env.example) first.
services:
iris:
build: .
image: equalify-iris:latest
ports:
- "8080:8080"
environment:
IRIS_UPSTREAM_REPO: ${IRIS_UPSTREAM_REPO}
# The deployment's one GitHub identity. Required — the container exits at startup
# without it. See .env.example.
IRIS_GITHUB_TOKEN: ${IRIS_GITHUB_TOKEN}
# The shared secret callers must present, or blank for an open deployment (which is
# what the browser app at / needs). Blank on a public URL means public.
IRIS_API_TOKEN: ${IRIS_API_TOKEN:-}
# Number of reverse proxies in front of this container (1 behind a single
# Caddy/nginx). Blank trusts nothing, which makes every caller behind a proxy
# share one rate-limit bucket. See .env.example.
IRIS_TRUST_PROXY: ${IRIS_TRUST_PROXY:-}
# GET /v1/quality's own secret. Blank (default) makes that endpoint 404. Listed here
# because .env.example offers it, and a variable this file drops is one an operator
# sets and then cannot find.
IRIS_QUALITY_TOKEN: ${IRIS_QUALITY_TOKEN:-}
OPENROUTER_API_KEY: ${OPENROUTER_API_KEY}
# For Bedrock instead, supply the standard AWS credential env vars.
volumes:
# Persist sessions/, tmp/, and the SQLite DB across restarts.
- ./data:/app/data
# The agent library is a git checkout modified only by `git pull`
# (README.md "Configuration").
- ./agents:/app/agents
# Override the default env-driven config with your own if desired.
# - ./config.yaml:/app/config.yaml:ro