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](https://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](https://github.com/VERT-sh/vertd) is easily self-hostable to maintain privacy and fully local functionality. ## Getting Started ### Prerequisites Make sure you have the following installed: - [Bun](https://bun.sh/) ### Installation ```sh # 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: ```sh 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](https://nginx.org) to serve the files inside that folder. If using nginx, you can use the [nginx.conf](./nginx.conf) file as a starting point. Make sure you keep [cross-origin isolation](https://web.dev/articles/cross-origin-isolation-guide) enabled. ### With Docker Clone the repository, then build a Docker image with: ```shell $ 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: ```shell $ 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](https://docs.docker.com/compose/intro/compose-application-model/). ## License This project is licensed under the AGPL-3.0 License, please see the [LICENSE](LICENSE) file for details.