dotfiles/wrappers/pgsql-start
2025-01-30 08:10:10 -06:00

36 lines
755 B
Bash
Executable file

#!/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"