Skip to content

Commit

Permalink
chore: release 0.8.3
Browse files Browse the repository at this point in the history
Release-As: 0.8.3
  • Loading branch information
dreulavelle committed Jul 25, 2024
1 parent 2dc24dc commit 66085da
Show file tree
Hide file tree
Showing 9 changed files with 243 additions and 136 deletions.
42 changes: 32 additions & 10 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,6 @@ RIVEN_LOGGER_SCRAPER_ICON=👻
RIVEN_LOGGER_COMPLETED_FG=FFFFFF
RIVEN_LOGGER_COMPLETED_ICON=🟢

# CACHE log level
RIVEN_LOGGER_CACHE_FG=527826
RIVEN_LOGGER_CACHE_ICON=📜

# NOT_FOUND log level
RIVEN_LOGGER_NOT_FOUND_FG=818589
RIVEN_LOGGER_NOT_FOUND_ICON=🤷‍
Expand Down Expand Up @@ -80,7 +76,7 @@ RIVEN_LOGGER_TRAKT_FG=1DB954
RIVEN_LOGGER_TRAKT_ICON=🎵

# Riven Settings
RIVEN_VERSION=0.6.4
RIVEN_VERSION=0.8.3
RIVEN_DEBUG=false
RIVEN_LOG=false
RIVEN_PLEX_UPDATE_INTERNAL=120
Expand All @@ -89,11 +85,28 @@ RIVEN_PLEX_URL=http://plex:32400
RIVEN_SYMLINK_RCLONE_PATH=/mnt/zurg/__all__
RIVEN_SYMLINK_LIBRARY_PATH=/mnt/library

# Indexer
RIVEN_INDEXER_UPDATE_INTERVAL=3600

# Database
RIVEN_DATABASE_HOST=sqlite:////riven/data/media.db

# Downloaders
RIVEN_DOWNLOADERS_MOVIE_FILESIZE_MIN=200
RIVEN_DOWNLOADERS_MOVIE_FILESIZE_MAX=-1
RIVEN_DOWNLOADERS_EPISODE_FILESIZE_MIN=40
RIVEN_DOWNLOADERS_EPISODE_FILESIZE_MAX=-1
RIVEN_DOWNLOADERS_REAL_DEBRID_ENABLED=false
RIVEN_DOWNLOADERS_REAL_DEBRID_API_KEY=
RIVEN_DOWNLOADERS_REAL_DEBRID_API_KEY=xxxxx
RIVEN_DOWNLOADERS_REAL_DEBRID_UPDATE_INTERVAL=60
RIVEN_DOWNLOADERS_REAL_DEBRID_PROXY_ENABLED=false
RIVEN_DOWNLOADERS_REAL_DEBRID_PROXY_URL=
RIVEN_DOWNLOADERS_ALL_DEBRID_ENABLED=false
RIVEN_DOWNLOADERS_ALL_DEBRID_API_KEY=xxxxx
RIVEN_DOWNLOADERS_ALL_DEBRID_PROXY_ENABLED=false
RIVEN_DOWNLOADERS_ALL_DEBRID_PROXY_URL=
RIVEN_DOWNLOADERS_TORBOX_ENABLED=false
RIVEN_DOWNLOADERS_TORBOX_API_KEY=
RIVEN_DOWNLOADERS_TORBOX_API_KEY=xxxxx

