Files
srv-pub/scr/2a_postgrest_install.sh
2025-10-28 12:47:26 -05:00

65 lines
1.6 KiB
Bash

#!/bin/bash
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# install or upgrade postgrest / frode klevstul / oct 2025
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
if [ "$EUID" -ne 0 ]
then echo "error: run as 'root'"
exit
fi
# ---
# postgrest
# ---
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
fi
# create /etc/postgrest
if ! [ -d "/etc/postgrest" ]
then
# make dir(s) if they do not exist
mkdir -p "/etc/postgrest"
fi
# add config
if ! [ -f "/etc/postgrest/config" ]
then
wget https://gt.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