summaryrefslogtreecommitdiff
path: root/README.org
blob: 8c6e896b71f2901eeffea7b95ddc1083cc468d65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
#+title: YAMS: Yet Another Media Server

@@html:<img src="https://visitor-badge.laobi.icu/badge?page_id=rogs.yams" alt="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://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]]

With this combination, you can create a fully functional media server that is going to download,
categorize, subtitle and serve your favorite shows and movies.

* 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/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 [1/16]
:PROPERTIES:
:ID:       eba4712e-fa8a-42c8-bc32-b593141c99a4
:END:
(in order)

- [X] Support for multiple media servers (Jellyfin and Plex). [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 Jackett as an "yams extra".
- [ ] Add [[https://www.portainer.io/][Portainer]].
- [ ] Add [[https://github.com/Fallenbagel/jellyseerr][jellyseer]] or [[https://ombi.io/][Omby]].
- [ ] Add a dashboard like [[https://docs.organizr.app/installation/installing-organizr][Organizr]].
- [ ] 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]]
- 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! πŸ™‡