Add central postgres instance
This commit is contained in:
39
central-database/init-postgres.sh
Executable file
39
central-database/init-postgres.sh
Executable file
@@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "Waiting for PostgreSQL to start..."
|
||||
until pg_isready -U admin -h localhost; do
|
||||
sleep 2
|
||||
done
|
||||
|
||||
echo "PostgreSQL is ready. Creating databases and users..."
|
||||
|
||||
# Create databases
|
||||
for db in matrix_synapse matrix_mas matrix_signal matrix_whatsapp paperless immich shlink spliit audiomuse; do
|
||||
echo "Creating database: $db"
|
||||
createdb -U admin "$db"
|
||||
done
|
||||
|
||||
# Create users and set permissions
|
||||
for db in matrix_synapse matrix_mas matrix_signal matrix_whatsapp paperless immich shlink spliit audiomuse; do
|
||||
user="${db}_user"
|
||||
password_var="${user^^}_PASSWORD"
|
||||
password=${!password_var}
|
||||
|
||||
if [ -z "$password" ]; then
|
||||
echo "Warning: Password for $user not set. Using default."
|
||||
password="default_password"
|
||||
fi
|
||||
|
||||
echo "Creating user: $user"
|
||||
psql -U admin -c "CREATE USER $user WITH PASSWORD '$password';"
|
||||
psql -U admin -c "GRANT ALL PRIVILEGES ON DATABASE $db TO $user;"
|
||||
psql -U admin -c "ALTER DATABASE $db OWNER TO $user;"
|
||||
done
|
||||
|
||||
# Enable extensions in immich database
|
||||
echo "Enabling extensions in immich database..."
|
||||
psql -U admin -d immich -c "CREATE EXTENSION IF NOT EXISTS vector;"
|
||||
psql -U admin -d immich -c "CREATE EXTENSION IF NOT EXISTS pg_vectorscale;"
|
||||
|
||||
echo "PostgreSQL initialization complete!"
|
||||
Reference in New Issue
Block a user