Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ DONNA_WEB_HOST_PORT=13002 # Donna's frontend
# --- Pre-built image tag (docker-compose.release.yml only; ignored by the
# build-from-source compose). Default 'latest'; pin to a release, e.g. v0.1.0. ---
DONNA_IMAGE_TAG=latest
# GHCR namespace the release images are pulled from. Change this to run a fork's
# build — e.g. DONNA_IMAGE_NAMESPACE=someone while their patch is in review.
DONNA_IMAGE_NAMESPACE=legalquants

# adapter-node Origin check — MUST equal the host URL the browser uses for donna-web.
ORIGIN=http://localhost:13002
Expand Down
12 changes: 11 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,17 @@ permissions:

env:
REGISTRY: ghcr.io
NAMESPACE: legalquants
# Publish under whoever owns the repository the workflow is running in.
# Hard-coding `legalquants` meant a fork could never publish its own images:
# the run authenticates as the fork owner, then tries to push to a namespace
# it has no write access to, and fails at the first push. Anyone maintaining
# a fork — to carry a patch while it is in review, or to run a modified
# build — has to edit this file to do so, which then shows up as a diff in
# every PR they send back.
#
# `github.repository_owner` resolves to `legalquants` for this repo, so
# upstream behaviour is unchanged.
NAMESPACE: ${{ github.repository_owner }}
PLATFORMS: linux/amd64,linux/arm64

jobs:
Expand Down
12 changes: 7 additions & 5 deletions docker-compose.release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
# docker compose -f docker-compose.release.yml up -d
#
# Images are published from github.com/LegalQuants/Donna to ghcr.io/legalquants.
# Set DONNA_IMAGE_NAMESPACE in .env to pull a fork's images instead — e.g. while a
# patch is in review upstream. The default is unchanged.
# This file is a hand-maintained mirror of vendor/lq-ai/docker-compose.yml +
# the donna-web service; re-sync it when the lq-ai pin bumps. (See CLAUDE.md.)
# NOTE: lq-ai's own `web` (OpenWebUI) service is intentionally omitted here —
Expand Down Expand Up @@ -69,7 +71,7 @@ services:
retries: 6

gateway:
image: ghcr.io/legalquants/donna-gateway:${DONNA_IMAGE_TAG:-latest}
image: ghcr.io/${DONNA_IMAGE_NAMESPACE:-legalquants}/donna-gateway:${DONNA_IMAGE_TAG:-latest}
restart: unless-stopped
depends_on:
postgres:
Expand Down Expand Up @@ -122,7 +124,7 @@ services:
retries: 10

api:
image: ghcr.io/legalquants/donna-api:${DONNA_IMAGE_TAG:-latest}
image: ghcr.io/${DONNA_IMAGE_NAMESPACE:-legalquants}/donna-api:${DONNA_IMAGE_TAG:-latest}
restart: unless-stopped
depends_on:
postgres:
Expand Down Expand Up @@ -169,7 +171,7 @@ services:
retries: 10

ingest-worker:
image: ghcr.io/legalquants/donna-api:${DONNA_IMAGE_TAG:-latest}
image: ghcr.io/${DONNA_IMAGE_NAMESPACE:-legalquants}/donna-api:${DONNA_IMAGE_TAG:-latest}
restart: unless-stopped
depends_on:
postgres:
Expand Down Expand Up @@ -214,7 +216,7 @@ services:
retries: 6

arq-worker:
image: ghcr.io/legalquants/donna-api:${DONNA_IMAGE_TAG:-latest}
image: ghcr.io/${DONNA_IMAGE_NAMESPACE:-legalquants}/donna-api:${DONNA_IMAGE_TAG:-latest}
restart: unless-stopped
depends_on:
postgres:
Expand Down Expand Up @@ -245,7 +247,7 @@ services:
retries: 6

donna-web:
image: ghcr.io/legalquants/donna-web:${DONNA_IMAGE_TAG:-latest}
image: ghcr.io/${DONNA_IMAGE_NAMESPACE:-legalquants}/donna-web:${DONNA_IMAGE_TAG:-latest}
restart: unless-stopped
depends_on:
api:
Expand Down