rivenmedia / riven

Handle your Media Library with ease!
https://rivenmedia.github.io/wiki/
GNU General Public License v3.0
414 stars 55 forks source link

Cannot advance past step 1/4 in setup. #470

Closed mrtargaryen closed 5 months ago

mrtargaryen commented 5 months ago

OS: Ubuntu 24.04 Docker version 26.1.3, build b72abbb

https://i.imgur.com/meKfhne.png

As seen in the screenshot, I cannot advance past the initial 1/4 step in the setup. I click the "Save changes and continue" and nothing happens (I used firefox and Chromium). I may be doing something incorrect but as far as I'm aware I'm not.

This is my Docker Compose file:

riven:
    image: spoked/riven:latest
    container_name: riven
    restart: unless-stopped
    environment:
        PUID: "1000"
        PGID: "1000"
        ORIGIN: "http://localhost:3022" # read below for more info
        RIVEN_PLEX_URL: http://192.168.50.242:32400
        RIVEN_PLEX_TOKEN: XXXXXXXXXXXXXXXXXXXX
        RIVEN_PLEX_RCLONE_PATH: /mnt/zurg/__all__
        RIVEN_PLEX_LIBRARY_PATH: /media/tvshows/media/movies
        RIVEN_DOWNLOADERS_REAL_DEBRID_ENABLED: true
        RIVEN_DOWNLOADERS_REAL_DEBRID_API_KEY: XXXXXXXXXXXXXXXXXXXXXXX
    ports:
        - "3022:3000"
    volumes:
        - /mnt/riven_data:/riven/data
        - /mnt/riven:/mnt
freakpants commented 5 months ago

do you access the setup via localhost?

mrtargaryen commented 5 months ago

do you access the setup via localhost?

I just tried from localhost:3022 and the "Save changes and continue" button worked but gave the message "Unable to save settings. API is down."

freakpants commented 5 months ago

figured, that was a cors error because the origin wasn't the same as you set it to in the config

I think the API error might be something about permissions, at least it was in my case. can you check the logs of the container?

mrtargaryen commented 5 months ago

figured, that was a cors error because the origin wasn't the same as you set it to in the config

I think the API error might be something about permissions, at least it was in my case. can you check the logs of the container?

Thanks for your replies.

Here's the output of the logs after trying to proceed again (i changed the directory for the Library because it said the first one did not exist).

https://pastebin.com/raw/AAH3T6qG

mrtargaryen commented 5 months ago

figured, that was a cors error because the origin wasn't the same as you set it to in the config

I think the API error might be something about permissions, at least it was in my case. can you check the logs of the container?

For the library_ path what exactly do you put there? I've tried the path for on the host where all the files reside, and I've tried the path that the Plex container uses. And all of them return the same error:

FileNotFoundError: [Errno 2] No such file or directory: '/media/tvshows/media'

freakpants commented 5 months ago

I think your RIVEN_PLEX_LIBRARY_PATH must be relative to a mounted volume

maybe mount /media:/media and then refer to that in the library path

mrtargaryen commented 5 months ago

I think your RIVEN_PLEX_LIBRARY_PATH must be relative to a mounted volume

maybe mount /media:/media and then refer to that in the library path

Do you mean mount /media:/media in Plex container?

mrtargaryen commented 5 months ago

I think your RIVEN_PLEX_LIBRARY_PATH must be relative to a mounted volume

maybe mount /media:/media and then refer to that in the library path

I have no idea what I'm doing wrong but it's not working:

