Files
templates/homelabdb/Bastillefile
2026-03-28 06:58:07 +01:00

29 lines
1.2 KiB
Plaintext

# 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 <<HBA > /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"