rivenmedia / riven

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

Constant unhealthy riven container post 0.12.0 upgrade #701

Closed moe93 closed 1 month ago

moe93 commented 1 month ago

After upgrading to the newest release, I am constantly failing to start the riven container. Running docker stats I get:

CONTAINER ID   NAME                         CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O         PIDS
c5f40204b5ff   riven                        101.46%   22.38MiB / 5.662GiB   0.39%     516B / 0B         0B / 0B           2
35c492ab60df   riven-db                     0.00%     19.07MiB / 5.662GiB   0.33%     8.95kB / 0B       0B / 606kB        6

Notice how it says 101% CPU% for whatever reason. Running docker logs riven-db gives:

2024-09-20 21:35:29.895 UTC [1] LOG:  starting PostgreSQL 16.3 on x86_64-pc-linux-musl, compiled by gcc (Alpine 13.2.1_git20240309) 13.2.1 20240309, 64-bit
2024-09-20 21:35:29.895 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2024-09-20 21:35:29.895 UTC [1] LOG:  listening on IPv6 address "::", port 5432
2024-09-20 21:35:29.897 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-09-20 21:35:29.905 UTC [29] LOG:  database system was shut down at 2024-09-20 21:35:27 UTC
2024-09-20 21:35:29.918 UTC [1] LOG:  database system is ready to accept connections

Showing that the database is working fine. Please let me know if there is anything else that you might need from me to help you pinpoint what the issue might be.

davidemarcoli commented 1 month ago

Is there an error visible when you run docker logs riven?

dreulavelle commented 1 month ago

0.12.6 is up now.

We definitely need more backend logs though to be able to help.

moe93 commented 1 month ago

Of course, how did that skip my mind?

Here is the output for docker logs riven

