Repository navigation
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
61 lines (58 loc) · 2.08 KB
/
Copy pathdocker-compose.yml
File metadata and controls
61 lines (58 loc) · 2.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
name: forge-dev
services:
# PostgreSQL 18 — metadata store
db:
image: mirror.gcr.io/library/postgres:18
environment:
POSTGRES_DB: forge
POSTGRES_USER: forge
POSTGRES_PASSWORD: forge
ports:
# Host 5433 -> container 5432, to avoid colliding with a Postgres that may
# already be listening on the host's default 5432. forge.toml points here.
- "5433:5432"
volumes:
# The 18 image keeps its cluster in /var/lib/postgresql/18/docker and
# refuses to start with a volume on /var/lib/postgresql/data. The volume
# of the earlier PostgreSQL 17 (db_data) is not used.
- postgresql:/var/lib/postgresql
healthcheck:
test: ["CMD-SHELL", "pg_isready -U forge -d forge"]
interval: 5s
timeout: 5s
retries: 10
# versitygw — S3-compatible gateway backed by a local POSIX directory.
#
# CLI reference (discovered via `docker run --rm versity/versitygw --help`):
# versitygw [global options] <backend-command> [backend options]
# Global: --port/-p <addr> (default ":7070"; we use :8422)
# --access/-a <key> (also ROOT_ACCESS_KEY_ID)
# --secret/-s <key> (also ROOT_SECRET_ACCESS_KEY)
# Backend: posix <root-dir>
#
# The posix backend treats each subdirectory of <root-dir> as a bucket.
# versitygw does NOT auto-create the bucket directory — you must create it
# yourself before (or just after) startup:
#
# docker compose exec s3 mkdir -p /data/forge
#
# Or with the AWS CLI against the endpoint:
# AWS_ACCESS_KEY_ID=minioadmin AWS_SECRET_ACCESS_KEY=minioadmin \
# aws s3 mb s3://forge \
# --endpoint-url http://localhost:8422 \
# --region us-east-1
s3:
image: mirror.gcr.io/versity/versitygw:v1.4.1
command: ["--port", ":8422", "--access", "minioadmin", "--secret", "minioadmin", "posix", "/data"]
ports:
- "8422:8422"
volumes:
- s3_data:/data
healthcheck:
test: ["CMD-SHELL", "nc -z localhost 8422 || exit 1"]
interval: 5s
timeout: 5s
retries: 10
volumes:
postgresql:
s3_data: