2023-08-01 15:34:40 -04:00
#!/usr/bin/env bash
source <( curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
2024-01-01 12:13:05 -05:00
# Copyright (c) 2021-2024 tteck
2023-08-01 15:34:40 -04:00
# Author: tteck (tteckster)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
function header_info {
clear
cat <<"EOF"
__ ____
/ /__ / / /_ __________ ___ __________
__ / / _ \/ / / / / / ___/ _ \/ _ \/ ___/ ___/
/ /_/ / __/ / / /_/ ( __ ) __/ __/ / / /
\_ ___/\_ __/_/_/\_ _, /____/\_ __/\_ __/_/ /_/
/____/
EOF
}
header_info
echo -e "Loading..."
APP = "Jellyseerr"
var_disk = "8"
2024-10-16 10:30:50 -04:00
var_cpu = "4"
var_ram = "4096"
2023-08-01 15:34:40 -04:00
var_os = "debian"
var_version = "12"
variables
color
catch_errors
function default_settings( ) {
CT_TYPE = "1"
PW = ""
CT_ID = $NEXTID
HN = $NSAPP
DISK_SIZE = " $var_disk "
CORE_COUNT = " $var_cpu "
RAM_SIZE = " $var_ram "
BRG = "vmbr0"
NET = "dhcp"
GATE = ""
2024-01-12 15:00:42 -05:00
APT_CACHER = ""
APT_CACHER_IP = ""
2023-08-01 15:34:40 -04:00
DISABLEIP6 = "no"
MTU = ""
SD = ""
NS = ""
MAC = ""
VLAN = ""
SSH = "no"
VERB = "no"
echo_default
}
function update_script( ) {
header_info
2023-08-01 16:30:07 -04:00
if [ [ ! -d /opt/jellyseerr ] ] ; then msg_error " No ${ APP } Installation Found! " ; exit; fi
2024-10-17 05:30:29 -04:00
if ( ( $( df /boot | awk 'NR==2{gsub("%","",$5); print $5}' ) > 80 ) ) ; then
read -r -p "Warning: Storage is dangerously low, continue anyway? <y/N> " prompt
[ [ ${ prompt ,, } = ~ ^( y| yes) $ ] ] || exit
fi
2024-10-16 10:55:49 -04:00
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "SET RESOURCES" "Please set the resources in your Jellyseerr LXC to 4vcpu and 4096RAM for the build process before continuing" 10 75
if ! command -v pnpm & > /dev/null; then
msg_error "pnpm not found. Installing..."
npm install -g pnpm & >/dev/null
else
2024-10-16 11:05:50 -04:00
msg_ok "pnpm is already installed."
2024-10-16 10:55:49 -04:00
fi
2023-08-03 12:03:02 -04:00
msg_info " Updating $APP "
cd /opt/jellyseerr
2024-10-17 05:15:34 -04:00
output = $( git pull --no-rebase & >/dev/null)
2023-08-03 12:03:02 -04:00
if echo " $output " | grep -q "Already up to date."
then
2024-10-16 11:18:05 -04:00
msg_ok " $APP is already up to date. "
2023-08-03 12:03:02 -04:00
exit
fi
2024-10-17 04:27:26 -04:00
systemctl stop jellyseerr
2024-10-16 10:55:49 -04:00
export CYPRESS_INSTALL_BINARY = 0
pnpm install --frozen-lockfile & >/dev/null
export NODE_OPTIONS = "--max-old-space-size=3072"
pnpm build & >/dev/null
cat <<EOF >/etc/systemd/system/jellyseerr.service
[ Unit]
Description = jellyseerr Service
After = network.target
[ Service]
EnvironmentFile = /etc/jellyseerr/jellyseerr.conf
Environment = NODE_ENV = production
Type = exec
WorkingDirectory = /opt/jellyseerr
ExecStart = /usr/bin/node dist/index.js
[ Install]
WantedBy = multi-user.target
EOF
2024-10-16 23:29:32 -04:00
systemctl daemon-reload
2023-08-03 12:03:02 -04:00
systemctl start jellyseerr
msg_ok " Updated $APP "
2023-08-01 15:34:40 -04:00
exit
}
start
build_container
description
2024-10-16 10:30:50 -04:00
msg_info "Setting Container to Normal Resources"
pct set $CTID -memory 2048
pct set $CTID -cores 2
msg_ok "Set Container to Normal Resources"
2023-08-01 15:34:40 -04:00
msg_ok "Completed Successfully!\n"
echo -e " ${ APP } should be reachable by going to the following URL.
${ BL } http://${ IP } :5055${ CL } \n "