From c481c3e24ee6cb91e7d98cb6ef9b517f8060c039 Mon Sep 17 00:00:00 2001 From: TowyTowy <85077986+TowyTowy@users.noreply.github.com> Date: Sat, 11 Jul 2026 22:15:12 +0200 Subject: [PATCH] fix(fileflows): install .NET 10 ASP.NET Core Runtime to match current release (#15702) * fix(fileflows): install .NET 10 ASP.NET Core Runtime to match current release FileFlows now ships its server/node binaries targeting .NET 10 (Microsoft.NETCore.App 10.0.0), but the install script still installs the ASP.NET Core Runtime 8.0. On a fresh install the app therefore cannot start: You must install or update .NET to run this application. Framework: 'Microsoft.NETCore.App', version '10.0.0' (x64) The following frameworks were found: 8.0.28 at [/usr/share/dotnet/shared/Microsoft.NETCore.App] so "dotnet FileFlows.Server.dll --systemd install" fails with exit code 150 (service failed to start) and the container aborts (issue #15686). Bump the runtime to 10.0 on both branches: aspnetcore-runtime-10.0 from packages.microsoft.com on amd64 (the same repo and package already used by igotify, rdtclient and technitiumdns) and dotnet-install --channel 10.0 on arm64. Co-Authored-By: Claude Fable 5 * fix(fileflows): ensure current .NET runtime on update too An existing install set up under an older .NET (e.g. aspnetcore-runtime-8.0) would download a newer FileFlows on update but keep the old runtime, failing to start with the same framework-not-found error. Mirror the runtime handling used by technitiumdns/rdtclient in update_script. Co-Authored-By: Claude Fable 5 --------- Co-authored-by: Claude Fable 5 --- ct/fileflows.sh | 22 ++++++++++++++++++++++ install/fileflows-install.sh | 6 +++--- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/ct/fileflows.sh b/ct/fileflows.sh index 1f33d2dd0..473efd435 100644 --- a/ct/fileflows.sh +++ b/ct/fileflows.sh @@ -43,6 +43,28 @@ function update_script() { tar -czf "$backup_filename" -C /opt/fileflows Data msg_ok "Backup Created" + # FileFlows tracks the latest release, whose .NET target can move (e.g. 8 -> 10); + # ensure the current ASP.NET Core Runtime so an existing install doesn't fail to + # start after updating to a newer .NET major version. + msg_info "Ensuring ASP.NET Core Runtime" + if [[ "$(arch_resolve)" == "arm64" ]]; then + if [[ ! -x /usr/lib/dotnet10/dotnet ]]; then + curl -fsSL https://dot.net/v1/dotnet-install.sh -o /tmp/dotnet-install.sh + $STD bash /tmp/dotnet-install.sh --channel 10.0 --runtime aspnetcore --install-dir /usr/lib/dotnet10 + ln -sf /usr/lib/dotnet10/dotnet /usr/bin/dotnet + rm -f /tmp/dotnet-install.sh + fi + elif ! is_package_installed "aspnetcore-runtime-10.0"; then + $STD apt remove -y aspnetcore-runtime-8.0 aspnetcore-runtime-9.0 2>/dev/null || true + 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-10.0 + fi + msg_ok "Ensured ASP.NET Core Runtime" + fetch_and_deploy_from_url "https://fileflows.com/downloads/zip" "/opt/fileflows" msg_info "Starting Service" diff --git a/install/fileflows-install.sh b/install/fileflows-install.sh index af93424b6..50242be8a 100644 --- a/install/fileflows-install.sh +++ b/install/fileflows-install.sh @@ -26,8 +26,8 @@ msg_info "Installing ASP.NET Core Runtime" if [[ "$(arch_resolve)" == "arm64" ]]; then # packages.microsoft.com only ships amd64 debs for Debian; use dotnet-install on arm64 curl -fsSL https://dot.net/v1/dotnet-install.sh -o /tmp/dotnet-install.sh - $STD bash /tmp/dotnet-install.sh --channel 8.0 --runtime aspnetcore --install-dir /usr/lib/dotnet8 - ln -sf /usr/lib/dotnet8/dotnet /usr/bin/dotnet + $STD bash /tmp/dotnet-install.sh --channel 10.0 --runtime aspnetcore --install-dir /usr/lib/dotnet10 + ln -sf /usr/lib/dotnet10/dotnet /usr/bin/dotnet rm -f /tmp/dotnet-install.sh else setup_deb822_repo \ @@ -35,7 +35,7 @@ else "https://packages.microsoft.com/keys/microsoft-2025.asc" \ "https://packages.microsoft.com/debian/13/prod/" \ "trixie" - $STD apt install -y aspnetcore-runtime-8.0 + $STD apt install -y aspnetcore-runtime-10.0 fi msg_ok "Installed ASP.NET Core Runtime"