mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 10:22:50 +00:00 
			
		
		
		
	fileflows (#3392)
* 'Add new script' * increase RAM --------- Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com> Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							ca55795473
						
					
				
				
					commit
					e19a2e90d3
				
			
							
								
								
									
										73
									
								
								ct/fileflows.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								ct/fileflows.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,73 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
				
			||||||
 | 
					# Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
 | 
					# Author: kkroboth
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE
 | 
				
			||||||
 | 
					# Source: https://fileflows.com/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					APP="FileFlows"
 | 
				
			||||||
 | 
					var_tags="media;automation"
 | 
				
			||||||
 | 
					var_cpu="2"
 | 
				
			||||||
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="8"
 | 
				
			||||||
 | 
					var_os="debian"
 | 
				
			||||||
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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 -s -X 'GET' "http://localhost:19200/api/status/update-available" -H 'accept: application/json' | jq .UpdateAvailable)
 | 
				
			||||||
 | 
					  if [[ "${update_available}" == "true" ]]; then
 | 
				
			||||||
 | 
					    msg_info "Stopping $APP"
 | 
				
			||||||
 | 
					    systemctl stop fileflows
 | 
				
			||||||
 | 
					    msg_ok "Stopped $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    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
 | 
				
			||||||
 | 
					    unzip -oq -d /opt/fileflows $temp_file
 | 
				
			||||||
 | 
					    msg_ok "Updated $APP to latest version"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Starting $APP"
 | 
				
			||||||
 | 
					    systemctl start fileflows
 | 
				
			||||||
 | 
					    msg_ok "Started $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Cleaning Up"
 | 
				
			||||||
 | 
					    rm -rf $temp_file
 | 
				
			||||||
 | 
					    rm -rf $backup_filename
 | 
				
			||||||
 | 
					    msg_ok "Cleanup Completed"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_ok "Update Successful"
 | 
				
			||||||
 | 
					  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}"
 | 
				
			||||||
							
								
								
									
										39
									
								
								frontend/public/json/fileflows.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								frontend/public/json/fileflows.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "name": "FileFlows",
 | 
				
			||||||
 | 
					  "slug": "fileflows",
 | 
				
			||||||
 | 
					  "categories": [
 | 
				
			||||||
 | 
					    13
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  "date_created": "2025-03-07",
 | 
				
			||||||
 | 
					  "type": "ct",
 | 
				
			||||||
 | 
					  "updateable": true,
 | 
				
			||||||
 | 
					  "privileged": false,
 | 
				
			||||||
 | 
					  "interface_port": 19200,
 | 
				
			||||||
 | 
					  "documentation": "https://fileflows.com/docs",
 | 
				
			||||||
 | 
					  "website": "https://fileflows.com/",
 | 
				
			||||||
 | 
					  "logo": "https://raw.githubusercontent.com/revenz/FileFlows/refs/heads/develop/icon.png",
 | 
				
			||||||
 | 
					  "description": "FileFlows is a powerful, open-source tool for automating media file processing workflows, including encoding, decoding, and media management. It offers an intuitive GUI and extensive plugin support, making it ideal for tasks like video transcoding, organizing, and managing large media libraries.",
 | 
				
			||||||
 | 
					  "install_methods": [
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "type": "default",
 | 
				
			||||||
 | 
					      "script": "ct/fileflows.sh",
 | 
				
			||||||
 | 
					      "resources": {
 | 
				
			||||||
 | 
					        "cpu": 2,
 | 
				
			||||||
 | 
					        "ram": 2048,
 | 
				
			||||||
 | 
					        "hdd": 8,
 | 
				
			||||||
 | 
					        "os": "Debian",
 | 
				
			||||||
 | 
					        "version": "12"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  "default_credentials": {
 | 
				
			||||||
 | 
					    "username": null,
 | 
				
			||||||
 | 
					    "password": null
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "notes": [
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "text": "With Privileged/Unprivileged Hardware Acceleration Support",
 | 
				
			||||||
 | 
					      "type": "info"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										72
									
								
								install/fileflows-install.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								install/fileflows-install.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,72 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
 | 
					# Author: kkroboth
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVED/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 \
 | 
				
			||||||
 | 
					  curl \
 | 
				
			||||||
 | 
					  sudo \
 | 
				
			||||||
 | 
					  mc \
 | 
				
			||||||
 | 
					  ffmpeg
 | 
				
			||||||
 | 
					msg_ok "Installed Dependencies"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					read -r -p "Do you need the intel-media-va-driver-non-free driver for HW encoding (Debian 12 only)? <y/N> " prompt
 | 
				
			||||||
 | 
					if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
 | 
				
			||||||
 | 
					  msg_info "Installing Intel Hardware Acceleration (non-free)"
 | 
				
			||||||
 | 
					  cat <<EOF >/etc/apt/sources.list.d/non-free.list
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					deb http://deb.debian.org/debian bookworm non-free non-free-firmware
 | 
				
			||||||
 | 
					deb-src http://deb.debian.org/debian bookworm non-free non-free-firmware
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					deb http://deb.debian.org/debian-security bookworm-security non-free non-free-firmware
 | 
				
			||||||
 | 
					deb-src http://deb.debian.org/debian-security bookworm-security non-free non-free-firmware
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					deb http://deb.debian.org/debian bookworm-updates non-free non-free-firmware
 | 
				
			||||||
 | 
					deb-src http://deb.debian.org/debian bookworm-updates non-free non-free-firmware
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					  $STD apt-get update
 | 
				
			||||||
 | 
					  $STD apt-get -y install {intel-media-va-driver-non-free,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					  msg_info "Installing Intel Hardware Acceleration"
 | 
				
			||||||
 | 
					  $STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					msg_ok "Installed and Set Up Intel Hardware Acceleration"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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
 | 
				
			||||||
 | 
					unzip -q -d /opt/fileflows $temp_file
 | 
				
			||||||
 | 
					(cd /opt/fileflows/Server && dotnet FileFlows.Server.dll --systemd install --root true)
 | 
				
			||||||
 | 
					systemctl enable -q --now fileflows.service
 | 
				
			||||||
 | 
					msg_ok "Setup ${APPLICATION}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					motd_ssh
 | 
				
			||||||
 | 
					customize
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_info "Cleaning up"
 | 
				
			||||||
 | 
					rm -f $temp_file
 | 
				
			||||||
 | 
					$STD apt-get -y autoremove
 | 
				
			||||||
 | 
					$STD apt-get -y autoclean
 | 
				
			||||||
 | 
					msg_ok "Cleaned"
 | 
				
			||||||
		Reference in New Issue
	
	Block a user