Skip to content
FrontierDot

Self-Host a File Converter and Skip the Upload

Self-hosting means the video worker is a process you start, not the operator's GPU.

Read on 2026-10-29 from the pages named in Sources. We did not upload a test file, time a conversion, or audit a deletion job.

What you would be hosting

VERT's video doc says in-browser video uses Mediabunny when it can. When it cannot, or when that path is too slow, the UI calls vertd, a Rust wrapper around FFmpeg. The official site runs an instance so you do not have to. The same doc says you can download a vertd release, run it, and put its address in the UI's instance URL setting.

The default in that doc is an HTTP server on port 24153, so a daemon on the same computer is http://localhost:24153. The FAQ says you can also set PUB_DISABLE_ALL_EXTERNAL_REQUESTS to true at build time if you want the UI to stop calling external services, including video conversion and analytics.

What the Docker doc changes, and what it does not

The Docker doc builds an image with PUB_VERTD_URL and PUB_DISABLE_ALL_EXTERNAL_REQUESTS as build arguments. Its sample maps port 3000 on the host to port 80 in the container. It also says a prebuilt image from the registry has those variables baked in, so pulling it does not let you change them at runtime. Build your own image if the daemon URL has to be yours.

The doc includes a PUB_STRIPE_KEY build argument for donations. This note does not repeat key material. The license split stays the one from the GitHub API on 2026-10-29: the UI repository is AGPL-3.0 and vertd is GPL-3.0. Read those licenses before you ship a modified public instance. This page is not legal advice.

Local daemon versus an upload API

A daemon on localhost keeps the video worker on hardware you administer. An upload API, such as the CloudConvert job model described on its security page, keeps the worker on theirs and deletes files on their stated schedule. Both can be scripted. Only one avoids their disk.

Non-video files, per the FAQ, already convert in the browser and do not need this daemon. Hosting vertd is the video exception. The privacy write-up is upload or on-device. The README reading is what the VERT README says. The shell alternative is FFmpeg, ImageMagick, and Pandoc. Start from how to choose an online file converter and the VERT row. Every note is on the Front blog index.

HatchZip installs on the machine and opens no port

The HatchZip README describes desktop installers for Windows 10 and 11, macOS, and Linux, plus cargo install hatchzip, which builds the command-line tool from crates.io. That default Cargo build refuses RAR. Release builds decode RAR with UnRAR, and the README says UnRAR stays under its own license. The project line above that is either the Apache License 2.0 or the MIT license. LICENSE-MIT and LICENSE-APACHE are both in the repository. The GitHub API license field on 2026-10-29 was Apache-2.0 alone. The API field and the README's either-or line both stay on the page. The same API response listed a push on 2026-10-28. That is a push timestamp. This note does not treat it as a general-availability date, and it does not publish a star count.

The README says the program has no networking code. vertd is an HTTP server on port 24153. A HatchZip install does not answer that port. The directory row is HatchZip. The byte-location note is upload or on-device. The reason ZIP is absent from the conversion table is the format matrix.

Limits of this note

  • We did not run vertd, and we did not open a firewall diagram.
  • localhost is local only if the browser and the daemon are on the same machine. A URL pointed at someone else's host is an upload again.
  • AGPL-3.0 and GPL-3.0 are named from the API license fields. We did not write a compliance checklist.
  • We did not install HatchZip. The README's speed and disk-space table stays on the README.

Keep reading on Front

Every post, newest first, is on the Front blog index.

FAQ

What port does vertd use?

The video conversion doc says port 24153 by default, and gives http://localhost:24153 as the instance URL when the daemon runs on your computer.

Can I turn off VERT's external calls?

The FAQ says to set PUB_DISABLE_ALL_EXTERNAL_REQUESTS to true at build time. The Docker doc says registry images bake build arguments in, so a pulled image will not take a new value at runtime.

Does self-hosting change the UI license?

No. The API still showed AGPL-3.0 for the UI repository and GPL-3.0 for vertd on 2026-10-29. Hosting does not rewrite the license field.

Can HatchZip replace vertd?

No. vertd is the video daemon, default port 24153. HatchZip extracts archives on the machine where you install it. The README says that program has no networking code.

Sources