I’ve been self-hosting services inside containerized environments ever since I built my first NAS. During this time, I’ve encountered my fair share of useful services, some of which are so handy that my productivity would take a massive hit if I were to stop running them. However, I still run into hidden gems every now and then, and Vert is the latest killer application that caught my eye.

On paper, it’s a simple file-conversion tool that offers a sleek UI to modify document, image, and video formats. But as someone who despises cloud-based file conversion services, Vert has become a game-changing companion app for my daily tasks.

What's the point of self-hosting Vert?

No privacy issues or file caps

When it comes to self-hosting services, there’s always a question of whether deploying a local container is worth the extra hassle when you can just access cloud-based platforms. However, Vert is one instance where it’s always better to ditch the online apps for a containerized solution.

For starters, you’ll have to upload your documents to third-party servers when converting PDFs, JPGs, or other documents via online platforms. While many websites claim to delete your data after a specific span of time, there’s a huge privacy issue every time you send private files to an external server.

That’s one risk I’d be willing to take, if not for the fact that many of these websites impose limits on the amount and size of files I can upload to their servers. Worse, I’ve had quite a few cloud file conversion tools asking for my email after a few operations – with some even requiring a fee if my files exceed the max size limit. And unless said files are worth a few kilobytes, online file converters can take a while to process everything in the queue, which is rather annoying when bulk converting multiple documents.

Vert, on the other hand, runs locally on my hardware, so I don’t have to worry about random firms getting access to my precious data or forcing me to sign up just to increase the max file limit past 100MB. Likewise, it doesn’t impose any upload limits, so I can convert multiple files at once. It’s also fairly quick at converting images and documents (I’ll get to videos in a bit), and since it leverages the all-powerful FFmpeg on local hardware, the self-hosted app can easily outperform most online cloud converters.

It supports practically every major file format

Besides its privacy benefits, Vert’s biggest draw is that it’s compatible with practically every document format out there – including text files, spreadsheets, images, and audio. In fact, I’d never seen that many formats for photos before self-hosting Vert.

Then there’s the video side of the equation, where things get a little dicey. If you self-host the basic version of Vert, you’ll have to rely on external servers to handle the video-processing tasks. Luckily, Vert has a companion repository called Vertd, which lets you self-host your own instance of a video converter and use your own GPU when converting between different video (and certain audio) formats.

Deploying a Vert instance

The normal version is fairly easy to self-host

The official Vert repository offers a couple of methods to help you deploy the file conversion tool. As a container fanatic, I prefer going down the Docker route, as the official Vert repository provides a docker-compose.yml file that I can spin up as a container.

Once you’ve downloaded the file or pasted the code into your own docker-compose.yml file, you can run the docker compose up -d (add sudo at the beginning if you’re not running Docker in rootless mode) command to deploy the file conversion server.

Vertd requires some extra steps

Although Vert works well with most instances of Docker, its Vertd variant only plays nice with Linux-based systems. Not only that, you’ll also need to pass your graphics card to the container. If you’re on an Nvidia card, you’ll have to install the Nvidia Container Toolkit and run the sudo nvidia-ctk runtime configure --runtime=docker to connect your Docker instance with the Team Green GPU.

Then, you can simply pull the Compose file from this link and run the ol’ sudo docker compose up -d command. For AMD and Intel GPUs, the procedure is a lot simpler, as all you have to do is remove the # before devices and - /dev/dri. Remember to comment out runtime: nvidia and every line after that snippet.

Vert isn’t the only QoL app out there

Aside from Vert, I’ve got a couple of handy apps that are vital for my home lab. PairDrop, for example, lets me transfer files between my devices with ease, while Sterling-PDF takes care of my PDF-editing needs. Vaultwarden is my go-to password repository, and Trilium Notes serves a similar role for my home lab ideas.