This script only depends on:
If you haven’t installed docker
and docker-compose
, don’t worry! The script will attempt to run both installations (it only works in Debian and Ubuntu!)
Before installing, make sure you have:
/opt/yams
. Just make sure your current user has permissions to write on the selected directory./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.root
for this user, but I’m not your father, nothing is going to stop you lolThe location /opt/yams
is recommended, but you can use whatever you like if your current user has permissions on the directory.
sudo mkdir -p /opt/yams
sudo chown -R $USER:$USER /opt/yams
Make sure you can run docker
without sudo
!
If you run docker
with sudo
and another user other than root
you’ll encounter multiple permission errors. You can find instructions on how to run docker
without sudo
here: https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user.
If you can run docker run hello-world
without sudo
, you can continue. If you encounter any other docker
issue, go to the FAQs, there’s a section on “Common docker
permission errors”.
install
script by yourself (optional).Its always a good practice to verify and study the scripts you run on your machine. You can always inspect install.sh
on the Gitlab repo here: https://gitlab.com/rogs/yams/-/blob/master/install.sh. You don’t have to be a complete expert in bash
(I’m definitely not lol), but if you have any experience with the Linux terminal you should be able to at understand what’s happening.
git clone https://gitlab.com/rogs/yams.git
cd yams
./install.sh
You’ll see the following prompt:
====================================================
___ ___ ___
___ / /\ /__/\ / /\
/__/| / /::\ | |::\ / /:/_
| |:| / /:/\:\ | |:|:\ / /:/ /\
| |:| / /:/~/::\ __|__|:|\:\ / /:/ /::\
__|__|:| /__/:/ /:/\:\ /__/::::| \:\ /__/:/ /:/\:\
/__/::::\ \ \:\/:/__\/ \ \:\~~\__\/ \ \:\/:/~/:/
~\~~\:\ \ \::/ \ \:\ \ \::/ /:/
\ \:\ \ \:\ \ \:\ \__\/ /:/
\__\/ \ \:\ \ \:\ /__/:/
\__\/ \__\/ \__\/
====================================================
Welcome to YAMS (Yet Another Media Server)
Instalation process should be really quick
We just need you to answer some questions
====================================================
Checking prerequisites...
⚠️ docker not found! ⚠️
Do you want YAMS to install docker and docker-compose? IT ONLY WORKS ON DEBIAN AND UBUNTU! [y/N]: y
You can choose y
to install docker
and docker-compose
with YAMS or n
to exit the script.
When docker finishes the installation OR if you already had docker
and docker-compose
installed, you should see the following message at the bottom:
Checking prerequisites...
docker exists ✅
docker-compose exists ✅
Where do you want to install the docker-compose file? [/opt/yams]:
You should choose the path where you want YAMS to be installed. Like I said before, the /opt/yams
directory is recommended, but you can use whatever you like if your current user has permissions on the directory. Type the path you’ll like to use and press [ENTER]
to continue.
What's the user that is going to own the media server files? [your_current_user]:
Now, you have to choose the user that is going to own your media files. I strongly suggest you don’t use root
for this user, but you can do whatever you want. The script is going to default to the current $USER
running the script. Type the user you want to own the files and press [ENTER]
to continue.
Please, input your media folder:
My suggestion is to use something like /srv/media
, but you might want to use an external hard drive or a different partition on your machine. Just type the full path of the directory you want to use and press [ENTER]
to continue. If it doesn’t exist, the script is going to try to create it.
Are you sure your media folder is /srv/media? [y/N]:
Select y
or n
if you are happy with the folder you selected. Press [ENTER]
to continue.
Time to choose your media service.
Your media service is the one responsible for serving your files to your network.
By default, YAMS support 3 media services:
- jellyfin (recommended, easier)
- emby
- plex (advanced, always online)
It’s time to configure the media service!
By default, YAMS supports 3 big media services:
Type one from the list and press [ENTER]. If you don’t choose anything, the installer is going to default to Jellyfin.
Time to setup the VPN.
You can check the supported VPN list here: https://yams.media/advanced/vpn.
Do you want to configure a VPN? [Y/n]:
Now it’s time to configure the VPN. The automatic installer supports all the VPNs on this list, but I strongly recommend using Mullvad. Why? Basically:
If want to configure a VPN, select Y
and continue with these instructions. If you don’t have a VPN or don’t want to use a VPN, choose N
and move to finishing the installation. You can set your VPN later in the qBittorrent configuration. You should always use a VPN when downloading torrents!
What's your VPN service? (with spaces) [mullvad]:
First, select your VPN provider. You can go to this list and verify the name of your VPN.
What's your VPN username? (without spaces):
Now, just enter your VPN username. If it has spaces, delete them.
What's your VPN password? (if you are using mullvad, just enter your username again):
Then, enter your VPN password. The script is going to output *
characters to hide your password, so don’t worry about leaking your password on the screen.
What country do you want to use?
You can check the countries list for your VPN here: <url> [brazil]:
Select a country for the VPN to connect to. You can always check your VPN server list in their documentation. You should choose a country that is close to yours, or you can even choose your own country if it’s available. The closer the server is, the better speeds you’ll get. If you don’t choose anything, the installer its going to default to Brazil.
Copying /opt/yams/docker-compose.yaml...
Everything installed correctly! 🎉
...
...
...
If you get a docker
permission error, go here to fix it.
After a lot of docker installing, you’ll get a message like this at the end:
========================================================
_____ ___ ___ ___
/ /::\ / /\ /__/\ / /\
/ /:/\:\ / /::\ \ \:\ / /:/_
/ /:/ \:\ / /:/\:\ \ \:\ / /:/ /\
/__/:/ \__\:| / /:/ \:\ _____\__\:\ / /:/ /:/_
\ \:\ / /:/ /__/:/ \__\:\ /__/::::::::\ /__/:/ /:/ /\
\ \:\ /:/ \ \:\ / /:/ \ \:\~~\~~\/ \ \:\/:/ /:/
\ \:\/:/ \ \:\ /:/ \ \:\ ~~~ \ \::/ /:/
\ \::/ \ \:\/:/ \ \:\ \ \:\/:/
\__\/ \ \::/ \ \:\ \ \::/
\__\/ \__\/ \__\/
========================================================
All done!✅ Enjoy YAMS!
You can check the installation on /opt/yams
========================================================
Everything should be running now! To check everything running, go to:
Prowlarr: http://192.168.0.169:9117/
qBittorrent: http://192.168.0.169:8080/
Radarr: http://192.168.0.169:7878/
Sonarr: http://192.168.0.169:8989/
Bazarr: http://192.168.0.169:6767/
Emby: http://192.168.0.169:8096/
Portainer: http://192.168.0.169:9000/
Lidarr: http://192.168.0.169:8686/
You might need to wait for a couple of minutes while everything gets up and running
All the services location are also saved in ~/yams_services.txt
========================================================
To configure YAMS, check the documentation at
https://yams.media/config
========================================================
And that’s it!
In your browser, you can visit each of the sites to check that they are running correctly. If one of them doesn’t show up, you might need to wait a couple of minutes for docker to finish the full installation.