Files
sms-task-one/scripts/restart-db.sh
Пытков Роман 50626c6ac6 Базово работает
gRPC на отдельном порту
2026-06-01 18:02:48 +03:00

41 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
CONTAINER_NAME="sms-postgres"
VOLUME_NAME="sms-postgres-data"
IMAGE="postgres:16"
PORT="5432"
POSTGRES_USER="sms"
POSTGRES_PASSWORD="sms"
POSTGRES_DB="sms_task"
if ! command -v docker >/dev/null 2>&1; then
echo "docker не найден. Установите Docker и повторите." >&2
exit 1
fi
echo "Останавливаю и удаляю контейнер ${CONTAINER_NAME}..."
docker rm -f "${CONTAINER_NAME}" >/dev/null 2>&1 || true
echo "Удаляю том ${VOLUME_NAME}..."
docker volume rm "${VOLUME_NAME}" >/dev/null 2>&1 || true
echo "Запускаю PostgreSQL (${IMAGE})..."
docker run -d \
--name "${CONTAINER_NAME}" \
-e POSTGRES_USER="${POSTGRES_USER}" \
-e POSTGRES_PASSWORD="${POSTGRES_PASSWORD}" \
-e POSTGRES_DB="${POSTGRES_DB}" \
-p "${PORT}:5432" \
-v "${VOLUME_NAME}:/var/lib/postgresql/data" \
"${IMAGE}" >/dev/null
echo "Готово."
echo " Host: localhost:${PORT}"
echo " Database: ${POSTGRES_DB}"
echo " User: ${POSTGRES_USER}"
echo " Password: ${POSTGRES_PASSWORD}"
echo ""
echo "Connection string:"
echo " Host=localhost;Port=${PORT};Database=${POSTGRES_DB};Username=${POSTGRES_USER};Password=${POSTGRES_PASSWORD}"