From 762a9cefc3181645d6bf1dd1f1da9efb479a5e3b Mon Sep 17 00:00:00 2001 From: Matthias Berner Date: Sat, 28 Mar 2026 06:58:07 +0100 Subject: [PATCH] upd homelabdb --- homelabdb/Bastillefile | 29 +++++++++++++++++++++++++++++ homelabdb/README.md | 17 +++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 homelabdb/Bastillefile create mode 100644 homelabdb/README.md diff --git a/homelabdb/Bastillefile b/homelabdb/Bastillefile new file mode 100644 index 0000000..88e64c9 --- /dev/null +++ b/homelabdb/Bastillefile @@ -0,0 +1,29 @@ +# PostgreSQL 18 Homelab Setup +SYSRC hostid_enable=YES +SYSRC sendmail_enable=NONE +SYSRC allow.sysvipc=YES +SYSRC postgresql_enable=YES + +PKG install -y postgresql18-server + +# Initialisierung nur, wenn nötig +CMD [ ! -f /var/db/postgres/data18/PG_VERSION ] && service postgresql initdb + +# FIX: Wir ersetzen die listen_addresses Zeile direkt +# Das '' ist bei FreeBSD sed für "kein Backup-File" nötig +CMD sed -i '' "s/[# ]*listen_addresses =.*/listen_addresses = '*'/g" /var/db/postgres/data18/postgresql.conf + +# HBA schreiben (dein funktionierender Stand) +CMD sh -c "cat < /var/db/postgres/data18/pg_hba.conf +local all all trust +host all all 127.0.0.1/32 trust +host all all ::1/128 trust +host all homelab 172.16.0.0/22 md5 +HBA" + +# Neustart ist KRITISCH für das Binding an die IP +CMD service postgresql restart + +# User & DB Setup +CMD su - postgres -c "psql -tc \"SELECT 1 FROM pg_user WHERE usename = 'homelab'\" | grep -q 1 || psql -c \"CREATE USER homelab WITH PASSWORD 'homelab';\"" +CMD su - postgres -c "psql -lqt | cut -d \| -f 1 | grep -qw homelabdb || createdb -O homelab homelabdb" \ No newline at end of file diff --git a/homelabdb/README.md b/homelabdb/README.md new file mode 100644 index 0000000..81abea4 --- /dev/null +++ b/homelabdb/README.md @@ -0,0 +1,17 @@ +# Bastille Stack: PostgreSQL 18 HomeLab + +Dieses Template automatisiert die Bereitstellung eines **PostgreSQL 18** Servers in einem BastilleBSD Jail. Es ist vorkonfiguriert für den Netzwerkzugriff innerhalb eines HomeLabs. + +## Features +- **Version:** PostgreSQL 18.x +- **Netzwerk:** Erreichbar im Subnetz `172.16.0.0/22`. +- **IPC:** Automatische Konfiguration von System V IPC (wichtig für Postgres Performance). +- **Auto-Setup:** Erstellt automatisch den User `homelab` und die Datenbank `homelabdb`. + +## Voraussetzungen + +### 1. Jail erstellen +Das Jail sollte idealerweise mit dem `-B` Flag erstellt werden, um Standard-Parameter zu setzen: + +```bash +bastille create -B homelabdb 14.2-RELEASE 172.16.0.10 \ No newline at end of file