-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.yml
49 lines (45 loc) · 1.28 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
services:
pygeoapi:
build: .
container_name: reference-geoconnex-us
ports:
- 5000:80
volumes:
- ./pygeoapi.config.yml:/pygeoapi/local.config.yml
env_file:
- .env
database:
container_name: database
image: postgis/postgis:14-3.2-alpine
env_file:
- .env
volumes:
- db_data:/var/lib/postgresql/data
hydrodump:
container_name: hydrodump
image: ghcr.io/cgs-earth/hydrodump-action:latest
command: ["hydrodump", "run"]
env_file:
- .env
local:
# Instead of using a remote hydrodump, you can source a local database dump, reference.sql.gz
container_name: local
image: postgis/postgis:14-3.2-alpine
depends_on:
- database
volumes:
- ./reference.sql.gz:/docker-entrypoint-initdb.d/reference.sql.gz
entrypoint: >
sh -c "
export PGPASSWORD=${POSTGRES_PASSWORD} && \
echo 'Waiting for database to be ready...' && \
while ! pg_isready -h ${POSTGRES_HOST} -U ${POSTGRES_USER} -d ${POSTGRES_DB}; do
sleep 1
done && \
echo 'Database is ready. Starting migration...' && \
gunzip -c /docker-entrypoint-initdb.d/reference.sql.gz | psql -h ${POSTGRES_HOST} -U ${POSTGRES_USER} -d ${POSTGRES_DB}
"
env_file:
- .env
volumes:
db_data: