#!/bin/bash set -euo pipefail name=wm-mj _psql() { env \ PGPASSWORD=osm \ PGHOST=127.0.0.1 \ PGUSER=osm \ PGDATABASE=osm \ psql "$@" } _wait_for_postgres() { >&2 echo -n "Waiting for postgres" for _ in $(seq 240); do if _psql -qc '\q' 2>/dev/null; then >&2 echo " up" exit 0 fi >&2 echo -n . sleep 1 done >&2 echo " down" exit 1 } case ${1:-} in start) _psql -qc '\q' 2>/dev/null && exit 0 docker run -d --rm \ --net=host \ -e POSTGRES_DBNAME=osm \ -e POSTGRES_USER=osm \ -e POSTGRES_PASSWORD=osm \ --name "$name" \ postgis/postgis:13-3.1-alpine \ -c log_statement=all \ -c listen_addresses=127.0.0.1 _wait_for_postgres ;; stop) docker stop "$name" ;; *) _psql "$@" ;; esac