24-06-26 05:01:54 | ✅ SUCCESS | overseerr.init - Overseerr initialized! 24-06-26 05:01:54 | ✅ SUCCESS | plex_watchlist.init - Plex Watchlist initialized! 24-06-26 05:01:54 | ⚠️ WARNING | listrr.validate - Listrr is set to disabled. 24-06-26 05:01:54 | ⚠️ WARNING | mdblist.validate - Mdblist is set to disabled. 24-06-26 05:01:54 | ⚠️ WARNING | trakt.validate - Trakt is set to disabled. 24-06-26 05:01:54 | ⚠️ WARNING | annatar.validate - Annatar is set to disabled. 24-06-26 05:01:54 | ⚠️ WARNING | torrentio.validate - Torrentio is set to disabled. 24-06-26 05:01:54 | ⚠️ WARNING | knightcrawler.validate - Knightcrawler is set to disabled. 24-06-26 05:01:54 | ⚠️ WARNING | orionoid.validate - Orionoid is set to disabled. 24-06-26 05:01:54 | ⚠️ WARNING | jackett.validate - Jackett is set to disabled. 24-06-26 05:01:54 | ⚠️ WARNING | torbox.validate - TorBox Scraper is set to disabled 24-06-26 05:01:54 | ⚠️ WARNING | mediafusion.validate - Mediafusion is set to disabled. 24-06-26 05:01:54 | 🤖 DEBUG | prowlarr._log_indexers - Movie search not available for DrunkenSlug 24-06-26 05:01:54 | 🤖 DEBUG | prowlarr._log_indexers - TV search not available for DrunkenSlug 24-06-26 05:01:54 | 🤖 DEBUG | prowlarr._log_indexers - Movie search not available for EZTV 24-06-26 05:01:54 | 🤖 DEBUG | prowlarr._log_indexers - Movie search not available for NZBFinder 24-06-26 05:01:54 | 🤖 DEBUG | prowlarr._log_indexers - TV search not available for NZBFinder 24-06-26 05:01:54 | 🤖 DEBUG | prowlarr._log_indexers - Movie search not available for NZBgeek 24-06-26 05:01:54 | 🤖 DEBUG | prowlarr._log_indexers - TV search not available for NZBgeek 24-06-26 05:01:54 | ✅ SUCCESS | prowlarr.init - Prowlarr initialized! 24-06-26 05:01:54 | ❌ ERROR | symlink.validate - rclone_path does not exist: /mnt/zurg 24-06-26 05:01:54 | ❌ ERROR | plex.validate - Plex requests connection error 24-06-26 05:01:55 | 🔗 DEBRID | realdebrid.validate - Your account expires in 472 days. 24-06-26 05:01:55 | ✅ SUCCESS | realdebrid.init - Real Debrid initialized! 24-06-26 05:01:55 | ⚠️ WARNING | torbox.validate - Torbox downloader is set to disabled. 24-06-26 05:01:55 | ❌ ERROR | symlink.validate - Missing required directories in the library path: shows, movies. 24-06-26 05:01:55 | 🤖 DEBUG | symlink.validate - Library directory contains: usb, cdrom, floppy 24-06-26 05:01:55 | ❌ ERROR | symlink.init - SymlinkLibrary initialization failed due to invalid configuration. 24-06-26 05:01:55 | 👾 API | main.dispatch - GET /settings/load - 200 - 1.15s 24-06-26 05:01:55 | 👾 API | main.dispatch - GET /settings/get/plex - 200 - 0.00s

dreulavelle commented 5 months ago

frontend might not be working. just ditch it and use the settings file instead

mrtargaryen commented 5 months ago

frontend might not be working. just ditch it and use the settings file instead

I got it working, well the directories I did and overseer, prowlarr, and real-debrid. But Plex connection, I get the following output in the logs: 24-06-26 05:15:45 | ❌ ERROR | plex.validate - Plex requests connection error

https://i.imgur.com/6kBiAkn.png

AyushSehrawat commented 5 months ago

frontend might not be working. just ditch it and use the settings file instead

Works perfectly fine, i ran it on my oracle setup and it works. I think @mrtargaryen has something to do with origin, since that's the usual issue when settings don't save (no error too)

AyushSehrawat commented 5 months ago

frontend might not be working. just ditch it and use the settings file instead

I got it working, well the directories I did and overseer, prowlarr, and real-debrid. But Plex connection, I get the following output in the logs: 24-06-26 05:15:45 | ❌ ERROR | plex.validate - Plex requests connection error

https://i.imgur.com/6kBiAkn.png

make sure it can connect to plex, try to ping it from inside docker

mrtargaryen commented 5 months ago

frontend might not be working. just ditch it and use the settings file instead

I got it working, well the directories I did and overseer, prowlarr, and real-debrid. But Plex connection, I get the following output in the logs: 24-06-26 05:15:45 | ❌ ERROR | plex.validate - Plex requests connection error https://i.imgur.com/6kBiAkn.png

make sure it can connect to plex, try to ping it from inside docker

docker exec -ti riven ping plex PING plex (172.30.1.2): 56 data bytes 64 bytes from 172.30.1.2: seq=0 ttl=64 time=0.565 ms 64 bytes from 172.30.1.2: seq=1 ttl=64 time=0.051 ms 64 bytes from 172.30.1.2: seq=2 ttl=64 time=0.065 ms 64 bytes from 172.30.1.2: seq=3 ttl=64 time=0.059 ms 64 bytes from 172.30.1.2: seq=4 ttl=64 time=0.062 ms 64 bytes from 172.30.1.2: seq=5 ttl=64 time=0.050 ms 64 bytes from 172.30.1.2: seq=6 ttl=64 time=0.070 ms 64 bytes from 172.30.1.2: seq=7 ttl=64 time=0.065 ms 64 bytes from 172.30.1.2: seq=8 ttl=64 time=0.054 ms 64 bytes from 172.30.1.2: seq=9 ttl=64 time=0.062 ms 64 bytes from 172.30.1.2: seq=10 ttl=64 time=0.052 ms 64 bytes from 172.30.1.2: seq=11 ttl=64 time=0.062 ms

