martin/docker-compose.yml
Hidde Wieringa a9d8edc76d
Update documentation for running with Docker Compose (#1283)
Some small changes to make the Docker compose documentation up to date:
- Update dependency versions of PostGIS and Martin
- Use the bundled `docker compose` extension, not `docker-compose`. (see
https://docs.docker.com/compose/migrate/#docker-compose-vs-docker-compose)
- Remove `version` from the Docker Compose file (see
https://docs.docker.com/compose/compose-file/04-version-and-name/)
2024-03-30 17:11:47 +00:00

117 lines
3.4 KiB
YAML

services:
fileserver:
image: nginx:alpine
restart: unless-stopped
ports:
- '5412:80'
volumes:
- ./tests/fixtures/pmtiles2:/usr/share/nginx/html
db-is-ready:
# This should match the version of postgres used in the CI workflow
image: postgis/postgis:14-3.3-alpine
network_mode: host
command:
- 'sh'
- '-c'
- 'until pg_isready -h localhost -p ${PGPORT:-5411} -U postgres; do sleep 1; done'
restart: 'no'
environment:
- PGDATABASE=db
- PGUSER=postgres
- PGPASSWORD=postgres
- PGHOST=localhost
- PGPORT=${PGPORT:-5411}
db:
# This should match the version of postgres used in the CI workflow
image: postgis/postgis:14-3.3-alpine
restart: unless-stopped
ports:
- '${PGPORT:-5411}:5432'
environment:
# POSTGRES_* variables are used by the postgis/postgres image
# PG_* variables are used by psql
- POSTGRES_DB=db
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- PGDATABASE=db
- PGUSER=postgres
- PGPASSWORD=postgres
volumes:
- ./tests/fixtures:/fixtures
- ./tests/fixtures/initdb-dc.sh:/docker-entrypoint-initdb.d/20_martin.sh
db-ssl:
# This should match the version of postgres used in the CI workflow
image: postgis/postgis:15-3.3
command:
- 'postgres'
- '-c'
- 'ssl=on'
- '-c'
- 'ssl_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem'
- '-c'
- 'ssl_key_file=/etc/ssl/private/ssl-cert-snakeoil.key'
restart: unless-stopped
ports:
- '${PGPORT:-5411}:5432'
environment:
# POSTGRES_* variables are used by the postgis/postgres image
# PG_* variables are used by psql
- POSTGRES_DB=db
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- PGDATABASE=db
- PGUSER=postgres
- PGPASSWORD=postgres
volumes:
- ./tests/fixtures:/fixtures
- ./tests/fixtures/initdb-dc-ssl.sh:/docker-entrypoint-initdb.d/10_martin.sh
- ./tests/fixtures/initdb-dc.sh:/docker-entrypoint-initdb.d/20_martin.sh
db-ssl-cert:
# This should match the version of postgres used in the CI workflow
image: postgis/postgis:15-3.3
command:
- 'postgres'
- '-c'
- 'ssl=on'
- '-c'
- 'ssl_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem'
- '-c'
- 'ssl_key_file=/etc/ssl/private/ssl-cert-snakeoil.key'
restart: unless-stopped
ports:
- '${PGPORT:-5411}:5432'
environment:
# POSTGRES_* variables are used by the postgis/postgres image
# PG_* variables are used by psql
- POSTGRES_DB=db
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- PGDATABASE=db
- PGUSER=postgres
- PGPASSWORD=postgres
volumes:
- ./tests/fixtures:/fixtures
- ./tests/fixtures/initdb-dc-ssl-cert.sh:/docker-entrypoint-initdb.d/10_martin.sh
- ./tests/fixtures/initdb-dc.sh:/docker-entrypoint-initdb.d/20_martin.sh
db-legacy:
# This should match the version of postgres used in the CI workflow
image: postgis/postgis:11-3.0-alpine
restart: unless-stopped
ports:
- '${PGPORT:-5411}:5432'
environment:
- POSTGRES_DB=db
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- PGDATABASE=db
- PGUSER=postgres
- PGPASSWORD=postgres
volumes:
- ./tests/fixtures:/fixtures
- ./tests/fixtures/initdb-dc.sh:/docker-entrypoint-initdb.d/20_martin.sh