fix script

This commit is contained in:
2025-03-17 13:36:32 +04:00
parent 90db6f67ec
commit c7d116be87

55
lib.nix
View File

@@ -108,37 +108,32 @@ in
) )
); );
}; };
setupScript = pkgs.writeShellApplication { setupScript = pkgs.writeShellScriptBin "setup-postgres" ''
runtimeInputs = [ pkgs.makeWrapper ]; set -euo pipefail
name = "setup-postgres"; export PATH=${package}/bin:${pkgs.coreutils}/bin
text = '' POSTGRES_RUN_INITIAL_SCRIPT="false"
set -euo pipefail if [[ ! -d "$PGDATA" ]]; then
export PATH=${package}/bin:${pkgs.coreutils}/bin initdb --no-instructions
POSTGRES_RUN_INITIAL_SCRIPT="false" POSTGRES_RUN_INITIAL_SCRIPT="true"
if [[ ! -d "$PGDATA" ]]; then echo
initdb --no-instructions echo "PostgreSQL initdb process completed"
POSTGRES_RUN_INITIAL_SCRIPT="true" echo
echo fi
echo "PostgreSQL initdb process completed" sed "s|@PGHOST|''${PGHOST}|g" ${configFile} > "$PGDATA"/postgresql.conf
echo if [[ "$POSTGRES_RUN_INITIAL_SCRIPT" == "true" ]]; then
fi echo
substituteAllInPlace "$PGDATA"/postgresql.conf echo "PostgreSQL is setting up the initial database"
cp ${configFile} "$PGDATA"/postgresql.conf echo
if [[ "$POSTGRES_RUN_INITIAL_SCRIPT" == "true" ]]; then pg_ctl -w start -o "-c unix_socket_directories=$PGHOST -c listen_addresses= -p ${builtins.toString port}"
echo pg_ctl -m fast -w stop
echo "PostgreSQL is setting up the initial database" else
echo echo
pg_ctl -w start -o "-c unix_socket_directories=$PGHOST -c listen_addresses= -p ${builtins.toString port}" echo "Database directory exists. Skipping initialization"
pg_ctl -m fast -w stop echo
else fi
echo
echo "Database directory exists. Skipping initialization"
echo
fi
unset POSTGRES_RUN_INITIAL_SCRIPT unset POSTGRES_RUN_INITIAL_SCRIPT
''; '';
};
script = pkgs.writeShellApplication { script = pkgs.writeShellApplication {
name = "run-postgres"; name = "run-postgres";