summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Gonzalez <roger@rogs.me>2023-01-23 20:18:00 +0000
committerRoger Gonzalez <roger@rogs.me>2023-01-23 20:18:00 +0000
commitf228a9ca17ca415167858f70671f73ef0eb4fe20 (patch)
tree02076ba4c6e6d5438bf62662fed30de93640fd32
parentb3d7af65186d70cc8ebd0ebcb57d6e1acb4414bf (diff)
parent6cdb6e3928eeb9479f7376d4fe031543b7f4c94a (diff)
Merge branch 'add-jellyfin-plex' into 'master'
Add Jellyfin and Plex See merge request rogs/yams!2
-rw-r--r--README.org30
-rw-r--r--base/base-config.tar.gzbin2350317 -> 22104386 bytes
-rw-r--r--docker-compose.example.yaml29
-rwxr-xr-xinstall.sh33
4 files changed, 69 insertions, 23 deletions
diff --git a/README.org b/README.org
index 8e96df2..d391665 100644
--- a/README.org
+++ b/README.org
@@ -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]]
diff --git a/base/base-config.tar.gz b/base/base-config.tar.gz
index 8ec5f45..7eb8e61 100644
--- a/base/base-config.tar.gz
+++ b/base/base-config.tar.gz
Binary files differ
diff --git a/docker-compose.example.yaml b/docker-compose.example.yaml
index b0b025b..6af3b0b 100644
--- a/docker-compose.example.yaml
+++ b/docker-compose.example.yaml
@@ -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
diff --git a/install.sh b/install.sh
index d50a684..bbe3516 100755
--- a/install.sh
+++ b/install.sh
@@ -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