vojo/README.md

51 lines
1.8 KiB
Markdown

# Vojo
A Matrix client focusing primarily on simple, elegant and secure interface. The main goal is to have an instant messaging application that is easy on people and has a modern touch.
Based on [Cinny](https://github.com/cinnyapp/cinny) (MIT license).
- [Contributing](./CONTRIBUTING.md)
## Getting started
The web app is available at [vojo.chat](https://vojo.chat).
## Self-hosting
To host Vojo on your own, build from source and serve the files from `dist/` using your preferred webserver.
* The default homeserver is defined in [`config.json`](config.json).
* You need to set up redirects to serve the assets. Example configurations: [nginx](contrib/nginx/vojo.domain.tld.conf), [caddy](contrib/caddy/caddyfile).
* To deploy on a subdirectory, rebuild the app after updating the `base` path in [`build.config.ts`](build.config.ts).
## Local development
> [!TIP]
> We recommend using a version manager as versions change very quickly. [NVM on Windows](https://github.com/coreybutler/nvm-windows#installation--upgrades) or [nvm](https://github.com/nvm-sh/nvm) on Linux/macOS are good choices.
Execute the following commands to start a development server:
```sh
npm ci # Installs all dependencies
npm start # Serve a development version
```
To build the app:
```sh
npm run build # Compiles the app into the dist/ directory
```
### Running with Docker
This repository includes a Dockerfile, which builds the application from source and serves it with Nginx on port 80. To use this locally, you can build the container like so:
```
docker build -t vojo:latest .
```
You can then run the container you've built with a command similar to this:
```
docker run -p 8080:80 vojo:latest
```
This will forward your `localhost` port 8080 to the container's port 80. You can visit the app in your browser by navigating to `http://localhost:8080`.