70 lines
3.6 KiB
Markdown
70 lines
3.6 KiB
Markdown
# Cinny
|
|
<p>
|
|
<a href="https://github.com/ajbura/cinny/releases">
|
|
<img alt="GitHub release downloads" src="https://img.shields.io/github/downloads/ajbura/cinny/total?logo=github&style=social"></a>
|
|
<a href="https://hub.docker.com/r/ajbura/cinny">
|
|
<img alt="DockerHub downloads" src="https://img.shields.io/docker/pulls/ajbura/cinny?logo=docker&style=social"></a>
|
|
<a href="https://fosstodon.org/@cinnyapp">
|
|
<img alt="Follow on Mastodon" src="https://img.shields.io/mastodon/follow/106845779685925461?domain=https%3A%2F%2Ffosstodon.org&logo=mastodon&style=social"></a>
|
|
<a href="https://twitter.com/intent/follow?screen_name=cinnyapp">
|
|
<img alt="Follow on Twitter" src="https://img.shields.io/twitter/follow/cinnyapp?logo=twitter&style=social"></a>
|
|
<a href="https://cinny.in/#sponsor">
|
|
<img alt="Sponsor Cinny" src="https://img.shields.io/opencollective/all/cinny?logo=opencollective&style=social"></a>
|
|
</p>
|
|
|
|
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.
|
|
- [Roadmap](https://github.com/orgs/cinnyapp/projects/1)
|
|
- [Contributing](./CONTRIBUTING.md)
|
|
|
|
<img align="center" src="https://raw.githubusercontent.com/cinnyapp/cinny-site/main/assets/preview2-light.png" height="380">
|
|
|
|
## Getting started
|
|
* Web app is available at https://cinny.yiffing.dev and gets updated on each new release.
|
|
|
|
* To host Cinny on your own, download tarball of the app from [GitHub release](https://github.com/cinnyapp/cinny/releases/latest).
|
|
You can serve the application with a webserver of your choice by simply copying `dist/` directory to the webroot.
|
|
To set default Homeserver on login, register and Explore Community page, place a customized [`config.json`](config.json) in webroot of your choice.
|
|
You will also need to setup redirects to serve the assests. An example setting of redirects for netlify is done in [`netlify.toml`](netlify.toml). You can also set `hashRouter.enabled = true` in [`config.json`](config.json) if you have trouble setting redirects.
|
|
To deploy on subdirectory, you need to rebuild the app youself after updating the `base` path in [`build.config.ts`](build.config.ts). For example, if you want to deploy on `https://cinny.in/app`, then change `base: '/app'`.
|
|
|
|
</details>
|
|
|
|
## Local development
|
|
> We recommend using a version manager as versions change very quickly. You will likely need to switch
|
|
between multiple Node.js versions based on the needs of different projects you're working on. [NVM on windows](https://github.com/coreybutler/nvm-windows#installation--upgrades) on Windows and [nvm](https://github.com/nvm-sh/nvm) on Linux/macOS are pretty good choices. Recommended nodejs version is Iron LTS (v20).
|
|
|
|
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 cinny:latest .
|
|
```
|
|
|
|
You can then run the container you've built with a command similar to this:
|
|
```
|
|
docker run -p 8080:80 cinny: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`.
|
|
|
|
Or use Docker Compose
|
|
|
|
```
|
|
services:
|
|
cinny:
|
|
image: git.yiffing.dev/leafus/cinny-improved:latest
|
|
restart: always
|
|
ports:
|
|
- 8444:80
|
|
```
|