Install on Linux

There are two ways to run the agent on Linux: as a system service that starts with the machine, or as a plain process you start yourself. The same archive covers both.

Pick your archive

ArchiveFor
filemote-<version>-linux-x64.tar.gzOrdinary PCs and servers
filemote-<version>-linux-arm64.tar.gzRaspberry Pi 4/5, AWS Graviton, Oracle Ampere

Both unpack to a single folder containing FilemoteAgent, FilemoteCli, install.sh, apply-update.sh, an empty app_settings.json and the AiService directory.

The archives are packed on Windows, which carries no Unix executable bit, so chmod +x is always the first step. The binaries themselves are self-contained, so the agent needs no .NET installation — the install script provisions .NET anyway because it sets up a complete environment, AI included.

Install as a service (needs root)

tar xzf filemote-<version>-linux-x64.tar.gz
cd filemote-<version>-linux-x64
chmod +x install.sh
sudo ./install.sh

The script:

  • detects your package manager (apt, dnf, yum, zypper or pacman) and warns rather than aborting if it recognises none;
  • installs the .NET 8 runtime, adding Microsoft's package feed on Debian and Ubuntu, and falling back to Microsoft's dotnet-install.sh if the package route fails;
  • installs a current Python if nothing newer than 3.10 is present — 3.12 explicitly on apt, dnf and zypper, whatever the distro calls current on yum and pacman — and if that fails too, it disables the AI service and carries on rather than giving up on the whole install;
  • copies the agent to /opt/filemote, along with the AI service and the update helper;
  • creates the filemote-agent systemd unit.

The unit runs as your user, not root, restarts on failure after five seconds, is capped at 8 GB of memory and 80% CPU, and logs to journald.

The unit is enabled but not started. Enabled means it comes up after a reboot; a fresh install sits at inactive (dead) until you start it, which you do after configuring it in the next step.

Configure the copy the service actually reads

This is where most first installs go wrong. FilemoteCli is not copied into /opt/filemote, and by default it writes app_settings.json beside its own binary. Run it straight from the extracted archive and you will configure a file the service never reads — with no error anywhere, because from the service's point of view it simply has no credentials yet.

Point it at the service's own file:

sudo ./FilemoteCli --config /opt/filemote/app_settings.json

Choose [2] Pair with a code, paste the code from the website, then [7] Save and exit — the full walk-through is in link a device to your account. Then start the service:

sudo systemctl start filemote-agent
sudo systemctl status filemote-agent

Install without root

On a shared host or in a container, skip the script entirely:

tar xzf filemote-<version>-linux-x64.tar.gz
cd filemote-<version>-linux-x64
chmod +x FilemoteCli FilemoteAgent
./FilemoteCli      # configure and pair
./FilemoteAgent    # run it

Nothing starts after a reboot and the AI dependencies are not provisioned, but file access works exactly the same. Run the agent under tmux, screen or a user-level systemd unit if you want it to outlive your session.

Script flags

FlagEffect
--no-aiSkip the AI service entirely — no Python, no dependencies
--no-autostartInstall the files but create no systemd unit
--prefix /pathInstall somewhere other than /opt/filemote
--model <id>Preselect the main AI model
--device cpu|gpu|autoAI compute device
--gpuBuild the AI engine with GPU support
--hf-token <token>Hugging Face token, for gated models

The model, device and token flags are merged into app_settings.json without disturbing settings already there, so re-running the script does not undo your configuration. An unrecognised flag is warned about and ignored.

AI on Linux

Without --gpu the AI engine installs as a prebuilt CPU package. With --gpu it is compiled from source — with CUDA if nvidia-smi is present, otherwise Vulkan — which means a compiler and CMake get installed first and the step takes several minutes.

On a Raspberry Pi with less than 8 GB of RAM, install with --no-ai.

Logs and service commands

sudo systemctl start filemote-agent      # start now
sudo systemctl status filemote-agent     # is it running?
sudo journalctl -u filemote-agent -f     # follow the log

If the device never appears online, work through the device shows as offline.

Upgrading from a pre-rebrand install

If the machine still has the old rfm-agent service, the script stops it, disables it and removes its unit — two agents competing for the same account helps nobody — and moves your settings and downloaded AI models from /opt/rfm into the new prefix. The old directory is left behind for you to delete once you are satisfied.

Updated 2026-07-31

This didn’t help — contact support