diff --git a/README.md b/README.md
index a1523c4..c76f941 100644
--- a/README.md
+++ b/README.md
@@ -40,6 +40,7 @@ cleanuperr supports both qBittorrent's built-in exclusion features and its own b
- [Windows](#windows)
- [Linux](#linux)
- [MacOS](#macos)
+ - [FreeBSD](#freebsd)
- [Credits](#credits)
## Naming choice
@@ -300,6 +301,54 @@ services:
> codesign --sign - --force --preserve-metadata=entitlements,requirements,flags,runtime /example/directory/cleanuperr
> ```
+###
FreeBSD
+
+1. Installation:
+ ```
+ # install dependencies
+ pkg install -y git icu libinotify libunwind wget
+
+ # set up the dotnet SDK
+ cd ~
+ wget -q https://github.com/Thefrank/dotnet-freebsd-crossbuild/releases/download/v9.0.104-amd64-freebsd-14/dotnet-sdk-9.0.104-freebsd-x64.tar.gz
+ export DOTNET_ROOT=$(pwd)/.dotnet
+ mkdir -p "$DOTNET_ROOT" && tar zxf dotnet-sdk-9.0.104-freebsd-x64.tar.gz -C "$DOTNET_ROOT"
+ export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
+
+ # download NuGet dependencies
+ mkdir -p /tmp/nuget
+ wget -q -P /tmp/nuget/ https://github.com/Thefrank/dotnet-freebsd-crossbuild/releases/download/v9.0.104-amd64-freebsd-14/Microsoft.AspNetCore.App.Runtime.freebsd-x64.9.0.3.nupkg
+ wget -q -P /tmp/nuget/ https://github.com/Thefrank/dotnet-freebsd-crossbuild/releases/download/v9.0.104-amd64-freebsd-14/Microsoft.NETCore.App.Host.freebsd-x64.9.0.3.nupkg
+ wget -q -P /tmp/nuget/ https://github.com/Thefrank/dotnet-freebsd-crossbuild/releases/download/v9.0.104-amd64-freebsd-14/Microsoft.NETCore.App.Runtime.freebsd-x64.9.0.3.nupkg
+
+ # add NuGet source
+ dotnet nuget add source /tmp/nuget --name tmp
+
+ # add GitHub NuGet source
+ # a PAT (Personal Access Token) can be generated here https://github.com/settings/tokens
+ dotnet nuget add source --username --password --store-password-in-clear-text --name flmorg https://nuget.pkg.github.com/flmorg/index.json
+ ```
+2. Building:
+ ```
+ # clone the project
+ git clone https://github.com/flmorg/cleanuperr.git
+ cd cleanuperr
+
+ # build and publish the app
+ dotnet publish code/Executable/Executable.csproj -c Release --self-contained -o artifacts /p:PublishSingleFile=true
+
+ # move the files to permanent destination
+ mv artifacts/cleanuperr /example/directory/
+ mv artifacts/appsettings.json /example/directory/
+ ```
+3. Edit **appsettings.json**. The paths from this json file correspond with the docker env vars, as described [here](#environment-variables).
+4. Run the app:
+ ```
+ cd /example/directory
+ chmod +x cleanuperr
+ ./cleanuperr
+ ```
+
# Credits
Special thanks for inspiration go to:
- [ThijmenGThN/swaparr](https://github.com/ThijmenGThN/swaparr)