-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
85 lines (80 loc) · 2.25 KB
/
docker-compose.yml
File metadata and controls
85 lines (80 loc) · 2.25 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
services:
db:
image: pshaddel/postgres-pgtap:18
container_name: pgsql_db
ports:
- "127.0.0.1:5432:${PGPORT:-5432}"
volumes:
- db_data:/var/lib/postgresql
environment:
POSTGRES_USER: ${POSTGRES_USER:-postgres}
POSTGRES_PASSWORD: ${PGPASSWORD:-postgres}
POSTGRES_DB: ${PGDATABASE:-ledger}
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER"]
interval: 5s
timeout: 5s
retries: 15
migrate:
image: arigaio/atlas:latest
container_name: atlas_migrate
depends_on:
db:
condition: service_healthy
working_dir: /workspace
volumes:
- ./schema:/workspace/migrations:ro
command: ["migrate", "apply", "--url", "postgres://${POSTGRES_USER:-postgres}:${PGPASSWORD:-postgres}@${PGHOST:-db}:${PGPORT:-5432}/${PGDATABASE:-ledger}?search_path=public&sslmode=disable"]
restart: "no"
pgadmin:
image: dpage/pgadmin4:latest
container_name: pgadmin
profiles:
- manual
depends_on:
db:
condition: service_healthy
environment:
PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:-admin@example.com}
PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-admin}
PGADMIN_CONFIG_ENHANCED_COOKIE_PROTECTION: "True"
PGADMIN_CONFIG_CONSOLE_LOG_LEVEL: 10
ports:
- "${PGADMIN_PORT:-5050}:80"
volumes:
- pgadmin_data:/var/lib/pgadmin
hash:
image: arigaio/atlas:latest
container_name: atlas_hash
profiles:
- manual
depends_on:
db:
condition: service_healthy
working_dir: /workspace
volumes:
- ./schema:/workspace/migrations
command: ["migrate", "hash"]
restart: "no"
pgtap:
image: pshaddel/postgres-pgtap:18
container_name: pgtap
profiles:
- manual
environment:
PGHOST: ${PGHOST:-db}
PGUSER: ${POSTGRES_USER:-postgres}
PGPASSWORD: ${PGPASSWORD:-postgres}
PGDATABASE: ${PGDATABASE:-ledger}
depends_on:
hash:
condition: service_completed_successfully
migrate:
condition: service_completed_successfully
volumes:
- ./PGTap:/tests:ro
entrypoint: >
sh -c "psql -c 'CREATE EXTENSION IF NOT EXISTS pgtap;' && pg_prove /tests/*.sql"
volumes:
db_data:
pgadmin_data: