#+title: YAMS: Yet Another Media Server @@html:visitor badge@@ This is a highly opinionated media server. Website: [[https://yams.media][https://yams.media]] * 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 $ ./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 #+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 [2/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 βœ…] - [ ] Add update functionality (~yams update~). [Working on it πŸ‘¨β€πŸ’»] - [ ] 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]]. - [ ] 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! πŸ™‡