# Content
RIVEN_CONTENT_OVERSEERR_ENABLED=false
Expand Down Expand Up @@ -134,6 +147,9 @@ RIVEN_SCRAPING_JACKETT_LIMITER_SECONDS=60
RIVEN_SCRAPING_PROWLARR_ENABLED=false
RIVEN_SCRAPING_PROWLARR_URL=http://prowlarr:9696
RIVEN_SCRAPING_PROWLARR_API_KEY=
RIVEN_SCRAPING_PROWLARR_TIMEOUT=30
RIVEN_SCRAPING_PROWLARR_RATELIMIT=true
RIVEN_SCRAPING_PROWLARR_LIMITER_SECONDS=60
RIVEN_SCRAPING_ORIONOID_ENABLED=false
RIVEN_SCRAPING_ORIONOID_API_KEY=
RIVEN_SCRAPING_ORIONOID_LIMITCOUNT=5
Expand All @@ -145,6 +161,15 @@ RIVEN_SCRAPING_TORBOX_SCRAPER_ENABLED=false
RIVEN_SCRAPING_MEDIAFUSION_ENABLED=false
RIVEN_SCRAPING_MEDIAFUSION_URL=https://mediafusion.elfhosted.com
RIVEN_SCRAPING_MEDIAFUSION_CATALOGS=["prowlarr_streams","torrentio_streams"]
RIVEN_SCRAPING_ZILEAN_ENABLED=false
RIVEN_SCRAPING_ZILEAN_URL=http://zilean:8181
RIVEN_SCRAPING_ZILEAN_TIMEOUT=30
RIVEN_SCRAPING_ZILEAN_RATELIMIT=true
RIVEN_SCRAPING_COMET_ENABLED=false
RIVEN_SCRAPING_COMET_URL=http://comet:8000
RIVEN_SCRAPING_COMET_TIMEOUT=30
RIVEN_SCRAPING_COMET_RATELIMIT=true
RIVEN_SCRAPING_COMET_INDEXERS=["bitsearch, eztv, thepiratebay, yts"]

# Ranking
RIVEN_RANKING_PROFILE=default
Expand Down Expand Up @@ -222,6 +247,3 @@ RIVEN_RANKING_CUSTOM_RANKS_SUBBED_RANK=4
RIVEN_RANKING_CUSTOM_RANKS_AV1_ENABLED=false
RIVEN_RANKING_CUSTOM_RANKS_AV1_FETCH=false
RIVEN_RANKING_CUSTOM_RANKS_AV1_RANK=0

# Indexer
RIVEN_INDEXER_UPDATE_INTERVAL=3600
125 changes: 26 additions & 99 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,20 +47,29 @@ We are constantly adding features and improvements as we go along and squashing

## Table of Contents

