diff --git a/ct/rustypaste.sh b/ct/rustypaste.sh index 519799b28..1cca586d1 100644 --- a/ct/rustypaste.sh +++ b/ct/rustypaste.sh @@ -1,11 +1,10 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -s raw.githubusercontent.com/GoldenSpringness/ProxmoxVED/refs/heads/feature/rustypaste/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: GoldenSpringness # License: MIT | https://github.com/GoldenSpringness/ProxmoxVED/raw/main/LICENSE # Source: https://github.com/orhun/rustypaste -# App Default Values APP="rustypaste" var_tags="${var_tags:-pastebin;storage}" var_cpu="${var_cpu:-1}" @@ -25,45 +24,37 @@ function update_script() { check_container_storage check_container_resources - # Check if installation is present | -f for file, -d for folder - if [[ ! -f "/opt/${APP}/target/release/rustypaste" ]]; then - msg_error "No ${APP} Installation Found!" + if [[ ! -f "/opt/rustypaste/target/release/rustypaste" ]]; then + msg_error "No rustypaste Installation Found!" exit fi - # Crawling the new version and checking whether an update is required - RELEASE=$(curl -s https://api.github.com/repos/orhun/rustypaste/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then - # Stopping Services - msg_info "Stopping $APP" - systemctl stop ${APP} - msg_ok "Stopped $APP" + if check_for_gh_release "rustypaste" "orhun/rustypaste"; then + + msg_info "Stopping rustypaste" + systemctl stop rustypaste + msg_ok "Stopped rustypaste" - # Creating Backup msg_info "Creating Backup" - tar -czf "/opt/${APP}_backup_$(date +%F).tar.gz" "/opt/${APP}/upload" # Backing up full project + all bins + tar -czf "/opt/rustypaste_backup_$(date +%F).tar.gz" "/opt/rustypaste/upload" msg_ok "Backup Created" - # Execute Update - msg_info "Updating $APP to ${RELEASE}" + msg_info "Updating rustypaste to latest" cd /opt/rustypaste - git fetch --tags # getting newest versions - git switch --detach ${RELEASE} + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "rustypaste" "orhun/rustypaste" "tarball" "latest" "/opt/rustypaste" - cargo build --locked --release # recreating the binary - msg_ok "Updated $APP to ${RELEASE}" + cargo build --locked --release - # Starting Services - msg_info "Starting $APP" - systemctl start ${APP} - msg_ok "Started $APP" + msg_ok "Updated rustypaste to latest" + + msg_info "Starting rustypaste" + systemctl start rustypaste + msg_ok "Started rustypaste" - # Last Action - echo "${RELEASE}" > /opt/${APP}_version.txt msg_ok "Update Successful" else - msg_ok "No update required. ${APP} is already at ${RELEASE}" + msg_ok "No update required. rustypaste is already at latest" fi exit } @@ -73,6 +64,6 @@ build_container description msg_ok "Completed Successfully!\n" -echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${CREATING}${GN}rustypaste setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8000${CL}" diff --git a/install/rustypaste-install.sh b/install/rustypaste-install.sh index d2e84745c..d028cbaf2 100644 --- a/install/rustypaste-install.sh +++ b/install/rustypaste-install.sh @@ -5,7 +5,6 @@ # License: MIT | https://github.com/GoldenSpringness/ProxmoxVED/raw/main/LICENSE # Source: https://github.com/orhun/rustypaste -# Import Functions und Setup source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" color verb_ip6 @@ -25,51 +24,40 @@ msg_ok "Dependencies Installed Successfully" RUST_VERSION="1.92.0" setup_rust -msg_info "Setting up ${APPLICATION}" -# Getting the latest release version -RELEASE=$(curl -s https://api.github.com/repos/orhun/rustypaste/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -cd /opt -git clone https://github.com/orhun/rustypaste.git +msg_info "Setting up rustypaste" -if [[ ! -d "/opt/${APPLICATION}" ]]; then - msg_error "Git clone has failed" - exit -fi +fetch_and_deploy_gh_release "rustypaste" "orhun/rustypaste" "tarball" "latest" "/opt/rustypaste" -cd ${APPLICATION} -git fetch --tags -git switch --detach ${RELEASE} # checking out to latest release +cd /opt/rustypaste -sed -i 's|^address = ".*"|address = "0.0.0.0:8000"|' config.toml # changing the ip and port +sed -i 's|^address = ".*"|address = "0.0.0.0:8000"|' config.toml -msg_info "Compiling ${APPLICATION}" -cargo build --locked --release # creating the binary +msg_info "Compiling rustypaste" +cargo build --locked --release -if [[ ! -f "/opt/${APPLICATION}/target/release/rustypaste" ]]; then +if [[ ! -f "/opt/rustypaste/target/release/rustypaste" ]]; then msg_error "Cargo build failed" exit fi -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt # creating version file for the update function -msg_ok "Setting up ${APPLICATION} is Done!" +msg_ok "Setting up rustypaste is Done!" -# Creating Service (if needed) msg_info "Creating Service" -cat </etc/systemd/system/${APPLICATION}.service +cat </etc/systemd/system/rustypaste.service [Unit] -Description=${APPLICATION} Service +Description=rustypaste Service After=network.target [Service] WorkingDirectory=/opt/rustypaste -ExecStart=/opt/${APPLICATION}/target/release/rustypaste +ExecStart=/opt/rustypaste/target/release/rustypaste Restart=always [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now ${APPLICATION}.service +systemctl enable -q --now rustypaste.service msg_ok "Created Service" msg_ok "RustyPaste is Running!" @@ -77,7 +65,6 @@ msg_ok "RustyPaste is Running!" motd_ssh customize -# Cleanup msg_info "Cleaning up" $STD apt-get -y autoremove $STD apt-get -y autoclean diff --git a/misc/build.func b/misc/build.func index f9ecb9c58..f27aaa963 100644 --- a/misc/build.func +++ b/misc/build.func @@ -184,17 +184,17 @@ variables() { # - Initialize error traps after loading # ------------------------------------------------------------------------------ -source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/api.func) +source <(curl -fsSL raw.githubusercontent.com/GoldenSpringness/ProxmoxVED/refs/heads/feature/rustypaste/misc/api.func) if command -v curl >/dev/null 2>&1; then - source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/core.func) - source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/error_handler.func) + source <(curl -fsSL raw.githubusercontent.com/GoldenSpringness/ProxmoxVED/refs/heads/feature/rustypaste/misc/core.func) + source <(curl -fsSL raw.githubusercontent.com/GoldenSpringness/ProxmoxVED/refs/heads/feature/rustypaste/misc/error_handler.func) load_functions catch_errors #echo "(build.func) Loaded core.func via curl" elif command -v wget >/dev/null 2>&1; then - source <(wget -qO- https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/core.func) - source <(wget -qO- https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/error_handler.func) + source <(wget -qO- raw.githubusercontent.com/GoldenSpringness/ProxmoxVED/refs/heads/feature/rustypaste/misc/core.func) + source <(wget -qO- raw.githubusercontent.com/GoldenSpringness/ProxmoxVED/refs/heads/feature/rustypaste/misc/error_handler.func) load_functions catch_errors #echo "(build.func) Loaded core.func via wget" @@ -2577,7 +2577,7 @@ configure_ssh_settings() { # - Otherwise: shows update/setting menu # ------------------------------------------------------------------------------ start() { - source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/tools.func) + source <(curl -fsSL raw.githubusercontent.com/GoldenSpringness/ProxmoxVED/refs/heads/feature/rustypaste/misc/tools.func) if command -v pveversion >/dev/null 2>&1; then install_script || return 0 return 0 @@ -2706,7 +2706,7 @@ build_container() { pushd "$TEMP_DIR" >/dev/null # Unified install.func automatically detects OS type (debian, alpine, fedora, etc.) - export FUNCTIONS_FILE_PATH="$(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/install.func)" + export FUNCTIONS_FILE_PATH="$(curl -fsSL raw.githubusercontent.com/GoldenSpringness/ProxmoxVED/refs/heads/feature/rustypaste/misc/install.func)" # Core exports for install.func export DIAGNOSTICS="$DIAGNOSTICS"