-
Notifications
You must be signed in to change notification settings - Fork 57
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
58 lines (52 loc) · 2.2 KB
/
docker-compose.yml
File metadata and controls
58 lines (52 loc) · 2.2 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
54
55
56
57
58
# DiffMem -- one-click self-hosting with Docker Compose.
#
# This file is designed for Coolify's "Docker Compose" deployment type: paste
# the repo URL, point Coolify at this file, set OPENROUTER_API_KEY in the
# Coolify env UI, and click deploy. Coolify handles TLS, the public domain,
# and Traefik routing automatically -- no labels needed here.
#
# For a bare `docker compose up` on any Linux box, it also Just Works.
services:
diffmem:
build: .
# Pre-built images will be published here once a release is tagged.
# image: ghcr.io/growth-kinetics/diffmem:latest
container_name: diffmem
restart: unless-stopped
ports:
- "${PORT:-8000}:${PORT:-8000}"
environment:
# --- Required ---
OPENROUTER_API_KEY: ${OPENROUTER_API_KEY}
# --- Optional ---
DEFAULT_MODEL: ${DEFAULT_MODEL:?Set DEFAULT_MODEL to an OpenRouter model slug}
RETRIEVAL_MODEL: ${RETRIEVAL_MODEL:-}
PORT: ${PORT:-8000}
# Auth. Leave REQUIRE_AUTH=false if you're behind Coolify/Traefik on a
# trusted network. Set REQUIRE_AUTH=true + API_KEY=<long-random-string>
# if the service is exposed publicly.
REQUIRE_AUTH: ${REQUIRE_AUTH:-false}
API_KEY: ${API_KEY:-}
# Backup. Leave unset (or BACKUP_BACKEND=none) for a pure-volume
# deployment -- snapshot /data and you're safe. Set GITHUB_REPO_URL +
# GITHUB_TOKEN to enable an offsite mirror on a private GitHub repo.
BACKUP_BACKEND: ${BACKUP_BACKEND:-none}
BACKUP_INTERVAL_MINUTES: ${BACKUP_INTERVAL_MINUTES:-30}
GITHUB_REPO_URL: ${GITHUB_REPO_URL:-}
GITHUB_TOKEN: ${GITHUB_TOKEN:-}
# Advanced: override storage locations inside the container. Defaults
# match the mounted volume below; don't change unless you know why.
STORAGE_PATH: /data/storage
WORKTREE_ROOT: /data/worktrees
volumes:
- diffmem_data:/data
healthcheck:
test: ["CMD-SHELL", "curl -fsS http://localhost:$${PORT:-8000}/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 10s
volumes:
diffmem_data:
# Named volume: Coolify persists this across deployments automatically.
# For a bare docker host, this lives at /var/lib/docker/volumes/.