29 lines
1.2 KiB
Plaintext
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" |