#!/usr/bin/env bash set -euo pipefail if [[ "$(id -u)" -ne 0 ]]; then echo "run as root" >&2 exit 1 fi db_name="kaotings_cms" db_role="kaotings_cms" db_password="$(openssl rand -hex 32)" payload_secret="$(openssl rand -hex 48)" if runuser -u postgres -- psql -tAc "SELECT 1 FROM pg_roles WHERE rolname='${db_role}'" | grep -q 1; then printf "ALTER ROLE %s PASSWORD '%s';\n" "$db_role" "$db_password" | runuser -u postgres -- psql -v ON_ERROR_STOP=1 >/dev/null else printf "CREATE ROLE %s LOGIN PASSWORD '%s';\n" "$db_role" "$db_password" | runuser -u postgres -- psql -v ON_ERROR_STOP=1 >/dev/null fi if ! runuser -u postgres -- psql -tAc "SELECT 1 FROM pg_database WHERE datname='${db_name}'" | grep -q 1; then runuser -u postgres -- createdb -O "$db_role" "$db_name" fi install -d -m 700 /etc/kaotings umask 077 cat > /etc/kaotings/cms.env <