Skip to content

Commit e19a2e9

Browse files
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 <[email protected]>
1 parent ca55795 commit e19a2e9

File tree

3 files changed

+184
-0
lines changed

3 files changed

+184
-0
lines changed

ct/fileflows.sh

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
#!/usr/bin/env bash
2+
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
3+
# Copyright (c) 2021-2025 community-scripts ORG
4+
# Author: kkroboth
5+
# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE
6+
# Source: https://fileflows.com/
7+
8+
APP="FileFlows"
9+
var_tags="media;automation"
10+
var_cpu="2"
11+
var_ram="2048"
12+
var_disk="8"
13+
var_os="debian"
14+
var_version="12"
15+
var_unprivileged="1"
16+
17+
header_info "$APP"
18+
variables
19+
color
20+
catch_errors
21+
22+
function update_script() {
23+
header_info
24+
check_container_storage
25+
check_container_resources
26+
27+
if [[ ! -d /opt/fileflows ]]; then
28+
msg_error "No ${APP} Installation Found!"
29+
exit
30+
fi
31+
32+
update_available=$(curl -s -X 'GET' "http://localhost:19200/api/status/update-available" -H 'accept: application/json' | jq .UpdateAvailable)
33+
if [[ "${update_available}" == "true" ]]; then
34+
msg_info "Stopping $APP"
35+
systemctl stop fileflows
36+
msg_ok "Stopped $APP"
37+
38+
msg_info "Creating Backup"
39+
backup_filename="/opt/${APP}_backup_$(date +%F).tar.gz"
40+
tar -czf $backup_filename -C /opt/fileflows Data
41+
msg_ok "Backup Created"
42+
43+
msg_info "Updating $APP to latest version"
44+
temp_file=$(mktemp)
45+
curl -fsSL https://fileflows.com/downloads/zip -o $temp_file
46+
unzip -oq -d /opt/fileflows $temp_file
47+
msg_ok "Updated $APP to latest version"
48+
49+
msg_info "Starting $APP"
50+
systemctl start fileflows
51+
msg_ok "Started $APP"
52+
53+
msg_info "Cleaning Up"
54+
rm -rf $temp_file
55+
rm -rf $backup_filename
56+
msg_ok "Cleanup Completed"
57+
58+
msg_ok "Update Successful"
59+
else
60+
msg_ok "No update required. ${APP} is already at latest version"
61+
fi
62+
63+
exit
64+
}
65+
66+
start
67+
build_container
68+
description
69+
70+
msg_ok "Completed Successfully!\n"
71+
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
72+
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
73+
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:19200${CL}"
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"name": "FileFlows",
3+
"slug": "fileflows",
4+
"categories": [
5+
13
6+
],
7+
"date_created": "2025-03-07",
8+
"type": "ct",
9+
"updateable": true,
10+
"privileged": false,
11+
"interface_port": 19200,
12+
"documentation": "https://fileflows.com/docs",
13+
"website": "https://fileflows.com/",
14+
"logo": "https://raw.githubusercontent.com/revenz/FileFlows/refs/heads/develop/icon.png",
15+
"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.",
16+
"install_methods": [
17+
{
18+
"type": "default",
19+
"script": "ct/fileflows.sh",
20+
"resources": {
21+
"cpu": 2,
22+
"ram": 2048,
23+
"hdd": 8,
24+
"os": "Debian",
25+
"version": "12"
26+
}
27+
}
28+
],
29+
"default_credentials": {
30+
"username": null,
31+
"password": null
32+
},
33+
"notes": [
34+
{
35+
"text": "With Privileged/Unprivileged Hardware Acceleration Support",
36+
"type": "info"
37+
}
38+
]
39+
}

install/fileflows-install.sh

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
#!/usr/bin/env bash
2+
3+
# Copyright (c) 2021-2025 community-scripts ORG
4+
# Author: kkroboth
5+
# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE
6+
# Source: https://fileflows.com/
7+
8+
# Import Functions und Setup
9+
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
10+
color
11+
verb_ip6
12+
catch_errors
13+
setting_up_container
14+
network_check
15+
update_os
16+
17+
msg_info "Installing Dependencies"
18+
$STD apt-get install -y \
19+
curl \
20+
sudo \
21+
mc \
22+
ffmpeg
23+
msg_ok "Installed Dependencies"
24+
25+
read -r -p "Do you need the intel-media-va-driver-non-free driver for HW encoding (Debian 12 only)? <y/N> " prompt
26+
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
27+
msg_info "Installing Intel Hardware Acceleration (non-free)"
28+
cat <<EOF >/etc/apt/sources.list.d/non-free.list
29+
30+
deb http://deb.debian.org/debian bookworm non-free non-free-firmware
31+
deb-src http://deb.debian.org/debian bookworm non-free non-free-firmware
32+
33+
deb http://deb.debian.org/debian-security bookworm-security non-free non-free-firmware
34+
deb-src http://deb.debian.org/debian-security bookworm-security non-free non-free-firmware
35+
36+
deb http://deb.debian.org/debian bookworm-updates non-free non-free-firmware
37+
deb-src http://deb.debian.org/debian bookworm-updates non-free non-free-firmware
38+
EOF
39+
$STD apt-get update
40+
$STD apt-get -y install {intel-media-va-driver-non-free,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
41+
else
42+
msg_info "Installing Intel Hardware Acceleration"
43+
$STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
44+
fi
45+
msg_ok "Installed and Set Up Intel Hardware Acceleration"
46+
47+
msg_info "Installing ASP.NET Core Runtime"
48+
curl -fsSL https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -o packages-microsoft-prod.deb
49+
$STD dpkg -i packages-microsoft-prod.deb
50+
rm -rf packages-microsoft-prod.deb
51+
$STD apt-get update
52+
$STD apt-get install -y aspnetcore-runtime-8.0
53+
msg_ok "Installed ASP.NET Core Runtime"
54+
55+
msg_info "Setup ${APPLICATION}"
56+
$STD ln -svf /usr/bin/ffmpeg /usr/local/bin/ffmpeg
57+
$STD ln -svf /usr/bin/ffprobe /usr/local/bin/ffprobe
58+
temp_file=$(mktemp)
59+
curl -fsSL https://fileflows.com/downloads/zip -o $temp_file
60+
unzip -q -d /opt/fileflows $temp_file
61+
(cd /opt/fileflows/Server && dotnet FileFlows.Server.dll --systemd install --root true)
62+
systemctl enable -q --now fileflows.service
63+
msg_ok "Setup ${APPLICATION}"
64+
65+
motd_ssh
66+
customize
67+
68+
msg_info "Cleaning up"
69+
rm -f $temp_file
70+
$STD apt-get -y autoremove
71+
$STD apt-get -y autoclean
72+
msg_ok "Cleaned"

0 commit comments

Comments
 (0)