prole/scripts/docker-run-knoe-db.sh

24 lines
938 B
Bash
Executable File

set -eux
# export POSTGRES_PASSWORD=$(openssl rand -base64 32)
if [[ -z "${POSTGRES_PASSWORD:-}" ]]; then
echo "ERROR: POSTGRES_PASSWORD is required. Store it in OpenBao (kv/knoe/<namespace>/db#password) or export it." >&2
exit 1
fi
KNOE_HOME="${KNOE_HOME:-$HOME/dev/knoe}"
PROLE_DATA="${PROLE_DATA:-$KNOE_HOME/data}"
PROLE_DATA="${PROLE_DATA%/}"
PG_VERSION=$(cat "$KNOE_HOME/conf/postgresql/.version" 2>/dev/null | tr -d '[:space:]')
RELEASE=$(cat "$KNOE_HOME/knoe-db/.version" 2>/dev/null | tr -d '[:space:]')
if [[ "$RELEASE" =~ ^[0-9]+$ ]]; then RELEASE=$(printf "%03d" "$RELEASE"); fi
IMAGE="knoe-db:${PG_VERSION:-17.7}-${RELEASE:-043}"
docker run --rm -it --hostname=knoe-db-00n \
-e POSTGRES_PASSWORD="$POSTGRES_PASSWORD" \
--env=PATH=/usr/lib/postgresql/17/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
--volume="${PROLE_DATA}:/data" \
--network=bridge \
--entrypoint bash \
--restart=no \
$IMAGE