Starting Container with 1000:1000 permissions...
adduser: : No such file or directory
Container Initialization complete.
Starting Riven (Backend)...
2024-09-21 23:49:02.144 | ERROR    | program.settings.manager:load:71 - Error validating settings: 93 validation errors for AppModel
ranking.custom_ranks.uhd.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.uhd.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.uhd.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=120, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.fhd.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.fhd.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.fhd.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=100, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hd.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hd.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hd.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=80, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.sd.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.sd.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.sd.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=-120, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.bluray.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.bluray.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.bluray.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=80, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hdr.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hdr.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hdr.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=80, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hdr10.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hdr10.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hdr10.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=90, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dolby_video.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dolby_video.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dolby_video.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=-100, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dts_x.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dts_x.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dts_x.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dts_hd.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dts_hd.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dts_hd.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dts_hd_ma.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dts_hd_ma.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dts_hd_ma.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.atmos.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.atmos.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.atmos.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.truehd.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.truehd.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.truehd.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.ddplus.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.ddplus.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.ddplus.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.aac.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.aac.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.aac.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=70, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.ac3.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.ac3.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.ac3.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=50, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.remux.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.remux.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.remux.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=-1000, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.webdl.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.webdl.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.webdl.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=90, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.repack.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.repack.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.repack.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=5, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.proper.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.proper.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.proper.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=4, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dubbed.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dubbed.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dubbed.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=3, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.subbed.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.subbed.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.subbed.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=3, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.av1.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.av1.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.av1.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.h264.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.h264.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.h264.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.h265.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.h265.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.h265.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hevc.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hevc.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hevc.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.avc.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.avc.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.avc.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dvdrip.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dvdrip.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dvdrip.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=-100, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.bdrip.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.bdrip.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.bdrip.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=5, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.brrip.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.brrip.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.brrip.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hdtv.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hdtv.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hdtv.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=-100, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
Traceback (most recent call last):
  File "/riven/src/main.py", line 14, in <module>
    from controllers.default import router as default_router
  File "/riven/src/controllers/default.py", line 6, in <module>
    from program.content.trakt import TraktContent
  File "/riven/src/program/__init__.py", line 3, in <module>
    from program.media.item import MediaItem  # noqa: F401
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/riven/src/program/media/__init__.py", line 1, in <module>
    from .item import Episode, MediaItem, Movie, Season, Show  # noqa
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/riven/src/program/media/item.py", line 13, in <module>
    from program.db.db import db
  File "/riven/src/program/db/db.py", line 9, in <module>
    from program.settings.manager import settings_manager
  File "/riven/src/program/settings/manager.py", line 87, in <module>
    settings_manager = SettingsManager()
                       ^^^^^^^^^^^^^^^^^
  File "/riven/src/program/settings/manager.py", line 27, in __init__
    self.load()
  File "/riven/src/program/settings/manager.py", line 68, in load
    self.settings = AppModel.model_validate(settings_dict)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.11/site-packages/pydantic/main.py", line 596, in model_validate
    return cls.__pydantic_validator__.validate_python(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 93 validation errors for AppModel
ranking.custom_ranks.uhd.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.uhd.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.uhd.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=120, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.fhd.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.fhd.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.fhd.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=100, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hd.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hd.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hd.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=80, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.sd.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.sd.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.sd.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=-120, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.bluray.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.bluray.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.bluray.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=80, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hdr.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hdr.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hdr.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=80, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hdr10.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hdr10.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hdr10.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=90, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dolby_video.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dolby_video.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dolby_video.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=-100, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dts_x.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dts_x.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dts_x.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dts_hd.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dts_hd.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dts_hd.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dts_hd_ma.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dts_hd_ma.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dts_hd_ma.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.atmos.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.atmos.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.atmos.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.truehd.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.truehd.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.truehd.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.ddplus.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.ddplus.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.ddplus.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.aac.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.aac.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.aac.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=70, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.ac3.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.ac3.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.ac3.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=50, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.remux.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.remux.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.remux.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=-1000, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.webdl.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.webdl.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.webdl.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=90, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.repack.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.repack.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.repack.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=5, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.proper.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.proper.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.proper.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=4, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dubbed.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dubbed.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dubbed.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=3, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.subbed.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.subbed.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.subbed.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=3, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.av1.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.av1.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.av1.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.h264.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.h264.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.h264.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.h265.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.h265.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.h265.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hevc.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hevc.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hevc.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.avc.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.avc.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.avc.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dvdrip.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dvdrip.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.dvdrip.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=-100, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.bdrip.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.bdrip.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.bdrip.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=5, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.brrip.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.brrip.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.brrip.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=0, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hdtv.enable
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=False, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hdtv.fetch
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=True, input_type=bool]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
ranking.custom_ranks.hdtv.rank
  Input should be a valid dictionary or instance of CustomRank [type=model_type, input_value=-100, input_type=int]
    For further information visit https://errors.pydantic.dev/2.9/v/model_type
Starting Container with 1000:1000 permissions...
usermod: no changes
Container Initialization complete.
Starting Riven (Backend)...
dreulavelle commented 1 month ago

its either not an updated image, or your settings file is wrong..

Delete your settings file and reset your database. Let Riven recreate the settings file for you.

moe93 commented 1 month ago

That was from 0.12.7. The settings file was unchanged from prior to 0.12.0 when everything worked fine.

I have no issues deleting the settings, reseting the database, and starting from scratch, but that doesn't make it any less puzzling as to why my setup broke after the upgrade.

dreulavelle commented 1 month ago

0.13.2 up 😁

Thats because prior to 0.12.x, there was a massive update which changed a lot of stuff in the settings file and in the database. So we needed folks to reset everything. from 0.12.x to 0.13.x the resets aren't necessary.

0.13.2 introduces a couple bug fixes, but also brings Jellyfin and Emby support. :)

moe93 commented 1 month ago

I removed the old settings and database and everything seems to be working again.

Thats because prior to 0.12.x, there was a massive update which changed a lot of stuff in the settings file and in the database. So we needed folks to reset everything. from 0.12.x to 0.13.x the resets aren't necessary.

If I may suggest, you might want to mention that somewhere in the README.md file or in the update log (if it is there, I have definitely missed it). That would help people upgrade to the newer versions more seamlessly if they do encounter the same problem.

dreulavelle commented 1 month ago

Your right, I goofed when I made the commit message. I should of added feat!: to it to mention that its a breaking change.

You can catch the latest announcements in our Discord if you aren't already in there!