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