Pukabyte commented 5 months ago
  1. Your rclone path is wrong, it needs to be where all torrents are stored eg /mnt/zurg/__all__

  2. You may not have permissions to the library path you are wanting to use. since riven runs as user by default you can use sudo chown -R {user}:{group} /mnt you can find your user and groups by running id

  3. API is on Port 8080 so if something else is using the port it will fail you can set this in the docker-compose : 8089:8080

mrtargaryen commented 5 months ago

2. sudo chown -R {user}:{group} /mnt

Thank you very much. I changed the rclone path to /mnt/zurg/__all__ and ran sudo chown -R 1000:1000 /mnt and changed the port for the API as another container uses 8080. Then ran the reauthorization in Riven again, and this is the log output:

24-06-26 07:37:35 | ✅ SUCCESS | prowlarr.init - Prowlarr initialized! 24-06-26 07:37:35 | 📰 INFO | symlink.init - Rclone path symlinks are pointed to: /mnt/zurg/all 24-06-26 07:37:35 | 📰 INFO | symlink.init - Symlinks will be placed in: /media/tvshows/media 24-06-26 07:37:35 | ✅ SUCCESS | symlink.init - Symlink initialized! 24-06-26 07:37:35 | ❌ ERROR | plex.validate - Plex requests connection error 24-06-26 07:37:36 | 🔗 DEBRID | realdebrid.validate - Your account expires in 472 days. 24-06-26 07:37:36 | ✅ SUCCESS | realdebrid.init - Real Debrid initialized!

mrtargaryen commented 5 months ago

In the log it says '/mnt/zurgall' not /mnt/zurg/all

Pukabyte commented 5 months ago

In the log it says '/mnt/zurgall' not /mnt/zurg/all

cool now its just your plex, did you enter the right token and did you press authenticate?

mrtargaryen commented 5 months ago

In the log it says '/mnt/zurgall' not /mnt/zurg/all

cool now its just your plex, did you enter the right token and did you press authenticate?

I did the reauthorisation thing on the settings page of riven. And in plex it looks as though it has been authorised in the "Authorized Devices" section. Is there a way to manually set the authorization token in the Riven settings file?

Pukabyte commented 5 months ago

no if done through UI it's done automatically, though you can check in the settings.json file found in the riven folder in {pathtoriven}/data/settings.json

mrtargaryen commented 5 months ago

no if done through UI it's done automatically, though you can check in the settings.json file found in the riven folder in {pathtoriven}/data/settings.json

Well, thanks for taking the time to help, I'm limited in my knowledge of these things, still learning a lot about Debian/Ubuntu and Docker. So, I appreciate the time people take to help. Maybe I'll revisit Riven at a later date, I have no idea why the Plex authorisation isn't working.

AyushSehrawat commented 5 months ago

no if done through UI it's done automatically, though you can check in the settings.json file found in the riven folder in {pathtoriven}/data/settings.json

Well, thanks for taking the time to help, I'm limited in my knowledge of these things, still learning a lot about Debian/Ubuntu and Docker. So, I appreciate the time people take to help. Maybe I'll revisit Riven at a later date, I have no idea why the Plex authorisation isn't working.

Are you sure it's plex authorization issue? You can try to manually out token too from devices.xml

mrtargaryen commented 5 months ago

no if done through UI it's done automatically, though you can check in the settings.json file found in the riven folder in {pathtoriven}/data/settings.json

Well, thanks for taking the time to help, I'm limited in my knowledge of these things, still learning a lot about Debian/Ubuntu and Docker. So, I appreciate the time people take to help. Maybe I'll revisit Riven at a later date, I have no idea why the Plex authorisation isn't working.

Are you sure it's plex authorization issue? You can try to manually out token too from devices.xml

I went to: https://plex.tv/devices.xml?X-Plex-Token=xxxxxxxx

And I got the Token for the correct device (Riven).

Then I opened the settings.json for Riven and compared the Plex token in there, and it was exactly the same token.

I have no idea what to do.

AyushSehrawat commented 5 months ago

no if done through UI it's done automatically, though you can check in the settings.json file found in the riven folder in {pathtoriven}/data/settings.json

Well, thanks for taking the time to help, I'm limited in my knowledge of these things, still learning a lot about Debian/Ubuntu and Docker. So, I appreciate the time people take to help. Maybe I'll revisit Riven at a later date, I have no idea why the Plex authorisation isn't working.

Are you sure it's plex authorization issue? You can try to manually out token too from devices.xml

