rewrite parts of the script
This commit is contained in:
19
lib.nix
19
lib.nix
@@ -1,6 +1,7 @@
|
|||||||
{ pkgs }:
|
{ pkgs }:
|
||||||
let
|
let
|
||||||
inherit (pkgs) lib;
|
inherit (pkgs) lib;
|
||||||
|
runtime = ".compose";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
mkWrapper =
|
mkWrapper =
|
||||||
@@ -71,6 +72,7 @@ in
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
|
runtimeDir = "${runtime}/${name}";
|
||||||
merged_config =
|
merged_config =
|
||||||
(
|
(
|
||||||
if default_config then
|
if default_config then
|
||||||
@@ -113,15 +115,24 @@ in
|
|||||||
export PATH=${package}/bin:${pkgs.coreutils}/bin
|
export PATH=${package}/bin:${pkgs.coreutils}/bin
|
||||||
POSTGRES_RUN_INITIAL_SCRIPT="false"
|
POSTGRES_RUN_INITIAL_SCRIPT="false"
|
||||||
if [[ ! -d "${data_dir}" ]]; then
|
if [[ ! -d "${data_dir}" ]]; then
|
||||||
echo "Database directory does not exist. Initializing"
|
|
||||||
|
initdb -D ${data_dir} --no-instructions
|
||||||
POSTGRES_RUN_INITIAL_SCRIPT="true"
|
POSTGRES_RUN_INITIAL_SCRIPT="true"
|
||||||
${package}/bin/initdb -D ${data_dir} --no-instructions
|
echo
|
||||||
|
echo "PostgreSQL initdb process completed"
|
||||||
|
echo
|
||||||
fi
|
fi
|
||||||
cp ${configFile} ${data_dir}/postgresql.conf
|
cp ${configFile} ${data_dir}/postgresql.conf
|
||||||
if [[ "$POSTGRES_RUN_INITIAL_SCRIPT" == "true" ]]; then
|
if [[ "$POSTGRES_RUN_INITIAL_SCRIPT" == "true" ]]; then
|
||||||
echo "Running initial script"
|
echo
|
||||||
|
echo "PostgreSQL is setting up the initial database"
|
||||||
|
echo
|
||||||
|
OLDPGHOST="$PGHOST"
|
||||||
|
PGHOST=${lib.escapeShellArg runtimeDir}
|
||||||
pg_ctl -D "${data_dir}" -w start -o "-c unix_socket_directories=${data_dir} -c listen_addresses= -p ${builtins.toString port}"
|
pg_ctl -D "${data_dir}" -w start -o "-c unix_socket_directories=${data_dir} -c listen_addresses= -p ${builtins.toString port}"
|
||||||
pg_ctl -D "${data_dir}" -m fast -w stop
|
pg_ctl -D "${data_dir}" -m fast -w stop
|
||||||
|
PGHOST="$OLDPGHOST"
|
||||||
|
unset OLDPGHOST
|
||||||
else
|
else
|
||||||
echo
|
echo
|
||||||
echo "Database directory exists. Skipping initialization"
|
echo "Database directory exists. Skipping initialization"
|
||||||
@@ -135,7 +146,7 @@ in
|
|||||||
name = "run-postgres";
|
name = "run-postgres";
|
||||||
text = ''
|
text = ''
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
mkdir -p ${lib.escapeShellArg data_dir}
|
mkdir -p ${lib.escapeShellArg runtimeDir}
|
||||||
${setupScript}/bin/setup-postgres
|
${setupScript}/bin/setup-postgres
|
||||||
exec ${package}/bin/postgres -D${data_dir}
|
exec ${package}/bin/postgres -D${data_dir}
|
||||||
'';
|
'';
|
||||||
|
|||||||
Reference in New Issue
Block a user