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
-toolscontainer 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.