Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add update script to Pocketbase #535

Merged
merged 9 commits into from
Nov 28, 2024
30 changes: 30 additions & 0 deletions ct/pocketbase.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,36 @@ function default_settings() {
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}"
dsiebel marked this conversation as resolved.
Show resolved Hide resolved
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}
dsiebel marked this conversation as resolved.
Show resolved Hide resolved
unzip -q -o /tmp/pocketbase.zip -d /opt/pocketbase
dsiebel marked this conversation as resolved.
Show resolved Hide resolved
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
dsiebel marked this conversation as resolved.
Show resolved Hide resolved

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}"
dsiebel marked this conversation as resolved.
Show resolved Hide resolved
fi
exit
}

start
build_container
description
Expand Down
6 changes: 4 additions & 2 deletions install/pocketbase-install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -43,6 +43,7 @@ WantedBy = multi-user.target
EOF

systemctl enable -q --now pocketbase.service
echo "${RELEASE}" > "/opt/${APPLICATION}_version.txt"
dsiebel marked this conversation as resolved.
Show resolved Hide resolved
msg_ok "Installed Pocketbase"

motd_ssh
Expand All @@ -51,4 +52,5 @@ customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
rm -rf /tmp/pocketbase.zip
dsiebel marked this conversation as resolved.
Show resolved Hide resolved
msg_ok "Cleaned"