From e9ebfffb57b18d34b498755a191c6afdf301a92c Mon Sep 17 00:00:00 2001 From: Dominik Siebel <145283+dsiebel@users.noreply.github.com> Date: Thu, 28 Nov 2024 15:36:58 +0100 Subject: [PATCH] Add update script to Pocketbase (#535) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: pocketbase update script * Apply suggestions from code review add `v` prefix to release version outputs Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com> * remove unnecessary dir creation * move temp file creation to before apt cleanup * change to updateable * switch to provided update command * check for availability of pocketbase binary before running update * Apply suggestions from code review Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com> * fix code suggestions merge issue --------- Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com> --- ct/pocketbase.sh | 20 ++++++++++++++++++++ install/pocketbase-install.sh | 5 +++-- json/pocketbase.json | 4 ++-- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/ct/pocketbase.sh b/ct/pocketbase.sh index 1a6066cb..5c7e1a9e 100644 --- a/ct/pocketbase.sh +++ b/ct/pocketbase.sh @@ -52,6 +52,26 @@ function default_settings() { echo_default } +function update_script() { + header_info + check_container_storage + check_container_resources + if [[ ! -f /etc/systemd/system/pocketbase.service || ! -x /opt/pocketbase/pocketbase ]]; then msg_error "No ${APP} Installation Found!"; exit; fi + msg_info "Stopping ${APP}" + systemctl stop pocketbase + msg_ok "Stopped ${APP}" + + msg_info "Updating ${APP}" + /opt/pocketbase/pocketbase update + msg_ok "Updated ${APP}" + + msg_info "Starting ${APP}" + systemctl start pocketbase + msg_ok "Started ${APP}" + msg_ok "Updated Successfully" + exit +} + start build_container description diff --git a/install/pocketbase-install.sh b/install/pocketbase-install.sh index 3f0db3a9..c1fa1cfe 100644 --- a/install/pocketbase-install.sh +++ b/install/pocketbase-install.sh @@ -20,8 +20,8 @@ $STD apt-get install -y mc msg_ok "Installed Dependencies" msg_info "Installing Pocketbase" -RELEASE=$(curl -s https://api.github.com/repos/pocketbase/pocketbase/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q https://github.com/pocketbase/pocketbase/releases/download/v${RELEASE}/pocketbase_${RELEASE}_linux_amd64.zip -O /tmp/pocketbase.zip +RELEASE="$(curl -s https://api.github.com/repos/pocketbase/pocketbase/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')" +wget -q "https://github.com/pocketbase/pocketbase/releases/download/v${RELEASE}/pocketbase_${RELEASE}_linux_amd64.zip" -O /tmp/pocketbase.zip mkdir -p /opt/pocketbase/{pb_public,pb_migrations,pb_hooks} unzip -q -o /tmp/pocketbase.zip -d /opt/pocketbase @@ -49,6 +49,7 @@ motd_ssh customize msg_info "Cleaning up" +rm -rf /tmp/pocketbase.zip $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" diff --git a/json/pocketbase.json b/json/pocketbase.json index ed68dfeb..b799f272 100644 --- a/json/pocketbase.json +++ b/json/pocketbase.json @@ -6,7 +6,7 @@ ], "date_created": "2024-05-07", "type": "ct", - "updateable": false, + "updateable": true, "privileged": false, "interface_port": null, "documentation": "https://pocketbase.io/docs/", @@ -31,4 +31,4 @@ "password": null }, "notes": [] -} \ No newline at end of file +}