From 7cac87858f5be3fc94a7d4f54b65cc912fc6d0a1 Mon Sep 17 00:00:00 2001 From: tremor021 Date: Thu, 22 Jan 2026 22:29:53 +0100 Subject: [PATCH] Fileflows test --- ct/fileflows.sh | 74 ++++++++++++++++++++++++++++++++++++ install/fileflows-install.sh | 47 +++++++++++++++++++++++ 2 files changed, 121 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 000000000..03a0b5e0f --- /dev/null +++ b/ct/fileflows.sh @@ -0,0 +1,74 @@ +#!/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 + if ! [[ $(dpkg -s jq 2>/dev/null) ]]; then + $STD apt-get update + $STD apt-get install -y jq + 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" + backup_filename="/opt/${APP}_backup_$(date +%F).tar.gz" + tar -czf "$backup_filename" -C /opt/fileflows Data + msg_ok "Backup Created" + + msg_info "Updating $APP to latest version" + temp_file=$(mktemp) + curl -fsSL https://fileflows.com/downloads/zip -o "$temp_file" + $STD unzip -o -d /opt/fileflows "$temp_file" + rm -rf "$temp_file" + rm -rf "$backup_filename" + msg_ok "Updated $APP to latest version" + + 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 000000000..0e04c881d --- /dev/null +++ b/install/fileflows-install.sh @@ -0,0 +1,47 @@ +#!/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-get install -y \ + ffmpeg \ + jq \ + imagemagick +msg_ok "Installed Dependencies" + +setup_hwaccel + +msg_info "Installing ASP.NET Core Runtime" +curl -fsSL https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -o packages-microsoft-prod.deb +$STD dpkg -i packages-microsoft-prod.deb +rm -rf packages-microsoft-prod.deb +$STD apt-get update +$STD apt-get install -y aspnetcore-runtime-8.0 +msg_ok "Installed ASP.NET Core Runtime" + +msg_info "Setup ${APPLICATION}" +$STD ln -svf /usr/bin/ffmpeg /usr/local/bin/ffmpeg +$STD ln -svf /usr/bin/ffprobe /usr/local/bin/ffprobe +temp_file=$(mktemp) +curl -fsSL https://fileflows.com/downloads/zip -o "$temp_file" +$STD unzip -d /opt/fileflows "$temp_file" +(cd /opt/fileflows/Server && dotnet FileFlows.Server.dll --systemd install --root true) +systemctl enable -q --now fileflows +rm -f "$temp_file" +msg_ok "Setup ${APPLICATION}" + +motd_ssh +customize +cleanup_lxc