#!/bin/sh

PODMAN_NAME="PostgreSQL"
PGSQL_IMAGE="docker.io/library/postgres"

: "${DB_HOST:=localhost}"
: "${DB_PORT:=5455}"
: "${DB_PASS:=1234}"
: "${DB_USER:=postgres}"
: "${DB_NAME:=local}"

if ! command -v podman >/dev/null 2>&1 ; then
  echo "podman not found in PATH"
  exit 1
fi

if command -v fuser >/dev/null 2>&1 ; then
  if fuser "$DB_PORT"/tcp >/dev/null 2>&1 ; then
    echo "Port already in use"
    exit 1
  fi
fi

if ! podman run \
    --name "$PODMAN_NAME" \
    -p "$DB_PORT":5432 \
    -e POSTGRES_USER="$DB_USER" \
    -e POSTGRES_PASSWORD="$DB_PASS" \
    -e POSTGRES_DB="$DB_NAME" \
    --replace \
    -d \
    "$PGSQL_IMAGE" 1>&- ; then
  exit 1
fi

echo "postgresql://$DB_USER:$DB_PASS@$DB_HOST:$DB_PORT/$DB_NAME?sslmode=disable"