Skip to content

Instantly share code, notes, and snippets.

@benoitpetit
Created April 22, 2023 01:42
Show Gist options
  • Save benoitpetit/4d0cf2868a0cc981c6fbf9bd4abb7631 to your computer and use it in GitHub Desktop.
Save benoitpetit/4d0cf2868a0cc981c6fbf9bd4abb7631 to your computer and use it in GitHub Desktop.
update pocketbase service
import os
import requests
import datetime
# Get current date in the format DD_MM_YY
date = datetime.datetime.now().strftime("%d_%m_%y_%H-%M-%S")
# Get the desired version of PocketBase from the user
version = input("Enter the version of PocketBase you want to install: ")
# Check if the specified version exists on GitHub
url = f"https://github.com/pocketbase/pocketbase/releases/download/v{version}/pocketbase_{version}_linux_amd64.zip"
url_check = f"https://github.com/pocketbase/pocketbase/releases/v{version}"
response = requests.head(url_check)
if response.status_code != 200:
print(f"The specified version ({version}) does not exist on GitHub. 🚫")
print(f"Check : https://github.com/pocketbase/pocketbase/releases/")
exit()
# Create backup of current PocketBase data directory
os.chdir("/opt/pocketbase/backup")
os.system(f"zip -r pb_data_backup_{date}.zip /opt/pocketbase/pb_data")
# Download and install new version of PocketBase
os.chdir("/opt/pocketbase")
os.system(f"wget {url}")
os.system("systemctl stop pocketbase.service")
os.system(f"unzip -o pocketbase_{version}_linux_amd64.zip")
os.system(f"rm pocketbase_{version}_linux_amd64.zip")
os.system("systemctl start pocketbase.service")
# Check if PocketBase is running systemctl
if os.system("systemctl is-active --quiet pocketbase.service") == 0:
print("PocketBase has been updated successfully! ✨")
else:
print("PocketBase has not been updated successfully. 😞")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment