-
Notifications
You must be signed in to change notification settings - Fork 118
Expand file tree
/
Copy pathdocker-compose.isolated.yml
More file actions
112 lines (105 loc) · 3.08 KB
/
docker-compose.isolated.yml
File metadata and controls
112 lines (105 loc) · 3.08 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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# Isolated development environment — supports unlimited parallel instances.
#
# Usage (via helper script — recommended):
# ./scripts/isolated-env.sh up my-feature
# source <(./scripts/isolated-env.sh env my-feature)
# ./scripts/isolated-env.sh down my-feature
#
# Usage (manual):
# COMPOSE_PROJECT_NAME=agents-my-feature docker compose -f docker-compose.isolated.yml up -d
# docker compose -p agents-my-feature -f docker-compose.isolated.yml port doltgres-db 5432
#
# Docker assigns random available host ports — zero collisions, unlimited parallelism.
# Use `docker compose port <service> <port>` or the helper script to discover assigned ports.
services:
doltgres-db:
image: dolthub/doltgresql:latest
pull_policy: always
restart: unless-stopped
environment:
DOLTGRES_USER: appuser
DOLTGRES_PASSWORD: password
DOLTGRES_DB: inkeep_agents
ports:
- "5432"
volumes:
- doltgres-data:/var/lib/doltgres
healthcheck:
test: ["CMD-SHELL", "PGPASSWORD=password psql -h localhost -U appuser -d inkeep_agents -c 'SELECT 1' || exit 1"]
interval: 10s
timeout: 5s
retries: 5
start_period: 20s
postgres-db:
image: postgres:18
restart: unless-stopped
environment:
POSTGRES_DB: inkeep_agents
POSTGRES_USER: appuser
POSTGRES_PASSWORD: password
ports:
- "5432"
volumes:
- postgres-data:/var/lib/postgresql
healthcheck:
test: ["CMD-SHELL", "pg_isready -U appuser -d inkeep_agents"]
interval: 2s
timeout: 3s
retries: 30
spicedb:
image: authzed/spicedb:latest
command: serve
restart: unless-stopped
ports:
- "50051"
- "8443"
environment:
SPICEDB_GRPC_PRESHARED_KEY: "dev-secret-key"
SPICEDB_DATASTORE_ENGINE: postgres
SPICEDB_DATASTORE_CONN_URI: "postgres://spicedb:spicedb@spicedb-postgres:5432/spicedb?sslmode=disable"
SPICEDB_HTTP_ENABLED: "true"
healthcheck:
test: ["CMD", "grpc_health_probe", "-addr", "localhost:50051"]
interval: 5s
timeout: 3s
retries: 10
start_period: 5s
depends_on:
spicedb-migrate:
condition: service_completed_successfully
spicedb-migrate:
image: authzed/spicedb:latest
command: migrate head
restart: "no"
environment:
SPICEDB_DATASTORE_ENGINE: postgres
SPICEDB_DATASTORE_CONN_URI: "postgres://spicedb:spicedb@spicedb-postgres:5432/spicedb?sslmode=disable"
depends_on:
spicedb-postgres:
condition: service_healthy
spicedb-postgres:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_USER: spicedb
POSTGRES_PASSWORD: spicedb
POSTGRES_DB: spicedb
ports:
- "5432"
volumes:
- spicedb-postgres-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U spicedb"]
interval: 2s
timeout: 3s
retries: 30
mailpit:
image: axllent/mailpit:v1.29.2
restart: unless-stopped
ports:
- "8025"
- "1025"
volumes:
doltgres-data:
postgres-data:
spicedb-postgres-data: