Add Jellyfin and Plex #51

Merged
rogs merged 10 commits from add-jellyfin-plex into master 2023-01-23 17:18:00 -03:00
4 changed files with 69 additions and 23 deletions

View File

@ -13,7 +13,9 @@ Website: [[https://yams.media][https://yams.media]]
This script installs the following software:
- [[https://sonarr.tv/][Sonarr]]
- [[https://radarr.video/][Radarr]]
- [[https://jellyfin.org/][Jellyfin]]
- [[https://emby.media/][Emby]]
- [[https://www.plex.tv/][Plex]]
- [[https://www.qbittorrent.org/][qBittorrent]]
- [[https://www.bazarr.media/][Bazarr]]
- [[https://github.com/Prowlarr/Prowlarr][Prowlarr]]
@ -120,7 +122,9 @@ They are the ones doing the real work, I just created a docker-compose file and
- [[https://www.linuxserver.io/donate][linuxserver.io donations page]]
- [[https://sonarr.tv/donate][Sonarr donations page]]
- [[https://radarr.video/donate][Radarr donations page]]
- [[https://opencollective.com/jellyfin][Jellyfin donations page]]
- [[https://emby.media/premiere.html][Emby premier page]] (Recommended! I personally use this service)
- [[https://www.plex.tv/plex-pass/][Plex pass page]]
- [[https://www.qbittorrent.org/donate][qBittorrent donations page]]
- [[https://www.paypal.com/donate/?cmd=_s-xclick&hosted_button_id=XHHRWXT9YB7WE&source=url][Bazarr donations page]]
- [[https://www.paypal.me/qmcgaw][gluetun donations page]]
@ -128,23 +132,23 @@ They are the ones doing the real work, I just created a docker-compose file and
Just let them know YAMS sent you there 😎
* todo
* todo [1/11]
:PROPERTIES:
:ID: eba4712e-fa8a-42c8-bc32-b593141c99a4
:END:
(not in order)
- Support for multiple media servers (Jellyfin and Plex). [Working on it ✅]
- Readd Jackett as advanced settings.
- Support for Wireguard.
- Support for qBittorrent themes (VueTorrent).
- Check [[https://filebrowser.org/][Filebrowser]].
- Investigate [[https://github.com/FlareSolverr/FlareSolverr][FlareSolverr]].
- Check [[https://github.com/Unpackerr/unpackerr][unpackerr]].
- Check [[https://github.com/Flemmarr/Flemmarr][Flemarr]].
- Add a dashboard like [[https://docs.organizr.app/installation/installing-organizr][Organizr]].
- Add [[https://www.portainer.io/][Portainer]].
- Check usenet.
- [X] Support for multiple media servers (Jellyfin and Plex).
- [ ] Readd Jackett as advanced settings.
- [ ] Support for Wireguard.
- [ ] Support for qBittorrent themes (VueTorrent).
- [ ] Check [[https://filebrowser.org/][Filebrowser]].
- [ ] Investigate [[https://github.com/FlareSolverr/FlareSolverr][FlareSolverr]].
- [ ] Check [[https://github.com/Unpackerr/unpackerr][unpackerr]].
- [ ] Check [[https://github.com/Flemmarr/Flemmarr][Flemarr]].
- [ ] Add a dashboard like [[https://docs.organizr.app/installation/installing-organizr][Organizr]].
- [ ] Add [[https://www.portainer.io/][Portainer]].
- [ ] Check usenet.
* Special thanks
:PROPERTIES:
@ -153,7 +157,9 @@ Just let them know YAMS sent you there 😎
- [[https://info.linuxserver.io/][linuxserver.io]] for their amazing docker images
- [[https://sonarr.tv/][Sonarr]]
- [[https://radarr.video/][Radarr]]
- [[https://jellyfin.org/][Jellyfin]]
- [[https://emby.media/][Emby]]
- [[https://www.plex.tv/][Plex]]
- [[https://www.qbittorrent.org/][qBittorrent]]
- [[https://www.bazarr.media/][Bazarr]]
- [[https://github.com/Prowlarr/Prowlarr][Prowlarr]]

Binary file not shown.

View File

@ -1,24 +1,26 @@
version: "3"
services:
# Emby is used to serve your media to the client devices
emby:
image: ghcr.io/linuxserver/emby
container_name: emby
# <media_service> is used to serve your media to the client devices
<media_service>:
image: lscr.io/linuxserver/<media_service>
container_name: <media_service>
#network_mode: host # plex
environment:
- PUID=<your_PUID>
- PGID=<your_PGID>
- VERSION=docker
volumes:
- <media_folder>/movies:/data/movies
- <media_folder>/tvshows:/data/tvshows
- <install_location>/config/emby:/config
- <install_location>/config/<media_service>:/config
ports:
- 8096:8096
restart: unless-stopped
# qBitorrent is used to download torrents
qbittorrent:
image: ghcr.io/linuxserver/qbittorrent
image: lscr.io/linuxserver/qbittorrent
container_name: qbittorrent
environment:
- PUID=<your_PUID>
@ -34,7 +36,7 @@ services:
# Sonarr is used to query, add downloads to the download queue and index TV shows
sonarr:
image: ghcr.io/linuxserver/sonarr
image: lscr.io/linuxserver/sonarr
container_name: sonarr
environment:
- PUID=<your_PUID>
@ -49,7 +51,7 @@ services:
# Radarr is used to query, add downloads to the download queue and index Movies
radarr:
image: ghcr.io/linuxserver/radarr
image: lscr.io/linuxserver/radarr
container_name: radarr
environment:
- PUID=<your_PUID>
@ -64,7 +66,7 @@ services:
# Bazarr is used to download and categorize subtitles
bazarr:
image: ghcr.io/linuxserver/bazarr
image: lscr.io/linuxserver/bazarr
container_name: bazarr
environment:
- PUID=<your_PUID>
@ -80,7 +82,7 @@ services:
# Prowlarr is our torrent indexer/searcher. Sonarr/Radarr use Prowlarr as a
# source
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
image: lscr.io/linuxserver/prowlarr
container_name: prowlarr
environment:
- PUID=<your_PUID>
@ -112,3 +114,10 @@ services:
- OPENVPN_USER=<vpn_user>
- OPENVPN_PASSWORD=<vpn_password>
- SERVER_COUNTRIES=<vpn_country>
# Watchtower is going to keep our instances updated
watchtower:
image: containrrr/watchtower
container_name: watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock

View File

@ -57,7 +57,7 @@ running_services_location() {
echo "Sonarr: http://$host_ip:8989/"
echo "Prowlarr: http://$host_ip:9696/"
echo "Bazarr: http://$host_ip:6767/"
echo "Emby: http://$host_ip:8096/"
echo "$media_service: http://$host_ip:$media_service_port/"
}
# ============================================================================================
@ -110,6 +110,31 @@ if [ $media_folder_correct == "n" ]; then
send_error_message "Media folder is not correct. Please, fix it and run the script again"
fi
# Setting the preferred media service
echo
echo
echo
echo "Time to choose your media service."
echo "Your media service is the one responsible for serving your files to your network."
echo "By default, YAMS support 3 media services:"
echo "- jellyfin (recommended, easier)"
echo "- emby"
echo "- plex (advanced, always online, slower)"
read -p "Choose your media service [jellyfin]: " media_service
media_service=${media_service:-"jellyfin"}
media_service=$(echo "$media_service" | sed -e 's/\(.*\)/\L\1/')
media_service_port=8096
if [ "$media_service" == "plex" ]; then
media_service_port=32400
fi
if echo "emby plex jellyfin" | grep -qw "$media_service"; then
echo "YAMS is going to install \"$media_service\" on port \"$media_service_port\""
else
send_error_message "\"$media_service\" is not supported by YAMS. Are you sure you chose the correct service?"
fi
# Adding the VPN
echo
echo
@ -180,6 +205,12 @@ sed -i -e "s/<your_PGID>/$pgid/g" $filename
# Set media_folder
sed -i -e "s;<media_folder>;$media_folder;g" $filename
# Set media_service
sed -i -e "s;<media_service>;$media_service;g" $filename
if [ $media_service == "plex" ]; then
sed -i -e "s;#network_mode: host # plex;network_mode: host # plex;g" $filename
fi
# Set config folder
sed -i -e "s;<install_location>;$install_location;g" $filename