• Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below
  • Forum
  • Website
  • GitHub
  • Status
  • Translation
  • Features
  • Team
  • Rules
  • Help
  • Feeds
User Links
  • Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below

    Useful Links Forum Website GitHub Status Translation Features Team Rules Help Feeds
    Jellyfin Forum Development Plugin Development JellySearch

    Pages (6): « Previous 1 2 3 4 5 6 Next »

     
    • 1 Vote(s) - 5 Average

    JellySearch

    A fast full-text search proxy for Jellyfin
    Zedniac
    Offline

    Junior Member

    Posts: 7
    Threads: 2
    Joined: 2024 Sep
    Reputation: 0
    Country:United States
    #21
    2024-09-18, 05:43 AM
    I've been trying to set this up on my Unraid server tonight but having trouble. By default it doesn't use Docker Compose but instead WebUI that lets you set all the Docker variables/paths/ports etc and as far as I can tell I've set it up according to the instructions. Jellysearch can find the SQL file from the Jellyfin folder just fine. Per the Jellysearch and Meilisearch logs, those two can talk to each other - Jellysearch indexes, then Meilisearch does. My Jellyfin is also set up in and accessible through NPM. I have the custom location set up per the Gitlab docs, including setting proxy_pass to the actual IP and port of my Jellysearch container.

    However, when I search in Jellyfin, no results are returned. When searching, nothing happens in the Jellysearch log either. (I'm not sure whether Jellysearch returns anything in the log when receiving a query, so I can't tell if the query isn't getting to Jellysearch, or if Jellysearch can't return it to me.)

    I'm not real experienced with reverse proxy and the like so I'm guessing it's something I did wrong, but so far I can't figure out what it is. Any ideas? If more info is needed to determine what's going wrong just let me know.
    Zedniac
    Offline

    Junior Member

    Posts: 7
    Threads: 2
    Joined: 2024 Sep
    Reputation: 0
    Country:United States
    #22
    2024-09-18, 03:21 PM (This post was last modified: 2024-09-18, 03:28 PM by Zedniac. Edited 2 times in total.)
    Well, disregard the above I guess. I took a break to get some sleep and when I came back to this it was working lol. My guess is that it had never finished indexing or something since I had kept restarting Jellysearch as I made changes.

    So far it works great, much faster than default search. The only issue I'm having is that Finamp on my iPhone can't search for Artists - it can search Albums and Tracks, but when I search Artists it says "No items found - the list is currently empty." Jellysearch logs show "No hits, not proxying" when searching this way. Searching in the Jellyfin WebUI does return Artists results, however. Since Finamp is a separate app this may not be Domi's purview, but thought I'd mention it in case there was any known issue or a fix.

    Regardless, the search is much faster overall, which was my main concern with Jellyfin as a new user, so thanks for creating this!
    Hectik
    Offline

    Junior Member

    Posts: 18
    Threads: 2
    Joined: 2024 Jun
    Reputation: 0
    #23
    2024-09-30, 11:12 PM
    Hey thanks for your work on this! I'm trying to get it to work but get the following error:

    Code:
          Content root path: /app
    fail: JellySearch.Jobs.IndexJob[0]
          SQLite Error 14: 'unable to open database file'.
    fail: JellySearch.Jobs.IndexJob[0]
            at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)
            at Microsoft.Data.Sqlite.SqliteConnectionInternal..ctor(SqliteConnectionStringBuilder connectionOptions, SqliteConnectionPool pool)
            at Microsoft.Data.Sqlite.SqliteConnectionPool.GetConnection()
            at Microsoft.Data.Sqlite.SqliteConnectionFactory.GetConnection(SqliteConnection outerConnection)
            at Microsoft.Data.Sqlite.SqliteConnection.Open()
            at System.Data.Common.DbConnection.OpenAsync(CancellationToken cancellationToken)
          --- End of stack trace from previous location ---
            at JellySearch.Jobs.IndexJob.Execute(IJobExecutionContext context) in /builds/DomiStyle/jellysearch/src/JellySearch/Jobs/IndexJob.cs:line 57
    info: JellySearch.Controllers.SearchController[0]
          No hits, not proxying

    Should the variable JELLYFIN_CONFIG_DIR be pointing to the directory where 'jellyfin.db' is? Right now it points to '/config' but 'jellyfin.db' is at '/config/data/data/'

    Or maybe something else?
    Jellyfin 10.10.3 [LSIO Docker] | Ubuntu 24.04 LTS | i7-12700T | 16 GB RAM | 60TB Storage
    Hectik
    Offline

    Junior Member

    Posts: 18
    Threads: 2
    Joined: 2024 Jun
    Reputation: 0
    #24
    2024-10-02, 11:28 PM
    Any chance someone could point me in the right direction to get this working?
    Jellyfin 10.10.3 [LSIO Docker] | Ubuntu 24.04 LTS | i7-12700T | 16 GB RAM | 60TB Storage
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,375
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #25
    2024-10-03, 12:25 AM
    Is jellysearch able to read jellyfin's DB file?

    Code:
    fail: JellySearch.Jobs.IndexJob[0]
          SQLite Error 14: 'unable to open database file'.

    I'm assuming it would need sufficient permissions to read it.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    dontcryforme
    Offline

    Junior Member

    Posts: 16
    Threads: 7
    Joined: 2024 Mar
    Reputation: 0
    Country:Madagascar
    #26
    2024-10-03, 12:54 PM (This post was last modified: 2024-10-03, 12:55 PM by dontcryforme. Edited 1 time in total.)
    Change JELLYFIN_CONFIG_DIR to point to '/config/data' instead of '/config'
    Hectik
    Offline

    Junior Member

    Posts: 18
    Threads: 2
    Joined: 2024 Jun
    Reputation: 0
    #27
    2024-10-05, 08:30 PM (This post was last modified: 2024-10-05, 08:32 PM by Hectik. Edited 1 time in total.)
    (2024-10-03, 12:25 AM)TheDreadPirate Wrote: Is jellysearch able to read jellyfin's DB file?

    Code:
    fail: JellySearch.Jobs.IndexJob[0]
          SQLite Error 14: 'unable to open database file'.
    I'm assuming it would need sufficient permissions to read it.

    It should have at least read permissions as per the documentation. 

    this is my docker compose 

    Code:
      jellysearch:
        container_name: jellysearch
        image: domistyle/jellysearch
        restart: unless-stopped
        volumes:
          - ./jellyfin-folder/config:/config:ro
        environment:
          PUID: "XXXX"
          PGID: "XXXX"
          TZ: "Europe/London"
          MEILI_MASTER_KEY: "NO"
          INDEX_CRON: "0 0 0/2 ? * * *"
          JELLYFIN_URL: "https://domain.co.uk"
          MEILI_URL: "http://meilisearch:7700"
          JELLYFIN_CONFIG_DIR: "./jellyfin-folder/config"
        networks:
          - jellyfin-net
          - nginx-proxy-manager

      meilisearch:
        image: getmeili/meilisearch:v1.9
        container_name: meilisearch
        restart: unless-stopped
        volumes:
          - ./jellyfin-folder/custom/meilisearch:/meili_data
        environment:
          MEILI_MASTER_KEY: "NO"
          PUID: "XXXX"
          PGID: "XXXX"
          TZ: "Europe/London"
        networks:
          - jellyfin-net

      jellyfin:
        image: lscr.io/linuxserver/jellyfin:latest
        container_name: jellyfin
        volumes:
          - ./jellyfin-folder/config:/config
          - ./jellyfin-folder/www:/usr/share/jellyfin/web
        environment:
          - PUID=XXXX
          - PGID=XXXX
          - TZ=Europe/London
          - JELLYFIN_PublishedServerUrl=https://domain.co.uk
        restart: unless-stopped
        networks:
          - jellyfin-net
          - nginx-proxy-manager

    I get the following from the jellysearch logs:

    Code:
    warn: Microsoft.AspNetCore.Hosting.Diagnostics[15]
          Overriding HTTP_PORTS '8080' and HTTPS_PORTS ''. Binding to values defined by URLS instead 'http://0.0.0.0:5000'.
    info: JellySearch.Jobs.IndexJob[0]
          Indexing items...
    info: Microsoft.Hosting.Lifetime[14]
          Now listening on: http://0.0.0.0:5000
    info: Microsoft.Hosting.Lifetime[0]
          Application started. Press Ctrl+C to shut down.
    info: Microsoft.Hosting.Lifetime[0]
          Hosting environment: Production
    info: Microsoft.Hosting.Lifetime[0]
          Content root path: /app
    fail: JellySearch.Jobs.IndexJob[0]
          SQLite Error 14: 'unable to open database file'.
    fail: JellySearch.Jobs.IndexJob[0]
            at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)
            at Microsoft.Data.Sqlite.SqliteConnectionInternal..ctor(SqliteConnectionStringBuilder connectionOptions, SqliteConnectionPool pool)
            at Microsoft.Data.Sqlite.SqliteConnectionPool.GetConnection()
            at Microsoft.Data.Sqlite.SqliteConnectionFactory.GetConnection(SqliteConnection outerConnection)
            at Microsoft.Data.Sqlite.SqliteConnection.Open()
            at System.Data.Common.DbConnection.OpenAsync(CancellationToken cancellationToken)
          --- End of stack trace from previous location ---
            at JellySearch.Jobs.IndexJob.Execute(IJobExecutionContext context) in /builds/DomiStyle/jellysearch/src/JellySearch/Jobs/IndexJob.cs:line 57
    info: JellySearch.Controllers.SearchController[0]
          No hits, not proxying
    info: JellySearch.Controllers.SearchController[0]
          No hits, not proxying
    Jellyfin 10.10.3 [LSIO Docker] | Ubuntu 24.04 LTS | i7-12700T | 16 GB RAM | 60TB Storage
    Hectik
    Offline

    Junior Member

    Posts: 18
    Threads: 2
    Joined: 2024 Jun
    Reputation: 0
    #28
    2024-10-05, 09:32 PM
    (2024-10-03, 12:54 PM)dontcryforme Wrote: Change JELLYFIN_CONFIG_DIR to point to '/config/data' instead of '/config'

    Hmm, tried that and got the same outcome.  Upside-down-face
    Jellyfin 10.10.3 [LSIO Docker] | Ubuntu 24.04 LTS | i7-12700T | 16 GB RAM | 60TB Storage
    domi
    Offline

    Junior Member

    Posts: 8
    Threads: 0
    Joined: 2024 Aug
    Reputation: 0
    #29
    2024-10-06, 09:01 AM
    (2024-10-05, 09:32 PM)Hectik Wrote:
    (2024-10-03, 12:54 PM)dontcryforme Wrote: Change JELLYFIN_CONFIG_DIR to point to '/config/data' instead of '/config'

    Hmm, tried that and got the same outcome.  Upside-down-face

    I believe you are one folder too deep, the final path inside of the container for the database file should be /config/data/library.db.

    If you remove the JELLYFIN_CONFIG_DIR environment variable and mount ./jellyfin-folder directly to /config it should work.
    ./jellyfin-folder should contain a data folder.
    jennystreaming
    Offline

    Junior Member

    Posts: 24
    Threads: 3
    Joined: 2024 Jun
    Reputation: 0
    Country:Finland
    #30
    2024-10-06, 03:03 PM (This post was last modified: 2024-10-06, 03:08 PM by jennystreaming.)
    (2024-08-27, 07:25 PM)Topomov Wrote: It works so beautiful well! Thank you for everything!!

    As for Synology users; I wrote the following script that should be put in the task scheduler (have it run at boot as root)

    Code:
    # Define the search term for grep and the words for modification
    search_word_1="jellyfin.MYHOSTNAME.com"
    search_word_2="location \/ {"
    insert_text="\n if (\$arg_searchTerm) { \n        proxy_pass http:\/\/localhost:MYJELLYSEARCHPORT;\n        break;\n    }\n"

    # Search for the first file containing the string in grep_term in the specified directory
    file=$(grep -Rnw '/usr/local/etc/nginx/sites-available/' -e "$search_word_1" | awk -F: 'NR==1{print $1}')

    # Check if a file was found
    if [ -z "$file" ]; then
      echo "No file containing '$grep_term' found."
      exit 1
    fi

    # Verify that both search_word_1 and search_word_2 exist in the file
    if grep -q "$search_word_1" "$file" && grep -q "$search_word_2" "$file"; then
      # Use sed with variables to find the first occurrence of search_word_2 after search_word_1 and insert insert_text after search_word_2
      sed -i "/$search_word_1/,/$search_word_2/{s/\($search_word_2\)/\1 $insert_text/;}" "$file"
      echo "Modification applied to $file"
      nginx -s reload
    else
      echo "The file $file does not contain both '$search_word_1' and '$search_word_2'"
    fi

    https://gitlab.com/DomiStyle/jellysearch...ellysearch

    How did the Docker Compose look for you running Nginx Proxy Manager? I see there are a lot of Traefik parameters in there. Do you have a template to share? Thank you very much.

    (2024-10-06, 09:01 AM)domi Wrote:
    (2024-10-05, 09:32 PM)Hectik Wrote:
    (2024-10-03, 12:54 PM)dontcryforme Wrote: Change JELLYFIN_CONFIG_DIR to point to '/config/data' instead of '/config'

    Hmm, tried that and got the same outcome.  Upside-down-face

    I believe you are one folder too deep, the final path inside of the container for the database file should be /config/data/library.db.

    If you remove the JELLYFIN_CONFIG_DIR environment variable and mount ./jellyfin-folder directly to /config it should work.
    ./jellyfin-folder should contain a data folder.

    Sorry for the kind-of-double post, but I saw someone asking pretty much the same thing as me here: https://gitlab.com/DomiStyle/jellysearch/-/issues/9  - we know what to put in Nginx Proxy Manager, but what do we put and/or remove in the Docker Compose since it includes a lot of variables that mention Traefik? Thanks for creating JellySearch, it works great on my friends' servers, just me who is a little bit slow perhaps, haha
    Pages (6): « Previous 1 2 3 4 5 6 Next »

    « Next Oldest | Next Newest »

    Users browsing this thread: 2 Guest(s)


    • View a Printable Version
    • Subscribe to this thread
    Forum Jump:

    Home · Team · Help · Contact
    © Designed by D&D - Powered by MyBB
    L


    Jellyfin

    The Free Software Media System

    Linear Mode
    Threaded Mode