From f60a861216b8f868475c6cc65d3dc17578396dc0 Mon Sep 17 00:00:00 2001 From: tremor021 Date: Sat, 28 Mar 2026 10:47:22 +0100 Subject: [PATCH] fileflows test --- ct/fileflows.sh | 65 ++++++++++++++++++++++++++++++++++++ install/fileflows-install.sh | 58 ++++++++++++++++++++++++++++++++ 2 files changed, 123 insertions(+) create mode 100644 ct/fileflows.sh create mode 100644 install/fileflows-install.sh diff --git a/ct/fileflows.sh b/ct/fileflows.sh new file mode 100644 index 00000000..2459ce79 --- /dev/null +++ b/ct/fileflows.sh @@ -0,0 +1,65 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) +# Copyright (c) 2021-2026 community-scripts ORG +# Author: kkroboth +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://fileflows.com/ + +APP="FileFlows" +var_tags="${var_tags:-media;automation}" +var_cpu="${var_cpu:-2}" +var_ram="${var_ram:-2048}" +var_disk="${var_disk:-8}" +var_os="${var_os:-debian}" +var_version="${var_version:-13}" +var_unprivileged="${var_unprivileged:-1}" +var_gpu="${var_gpu:-yes}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + + if [[ ! -d /opt/fileflows ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + update_available=$(curl -fsSL -X 'GET' "http://localhost:19200/api/status/update-available" -H 'accept: application/json' | jq .UpdateAvailable) + if [[ "${update_available}" == "true" ]]; then + msg_info "Stopping Service" + systemctl stop fileflows* + msg_info "Stopped Service" + + msg_info "Creating Backup" + ls /opt/*.tar.gz &>/dev/null && rm -f /opt/*.tar.gz + backup_filename="/opt/${APP}_backup_$(date +%F).tar.gz" + tar -czf "$backup_filename" -C /opt/fileflows Data + msg_ok "Backup Created" + + fetch_and_deploy_from_url "https://fileflows.com/downloads/zip" "/opt/fileflows" + + msg_info "Starting Service" + systemctl start fileflows* + msg_ok "Started Service" + msg_ok "Updated successfully!" + else + msg_ok "No update required. ${APP} is already at latest version" + fi + + exit +} + +start +build_container +description + +msg_ok "Completed successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Access it using the following URL:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:19200${CL}" diff --git a/install/fileflows-install.sh b/install/fileflows-install.sh new file mode 100644 index 00000000..83d62131 --- /dev/null +++ b/install/fileflows-install.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2026 community-scripts ORG +# Author: kkroboth +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://fileflows.com/ + +# Import Functions und Setup +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Dependencies" +$STD apt install -y \ + ffmpeg \ + imagemagick +msg_ok "Installed Dependencies" + +setup_hwaccel + +msg_info "Installing ASP.NET Core Runtime" +setup_deb822_repo \ + "microsoft" \ + "https://packages.microsoft.com/keys/microsoft-2025.asc" \ + "https://packages.microsoft.com/debian/13/prod/" \ + "trixie" +$STD apt install -y aspnetcore-runtime-8.0 +msg_ok "Installed ASP.NET Core Runtime" + +fetch_and_deploy_from_url "https://fileflows.com/downloads/zip" "/opt/fileflows" + +$STD ln -svf /usr/bin/ffmpeg /usr/local/bin/ffmpeg +$STD ln -svf /usr/bin/ffprobe /usr/local/bin/ffprobe +CHOICE=$(msg_menu "FileFlows Setup Options" \ + "1" "Install FileFlows Server" \ + "2" "Install FileFlows Node") + +case $CHOICE in +1) + cd /opt/fileflows/Server + $STD dotnet FileFlows.Server.dll --systemd install --root true + systemctl enable -q --now fileflows + ;; +2) + cd /opt/fileflows/Node + $STD dotnet FileFlows.Node.dll + $STD dotnet FileFlows.Node.dll --systemd install --root true + systemctl enable -q --now fileflows-node + ;; +esac + +motd_ssh +customize +cleanup_lxc