I wanted to install a media server to help manage my growing library. The top two options that I found are Plex and Jellyfin. I have used Plex in the past, but disliked when they started requiring an account so I went with Jellyfin.
Create the container
- bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/jellyfin.sh)"
Set Static IP and hostname
- Proxmox -> jellyfin -> Network -> net0 -> Edit
- set static ip
- Restart the container
- Proxmox -> jellyfin -> Console
- ping 192.168.1.1
- this ensures that the container will show up on Unifi's list of clients
- Unifi -> Clients -> Select the jellyfin -> Settings
- give it a memorable name
- check "Fixed IP Address"
- it should auto-populate with current IP
- check "Local DNS Record"
- jellyfin.home.arpa
Setup Jellyfin
- Self signed SSL certificate:
- https://jellyfin.org/docs/general/networking/
- jellyfin -> Console
- mkdir -p /home/jellyfin
- cd /home/jellyfin
- openssl req -x509 -days 3650 -newkey rsa:4096 -keyout ./privkey.pem -out cert.pem -nodes -subj '/CN=jellyfin.home.arpa'
- -subj '/' can work if you can override ssl verification on the client, but Kodi doesn't have that option
- -subj '/CN=localhost' was causing jellyfin to crash here are some keywords from the crash:
- Error occurred during a cryptographic operation
- MapOpenSsl30Code
- openssl pkcs12 -export -out jellyfin.pfx -inkey privkey.pem -in cert.pem -passout pass:
- chown -R jellyfin /home/jellyfin
- chgrp -R jellyfin /home/jellyfin
- http://jellyfin.home.arpa:8096
- create user/pass
- hamburger menu -> Dashboard -> Networking
- Check "Enable HTTPS"
- Check "Require HTTPS"
- Custom SSL certificate path -> /home/jellyfin/jellyfin.pfx
- Save
- Restart the jellyfin container
- Test the self-signed certificate
- curl --cacert cert.pem https://jellyfin.home.arpa:8920
- https://jellyfin.home.arpa:8920
- hamburger menu -> Dashboard -> Users
- Add User
- Name
- Password
- Check "Enable access to all libraries"
- hamburger menu -> Dashboard -> Plugin -> Catalog -> Kodi Sync Queue
- Install
- Restart jellyfin
Add to Kodi on Google TV
- Have Kodi trust the self signed certificate
- Enable adb (Android Debug Bridge)
- Determine IP of the Google TV
- Settings -> System -> About -> Status
- Enable Developer mode
- Settings -> System -> About -> Build Number -> Click 10 times or until developer mode is unlocked
- Enable USB debugging (also enables remote debugging)
- install adb onto a computer to be able to modify the Google TV remotely
- sudo apt install android-tools-adb
- Used adb to add new certs file to existing
- adb pull /sdcard/Android/data/org.xbmc.kodi/files/.kodi/addons/script.module.certifi/lib/certifi/cacert.pem
- cat cacert.pem cert.pem > updatedcacert.pem
- adb push updatedcacert.pem /sdcard/Download/
- echo -e '<advancedsettings version="1.0">\n<network>\n<catrustfile>special://masterprofile/updatedcacert.pem</catrustfile>\n</network>\n</advancedsettings>' >advancedsettings.xml
- adb push advancedsettings.xml /sdcard/Download/
- Have Kodi use the new certs
- Google TV -> Settings -> Apps -> Kodi -> Permissions -> Files and Media -> Allow management of all files
- Kodi -> Settings -> File Manager
- Left Side
- Add Source -> Browse -> External Storage -> Download -> OK
- Open Download
- Right Side
- Profile directory
- Long press the files one at a time in the Left pane and select copy
- Restart Kodi
- Install Jellyfin on Kodi
- Kodi -> Settings -> File Manager -> Add Source
- https://kodi.jellyfin.org
- Kodi -> Settings -> AddOn Browser
- Allow install from unknown sources when prompted
- Install from zipfile -> jellyfin -> repository.jellyfin.kodi.zip
- Install from Repository -> Kodi Jellyfin Add-ons -> Video Add-ons
- Select Jellyfin add-on and install
- Cancel adding the server
- Disable "Verifiy connection" -> OK
- Restart Kodi
- Select Manual server add (as auto does it by IP)
- https://jellyfin.home.arpa:8920
- sign in using user/pass
- Playback -> Addon (default)
- Choose which libraries you want to sync
- click "All"
- click "OK"
- After Syncing is complete restart Kodi
- Settings -> Add-ons -> My add-ons -> Video add-ons -> Jellyfin
- Configure -> Sync -> Enable Kodi Sync Queue -> OK
Appendix
Sources
- samba
- https://timlehr.com/2018/01/auto-mount-samba-cifs-shares-via-fstab-on-linux/index.html
- https://community.netcup.com/en/tutorials/setup-smb-autoconnect
- https://askubuntu.com/questions/890579/cifs-mounting-all-files-as-root-owner?newreg=f95aebcffc2345959664201a2156fe8a
- Jellyfin
- https://jellyfin.org/docs/general/server/media/shows/
- https://jellyfin.org/docs/general/networking/#self-signed-certificate
- kodi
- https://jellyfin.org/docs/general/clients/kodi/
- https://kodi.wiki/view/Log_file
- https://kodi.wiki/view/Advancedsettings.xml
- https://kodi.wiki/view/Special_protocol
- https://kodi.wiki/view/File_manager
- https://forum.kodi.tv/showthread.php?tid=368841
- adb
- https://www.geeksforgeeks.org/how-to-install-android-tools-adb-on-ubuntu/
- https://www.reddit.com/r/AndroidTV/comments/onzqhx/how_to_activate_adb_on_onn_tv/
- curl
- ssl certificate
No comments:
Post a Comment