feat: pocketbase update script

This commit is contained in:
Dominik Siebel 2024-11-27 11:02:04 +01:00
parent 853c727167
commit e3856d4384
No known key found for this signature in database
2 changed files with 34 additions and 2 deletions

View File

@ -52,6 +52,36 @@ function default_settings() {
echo_default echo_default
} }
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/systemd/system/pocketbase.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
RELEASE=$(curl -s https://api.github.com/repos/pocketbase/pocketbase/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt || "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping ${APP}"
systemctl stop pocketbase.service
msg_ok "Stopped ${APP}"
msg_info "Updating $APP to ${RELEASE}"
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
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
msg_info "Starting ${APP}"
systemctl start pocketbase.service
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit
}
start start
build_container build_container
description description

View File

@ -20,8 +20,8 @@ $STD apt-get install -y mc
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Installing Pocketbase" 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) }') 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 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} mkdir -p /opt/pocketbase/{pb_public,pb_migrations,pb_hooks}
unzip -q -o /tmp/pocketbase.zip -d /opt/pocketbase unzip -q -o /tmp/pocketbase.zip -d /opt/pocketbase
@ -43,6 +43,7 @@ WantedBy = multi-user.target
EOF EOF
systemctl enable -q --now pocketbase.service systemctl enable -q --now pocketbase.service
echo "${RELEASE}" > "/opt/${APPLICATION}_version.txt"
msg_ok "Installed Pocketbase" msg_ok "Installed Pocketbase"
motd_ssh motd_ssh
@ -51,4 +52,5 @@ customize
msg_info "Cleaning up" msg_info "Cleaning up"
$STD apt-get -y autoremove $STD apt-get -y autoremove
$STD apt-get -y autoclean $STD apt-get -y autoclean
rm -rf /tmp/pocketbase.zip
msg_ok "Cleaned" msg_ok "Cleaned"