2024-10-25 16:00:35 +00:00
#!/usr/bin/env bash
2024-11-02 07:48:05 +00:00
source <( curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
2025-01-01 12:37:29 +00:00
# Copyright (c) 2021-2025 tteck
2024-12-16 11:42:51 +00:00
# Author: MickLesk (Canbiz)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://adventurelog.app/
2024-10-25 16:00:35 +00:00
2024-12-16 11:42:51 +00:00
# App Default Values
2024-10-25 16:00:35 +00:00
APP = "AdventureLog"
2024-12-16 12:31:48 +00:00
var_tags = "traveling"
2024-10-25 16:00:35 +00:00
var_disk = "7"
var_cpu = "2"
var_ram = "2048"
var_os = "debian"
var_version = "12"
2024-12-16 11:42:51 +00:00
var_unprivileged = "1"
# App Output & Base Settings
header_info " $APP "
base_settings
# Core
2024-10-25 16:00:35 +00:00
variables
color
catch_errors
function update_script( ) {
2024-12-16 11:42:51 +00:00
header_info
check_container_storage
check_container_resources
if [ [ ! -d /opt/adventurelog ] ] ; then
msg_error " No ${ APP } Installation Found! "
exit
fi
RELEASE = $( curl -s https://api.github.com/repos/seanmorley15/AdventureLog/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
2025-01-08 19:41:47 +00:00
LAST_VERSION = $( cat /opt/${ APP } _version.txt)
2024-12-16 11:42:51 +00:00
msg_info "Stopping Services"
systemctl stop adventurelog-backend
systemctl stop adventurelog-frontend
msg_ok "Services Stopped"
msg_info " Updating ${ APP } to ${ RELEASE } "
2025-01-08 19:41:47 +00:00
mv /opt/adventurelog/ /opt/adventurelog-backup/
2025-01-09 09:50:50 +00:00
wget -qO /opt/v${ RELEASE } .zip " https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v ${ RELEASE } .zip "
unzip -q /opt/v${ RELEASE } .zip
mv /opt/AdventureLog-${ RELEASE } /opt/adventurelog
2025-01-08 19:41:47 +00:00
mv /opt/adventurelog-backup/backend/server/.env /opt/adventurelog/backend/server/.env
mv /opt/adventurelog-backup/backend/server/media /opt/adventurelog/backend/server/media
2024-12-16 11:42:51 +00:00
cd /opt/adventurelog/backend/server
pip install --upgrade pip & >/dev/null
pip install -r requirements.txt & >/dev/null
python3 manage.py collectstatic --noinput & >/dev/null
python3 manage.py migrate & >/dev/null
2024-10-25 16:00:35 +00:00
2025-01-08 19:41:47 +00:00
mv /opt/adventurelog-backup/frontend/.env /opt/adventurelog/frontend/.env
2024-12-16 11:42:51 +00:00
cd /opt/adventurelog/frontend
pnpm install & >/dev/null
pnpm run build & >/dev/null
echo " ${ RELEASE } " >/opt/${ APP } _version.txt
msg_ok " Updated ${ APP } "
2024-10-25 16:00:35 +00:00
2024-12-16 11:42:51 +00:00
msg_info "Starting Services"
systemctl start adventurelog-backend
systemctl start adventurelog-frontend
msg_ok "Started Services"
2024-10-25 16:00:35 +00:00
2024-12-16 11:42:51 +00:00
msg_info "Cleaning Up"
2025-01-09 09:51:07 +00:00
rm -rf /opt/v${ RELEASE } .zip
2025-01-08 19:41:47 +00:00
mv /opt/adventurelog-backup/ adventurelog-backup-$LAST_VERSION / # Keep backup, since AdventureLog moves quickly and we want to avoid breaking changes with rm -rf
2024-12-16 11:42:51 +00:00
msg_ok "Cleaned"
msg_ok "Updated Successfully"
else
msg_ok " No update required. ${ APP } is already at ${ RELEASE } "
fi
exit
2024-10-25 16:00:35 +00:00
}
start
build_container
description
msg_ok "Completed Successfully!\n"
2024-12-16 11:42:51 +00:00
echo -e " ${ CREATING } ${ GN } ${ APP } setup has been successfully initialized! ${ CL } "
echo -e " ${ INFO } ${ YW } Access it using the following URL: ${ CL } "
2025-01-08 19:41:47 +00:00
echo -e " ${ TAB } ${ GATEWAY } ${ BGN } http:// ${ IP } :3000 ${ CL } "