67 lines
1.7 KiB
Bash
67 lines
1.7 KiB
Bash
#!/bin/bash
|
|
|
|
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
# install or upgrade postgrest / frode klevstul / oct 2025
|
|
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
|
|
|
|
if [ "$EUID" -ne 0 ]
|
|
then echo "error: run as 'root'"
|
|
exit
|
|
fi
|
|
|
|
clear
|
|
|
|
cd /tmp
|
|
|
|
# fetch the latest release version
|
|
# src: https://gist.github.com/steinwaywhw/a4cd19cda655b8249d908261a62687f8?permalink_comment_id=5097031#gistcomment-5097031
|
|
latest_version=$(curl -s https://api.github.com/repos/PostgREST/postgrest/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")')
|
|
|
|
# ask for user input
|
|
echo "install postgrest ${latest_version}? [y/n]"
|
|
read -n1 user_input
|
|
|
|
if [[ ${user_input} == "y" ]]; then
|
|
|
|
# construct download url
|
|
download_url="https://github.com/PostgREST/postgrest/releases/download/${latest_version}/postgrest-${latest_version}-linux-static-x86-64.tar.xz"
|
|
|
|
# download the file
|
|
wget -O postgrest.tar.xz ${download_url}
|
|
|
|
# extract the executable
|
|
tar -xJf *.xz
|
|
|
|
# move executable to correct directory
|
|
mv postgrest /usr/local/bin
|
|
|
|
echo "new postgrest version is installed as /usr/local/bin/postgrest"
|
|
|
|
fi
|
|
|
|
# create /etc/postgrest
|
|
if ! [ -d "/etc/postgrest" ]
|
|
then
|
|
|
|
# make dir(s) if they do not exist
|
|
mkdir -p "/etc/postgrest"
|
|
|
|
echo "created directory /etc/postgrest"
|
|
|
|
fi
|
|
|
|
# add config
|
|
if ! [ -f "/etc/postgrest/config" ]
|
|
then
|
|
|
|
wget -O config https://gi.op.fo/fro/srv-pub/raw/branch/trunk/cfg/pgr/config
|
|
|
|
cp config /etc/postgrest/
|
|
|
|
echo "***********************************************************************"
|
|
echo "* ! please, populate '/etc/postgrest/config' with proper login data ! *"
|
|
echo "***********************************************************************"
|
|
|
|
fi
|