The next-generation file converter. Open source, fully local* and free forever.
Go to file
JovannMC 3e821ebd63
chore: update readme
2025-03-09 20:45:29 +03:00
.github/workflows Update Docker image and add workflow (#35) 2025-02-14 20:59:41 +00:00
.vscode feat: dark mode (#7) 2024-11-13 19:33:16 +00:00
src feat: prettier tooltips 2025-03-09 15:52:59 +00:00
static fix: improve ios pwa 2025-02-13 23:36:59 +03: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: update readme 2025-03-09 20:45:29 +03:00
_headers fix: netlify serve HTTP headers for libvips 2025-02-11 12:32:23 +03:00
bun.lock Use music metadata (#43) 2025-03-09 12:55:28 +00: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 Update Docker image and add workflow (#35) 2025-02-14 20:59:41 +00:00
package.json Use music metadata (#43) 2025-03-09 12:55:28 +00:00
postcss.config.js feat: initial commit 2024-11-11 13:16:06 +00:00
svelte.config.js make vert CSR 2025-01-13 20:37:47 +03:00
tailwind.config.ts feat: add error color to foregrounds 2025-02-09 19:01:27 +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/yourusername/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 dettached 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.