Compare commits

...

2 Commits

Author SHA1 Message Date
tteckster f20d65a606
Update homepage.sh
Refactor
2024-04-23 10:36:16 -04:00
tteckster dc6c21a85f
Update homepage-install.sh
Refactor
2024-04-23 10:34:50 -04:00
2 changed files with 30 additions and 27 deletions

View File

@ -55,26 +55,31 @@ function default_settings() {
function update_script() { function update_script() {
header_info header_info
if [[ ! -d /opt/homepage ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -d /opt/homepage ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
if ! command -v npm >/dev/null 2>&1; then if ! command -v npm >/dev/null 2>&1; then
echo "Installing NPM..." echo "Installing NPM..."
apt-get install -y npm >/dev/null 2>&1 apt-get install -y npm >/dev/null 2>&1
echo "Installed NPM..." npm install -g pnpm >/dev/null 2>&1
fi echo "Installed NPM..."
fi fi
fi
RELEASE=$(curl -s https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -s https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
msg_info "Updating Homepage to v${RELEASE} (Patience)" if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
systemctl stop homepage msg_info "Updating Homepage to v${RELEASE} (Patience)"
wget -q https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz systemctl stop homepage
tar -xzf v${RELEASE}.tar.gz wget -q https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz
cp -r homepage-${RELEASE}/* /opt/homepage/ tar -xzf v${RELEASE}.tar.gz
rm -rf homepage-${RELEASE} cp -r homepage-${RELEASE}/* /opt/homepage/
cd /opt/homepage rm -rf homepage-${RELEASE}
npx update-browserslist-db@latest cd /opt/homepage
pnpm install npx update-browserslist-db@latest
pnpm build pnpm install
systemctl start homepage pnpm build
msg_ok "Updated Homepage to v${RELEASE}" systemctl start homepage
msg_ok "Updated Homepage to v${RELEASE}"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit exit
} }

View File

@ -17,11 +17,7 @@ msg_info "Installing Dependencies"
$STD apt-get install -y curl $STD apt-get install -y curl
$STD apt-get install -y sudo $STD apt-get install -y sudo
$STD apt-get install -y mc $STD apt-get install -y mc
$STD apt-get install -y make $STD apt-get install -y gpg
$STD apt-get install -y g++
$STD apt-get install -y gcc
$STD apt-get install -y ca-certificates
$STD apt-get install -y gnupg
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository" msg_info "Setting up Node.js Repository"
@ -47,11 +43,12 @@ cd /opt/homepage
cp /opt/homepage/src/skeleton/* /opt/homepage/config cp /opt/homepage/src/skeleton/* /opt/homepage/config
$STD pnpm install $STD pnpm install
$STD pnpm build $STD pnpm build
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
msg_ok "Installed Homepage v${RELEASE}" msg_ok "Installed Homepage v${RELEASE}"
msg_info "Creating Service" msg_info "Creating Service"
service_path="/etc/systemd/system/homepage.service" cat <<EOF >/etc/systemd/system/homepage.service
echo "[Unit] [Unit]
Description=Homepage Description=Homepage
After=network.target After=network.target
StartLimitIntervalSec=0 StartLimitIntervalSec=0
@ -63,8 +60,9 @@ User=root
WorkingDirectory=/opt/homepage/ WorkingDirectory=/opt/homepage/
ExecStart=pnpm start ExecStart=pnpm start
[Install] [Install]
WantedBy=multi-user.target" >$service_path WantedBy=multi-user.target
$STD systemctl enable --now homepage EOF
systemctl enable -q --now homepage
msg_ok "Created Service" msg_ok "Created Service"
motd_ssh motd_ssh