196 lines
8.0 KiB
Org Mode
196 lines
8.0 KiB
Org Mode
#+title: YAMS: Yet Another Media Server
|
||
|
||
@@html:<img src="https://visitor-badge.laobi.icu/badge?page_id=rogs.yams" alt="visitor badge"/>@@
|
||
@@html:<img alt="Discord" src="https://img.shields.io/discord/1168025418243256391?logo=discord&label=Discord">@@
|
||
|
||
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]].
|
||
- Discord: [[https://discord.gg/Gwae3tNMST]]
|
||
- Matrix: [[https://matrix.to/#/#yams-space:chat.rogs.me]]
|
||
|
||
* 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 --depth=1 https://gitlab.com/rogs/yams.git /tmp/yams
|
||
$ cd /tmp/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|destroy|check-vpn|update]
|
||
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
|
||
check-vpn checks if the VPN is working as expected
|
||
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! 🙇
|