I went to: https://plex.tv/devices.xml?X-Plex-Token=xxxxxxxx

And I got the Token for the correct device (Riven).

Then I opened the settings.json for Riven and compared the Plex token in there, and it was exactly the same token.

I have no idea what to do.

Yes that was the exact token because riven made it. Look for the token with the instance name (the name plex first asked you when it set it up)

mrtargaryen commented 5 months ago

Is there anything in this stack that would cause the following?

24-06-30 04:35:02 | ❌ ERROR | plex.validate - Plex requests connection error

services:
  plex:
    container_name: plex
    image: plexinc/pms-docker
    restart: unless-stopped
    ports:
      - 32400:32400/tcp
      - 8324:8324/tcp
      - 32469:32469/tcp
      - 2900:2900/udp
      - 32410:32410/udp
      - 32412:32412/udp
      - 32413:32413/udp
      - 32414:32414/udp
    environment:
      - TZ=Australia/Sydney
      - PLEX_CLAIM=xxxxxxx
      - ADVERTISE_IP=https://192.168.50.242:32400/
    hostname: plex
    volumes:
      - /plex/database:/config
      - /plex/transcode:/transcode
      - /mnt/zurg:/mnt/zurg
      - /media/tvshows/media:/media/tvshows/media
  riven:
    image: spoked/riven:latest
    container_name: riven
    restart: unless-stopped
    tty: true
    environment:
      - PUID=1000
      - PGID=1000
      - ORIGIN=http://localhost:3066
      - TZ=Australia/Sydney
    volumes:
      - ./data:/riven/data
      - /mnt:/mnt
      - /media:/media
    ports:
      - 3066:3000
      - 8099:8080
networks:
  default:
    ipam:
      driver: default
      config:
        - subnet: 172.42.15.0/28
          gateway: 172.42.15.1
mrtargaryen commented 5 months ago

no if done through UI it's done automatically, though you can check in the settings.json file found in the riven folder in {pathtoriven}/data/settings.json

Well, thanks for taking the time to help, I'm limited in my knowledge of these things, still learning a lot about Debian/Ubuntu and Docker. So, I appreciate the time people take to help. Maybe I'll revisit Riven at a later date, I have no idea why the Plex authorisation isn't working.

Are you sure it's plex authorization issue? You can try to manually out token too from devices.xml

I went to: https://plex.tv/devices.xml?X-Plex-Token=xxxxxxxx And I got the Token for the correct device (Riven). Then I opened the settings.json for Riven and compared the Plex token in there, and it was exactly the same token. I have no idea what to do.

Yes that was the exact token because riven made it. Look for the token with the instance name (the name plex first asked you when it set it up)

All there are is authorised devices for "iceberg", Firefox, and a few devices like Apple TV, iPhone, there's nothing else.

<Device name="Iceberg" publicAddress="xxxxxxxx" product="Iceberg" productVersion="" platform="" platformVersion="" device="" model="" vendor="" provides="" clientIdentifier="xxxxxxxxxxxxxxxx" version="" id="xxxxxxxxx" token="xxxxx" createdAt="xxxxxx" lastSeenAt="xxxxxxx" screenResolution="" screenDensity=""> </Device>

mrtargaryen commented 5 months ago

I changed Secure connections from required to preferred in plex (and changed plex url from https to http in Riven) and:

24-06-30 07:33:49 | ✅ SUCCESS | prowlarr.init - Prowlarr initialized! 24-06-30 07:33:49 | 📰 INFO | symlink.init - Rclone path symlinks are pointed to: /mnt/zurg/all 24-06-30 07:33:49 | 📰 INFO | symlink.init - Symlinks will be placed in: /media/tvshows/media 24-06-30 07:33:49 | ✅ SUCCESS | symlink.init - Symlink initialized! 24-06-30 07:33:49 | ✅ SUCCESS | plex.init - Plex Updater initialized! 24-06-30 07:33:49 | 🤖 PROGRAM | program.start - Riven started! 24-06-30 07:33:50 | 🔗 DEBRID | realdebrid.validate - Your account expires in 499 days. 24-06-30 07:33:50 | ✅ SUCCESS | realdebrid.init - Real Debrid initialized!

mrtargaryen commented 5 months ago

I ran into a problem and reinstalled Riven. I set everything up again using the solution I found last time and to my surprise I experienced the same Plex issue: ❌ ERROR | plex.validate - Plex requests connection error

So I ran the following:

me@server:~$ docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' plex     
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' riven
172.30.1.3
172.30.1.2

They're in the same network. And so I used the path http://plex:32400 and it worked.

I'll leave this here for anyone using Docker who runs into the same issue.

dreulavelle commented 5 months ago

Awesome! Glad you were able to get it to work! :)