/
kreyndelHam
/
Konstructorium
Обзор
Документация
Войти
/
kreyndelHam
/
Konstructorium
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
1
CI/CD
Аналитика
Безопасность
dev
scripts/docker/ensure_postgres_data_dir.sh
26 строк
992 B
Server
Harden Docker Postgres bind mount and add dev stack verify scripts.
16 май 2026, 00:14
16 май 2026, 00:14
fab433b
Код
Авторство
О чём код?
#!/usr/bin/env bash # Ensure bind-mounted PostgreSQL data directory is writable by postgres:15 (UID/GID 999). set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" DATA_DIR="${POSTGRES_DATA_DIR:-$ROOT/db_data}" mkdir -p "$DATA_DIR" if docker run --rm \ -u 999:999 \ -v "$DATA_DIR:/var/lib/postgresql/data" \ postgres:15 \ sh -c 'touch /var/lib/postgresql/data/.konstructorium_write_test && rm -f /var/lib/postgresql/data/.konstructorium_write_test' \ 2>/dev/null; then exit 0 fi echo "PostgreSQL data directory is not writable for container user 999:999." echo "Fix ownership (from repo root):" echo " sudo chown -R 999:999 \"$DATA_DIR\"" echo "If the cluster was created under a different layout, remove the directory and re-init (data loss):" echo " docker compose -f docker-compose.services.yml down" echo " sudo rm -rf \"$DATA_DIR\" && mkdir -p \"$DATA_DIR\" && sudo chown -R 999:999 \"$DATA_DIR\"" exit 1