Reference

The programs a node needs

ffmpeg and LibreOffice: what each one buys, the command for every platform, and why MeshHold detects them instead of installing them.

The programs a node needs

A MeshHold node can convert a document, transcode a film, make previews and index office files for search — and it can do none of those unless somebody puts other people's programs on the machine first.

MeshHold does not install them. It detects what is present, says what each missing piece would enable, and tells you exactly how to get it on the system you are actually running. A daemon that downloads and runs executables is a different kind of program from one that does not.

There is one exception and it is named below.

To see where a particular node stands:

meshhold tools                 what is here, what is missing, what each enables
meshhold tools status ffmpeg   one tool, with the command for this platform
meshhold tools recheck         look again, after installing something

Or open Settings → Tools in the web UI, which shows the same list.

Or skip all of this. The -tools container image ships with every program on this page already installed. It is many times the size of the plain image, which is why it is a separate tag.

What each one buys

Program What you get Job types
FFmpeg Converting between media formats, and making previews transcode, media.probe, preview
LibreOffice Converting documents, and letting office formats reach the search index at all convert, embed
WinFsp Mounting a vault as a drive letter —

The order is the one to read them in: what the most job types depend on first, so a node missing several is told the expensive absence before the cheap one.

Windows

FFmpeg — converting between media formats, and making previews

winget install Gyan.FFmpeg

LibreOffice — converting documents, and letting office formats reach the search index at all

winget install TheDocumentFoundation.LibreOffice

WinFsp — mounting a vault as a drive letter

meshhold tools install winfsp

This is the one program MeshHold fetches for you, and it is an exception on purpose: WinFsp is a kernel driver, mounting a vault as a drive is unusable without it, and "download an installer and run it" is where most people stop. The package is the vendor's own, signed, and checked against a checksum fixed at build time.

The one thing MeshHold fetches for you: a kernel driver, vendor-signed, pinned by digest at build time. winget install WinFsp.WinFsp does the same thing if you would rather.

Linux

FFmpeg — converting between media formats, and making previews

sudo apt install ffmpeg

Or dnf install ffmpeg on Fedora, where it comes from RPM Fusion rather than the default repositories.

LibreOffice — converting documents, and letting office formats reach the search index at all

sudo apt install libreoffice-nogui

The headless package — the desktop shell is not wanted and is most of the size.

WinFsp — mounting a vault as a drive letter

Not available here: Windows only; on Linux and macOS this is FUSE, which the node uses directly.

macOS

FFmpeg — converting between media formats, and making previews

brew install ffmpeg

LibreOffice — converting documents, and letting office formats reach the search index at all

brew install --cask libreoffice

WinFsp — mounting a vault as a drive letter

Not available here: Windows only; on Linux and macOS this is FUSE, which the node uses directly.

Checking it landed

meshhold tools

The node looks for these in the background and remembers the answer for six hours, so after installing something either wait or say so:

meshhold tools recheck

Then meshhold tools again a few seconds later — several of these are proved by actually running them, and one of them encodes a second of test video, so the answers arrive over the following half-minute rather than at once.

A program that is present and does not work is reported differently from one that is absent, because they are different problems: the first means an installation somebody believes is fine, and it is worth saying out loud.

Job types and the programs they need

Job type Needs
convert LibreOffice
embed LibreOffice
media.probe FFmpeg
preview FFmpeg
transcode FFmpeg

A job type with two entries needs both. embed is the one people do not expect: without LibreOffice a .docx is not merely unconvertible, it is unsearchable, because that is how its text reaches the index.