- [Table of Contents](#table-of-contents)
- [ElfHosted](#elfhosted)
- [Self Hosted](#self-hosted)
- [Docker Compose](#docker-compose)
- [What is ORIGIN ?](#what-is-origin-)
- [Running outside of Docker](#running-outside-of-docker)
- [First terminal:](#first-terminal)
- [Second terminal:](#second-terminal)
- [Symlinking settings](#symlinking-settings)
- [Example:](#example)
- [Development](#development)
- [Development without `make`](#development-without-make)
- [Contributing](#contributing)
- [License](#license)
- [Table of Contents](#table-of-contents)
- [ElfHosted](#elfhosted)
- [Self Hosted](#self-hosted)
- [Docker Compose](#docker-compose)
- [What is ORIGIN ?](#what-is-origin-)
- [Running outside of Docker](#running-outside-of-docker)
- [First terminal:](#first-terminal)
- [Second terminal:](#second-terminal)
- [Symlinking settings](#symlinking-settings)
- [Development](#development)
- [Prerequisites](#prerequisites)
- [Initial Setup](#initial-setup)
- [Using `make` for Development](#using-make-for-development)
- [Development without `make`](#development-without-make)
- [Additional Tips](#additional-tips)
- [Contributing](#contributing)
- [Submitting Changes](#submitting-changes)
- [Code Formatting](#code-formatting)
- [Dependency Management](#dependency-management)
- [Setting Up Your Environment](#setting-up-your-environment)
- [Adding or Updating Dependencies](#adding-or-updating-dependencies)
- [Running Tests and Linters](#running-tests-and-linters)
- [License](#license)

---

Expand All @@ -80,92 +89,10 @@ We are constantly adding features and improvements as we go along and squashing

### Docker Compose

Create a `docker-compose.yml` file with the following contents:
Copy over the contents of [docker-compose.yml](docker-compose.yml) to your `docker-compose.yml` file.

docker-compose.yml (Backend Only)
```yml
---
services:
riven:
image: spoked/riven:latest
container_name: riven
restart: unless-stopped
ports:
- "8080:8080"
tty: true
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Amsterdam
- RIVEN_DATABASE_HOST=sqlite:////riven/data/media.db
volumes:
- ./data:/riven/data
- /mnt:/mnt
```
docker-compose.yml (Frontend + Backend + Postgress / SQLite + ports: / network_mode: host)
```yml
---
services:
riven-frontend:
image: spoked/riven-frontend:latest
container_name: riven-frontend
restart: unless-stopped
ports:
- "3000:3000"
#network_mode: host
tty: true
environment:
- PUID=1000
- PGID=1000
- ORIGIN=http://localhost:3000
- BACKEND_URL=http://127.0.0.1:8080
- TZ=America/New_York
depends_on:
riven:
condition: service_healthy

riven:
image: spoked/riven:latest
container_name: riven
restart: unless-stopped
ports:
- "8080:8080"
#network_mode: host
tty: true
environment:
- PUID=1000
- PGID=1000
- TZ=America/New_York
- RIVEN_DATABASE_HOST=postgresql+psycopg2://postgres:postgres@riven_postgres/riven #Postgres database
#- RIVEN_DATABASE_HOST=postgresql+psycopg2://postgres:postgres@localhost/riven #nework_mode: host {use @localhost}
#- RIVEN_DATABASE_HOST=sqlite:////riven/data/media.db #SQLite database
healthcheck:
test: curl -s http://localhost:8080 >/dev/null || exit 1
interval: 30s
timeout: 10s
retries: 10
volumes:
- ./data:/riven/data
- /mnt:/mnt
depends_on: # Add # before all {depend: riven_postgress} lines when using SQLite
riven_postgres:
condition: service_healthy

riven_postgres: # Add # before all {riven_postgres} lines when using SQLite
image: postgres:16.3-alpine3.20
container_name: riven-db
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: riven
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 30s
timeout: 10s
retries: 5
#network_mode: host
```
> [!NOTE]
> You can check out the [docker-compose-full.yml](docker-compose-full.yml) file to get an idea of how things tie together.
Then run `docker compose up -d` to start the container in the background. You can then access the web interface at `http://localhost:3000` or whatever port and origin you set in the `docker-compose.yml` file.

Expand Down
6 changes: 3 additions & 3 deletions docker-compose-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ services:
environment:
- PUID=1000
- PGID=1000
- ORIGIN=${RIVEN_ORIGIN:-http://localhost:8080}
# - RIVEN_FORCE_ENV=true
# - RIVEN_DATABASE_HOST=sqlite:////riven/data/media.db
- TZ=UTC
- ORIGIN=${RIVEN_ORIGIN:-http://localhost:8080}
- RIVEN_FORCE_ENV=true
- RIVEN_DATABASE_HOST=sqlite:////riven/data/media.db
volumes:
- ./data:/riven/data
- /mnt:/mnt
156 changes: 156 additions & 0 deletions docker-compose-full.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
# This is a full setup for Riven with Plex, Overseerr, Zilean, and Torrentio.
# This compose assumes you already setup rclone and zurg. See notes below!

## Notes:

# Zurg & Rclone will have to be supplied as well and visible to Riven as well as Plex.
# Rclone should be mounted to: /mnt/zurg (optional directory)
# You will need to set the rclone_path in riven to use the `/mnt/zurg/__all__` dir though
# so that Riven can see all the torrents from their parent directory.

services:
riven-frontend:
image: spoked/riven-frontend:latest
container_name: riven-frontend
restart: unless-stopped
ports:
- "3000:3000"
tty: true
environment:
- PUID=1000
- PGID=1000
- ORIGIN=http://localhost:3000 # Set to IP or FQDN of the server
- BACKEND_URL=http://riven:8080
- TZ=America/New_York
depends_on:
riven:
condition: service_healthy

riven:
image: spoked/riven:latest
container_name: riven
restart: unless-stopped
ports:
- "8080:8080"
tty: true
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- RIVEN_FORCE_ENV=true # forces the use of env vars to be always used!
- RIVEN_SYMLINK_RCLONE_PATH=/mnt/zurg/__all__ # Set this to your rclone's mount `__all__` dir if using Zurg
- RIVEN_SYMLINK_LIBRARY_PATH=/mnt/library # This is the path that symlinks will be placed in
- RIVEN_DATABASE_HOST=postgresql+psycopg2://postgres:postgres@riven-db/riven
- RIVEN_DOWNLOADERS_REAL_DEBRID_ENABLED=true
- RIVEN_DOWNLOADERS_REAL_DEBRID_API_KEY=xxxxx # set your real debrid api key
- RIVEN_UPDATERS_PLEX_ENABLED=true
- RIVEN_UPDATERS_PLEX_URL=http://plex:32400
- RIVEN_UPDATERS_PLEX_TOKEN=xxxxx # set your plex token
- RIVEN_CONTENT_OVERSEERR_ENABLED=true
- RIVEN_CONTENT_OVERSEERR_URL=http://overseerr:5055
- RIVEN_CONTENT_OVERSEERR_API_KEY=xxxxx # set your overseerr token
- RIVEN_SCRAPING_TORRENTIO_ENABLED=true
- RIVEN_SCRAPING_ZILEAN_ENABLED=true
- RIVEN_SCRAPING_ZILEAN_URL=http://zilean:8181
healthcheck:
test: curl -s http://localhost:8080 >/dev/null || exit 1
interval: 30s
timeout: 10s
retries: 10
volumes:
- ./data:/riven/data
- /mnt:/mnt
depends_on:
riven_postgres:
condition: service_healthy

riven_postgres:
image: postgres:16.3-alpine3.20
container_name: riven-db
restart: unless-stopped
environment:
PGDATA: /var/lib/postgresql/data/pgdata
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: riven
volumes:
- ./riven-db:/var/lib/postgresql/data/pgdata
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5

## Plex (optional media server)

plex:
image: plexinc/pms-docker:latest
container_name: plex
restart: unless-stopped
ports:
- "32400:32400"
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- VERSION=docker
volumes:
- ./config:/config
- /mnt:/mnt
devices:
- "/dev/dri:/dev/dri"

## Overseerr (optional content service)

overseerr:
image: lscr.io/linuxserver/overseerr:latest
container_name: overseerr
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- ./config:/config
ports:
- 5055:5055

## Zilean (optional scraper service)

zilean:
image: ipromknight/zilean:latest
container_name: zilean
restart: unless-stopped
ports:
- "8181:8181"
volumes:
- zilean_data:/app/data
environment:
Zilean__ElasticSearch__Url: http://elasticsearch:9200
healthcheck:
test: curl --connect-timeout 10 --silent --show-error --fail http://localhost:8181/healthchecks/ping
timeout: 60s
interval: 30s
retries: 10
depends_on:
elasticsearch:
condition: service_healthy

elasticsearch:
image: elasticsearch:8.14.1@sha256:ff3998ab3d8a84984e5298d33d01a174fc5f8abed15ad58d0a54364fc63d68d9
container_name: elasticsearch
environment:
ES_SETTING_DISCOVERY_TYPE: single-node
ES_SETTING_XPACK_SECURITY_ENABLED: false
ES_SETTING_BOOTSTRAP_MEMORY__LOCK: true
ES_JAVA_OPTS: "-Xms512m -Xmx512m"
ports:
- "9200:9200"
- "9300:9300"
healthcheck:
test: curl -s http://localhost:9200 >/dev/null || exit 1
interval: 30s
timeout: 10s
retries: 10
volumes:
- elastic_data:/usr/share/elasticsearch/data:rw
Loading

0 comments on commit 66085da

Please sign in to comment.