#+title: YAMS: Yet Another Media Server @@html:visitor badge@@ This is a highly opinionated media server. - Website: [[https://yams.media][https://yams.media]]. - Code documentation and explanation: [[https://gitlab.com/rogs/yams/-/blob/master/docs.org][docs.org]]. * Description :PROPERTIES: :ID: 280135a0-2cff-4e93-8679-7d1a6d56b7b2 :END: This script installs the following software: - [[https://sonarr.tv/][Sonarr]] - [[https://radarr.video/][Radarr]] - [[https://lidarr.audio][Lidarr]] - [[https://readarr.com/][Readarr]] - [[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]] - [[https://github.com/qdm12/gluetun][gluetun]] - [[https://www.portainer.io/][Portainer]] With this combination, you can create a fully functional media server that is going to download, categorize, subtitle and serve your favorite shows, movies, audio and books. * Features :PROPERTIES: :ID: 0e072c32-3158-4961-869c-49920090f3d5 :END: In no particular order: - *Automatic shows/movies download*: Just add your shows and movies to the watch list and it should automatically download the files when they are available. - *Automatic clasification and organization*: Your media files should be completely organized by default. - *Automatic subtitles download*: Self explanatory. Your media server should automatically download subtitles in the languages you choose, if they are available. - *Support for Web, Android, iOS, Android TV and whatever that can support Emby*: Since we are leveraging from Emby, you should be able to watch your favorite media almost anywhere. * Dependencies :PROPERTIES: :ID: 01577a0a-852e-481a-b9b3-791b68594f96 :END: You need to have: - [[https://www.docker.com/][docker]] - [[https://docs.docker.com/compose/][docker-compose]] If you haven't installed them, don't worry! The script will attempt to run both installations (it only works in Debian and Ubuntu!) * Before running :PROPERTIES: :ID: 1c609bfc-4e6e-4fd8-8129-1b722fd7cda8 :END: Before installing, make sure you have: - *An installation location*: The script is going to ask you for a install location, but it will default to ~/opt/yams~. Just make sure your current user has permissions to write on the selected directory. - *A media folder*: This is the folder where all your files are going to be downloaded and categorized. If you choose ~/srv/media~, the script is going to create the following folders: + ~/srv/media/tv~: For your TV shows + ~/srv/media/movies~: For your movies + ~/srv/media/music~: For your music + ~/srv/media/books~: For your books + ~/srv/media/downloads~: For your torrent downloads + ~/srv/media/blackhole~: For your torrents blackhole - *A regular user to run and own the media files*: You shouldn't use ~root~ for this user, but I'm not your father, nothing is going to stop you lol - *A VPN service (optional but STRONGLY recommended):* If you can, choose one from [[https://yams.media/advanced/vpn#official-supported-vpns][this list]]. The VPN I always recommend is [[https://mullvad.net/en/][Mullvad]] because: + They don’t require your email or information to create a new account. + It’s simple to configure. + They only have monthly subscriptions, so you can leave them whenever you want. + You can pay with crypto. * To run :PROPERTIES: :ID: a0417c61-3fd8-40a0-9385-6c5aaed37337 :END: #+begin_src bash $ git clone https://gitlab.com/rogs/yams.git $ cd yams $ bash install.sh #+end_src And follow the instructions. So far, I've tested this in Debian 11 and Ubuntu 22.04. * Usage :PROPERTIES: :ID: 9e995141-b386-4962-9842-7209bedc5651 :END: When the script finishes installing without issues, just run: #+begin_src $ yams yams - Yet Another Media Server Usage: yams [--help|restart|stop|start] options: --help displays this help message restart restarts yams services stop stops all yams services start starts yams services destroy destroy yams services so you can start from scratch update updates YAMS #+end_src * How to configure? :PROPERTIES: :ID: 242b8dfa-82ab-4d86-b3ea-0a0af6cf3ad5 :END: Go to [[https://yams.media/config/][https://yams.media/config/]] and follow the config instructions * Donations :PROPERTIES: :ID: 992fb05d-c171-4ba9-9207-3dd1d467656e :END: If you *really* wish to donate, first I would like to say thank you from the bottom of my heart! ❀️ Second, I would prefer you donate to any of the projects used in this script. They are the ones doing the real work, I just created a docker-compose file and a couple of bash scripts: - [[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]] - [[https://opencollective.com/Prowlarr#sponsor][Prowlarr donations page]] Just let them know YAMS sent you there 😎 * todo [4/17] :PROPERTIES: :ID: eba4712e-fa8a-42c8-bc32-b593141c99a4 :END: (in order) - [X] Support for multiple media servers (Jellyfin and Plex). [Done βœ…] - [X] Add [[https://www.portainer.io/][Portainer]]. [Done βœ…] - [X] Add updatE Functionality (~yams update~). [Done βœ…] - [ ] Consider moving to Alpine images (might not be possible without a big change on the docker-compose file). - [ ] Add multiple download clients to choose from. - [ ] Add Jackett as an "yams extra". - [ ] Add [[https://github.com/Fallenbagel/jellyseerr][jellyseer]] or [[https://ombi.io/][Omby]]. - [ ] Add a dashboard like [[https://docs.organizr.app/installation/installing-organizr][Organizr]]. - [X] Consider adding [[https://lidarr.audio/][Lidarr]] and [[https://readarr.com/][Readarr]]. [Done βœ…] Thanks to [[https://gitlab.com/jataggart][Jay Taggart]]! - [ ] Support for qBittorrent themes (VueTorrent). - [ ] Support for Wireguard. - [ ] 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]]. - [ ] Check usenet. - [ ] Check [[https://github.com/hrfee/jfa-go][Jellyfin Accounts Go]]. * Special thanks :PROPERTIES: :ID: b0a86edc-dc4f-4ac2-908c-fd08f1d2f99c :END: - [[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]] - [[https://www.portainer.io/][Portainer]] - My friends: + [[https://github.com/xploshioOn][xploshioOn]] + [[https://github.com/norlis][norlis]] + [[https://github.com/isaac152][isaac152]] For giving me ideas and helping me test the script ** And finally: :PROPERTIES: :ID: 126d4a9c-08a5-47f4-bffb-61b251ef394c :END: - You 🫡, for being such an amazing human being, checking out my repo and (hopefully!) using it on your media server. Thank you! πŸ™‡