51 lines
1.8 KiB
Markdown
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`.
|