I can’t tell you how many times I’ve needed files converted from one form to another. I might need to convert an image from .png to .jpg so it takes up less storage on my web hosting platform. I might need to convert a video from one format to another so it can be used in certain applications. I might need to convert a .docx to an .odt document.

The list goes on and on.

For years, I’ve depended on various tools to make file conversions possible, such as GIMP for images, Handbrake for videos, LibreOffice for documents and so on. Thanks to an app called Vert, I can handle all of those file conversions with one easy-to-use web-based app.

You can always use Vert from the official website, but I tend to prefer things to be done locally, so I don’t have to worry that a third party might be using my documents to train large language models (LLMs) or to build profiles of me. Fortunately, Vert makes it possible to deploy the file conversion tool via Docker, and it’s very much worth your time.

Vert includes the following features:

File conversion is handled directly on your device using WebAssembly.
There are no file or file size limits.
You can convert images, audio, documents and video.
There are over 250 supported file formats.
It includes custom settings for conversion and appearance.
There’s a user-friendly interface built with Svelte.
It does batch conversion.

I’ve been using a locally installed version of Vert for a while now and have been absolutely pleased with the results. The conversion process is fast, reliable and user-friendly.

I will say this: While document, image and audio conversion is handled locally, if you need to convert video, it’s offloaded to a third-party server. Because of this, I’d suggest you only convert video files that don’t contain sensitive information (such as in-house training videos). My guess is that the system resources required to convert video files are pretty hefty, and the dependencies used for the conversion go beyond the scope of the Vert deployment.

I’ve tested Vert for documents, images and audio file conversion and have found it to be an outstanding tool (especially for quickly converting multiple files at once). Even though I ran the tests on a deployment within a virtual machine (VM), the conversions were much faster than I thought they’d be.

So, if you need to do file conversions and would rather not depend on several different tools, read on.

What You’ll Need

The only things you’ll need for this are an operating system that supports Docker, git installed and a network connection. I’ll demonstrate this process on Ubuntu Server 24.04; if you’re using a different OS, you’ll need to adjust the Docker installation process. The good news is that beyond the Docker installation, everything else will be the same.

Installing Docker

In case you don’t have Docker installed already, here’s how to do it on Ubuntu.

The first step is to configure the necessary apt repository, which is done with the following commands.

Add the official Docker GPG key with:

sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc





sudo apt-get update

sudo apt-get install ca-certificates curl

sudo install -m 0755 -d /etc/apt/keyrings

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

sudo chmod a+r /etc/apt/keyrings/docker.asc


Add the required Docker repository with:

Install everything with:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin git -y





sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin git -y


Add your user to the Docker group with the command:

sudo usermod -aG docker $USER





sudo usermod -aG docker $USER


Log out and log back in so the changes take effect.

Deploying Vert

With Docker installed, you can now deploy Vert. The first thing to do is to clone the required Git repository with:

git clone https://github.com/VERT-sh/VERT





git clone https://github.com/VERT-sh/VERT


Change into the newly created VERT directory with the command:

You’ll then need to build the necessary Docker Vert image with the command:


docker build -t vert-sh/vert \
–build-arg PUB_ENV=production \
–build-arg PUB_HOSTNAME=vert.sh \
–build-arg PUB_PLAUSIBLE_URL=https://plausible.example.com \
–build-arg PUB_VERTD_URL=https://vertd.vert.sh \
–build-arg PUB_DONATION_URL=https://donations.vert.sh \
–build-arg PUB_STRIPE_KEY=”” .





docker build -t vert-sh/vert \

–build-arg PUB_ENV=production \

–build-arg PUB_HOSTNAME=vert.sh \

–build-arg PUB_PLAUSIBLE_URL=https://plausible.example.com \

–build-arg PUB_VERTD_URL=https://vertd.vert.sh \

–build-arg PUB_DONATION_URL=https://donations.vert.sh \

–build-arg PUB_STRIPE_KEY=”” .



The build will take some time. When it finishes, you can then deploy Vert with the command:

docker run -d \
–restart unless-stopped \
-p 3000:80 \
–name “vert” \
vert-sh/vert





docker run -d \

–restart unless-stopped \

-p 3000:80 \

–name “vert” \

vert-sh/vert


Once the command completes, give the container time to deploy. You can check on the status with the command:

You should see the Vert container running. Give it a minute to spin up, and you’re ready to access the newly deployed service.

Accessing Vert

Open a web browser installed on a machine connected to your LAN and point it to http://SERVER:3000 (where SERVER is the IP address of the hosting machine). You’ll be presented with the Vert main page (Figure 1).

Screenshot

Figure 1: Vert has an incredibly simple interface.

You can now either click to open the file picker or drag and drop a file into the UI, select the format for the conversion and click Convert All.

And that, my friends, is all there is to deploying this incredibly handy file converter to your network. I’ve used this quite a lot since deploying it, and it’s saved me a good amount of time.

YOUTUBE.COM/THENEWSTACK

Tech moves fast, don’t miss an episode. Subscribe to our YouTube
channel to stream all our podcasts, interviews, demos, and more.

SUBSCRIBE

Group
Created with Sketch.

Jack Wallen is what happens when a Gen Xer mind-melds with present-day snark. Jack is a seeker of truth and a writer of words with a quantum mechanical pencil and a disjointed beat of sound and soul. Although he resides…

Read more from Jack Wallen