Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Handle your Media Library with ease!

License

NotificationsYou must be signed in to change notification settings

rivenmedia/riven

Repository files navigation

riven
GitHub Repo starsIssuesLicenseContributorsDiscord

Plex torrent streaming through Real Debrid and 3rd party services like Overseerr, Mdblist, etc.

Services currently supported:

ServiceSupported
Real Debrid
Plex
Overseerr
Mdblist
Trakt
Jackett
Plex Watchlist RSS
Torrentio
Orionoid
Listrr

| and more to come!

Check out outProject Board to stay informed!

Please add feature requests and issues over on ourIssue Tracker or join ourDiscord to chat with us!

We are constantly adding features and improvements as we go along and squashing bugs as they arise.


Table of Contents


ElfHosted

ElfHosted is a geekyopen-source PaaS which provides all the "plumbing" (hosting, security, updates, etc) for your self-hosted apps.

Important

ElfHosted ❤️ Riven 100%

Riven is an "Elf-icial" app in theElfHosted app catalogue - A whopping 😻😻 100% 😻😻 of your subscription goes directly to Riven developers, who can usually be found in the#elf-riven channel in theElfHosted Discord Server.

Curious how it works? Here's anexplainer video!

Tip

ElfHosted "Infinite Streaming" bundles

Riven is pre-packaged with Plex, Zurg, and symlinks, and ready-to-go, in these convenient bundles:

Self Hosted

Docker Compose

Copy over the contents ofdocker-compose.yml to yourdocker-compose.yml file.

Note

You can check out thedocker-compose-full.yml file to get an idea of how things tie together.

Then rundocker compose up -d to start the container in the background. You can then access the web interface athttp://localhost:3000 or whatever port and origin you set in thedocker-compose.yml file.

Tip

On first run, Riven creates asettings.json file in thedata directory. You can edit the settings from frontend, or manually edit the file and restart the container or use.env or docker-compose environment variables to set the settings (see.env.example for reference).

What is ORIGIN ?

ORIGIN is the URL of the frontend on which you will access it from anywhere. If you are hosting Riven on a vps with IP address123.45.67.890 then you will need to set theORIGIN tohttp://123.45.67.890:3000 (no trailing slash). Similarly, if using a domain name, you will need to set theORIGIN tohttp://riven.example.com:3000 (no trailing slash). If you change the port in thedocker-compose.yml file, you will need to change it in theORIGIN as well.

Running outside of Docker

To run outside of docker you will need to have node (v18.13+) and python (3.10+) installed. Then clone the repository

git clone https://github.com/rivenmedia/riven.git&&cd riven

and open two terminals in the root of the project and run the following commands in each.

First terminal:

cd frontendnpm installnpm run buildORIGIN=http://localhost:3000 BACKEND_URL=http://127.0.0.1 node build

Read above for more info onORIGIN.

Second terminal:

pip install poetrypoetry install --without devpoetry run python backend/main.py

Symlinking settings

rclone_path should point to your rclone mount that has your torrents on your host.

library_path should point to the location of the mount in plex container

"symlink": {"rclone_path":"/mnt/zurg","library_path":"/mnt/library"    }

Plex libraries that are currently required to have sections:

TypeCategories
Moviesmovies,anime_movies
Showsshows,anime_shows

Note

Currently, these Plex library requirements are mandatory. However, we plan to make them customizable in the future to support additional libraries as per user preferences.


Development

Welcome to the development section! Here, you'll find all the necessary steps to set up your development environment and start contributing to the project.

Prerequisites

Ensure you have the following installed on your system:

  • Node.js (v18.13+)
  • Python (3.10+)
  • Poetry (for Python dependency management)
  • Docker (optional, for containerized development)

Initial Setup

  1. Clone the Repository:

    git clone https://github.com/rivenmedia/riven.git&&cd riven
  2. Install Backend Dependencies:

    pip install poetrypoetry install
  3. Install Frontend Dependencies:

    cd frontendnpm installcd ..

Usingmake for Development

We provide aMakefile to simplify common development tasks. Here are some useful commands:

  • Initialize the Project:

    make
  • Start the Development Environment:This command stops any previous containers, removes old images, and rebuilds the image using cached layers. Any changes in the code will trigger a rebuild.

    make start
  • Restart the Container:

    make restart
  • View Logs:

    make logs

Development withoutmake

If you prefer not to usemake and Docker, you can manually set up the development environment with the following steps:

  1. Start the Backend:

    poetry run python backend/main.py
  2. Start the Frontend:

    cd frontendnpm run dev

Additional Tips

  • Environment Variables:Ensure you set theORIGIN environment variable to the URL where the frontend will be accessible. For example:

    export ORIGIN=http://localhost:3000
  • Code Formatting:We useBlack for Python andPrettier for JavaScript. Make sure to format your code before submitting any changes.

  • Running Tests:

    poetry run pytest

By following these guidelines, you'll be able to set up your development environment smoothly and start contributing to the project. Happy coding!


Contributing

We welcome contributions from the community! To ensure a smooth collaboration, please follow these guidelines:

Submitting Changes

  1. Open an Issue: For major changes, start by opening an issue to discuss your proposed modifications. This helps us understand your intentions and provide feedback early in the process.
  2. Pull Requests: Once your changes are ready, submit a pull request. Ensure your code adheres to our coding standards and passes all tests. Commits should followconventional-commits specification.

Code Formatting

  • Backend: We useBlack for code formatting. Runblack on your code before submitting.
  • Frontend: We usePrettier for code formatting. Runprettier on your code before submitting.
  • Line Endings: Use CRLF line endings unless the file is a shell script or another format that requires LF line endings.

Dependency Management

We usePoetry for managing dependencies. Poetry simplifies dependency management by automatically handling package versions and resolving conflicts, ensuring consistency across all environments.

Setting Up Your Environment

  1. Install Poetry: If you haven't already, install Poetry usingpip install poetry.
  2. Install Dependencies: After cloning the repository, navigate to the project's root directory and runpoetry install. This command installs all necessary dependencies as defined in thepyproject.toml file and creates an isolated virtual environment.
  3. Activate Virtual Environment: You can activate the virtual environment usingpoetry shell or run commands directly usingpoetry run <command>.

Adding or Updating Dependencies

  • Add a Dependency: Usepoetry add <package-name> to add a new dependency.
  • Update a Dependency: Usepoetry update <package-name> to update an existing dependency.

Running Tests and Linters

Before submitting a pull request, ensure your changes are compatible with the project's dependencies and coding standards. Use the following commands to run tests and linters:

  • Run Tests:poetry run pytest
  • Run Linters:poetry run ruff check backend andpoetry run isort --check-only backend

By following these guidelines, you help us maintain a high-quality codebase and streamline the review process. Thank you for contributing!



Riven Analytics

Alt

License

This project is licensed under the GNU GPLv3 License - see theLICENSE file for details


[8]ページ先頭

©2009-2025 Movatter.jp