• 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 (5): « Previous 1 2 3 4 5 Next »

     
    • 0 Vote(s) - 0 Average

    JellySearch

    A fast full-text search proxy for Jellyfin
    Nerokor
    Offline

    Junior Member

    Posts: 12
    Threads: 2
    Joined: 2023 Oct
    Reputation: 0
    Country:United States
    #11
    2024-08-23, 12:54 AM
    Quote:location ~* ^(?!/Genres)(.*) {
        if ($arg_searchTerm) {
            proxy_pass http://jellysearch:5000;
            break;
        }
    }

    I'm using Nginx Proxy Manager. When I put the above configuration (edited with my jellysearch IP:port) into Advanced > Custom Nginx Configuration, I get a "Welcome to OpenResty!" page.
    Topomov
    Offline

    Junior Member

    Posts: 23
    Threads: 1
    Joined: 2023 Jul
    Reputation: 1
    #12
    2024-08-23, 02:55 PM
    (2024-08-22, 09:36 PM)domi Wrote: Try adding the following location block above your regular Jellyfin location block:

    Quote:location ~* ^(?!/Genres)(.*) {
        if ($arg_searchTerm) {
            proxy_pass http://jellysearch:5000;
            break;
        }
    }

    Where http://jellysearch:5000 is your host where JellySearch is running.

    (2024-08-21, 06:45 PM)Topomov Wrote: Do you know if it's normal that the following request: http://192.168.1.22:5500/Users/SOMEID/It...ypes=Movie

    Returns the following? {"Items": [], "TotalRecordCount": 0, "StartIndex": 0}

    Yes, all authentication is done by Jellyfin. Since I'm not sending any request when no results are found I just return an empty result no matter if the authentication failed or there are no results so I don't leak any data. You will have to set the Authorization header in order for Jellyfin to respond.

    The Jellyfin Nginx part is handled by Synology; I have little control over it Slightly-frowning-face
    I'll try and see what I can do!
    vodka
    Offline

    Junior Member

    Posts: 3
    Threads: 0
    Joined: 2024 Aug
    Reputation: 0
    #13
    2024-08-23, 03:50 PM (This post was last modified: 2024-08-23, 04:00 PM by vodka. Edited 3 times in total.)
    (2024-08-22, 09:36 PM)domi Wrote: Try adding the following location block above your regular Jellyfin location block:

    Quote:location ~* ^(?!/Genres)(.*) {
        if ($arg_searchTerm) {
            proxy_pass http://jellysearch:5000;
            break;
        }
    }

    I tried this (with the correct proxy pass url ofc) and it seems to now redirect everything that goes to my jf domain straight to a default nginx page. Commenting it out restores service as normal.

    Though what I did instead was change my default location block to include the if part from here, since I don't care about the Genres queries going though (according to the dev they get passed through anyway)

    I changed it from this:

    Code:
        location / {
            include /config/nginx/proxy.conf;
            include /config/nginx/resolver.conf;
            proxy_pass http://10.0.69.69:8096;
            proxy_set_header Range $http_range;
            proxy_set_header If-Range $http_if_range;
        }
    To this:
    Code:
        location / {
            include /config/nginx/proxy.conf;
            include /config/nginx/resolver.conf;
            if ($arg_searchTerm) {
                proxy_pass http://10.0.69.69:5000;
                break;
            }
            proxy_pass http://10.0.69.69:8096;
            proxy_set_header Range $http_range;
            proxy_set_header If-Range $http_if_range;
        }
    And it works great.
    domi
    Offline

    Junior Member

    Posts: 7
    Threads: 0
    Joined: 2024 Aug
    Reputation: 0
    #14
    2024-08-24, 10:39 AM (This post was last modified: 2024-08-24, 10:40 AM by domi.)
    (2024-08-23, 12:54 AM)Nerokor Wrote:
    Quote:location ~* ^(?!/Genres)(.*) {
        if ($arg_searchTerm) {
            proxy_pass http://jellysearch:5000;
            break;
        }
    }

    I'm using Nginx Proxy Manager. When I put the above configuration (edited with my jellysearch IP:port) into Advanced > Custom Nginx Configuration, I get a "Welcome to OpenResty!" page.

    I updated the documentation in the git repository for nginx and Nginx Proxy Manager: https://gitlab.com/DomiStyle/jellysearch#nginx
    Should hopefully work that way in both instances.


    (2024-08-23, 02:55 PM)Topomov Wrote: The Jellyfin Nginx part is handled by Synology; I have little control over it Slightly-frowning-face
    I'll try and see what I can do!

    I don't own any Synology device so you're on your own there but I updated the documentation for nginx and Nginx Proxy Manager, so if you can get access to your nginx configs you can go from there.


    (2024-08-23, 03:50 PM)vodka Wrote: And it works great.

    Thanks, added it to the documentation.
    keklol
    Offline

    Junior Member

    Posts: 13
    Threads: 2
    Joined: 2023 Jul
    Reputation: 0
    #15
    2024-08-27, 08:46 AM
    I wish we can get something like this native one day!
    1
    Topomov
    Offline

    Junior Member

    Posts: 23
    Threads: 1
    Joined: 2023 Jul
    Reputation: 1
    #16
    2024-08-27, 07:25 PM
    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
    Nerokor
    Offline

    Junior Member

    Posts: 12
    Threads: 2
    Joined: 2023 Oct
    Reputation: 0
    Country:United States
    #17
    2024-08-28, 12:49 AM
    (2024-08-24, 10:39 AM)domi Wrote: [quote="Nerokor" pid='33888' dateline='1724374498']
    Quote:location ~* ^(?!/Genres)(.*) {
        if ($arg_searchTerm) {
            proxy_pass http://jellysearch:5000;
            break;
        }
    }

    I'm using Nginx Proxy Manager. When I put the above configuration (edited with my jellysearch IP:port) into Advanced > Custom Nginx Configuration, I get a "Welcome to OpenResty!" page.

    I updated the documentation in the git repository for nginx and Nginx Proxy Manager: https://gitlab.com/DomiStyle/jellysearch#nginx
    Should hopefully work that way in both instances.


    Thank you for making this. Your setup instructions worked great for me. One issue that came up is a friend was searching for something on Swiftfin and it would crash I assume it's related to the change to Jellysearch. Any plans to support Swiftfin?
    domi
    Offline

    Junior Member

    Posts: 7
    Threads: 0
    Joined: 2024 Aug
    Reputation: 0
    #18
    2024-08-28, 08:34 AM
    (2024-08-28, 12:49 AM)Nerokor Wrote: Thank you for making this. Your setup instructions worked great for me. One issue that came up is a friend was searching for something on Swiftfin and it would crash I assume it's related to the change to Jellysearch. Any plans to support Swiftfin?

    Swiftfin should work in the latest version.
    TheDMV
    Offline

    Junior Member

    Posts: 9
    Threads: 2
    Joined: 2023 Nov
    Reputation: 1
    #19
    2024-08-28, 10:46 AM
    (2024-08-18, 06:50 PM)jennystreaming Wrote: This seem to be for Jellyfin? https://github.com/fredrikburmester/marlin-search

    Marlin search is only for clients that support it, which at this time, is only the author's client, Streamyfin.
    1
    hov
    Offline

    Junior Member

    Posts: 26
    Threads: 5
    Joined: 2023 Jun
    Reputation: 0
    #20
    2024-09-17, 06:16 AM
    Configuration was quite complicated. Unsure how to get it to work with custom items to prevent crawlers and stuff in NPM. Documentation on dev's gitlab could improve
    Pages (5): « Previous 1 2 3 4 5 Next »

    « Next Oldest | Next Newest »

    Users browsing this thread: 1 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