The next-generation file converter. Open source, fully local* and free forever.
Go to file
not-nullptr a86c00abf3 Reapply "fix: navigation issues (#57)"
This reverts commit 2d3e3b9493.
2025-04-13 13:50:48 +01:00
.github/workflows update docker workflow to publish the docker image (#55) 2025-04-13 12:21:07 +01:00
.vscode feat: dark mode (#7) 2024-11-13 19:33:16 +00:00
src Reapply "fix: navigation issues (#57)" 2025-04-13 13:50:48 +01:00
static feat: documents support 2025-04-12 23:18:50 +01:00
.dockerignore feat: add dockerfile & docker compose configuration (#1) 2024-11-14 08:44:18 +00:00
.env.example feat: add VERT name const for different environments 2025-02-09 20:45:37 +01:00
.gitignore Remove lockfile gitignore 2025-02-08 19:00:49 +01:00
.prettierignore feat: initial commit 2024-11-11 13:16:06 +00:00
.prettierrc feat: initial commit 2024-11-11 13:16:06 +00:00
Dockerfile Use music metadata (#43) 2025-03-09 12:55:28 +00:00
LICENSE Create LICENSE 2024-11-12 19:01:37 +01:00
README.md chore: fix readme 2025-04-13 14:25:01 +03:00
_headers fix: netlify serve HTTP headers for libvips 2025-02-11 12:32:23 +03:00
bun.lock chore: Add name to project (#60) 2025-04-13 11:48:03 +01:00
docker-compose.yml feat: coolify support for docker compose 2025-02-15 13:12:57 +00:00
eslint.config.js feat: initial commit 2024-11-11 13:16:06 +00:00
nginx.conf Revert "fix: that didnt fix the nav issues?" 2025-04-13 12:56:07 +01:00
package.json chore: Add name to project (#60) 2025-04-13 11:48:03 +01:00
postcss.config.js feat: initial commit 2024-11-11 13:16:06 +00:00
svelte.config.js Reapply "fix: navigation issues (#57)" 2025-04-13 13:50:48 +01:00
tailwind.config.ts feat: document colours! 2025-04-12 23:49:00 +01:00
tsconfig.json feat: initial commit 2024-11-11 13:16:06 +00:00
vite.config.ts fix: fix AVIF/JXL support 2025-02-15 13:53:59 +03:00

README.md

VERT's logo

VERT.sh

VERT is a file conversion utility that uses WebAssembly to convert files on your device instead of a cloud. Check out the live instance at vert.sh.

VERT is built in Svelte and TypeScript.

Features

  • Convert files directly on your device using WebAssembly *
  • No file size limits
  • Supports multiple file formats
  • User-friendly interface built with Svelte

* Non-local video conversion is available with our official instance, but the daemon is easily self-hostable to maintain privacy and fully local functionality.

Getting Started

Prerequisites

Make sure you have the following installed:

Installation

# Clone the repository
git clone https://github.com/VERT-sh/vert.git
cd vert
# Install dependencies
bun i

Running Locally

To run the project locally, run bun dev.

This will start a development server. Open your browser and navigate to http://localhost:5173 to see the application.

Building for Production

Before building for production, make sure you create a .env file in the root of the project with the following content:

PUB_HOSTNAME=example.com # change to your domain, only gets used for Plausible (for now)
PUB_PLAUSIBLE_URL=https://plausible.example.com # can be empty if not using Plausible
PUB_ENV=production # "production", "development" or "nightly"

To build the project for production, run bun run build

This will build the site to the build folder. You should then use a web server like nginx to serve the files inside that folder.

If using nginx, you can use the nginx.conf file as a starting point. Make sure you keep cross-origin isolation enabled.

With Docker

Clone the repository, then build a Docker image with:

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

You can then run it by using:

$ docker run --restart unless-stopped -p 3000:3000 -d --name "vert" VERT-sh/vert

We also have a docker-compose.yml file available. Use docker compose up if you want to start the stack, or docker compose down to bring it down. You can pass --build to docker compose up to rebuild the Docker image (useful if you've changed any of the environment variables) as well as -d to start it in detached mode. You can read more about Docker Compose in general here.

License

This project is licensed under the AGPL-3.0 License, please see the LICENSE file for details.