script to set up postgres docker

This commit is contained in:
2026-02-06 09:16:56 +00:00
parent 5bb88b1c25
commit 42c786451f

View File

@@ -0,0 +1,33 @@
#!/usr/bin/env bash
set -euo pipefail
CONTAINER_NAME="${CONTAINER_NAME:-sprint-postgres}"
POSTGRES_IMAGE="${POSTGRES_IMAGE:-postgres:16-alpine}"
POSTGRES_USER="${POSTGRES_USER:-eussi}"
POSTGRES_PASSWORD="${POSTGRES_PASSWORD:-password}"
POSTGRES_DB="${POSTGRES_DB:-issue}"
POSTGRES_PORT="${POSTGRES_PORT:-5432}"
if ! command -v docker >/dev/null 2>&1; then
echo "docker is required but not installed."
exit 1
fi
if docker ps -a --filter "name=^/${CONTAINER_NAME}$" --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
docker update --restart unless-stopped "${CONTAINER_NAME}" >/dev/null
docker start "${CONTAINER_NAME}" >/dev/null || true
echo "container '${CONTAINER_NAME}' already exists and is running (or starting)."
else
docker run -d \
--name "${CONTAINER_NAME}" \
--restart unless-stopped \
-e "POSTGRES_USER=${POSTGRES_USER}" \
-e "POSTGRES_PASSWORD=${POSTGRES_PASSWORD}" \
-e "POSTGRES_DB=${POSTGRES_DB}" \
-p "${POSTGRES_PORT}:5432" \
"${POSTGRES_IMAGE}" >/dev/null
echo "container '${CONTAINER_NAME}' created and started."
fi
echo "connection string: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@localhost:${POSTGRES_PORT}/${POSTGRES_DB}"