• 0 Posts
  • 8 Comments
Joined 1 year ago
cake
Cake day: February 8th, 2025

help-circle
  • Jellyfin isn’t the most secure piece of software out there, I would avoid giving it permissions it doesn’t need.


    Step 1) Check /dev/dri for the GPU

    user@debian:~/compose$ ls /dev/dri
    total 0
    drwxr-xr-x  3 root root        120 Jan 25 11:50 .
    drwxr-xr-x 18 root root       3360 Feb 11 03:03 ..
    drwxr-xr-x  2 root root        100 Jan 25 11:50 by-path
    crw-rw----  1 root video  226,   0 Jan 25 11:50 card0
    crw-rw----  1 root video  226,   1 Jan 25 16:39 card1
    crw-rw----  1 root render 226, 128 Jan 25 11:50 renderD128
    

    Documentation indicates renderDXXX typically refers to Intel GPU’s

    Make sure at least one renderD* device exists in /dev/dri. Otherwise upgrade your kernel or enable the iGPU in the BIOS.

    1. Edit your docker-compose.yaml and add this In your Jellyfin block
    devices:
     - /dev/dri/renderD128:/dev/dri/renderD128
    
    1. Start your container and enter it to verify the device is recognized.

    sudo docker compose up -d; sudo docker exec -it jellyfin bash

    Once inside ls /dev/dri to confirm the GPU is recognized inside the container, once you confirm it then you can exit the container.

    user@debian:~/compose$ sudo docker exec -it jellyfin bash
    I have no name!@jellyfin:/$ ls /dev/dri
    renderD128
    I have no name!@jellyfin:/$ exit
    exit
    user@debian:~/compose$
    
    1. On the Jellyfin dashboard go to the hardware acceleration page and follow the notes left by Jellyfin devs.





  • Setting up Element Call on my instance was difficult on its own, I understand why Synapse doesn’t come with it out of the box, essentially you spin up Matrix’s JWT service for authenticating clients and it if approved forwards the connection to the Livekit ports which must be opened on your firewall (ie port forwarded), otherwise people will not be able to connect to calls.

    Big PITA and in my experience, on my home network, can conflict with games with VOIP chats so don’t follow the default 50000:55000 port range Livekit recommends or you’ll run into issues like I did, each person consumes 2 ports so adjust the range to your need.


    Edit: I don’t suggest running Element Call standalone, it has issues of its own, once you get Livekit and JWT running and follow This guide you should have your element call support in Synapse now, pro-tip for those running synapse behind docker and get confused on the whole ./well-known part of the documentation you can edit your ./well-known in your homeserver.yaml file like such:

    serve_server_wellknown: true
    
    extra_well_known_client_content:
      optional: client
      "org.matrix.msc4143.rtc_foci": [
          {
              "type": "livekit",
              "livekit_service_url": "https://livekit-jwt.your.domain/"
          }
      ]
    




  • ohshit604@sh.itjust.workstoSelfhosted@lemmy.worldGeo-distributed Jellyfin
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    edit-2
    13 days ago

    You don’t necessarily have to host another Jellyfin instance, I would find a server somewhere in-between the middle of your current Europe server and your Asian homies and setup a reverse proxy there and point it to your current Jellyfin instance.

    The only hassle with this is you’re going to need a way to expose your Eu Jellyfin to the new server, a VPN would prevent port forwarding 443, perhaps split tunneling?

    Not the most elegant solution but at least this way you can make an attempt at optimizing the connection.


    Edit - (if you wanted to go the second Jellyfin instance route): Could also copy your current database to the second server, host a second Jellyfin instance and have something like sshfs or sftp sharing the directory to your media library, reverse proxy it as something like asia-jellyfin.your.domain and keep it separated from your Eu server.


  • This software is more meant to be ran in a server environment, it’s suppose to be a replacement to subscription based photo/video cloud storage. I would not recommend you run this on a desktop you use daily as it’ll consume resources in the background slowing your desktop down, this is kinda why NAS storage systems exist.

    Once you get a grasp on the BASH shell I would suggest playing around with docker and docker compose in a headless environment (headless = no desktop environment, shell only) as there are loads of applications you can self-host over your network.