Repository navigation
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
86 lines (80 loc) · 2.7 KB
/
Copy pathdocker-compose.yml
File metadata and controls
86 lines (80 loc) · 2.7 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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
name: lore-stack
services:
postgres:
image: postgres:17.11-bookworm@sha256:051f7b7b3abdd564d5d1bd1e8c4b9c1b6e77087d1dd22020ede611c096a272e0
restart: unless-stopped
environment:
POSTGRES_USER: lore
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?render deploy/oh/.env first}
POSTGRES_DB: lore
healthcheck:
test: ["CMD-SHELL", "pg_isready -U lore -d lore"]
interval: 5s
timeout: 5s
retries: 20
volumes:
- pgdata:/var/lib/postgresql/data
networks: [backend]
silo:
image: pgsty/silo:RELEASE.2026-08-06T00-00-00Z@sha256:29a498b24669cae1fed11c1a2fb2b3d73c68829a0a9c0b14e71b386671d38fac
command: server /data --console-address :9001
restart: unless-stopped
environment:
MINIO_ROOT_USER: ${S3_ACCESS_KEY:?render deploy/oh/.env first}
MINIO_ROOT_PASSWORD: ${S3_SECRET_KEY:?render deploy/oh/.env first}
MINIO_UPDATE: "off"
healthcheck:
test: ["CMD", "silo", "healthcheck", "--quiet", "ready"]
interval: 5s
timeout: 5s
retries: 20
volumes:
- silodata:/data
networks: [backend]
createbucket:
image: pgsty/silo:RELEASE.2026-08-06T00-00-00Z@sha256:29a498b24669cae1fed11c1a2fb2b3d73c68829a0a9c0b14e71b386671d38fac
depends_on:
silo:
condition: service_healthy
environment:
S3_ACCESS_KEY: ${S3_ACCESS_KEY:?render deploy/oh/.env first}
S3_SECRET_KEY: ${S3_SECRET_KEY:?render deploy/oh/.env first}
entrypoint: ["/bin/sh", "-ec"]
# Bucket creation is deliberately idempotent so every compose up proves S3 access.
command:
- |
mcli alias set local http://silo:9000 "$${S3_ACCESS_KEY}" "$${S3_SECRET_KEY}"
mcli mb --ignore-existing local/lore-fragments
restart: "no"
networks: [backend]
loreserver:
image: lore-stack:v0.9.0
build:
context: .
dockerfile: Dockerfile
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
createbucket:
condition: service_completed_successfully
environment:
LORE_CONFIG_PATH: /config
AWS_ACCESS_KEY_ID: ${S3_ACCESS_KEY:?render deploy/oh/.env first}
AWS_SECRET_ACCESS_KEY: ${S3_SECRET_KEY:?render deploy/oh/.env first}
AWS_REGION: us-east-1
LORE__PLUGINS__PG__DSN: host=postgres port=5432 user=lore password=${POSTGRES_PASSWORD:?render deploy/oh/.env first} dbname=lore sslmode=disable
volumes:
- ./config/compose.toml:/config/local.toml:ro
ports:
- "${LORE_BIND_IP:-127.0.0.1}:41337:41337/tcp"
- "${LORE_BIND_IP:-127.0.0.1}:41337:41337/udp"
- "127.0.0.1:41339:41339/tcp"
networks: [backend, edge]
networks:
backend:
internal: true
edge:
volumes:
pgdata:
silodata: