Update YAMS installation instructions for clarity and consistency

This commit is contained in:
Roger Gonzalez 2024-12-30 18:35:22 -03:00
parent cef408d197
commit ab57666ef4
Signed by: rogs
GPG Key ID: C7ECE9C6C36EC2E6

View File

@ -7,11 +7,11 @@ summary: First steps to install YAMS on your server
## Dependencies
YAMS only needs a few things to get going:
YAMS only needs a few things to get started:
- Debian 12 (recommended) or Ubuntu 22.04. If your OS isn't ready yet, check out these guides:
+ https://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-11
+ https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu
+ https://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-12
+ https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-22-04
- Your OS needs to be properly configured. That means:
+ You have a user that is not `root` (because we're responsible adults 😎)
+ You can run `sudo apt update` and `sudo apt upgrade` without errors
@ -28,29 +28,37 @@ Don't worry if you don't have `docker` and `docker-compose` installed - the scri
Before we dive in, make sure you have:
- **An installation location:** The script defaults to `/opt/yams` but hey, you do you! Just make sure your user can write to wherever you choose.
- **A media folder:** This is where all your stuff will live. For example, if you pick `/srv/media`, the script will create:
+ `/srv/media/tv`: For your TV shows
+ `/srv/media/movies`: For your movies
+ `/srv/media/music`: For your tunes
+ `/srv/media/books`: For your books
+ `/srv/media/downloads`: For your downloads
+ `/srv/media/blackhole`: For your torrent blackhole
- **A regular user to run and own the media files:** Don't use `root` (I mean, I can't stop you, but come on! 😅)
- **A VPN service (optional but STRONGLY recommended):** Choose one from [this list](/advanced/vpn#official-supported-vpns). I always recommend [ProtonVPN](https://protonvpn.com/) because it's super easy to set up!
## Installation Steps
### 1. Setup your install location
The `/opt/yams` location is **recommended**, but you can be a rebel and use whatever you like if your user has permissions:
### An installation location
The script defaults to `/opt/yams` but you can use any location as long as your user has write permissions. If you want to use the default location (recommended), set it up like this:
```bash
sudo mkdir -p /opt/yams
sudo chown -R $USER:$USER /opt/yams
```
### 2. If you already have docker installed...
### A media folder
This is where all your content will live. For example, if you pick `/srv/media`, the script will create:
+ `/srv/media/tvshows`: For your TV shows
+ `/srv/media/movies`: For your movies
+ `/srv/media/music`: For your music library
+ `/srv/media/books`: For your ebook collection
+ `/srv/media/downloads`: For your downloads
+ `/srv/media/blackhole`: For your torrent blackhole directory
### A regular user to run YAMS
+ Don't use `root` (I mean it! 😅)
+ This user will own all the media files
+ Must have sudo privileges for the initial setup
### A VPN service (optional but STRONGLY recommended)
+ Choose one from [this list](/advanced/vpn#official-supported-vpns)
+ We recommend ProtonVPN because:
- Easy to configure
- Built-in port forwarding support
- Privacy-focused
- Reasonable pricing
### If you already have Docker installed...
Make sure you can run `docker` **without** `sudo`! Try this:
@ -58,48 +66,105 @@ Make sure you can run `docker` **without** `sudo`! Try this:
docker run hello-world
```
If it fails, you might need to add your user to the docker group. Check out [Docker's post-installation steps](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) or look at our [Common docker permission errors](/faqs/common-errors/#common-docker-permission-errors) page.
If it fails, you might need to add your user to the docker group. Follow [Docker's post-installation steps](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) or check our [Common docker permission errors](/faqs/common-errors/#common-docker-permission-errors) page.
### 3. Get YAMS on your system
## Installation Steps
Clone the installer to a temporary spot (let's keep things tidy!):
### 1. Get YAMS on your system
First, let's grab a fresh copy of YAMS and put it in a temporary location (we like to keep things tidy!):
```bash
git clone --depth=1 https://gitlab.com/rogs/yams.git /tmp/yams
cd /tmp/yams
```
### 4. Fire up the installer
### 2. Start the installer
```bash
bash install.sh
```
Now comes the fun part! The installer will walk you through everything:
#### Docker Setup (if needed)
You'll see this welcome screen:
```bash
====================================================
___ ___ ___
___ / /\ /__/\ / /\
/__/| / /::\ | |::\ / /:/_
| |:| / /:/\:\ | |:|:\ / /:/ /\
| |:| / /:/~/::\ __|__|:|\:\ / /:/ /::\
__|__|:| /__/:/ /:/\:\ /__/::::| \:\ /__/:/ /:/\:\
/__/::::\ \ \:\/:/__\/ \ \:\~~\__\/ \ \:\/:/~/:/
~\~~\:\ \ \::/ \ \:\ \ \::/ /:/
\ \:\ \ \:\ \ \:\ \__\/ /:/
\__\/ \ \:\ \ \:\ /__/:/
\__\/ \__\/ \__\/
====================================================
Welcome to YAMS (Yet Another Media Server)
Installation process should be really quick
We just need you to answer some questions
====================================================
```
### 3. Docker Installation (if needed)
The installer will first check for Docker:
```bash
Checking prerequisites...
⚠️ Docker/Docker Compose not found! ⚠️
Install Docker and Docker Compose? Only works on Debian/Ubuntu (y/N) [Default = n]:
⚠️ Docker not found! ⚠️
Do you want YAMS to install docker and docker-compose? IT ONLY WORKS ON DEBIAN AND UBUNTU! [y/N]: y
```
Choose `y` if you want YAMS to handle the Docker installation.
#### Pick Your User
- If you don't have Docker installed:
+ Type `y` and press Enter to let YAMS handle the Docker installation
+ The script will install both Docker and Docker Compose
+ This only works on Debian and Ubuntu!
- If you already have Docker:
+ You'll see "docker exists ✅" instead
+ The installer will move to the next step
### 4. Choose Installation Location
```bash
User to own the media server files? [current-user]:
Where do you want to install the docker-compose file? [/opt/yams]:
```
This is where you pick who's going to own all the media files. It defaults to your current user (which is usually what you want 👍).
#### Choose Your Directories
- Press Enter to use the default `/opt/yams` (recommended)
- Or type a different path if you want to install somewhere else
- Make sure your user has write permissions to this location!
### 5. Select User
```bash
Installation directory? [/opt/yams]:
Media directory? [/srv/media]:
Are you sure your media directory is "/srv/media"? (y/N) [Default = n]:
What's the user that is going to own the media server files? [your_current_user]:
```
The script will create these if they don't exist - how thoughtful! 🎉
#### Pick Your Media Service
- Press Enter to use your current user (recommended)
- Or type a different username
- Remember: Don't use `root`!
- The user must exist and have sudo privileges
### 6. Set Media Directory
```bash
Please, input your media directory [/srv/media]:
```
- Press Enter to use the default `/srv/media`
- Or type the path where you want your media stored. This path can also be a SMB/NFS mount in your host OS
- This can be an external drive or different partition
Then confirm your choice:
```bash
Are you sure your media directory is "/srv/media"? [y/N]:
```
- Type `y` and press Enter if the path is correct
- Type `n` or press Enter to go back and change it
### 7. Choose Media Service
```bash
Time to choose your media service.
Your media service is responsible for serving your files to your network.
@ -110,33 +175,109 @@ Supported media services:
Choose your media service [jellyfin]:
```
Jellyfin is great for beginners - it's what I recommend! But hey, they're all good choices.
#### VPN Setup
Pick your streaming service:
- Press Enter for Jellyfin (recommended for beginners)
- Type `emby` for Emby
- Type `plex` for Plex
Each service has its strengths:
- **Jellyfin**: Free, open-source, easy to set up
- **Emby**: Similar to Jellyfin but with premium features
- **Plex**: Most polished, but requires online account and is more complex to configure
### 8. VPN Configuration
```bash
Time to set up the VPN.
Supported VPN providers: https://yams.media/advanced/vpn
Configure VPN? (Y/n) [Default = y]:
VPN service? (with spaces) [protonvpn]:
If you are using ProtonVPN, remember to suffix '+pmp' to your username
VPN username (without spaces):
VPN password:
```
This is where the magic happens to keep your downloads private and secure! 🔒
### 5. Let it rip!
If you want to use a VPN (strongly recommended):
1. Press Enter or type `y` to configure VPN
2. Enter your VPN provider:
```bash
VPN service? (with spaces) [protonvpn]:
```
- Press Enter for ProtonVPN (recommended)
- Or type your VPN provider's name
The script will now:
1. Copy all the files where they need to go
2. Start up all the YAMS services
3. Install a handy CLI tool
4. Set up all the permissions just right
3. Enter your credentials:
```bash
VPN username (without spaces):
VPN password:
```
When it's done, you'll get a nice success message and all your service URLs:
Special notes:
- For ProtonVPN, just enter your username - the script automatically adds `+pmp` for port forwarding
- For Mullvad, it will only ask you for your username, since Mullvad doesn't need a password
If you don't want to configure VPN now:
- Type `n` and press Enter
- You can set it up later, but **always use a VPN when downloading torrents!**
### 9. Installation Process
After you've answered all the questions, you'll see:
```bash
Copying docker-compose.example.yaml to /opt/yams/docker-compose.yaml...
docker-compose.example.yaml was copied successfuly! ✅
Copying .env.example to /opt/yams/.env...
.env.example was copied successfuly! ✅
Copying docker-compose.custom.yaml to /opt/yams/docker-compose.custom.yaml...
docker-compose.custom.yaml was copied successfuly! ✅
Everything installed correctly! 🎉
Running the server...
This is going to take a while...
```
The installer will now:
1. Copy all necessary configuration files
2. Set up your chosen options
3. Start downloading and configuring Docker containers
You'll then see:
```bash
We need your sudo password to install the YAMS CLI and configure permissions...
```
Enter your sudo password to:
- Install the YAMS command-line tool
- Set proper permissions on your media folders
If everything works, you'll see these success messages:
```bash
YAMS CLI installed successfully ✅
Media directory ownership and permissions set successfully ✅
Install directory ownership and permissions set successfully ✅
Configuration folder "/opt/yams/config" exists ✅
Configuration folder ownership and permissions set successfully ✅
```
### 10. Final Success Screen
When everything's done, you'll see this awesome ASCII art:
```bash
========================================================
_____ ___ ___ ___
/ /::\ / /\ /__/\ / /\
/ /:/\:\ / /::\ \ \:\ / /:/_
/ /:/ \:\ / /:/\:\ \ \:\ / /:/ /\
/__/:/ \__\:| / /:/ \:\ _____\__\:\ / /:/ /:/_
\ \:\ / /:/ /__/:/ \__\:\ /__/::::::::\ /__/:/ /:/ /\
\ \:\ /:/ \ \:\ / /:/ \ \:\~~\~~\/ \ \:\/:/ /:/
\ \:\/:/ \ \:\ /:/ \ \:\ ~~~ \ \::/ /:/
\ \::/ \ \:\/:/ \ \:\ \ \:\/:/
\__\/ \ \::/ \ \:\ \ \::/
\__\/ \__\/ \__\/
========================================================
```
Following this, you'll get a list of all your service URLs:
```bash
Service URLs:
qBittorrent: http://your.ip.address:8081/
@ -151,13 +292,36 @@ Media Service: http://your.ip.address:8096/
Portainer: http://your.ip.address:9000/
```
Don't worry - these URLs are saved in `~/yams_services.txt` so you don't have to memorize them! 😉
Don't worry about memorizing these - they're saved in `~/yams_services.txt` for easy reference!
### Important Notes:
1. **First Start Time**
- Services might take a few minutes to fully start
- Be patient on first launch!
2. **VPN Check**
If you configured a VPN, verify it's working:
```bash
yams check-vpn
```
You should see different IPs for your system and qBittorrent.
## What's Next?
Head over to the [configuration docs](/config) to get your media server set up just the way you like it!
Time to configure your new media server! Head over to [Configuration](/config) and follow these guides in order:
1. [qBittorrent](/config/qbittorrent)
2. [SABnzbd](/config/sabnzbd)
3. [Radarr](/config/radarr)
4. [Sonarr](/config/sonarr)
5. [Prowlarr](/config/prowlarr)
6. [Bazarr](/config/bazarr)
7. Your chosen media service:
- [Jellyfin](/config/jellyfin)
- [Emby](/config/emby)
- [Plex](/config/plex)
Running into trouble? We've got your back!
- Check out the [Common Issues](/faqs/common-errors/) page
Need help? We've got your back!
- Check our [Common Issues](/faqs/common-errors/) page
- Visit the [YAMS Forum](https://forum.yams.media)
- Join our [Discord](https://discord.gg/Gwae3tNMST) or [Matrix](https://matrix.to/#/#yams-space:rogs.me) chat - we're a friendly bunch! 🙋‍♂️
- Join our [Discord](https://discord.gg/Gwae3tNMST) or [Matrix](https://matrix.to/#/#yams-space:rogs.me) chat