-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
69 lines (64 loc) · 1.77 KB
/
docker-compose.yml
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
version: "3.7"
networks:
cluster:
services:
source-db:
image: postgres:${PG_VERSION:-14.1}-alpine
shm_size: 1g
restart: on-failure
environment:
- POSTGRES_USER=user
- POSTGRES_PASSWORD=password
volumes:
- ${SOURCE_DB_PATH:-./data/source_db}:/var/lib/postgresql/data
networks: [ cluster ]
ports:
- "${DB_SOURCE_PORT:-5432}:5432"
healthcheck:
test: pg_isready
interval: 10s
timeout: 3s
retries: 3
source-db-setup:
image: postgres:${PG_VERSION:-14.1}-alpine
shm_size: 1g
restart: "no"
environment:
- POSTGRES_USER=${PG_USER}
- POSTGRES_PASSWORD=${PG_PASSWORD}
- REPLICA_USERNAME=${REPLICA_USERNAME}
- REPLICA_PASSWORD=${REPLICA_PASSWORD}
volumes:
- ${SOURCE_DB_PATH:-./data/source_db}:/var/lib/postgresql/data
- ./source/conf_override.sh:/conf_override.sh
networks: [ cluster ]
entrypoint: ["/conf_override.sh"]
mirror-db:
image: postgres:${PG_VERSION:-14.1}-alpine
shm_size: 1g
restart: on-failure
volumes:
- ${MIRROR_DB_PATH:-./data/mirror_db}:/var/lib/postgresql/data
networks: [ cluster ]
ports:
- "${DB_MIRROR_PORT:-5432}:5432"
healthcheck:
test: pg_isready
interval: 10s
timeout: 3s
retries: 3
mirror-db-setup:
image: postgres:${PG_VERSION:-14.1}-alpine
shm_size: 1g
restart: "no"
environment:
- REPLICA_USERNAME=${REPLICA_USERNAME}
- REPLICA_PASSWORD=${REPLICA_PASSWORD}
- REPLICA_NAME=${REPLICA_NAME}
- SOURCE_HOST=${SOURCE_HOST}
- SOURCE_PORT=${SOURCE_PORT}
volumes:
- ${MIRROR_DB_PATH:-./data/mirror_db}:/var/lib/postgresql/data
- ./mirror/copy_db.sh:/copy_db.sh
networks: [ cluster ]
entrypoint: ["/copy_db.sh"]