Skip to content

Architecture

The frontend is a Remix app, the backend is an Axum server. All these run behind a Caddy reverse proxy and are managed by concurrently.

Releases

Each version of Ryot is released as a docker image. Then it is associated with the latest Github release of the major version. For example, if the latest tag is v5.2.1, then the Github release will be called Version 5 and the docker image will be tagged as :v5.2.1 and :latest.

Development

There is a devcontainer configuration in the repository. You can use it to launch a development environment with all tools installed.

Environment

In development, both servers are started independently running on :3000 and :5000 respectively and reverse proxied at :8000. To get them running, install mprocs, and run mprocs in the project root.

I also recommend the following environment file:

.env
DATABASE_URL=postgres://postgres:postgres@postgres:5432/postgres
RUST_LOG=ryot=trace,sea_orm=debug

Your website would be available at http://localhost:8000.

Miscellaneous

You can use Serveo to test webhooks.

ssh -R ryot:80:0.0.0.0:8000 serveo.net

This will expose your local server on https://ryot.serveo.net. You can use this URL in Jellyfin etc. to test events sent to your local Ryot instance.

Another helpful tool is Webhook.site. It can be used to inspect the requests sent to your server.