initial COM2 system snapshot

This commit is contained in:
gitea
2026-03-06 15:22:40 +00:00
commit 9c0fa49baf
4377 changed files with 273033 additions and 0 deletions

View File

@@ -0,0 +1,76 @@
#!/usr/bin/env bash
set -euo pipefail
C="hxki-postgres"
echo "=== FIX POSTGRES ADMIN (one-shot) ==="
docker inspect "$C" >/dev/null 2>&1 || { echo "FEHLT: $C"; exit 1; }
IMG="$(docker inspect "$C" --format '{{.Config.Image}}')"
echo "[0] Image: $IMG"
# Admin-User/PW/DB aus ENV lesen (Autorität: Container selbst)
get_env() {
local key="$1"
docker inspect "$C" --format '{{range .Config.Env}}{{println .}}{{end}}' \
| awk -F= -v k="$key" '$1==k{print substr($0, index($0,"=")+1)}' | head -n1
}
ADMIN_USER="$(get_env POSTGRES_USER || true)"
ADMIN_PW="$(get_env POSTGRES_PASSWORD || true)"
ADMIN_DB="$(get_env POSTGRES_DB || true)"
# Bitnami-Fallbacks
[ -n "${ADMIN_USER:-}" ] || ADMIN_USER="$(get_env POSTGRESQL_USERNAME || true)"
[ -n "${ADMIN_PW:-}" ] || ADMIN_PW="$(get_env POSTGRESQL_PASSWORD || true)"
[ -n "${ADMIN_DB:-}" ] || ADMIN_DB="$(get_env POSTGRESQL_DATABASE || true)"
# Default-DB-Fallback
[ -n "${ADMIN_DB:-}" ] || ADMIN_DB="postgres"
echo "[1] Detected ADMIN_USER=${ADMIN_USER:-<leer>} ADMIN_DB=${ADMIN_DB:-<leer>}"
[ -n "${ADMIN_USER:-}" ] || { echo "FAIL: Konnte ADMIN_USER nicht aus Container ENV lesen."; exit 1; }
[ -n "${ADMIN_PW:-}" ] || { echo "FAIL: Konnte ADMIN_PW nicht aus Container ENV lesen."; exit 1; }
# Zielwerte für n8n (aus n8n-Container-ENV Autorität!)
N8N="hxki-n8n"
docker inspect "$N8N" >/dev/null 2>&1 || { echo "FEHLT: $N8N"; exit 1; }
get_env_n8n() {
local key="$1"
docker inspect "$N8N" --format '{{range .Config.Env}}{{println .}}{{end}}' \
| awk -F= -v k="$key" '$1==k{print substr($0, index($0,"=")+1)}' | head -n1
}
PG_USER="$(get_env_n8n DB_POSTGRESDB_USER || true)"
PG_PW="$(get_env_n8n DB_POSTGRESDB_PASSWORD || true)"
PG_DB="$(get_env_n8n DB_POSTGRESDB_DATABASE || true)"
[ -n "${PG_USER:-}" ] || { echo "FAIL: n8n ENV fehlt DB_POSTGRESDB_USER"; exit 1; }
[ -n "${PG_PW:-}" ] || { echo "FAIL: n8n ENV fehlt DB_POSTGRESDB_PASSWORD"; exit 1; }
[ -n "${PG_DB:-}" ] || { echo "FAIL: n8n ENV fehlt DB_POSTGRESDB_DATABASE"; exit 1; }
echo "[2] Target (für n8n): user=$PG_USER db=$PG_DB"
echo "[3] Apply in Postgres (create/alter role + create db)"
docker exec -i "$C" sh -lc "export PGPASSWORD='${ADMIN_PW}'; psql -v ON_ERROR_STOP=1 -U '${ADMIN_USER}' -d '${ADMIN_DB}'" <<SQL
DO \$\$
BEGIN
IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname='${PG_USER}') THEN
CREATE ROLE ${PG_USER} LOGIN PASSWORD '${PG_PW}';
ELSE
ALTER ROLE ${PG_USER} WITH LOGIN PASSWORD '${PG_PW}';
END IF;
IF NOT EXISTS (SELECT 1 FROM pg_database WHERE datname='${PG_DB}') THEN
CREATE DATABASE ${PG_DB} OWNER ${PG_USER};
END IF;
END
\$\$;
GRANT ALL PRIVILEGES ON DATABASE ${PG_DB} TO ${PG_USER};
SQL
echo "[4] Quick check: kann sich n8n-user anmelden?"
docker exec -i "$C" sh -lc "export PGPASSWORD='${PG_PW}'; psql -v ON_ERROR_STOP=1 -U '${PG_USER}' -d '${PG_DB}' -c 'select 1;' >/dev/null"
echo "OK: Postgres Credentials passen jetzt für n8n."
echo "=== ENDE ==="