Compare commits
1 Commits
master
...
add-lidarr
Author | SHA1 | Date | |
---|---|---|---|
79940dc7f6 |
@ -1,49 +0,0 @@
|
||||
name: Hugo Build and Deploy
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
test_build:
|
||||
name: Build Hugo Site
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: klakegg/hugo:0.111.3-ext-alpine-ci
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Check Hugo Version and Build
|
||||
run: |
|
||||
hugo version
|
||||
hugo --minify
|
||||
|
||||
deploy:
|
||||
name: Deploy to Server
|
||||
runs-on: ubuntu-latest
|
||||
needs: test_build
|
||||
if: github.ref == 'refs/heads/master'
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Setup SSH and Deploy
|
||||
run: |
|
||||
eval "$(ssh-agent -s)"
|
||||
mkdir -p ~/.ssh
|
||||
echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
|
||||
chmod 700 ~/.ssh
|
||||
ssh-keyscan "$SSH_HOST" >> ~/.ssh/known_hosts
|
||||
chmod 644 ~/.ssh/known_hosts
|
||||
|
||||
ssh -p "$SSH_PORT" "$SSH_USER@$SSH_HOST" 'cd repo && git stash && git pull --force origin master && ./build.sh'
|
||||
env:
|
||||
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
SSH_USER: ${{ secrets.SSH_USER }}
|
||||
SSH_HOST: ${{ secrets.SSH_HOST }}
|
||||
SSH_PORT: ${{ secrets.SSH_PORT }}
|
3
.gitignore
vendored
@ -18,6 +18,3 @@ hugo.linux
|
||||
# Temporary lock file while building
|
||||
/.hugo_build.lock
|
||||
*.webp
|
||||
|
||||
# Aider
|
||||
.aider*
|
||||
|
16
.gitlab-ci.yml
Normal file
@ -0,0 +1,16 @@
|
||||
image: alpine:latest
|
||||
|
||||
deploy:
|
||||
stage: deploy
|
||||
before_script:
|
||||
- 'command -v ssh-agent >/dev/null || ( apk add --update openssh )'
|
||||
- eval $(ssh-agent -s)
|
||||
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
|
||||
- mkdir -p ~/.ssh
|
||||
- chmod 700 ~/.ssh
|
||||
- ssh-keyscan $SSH_HOST >> ~/.ssh/known_hosts
|
||||
- chmod 644 ~/.ssh/known_hosts
|
||||
script:
|
||||
- ssh -p $SSH_PORT $SSH_USER@$SSH_HOST "cd repo && git stash && git pull --force origin master && ./build.sh"
|
||||
only:
|
||||
- master
|
@ -30,3 +30,4 @@ Your files will be on the `./public` folder, ready to upload to a server.
|
||||
|
||||
## todo
|
||||
- Add dark mode
|
||||
- Add a hotlink to the install.sh in the instructions.
|
||||
|
2
build.sh
@ -2,4 +2,4 @@
|
||||
|
||||
find ./ -type f -name '*.png' -not -path '*/.git/*' -exec sh -c 'cwebp -lossless $1 -o "${1%.png}.webp"' _ {} \;
|
||||
find . -type f -not -path '*/.git/*' -exec sed -i -e 's/\.png/\.webp/g' {} \;
|
||||
hugo -s . -d /var/www/yams.media/ --minify --cleanDestinationDir --gc --verbose --cacheDir $PWD/hugo-cache
|
||||
hugo -s . -d /var/www/yams.media/ --minify --cleanDestinationDir --gc --verbose
|
||||
|
27
config.toml
@ -52,36 +52,21 @@ summaryLength = 30
|
||||
url = "/contact/"
|
||||
weight = 7
|
||||
|
||||
[[menu.main]]
|
||||
name = "Forum"
|
||||
url = "https://forum.yams.media"
|
||||
weight = 97
|
||||
|
||||
[[menu.main]]
|
||||
name = "Discord"
|
||||
url = "https://discord.gg/Gwae3tNMST"
|
||||
weight = 98
|
||||
|
||||
[[menu.main]]
|
||||
name = "Matrix"
|
||||
url = "https://matrix.to/#/#yams-space:rogs.me"
|
||||
url = "https://matrix.to/#/#yams:chat.rogs.me"
|
||||
weight = 99
|
||||
|
||||
# [[menu.main]]
|
||||
# name = "Gitlab"
|
||||
# url = "https://gitlab.com/rogs/yams"
|
||||
# weight = 100
|
||||
|
||||
[[menu.main]]
|
||||
name = "🇫🇷 FR"
|
||||
url = "https://fr.yams.media"
|
||||
name = "Gitlab"
|
||||
url = "https://gitlab.com/rogs/yams"
|
||||
weight = 100
|
||||
|
||||
|
||||
[params]
|
||||
homepage_button_link = '/install'
|
||||
homepage_button_text = 'Learn more'
|
||||
homepage_intro = 'YAMS is a basic but powerful media server installation script'
|
||||
homepage_button_text = 'Install YAMS'
|
||||
homepage_intro = 'YAMS is a basic but powerful media server, easy to install in a bash script'
|
||||
homepage_image = '/install-yams.gif'
|
||||
mainSections = ['install', 'config', 'faqs', 'donate', 'contact', 'advanced']
|
||||
|
||||
@ -94,7 +79,7 @@ summaryLength = 30
|
||||
meta_og_type = "website"
|
||||
meta_og_url = "https://yams.media"
|
||||
meta_og_image = "/pics/logo.png"
|
||||
meta_og_description = "YAMS is a basic but powerful media server installation script"
|
||||
meta_og_description = "YAMS is a basic but powerful media server, easy to install in a bash script"
|
||||
|
||||
[params.logo]
|
||||
standard = "/pics/logo.png"
|
||||
|
@ -1,129 +0,0 @@
|
||||
---
|
||||
title: "Adding your own containers to YAMS"
|
||||
date: 2023-10-21T21:41:29-03:00
|
||||
draft: false
|
||||
weight: 20
|
||||
summary: A complete guide to expanding YAMS with your own Docker containers
|
||||
---
|
||||
|
||||
# Make YAMS Your Own! 🚀
|
||||
|
||||
Want to add more containers to your YAMS setup? Maybe a cool new app you found, or something specific for your needs? No problem! YAMS makes it super easy to expand your media server with custom containers.
|
||||
|
||||
## The Basics 📚
|
||||
|
||||
When you install YAMS, it creates two important files:
|
||||
- `docker-compose.yaml`: This is YAMS's brain! Don't modify this file directly.
|
||||
- `docker-compose.custom.yaml`: This is your playground! Add all your custom containers here.
|
||||
|
||||
## Getting Started 🎯
|
||||
|
||||
First, let's find your YAMS installation. I'll use `/opt/yams` in these examples, but replace it with your actual install location:
|
||||
|
||||
```bash
|
||||
cd /opt/yams
|
||||
```
|
||||
|
||||
## The Magic Variables ✨
|
||||
|
||||
YAMS provides some handy environment variables you can use in your custom containers. These are defined in your central [`.env` settings file]({{< relref "/advanced/env-file" >}}) (learn more about it!) and make it super easy to keep your custom containers working in harmony with YAMS:
|
||||
|
||||
```yaml
|
||||
PUID: Your user ID
|
||||
PGID: Your group ID
|
||||
MEDIA_DIRECTORY: Your media folder location
|
||||
INSTALL_DIRECTORY: Your YAMS installation location
|
||||
```
|
||||
|
||||
These make it super easy to keep your custom containers working in harmony with YAMS!
|
||||
|
||||
## Let's Add a Container! 🎮
|
||||
|
||||
Let's walk through an example by adding [Overseerr](https://overseerr.dev/) - a fantastic request management app for your media server.
|
||||
|
||||
1. First, open `docker-compose.custom.yaml`:
|
||||
```bash
|
||||
nano docker-compose.custom.yaml
|
||||
```
|
||||
|
||||
2. If this is your first custom container, you'll need to uncomment the `services:` line. To uncomment you must remove the `#` symbol and the space. Your file should start like this:
|
||||
|
||||
```yaml
|
||||
services: # Make sure this line is uncommented and there's no spaces around it!
|
||||
```
|
||||
|
||||
3. Now let's add Overseerr with all the YAMS goodies:
|
||||
|
||||
```yaml
|
||||
overseerr:
|
||||
image: lscr.io/linuxserver/overseerr:latest
|
||||
container_name: overseerr
|
||||
environment:
|
||||
- PUID=${PUID} # Using YAMS's user ID
|
||||
- PGID=${PGID} # Using YAMS's group ID
|
||||
volumes:
|
||||
- ${INSTALL_DIRECTORY}/config/overseer:/config # Using YAMS's config location
|
||||
ports:
|
||||
- 5055:5055
|
||||
restart: unless-stopped
|
||||
```
|
||||
|
||||
4. Time to start your new container:
|
||||
```bash
|
||||
yams restart
|
||||
```
|
||||
|
||||
You should see something like:
|
||||
```bash
|
||||
⠙ overseerr Pulling 5.2s
|
||||
[...]
|
||||
```
|
||||
|
||||
That's it! Your new container is up and running! 🎉
|
||||
|
||||
## Pro Tips 🎓
|
||||
|
||||
### 1. Container Discovery
|
||||
Looking for cool containers to add? Check out:
|
||||
- [linuxserver.io fleet](https://fleet.linuxserver.io/) (Highly recommended!)
|
||||
- [Docker Hub](https://hub.docker.com/)
|
||||
|
||||
### 2. Network Magic 🌐
|
||||
All containers in your `docker-compose.custom.yaml` automatically join YAMS's network! This means they can talk to each other using their container names as hostnames.
|
||||
|
||||
For example, if you need to connect to Radarr from a custom container, just use `http://radarr:7878` as the URL.
|
||||
|
||||
### 3. VPN Access 🔒
|
||||
Want your custom container to use YAMS's VPN? Add this to your container config:
|
||||
```yaml
|
||||
network_mode: "service:gluetun"
|
||||
```
|
||||
|
||||
Check out [Running Prowlarr behind the VPN](/advanced/prowlarr-behind-vpn) for a detailed example!
|
||||
|
||||
### 4. Variable Power 💪
|
||||
You can access any environment variable defined in YAMS's [`.env` file]({{< relref "/advanced/env-file" >}}) within your custom containers. Just use the `${VARIABLE_NAME}` syntax! This is great for things like API keys or other settings you want to manage centrally.
|
||||
|
||||
## Common Gotchas 🚨
|
||||
|
||||
1. **YAML Formatting Errors**: YAML is very sensitive to spacing and indentation. Even a single misplaced space can break your configuration! We highly recommend using a YAML validator like [yamllint.com](https://www.yamllint.com/) to check your syntax before applying changes.
|
||||
2. **Container Names**: Make sure your custom container names don't conflict with YAMS's built-in containers.
|
||||
3. **Port Conflicts**: Double-check that your new containers don't try to use ports that are already taken.
|
||||
4. **Permissions**: If your container needs to access media files, remember to use `PUID` and `PGID`!
|
||||
|
||||
## Need Ideas? 💡
|
||||
|
||||
Here are some popular containers that work great with YAMS:
|
||||
|
||||
1. **[Overseerr](https://overseerr.dev/)** or **[Petio](https://petio.tv/)**: Let users request movies and shows
|
||||
2. **[Tautulli](https://tautulli.com/)**: Advanced Plex monitoring and statistics
|
||||
3. **[Organizr](https://organizr.app/)**: Create a sleek dashboard for all your services
|
||||
|
||||
## Need Help? 🆘
|
||||
|
||||
If you run into any issues:
|
||||
1. Check our [Common Issues](/faqs/common-errors/) page
|
||||
2. Visit the [YAMS Forum](https://forum.yams.media)
|
||||
3. Join our [Discord](https://discord.gg/Gwae3tNMST) or [Matrix](https://matrix.to/#/#yams-space:rogs.me) chat
|
||||
|
||||
Remember: YAMS is all about making your media server work for YOU. Don't be afraid to experiment and make it your own! 😎
|
@ -2,175 +2,72 @@
|
||||
title: "Backups"
|
||||
date: 2023-01-17T19:38:39-03:00
|
||||
draft: false
|
||||
weight: 80
|
||||
summary: Everything you need to know about backing up and restoring your YAMS setup
|
||||
weight: 3
|
||||
summary: Backup your YAMS configuration.
|
||||
---
|
||||
|
||||
# Keeping Your YAMS Safe 💾
|
||||
Your YAMS configuration is located in your YAMS install directory.
|
||||
|
||||
Your YAMS configuration is precious! Let's make sure it's properly backed up so you can recover from any mishaps.
|
||||
## Create a backup
|
||||
|
||||
## Creating Backups 📦
|
||||
For the purposes of this tutorial, I'll assume your YAMS install directory is `/opt/yams`, and that you want to create a backup on your `~` directory.
|
||||
|
||||
YAMS includes a super handy backup command that takes care of everything:
|
||||
First, go to the YAMS install directory and do a `ls`. You should see the `config` folder right there:
|
||||
|
||||
```bash
|
||||
yams backup [destination]
|
||||
$ cd /opt/yams/
|
||||
/opt/yams$ ls
|
||||
|
||||
# Output
|
||||
config docker-compose.yaml
|
||||
```
|
||||
|
||||
### Quick Backup Example
|
||||
|
||||
Let's say you want to back up to your home directory:
|
||||
```bash
|
||||
yams backup ~/backups/
|
||||
```
|
||||
|
||||
You'll see something like this:
|
||||
```bash
|
||||
Stopping YAMS services...
|
||||
|
||||
Backing up YAMS to /home/roger...
|
||||
This may take a while depending on the size of your installation.
|
||||
Please wait... ⌛
|
||||
|
||||
Backup completed! 🎉
|
||||
Starting YAMS services...
|
||||
|
||||
Backup completed successfully! 🎉
|
||||
Backup file: /home/roger/yams-backup-2024-12-23-1734966570.tar.gz
|
||||
```
|
||||
|
||||
### What Gets Backed Up? 🤔
|
||||
|
||||
The backup includes:
|
||||
- All your container configurations
|
||||
- Your YAMS settings
|
||||
- Your service preferences
|
||||
- Custom container configurations
|
||||
- Important environment variables
|
||||
|
||||
### Pro Backup Tips 💡
|
||||
|
||||
1. **Regular Backups**: Schedule them weekly or monthly
|
||||
2. **Multiple Locations**: Keep copies in different places
|
||||
3. **Before Updates**: Always backup before updating YAMS
|
||||
4. **Version Control**: Keep a few recent backups around
|
||||
5. **Test Restores**: Occasionally verify your backups work
|
||||
|
||||
## Restoring from Backup 🔄
|
||||
|
||||
Need to restore your YAMS setup? Here's the step-by-step guide:
|
||||
|
||||
### Step 1: Extract the Backup
|
||||
```bash
|
||||
tar -xzvf your-backup.tar.gz -C /your/new/location
|
||||
cd /your/new/location
|
||||
```
|
||||
|
||||
### Step 2: Update YAMS Configuration
|
||||
Edit the YAMS binary with your favorite text editor (we'll use `nano` here, but use whatever you prefer):
|
||||
```bash
|
||||
nano yams
|
||||
```
|
||||
|
||||
Find and update these lines:
|
||||
```bash
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
# Constants
|
||||
readonly DC="docker compose -f your/new/location/docker-compose.yaml -f your/new/location/docker-compose.custom.yaml" # Update this!
|
||||
readonly INSTALL_DIRECTORY="your/new/location" # Update this!
|
||||
```
|
||||
|
||||
### Step 3: Install YAMS Binary
|
||||
```bash
|
||||
sudo cp yams /usr/local/bin/
|
||||
```
|
||||
|
||||
### Step 4: Start YAMS
|
||||
```bash
|
||||
yams start
|
||||
```
|
||||
|
||||
## Best Practices 📚
|
||||
|
||||
1. **Regular Schedule**
|
||||
```bash
|
||||
# Example: Weekly backups to different locations
|
||||
yams backup ~/backups/weekly/
|
||||
yams backup /mnt/external/yams-backup/
|
||||
```
|
||||
|
||||
2. **Pre-Update Backups**
|
||||
```bash
|
||||
# Before running yams update
|
||||
yams backup ~/backups/pre-update/
|
||||
```
|
||||
|
||||
## Troubleshooting 🔧
|
||||
|
||||
### Backup Failed?
|
||||
1. Check disk space:
|
||||
```bash
|
||||
df -h
|
||||
```
|
||||
2. Verify write permissions:
|
||||
```bash
|
||||
ls -la /backup/destination
|
||||
```
|
||||
3. Try stopping services manually:
|
||||
```bash
|
||||
yams stop
|
||||
```
|
||||
|
||||
### Restore Issues?
|
||||
1. Verify backup integrity:
|
||||
```bash
|
||||
tar -tvf your-backup.tar.gz
|
||||
```
|
||||
2. Check file permissions
|
||||
3. Ensure all paths are correct in the YAMS binary
|
||||
|
||||
## Advanced Topics 🎓
|
||||
|
||||
### Automated Backups
|
||||
|
||||
You can automate backups using cron. Here's an example:
|
||||
|
||||
1. Open your crontab:
|
||||
```bash
|
||||
crontab -e
|
||||
```
|
||||
|
||||
2. Add a weekly backup job:
|
||||
```bash
|
||||
# Run backup every Sunday at 2 AM
|
||||
0 2 * * 0 /usr/local/bin/yams backup /path/to/backups/
|
||||
```
|
||||
|
||||
### Backup Rotation
|
||||
|
||||
Keep your backups manageable with rotation:
|
||||
To create a backup, just run:
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
# backup-rotate.sh
|
||||
MAX_BACKUPS=5
|
||||
BACKUP_DIR="/path/to/backups"
|
||||
|
||||
# Create new backup
|
||||
yams backup $BACKUP_DIR
|
||||
|
||||
# Remove old backups
|
||||
ls -t $BACKUP_DIR/yams-backup-* | tail -n +$((MAX_BACKUPS + 1)) | xargs rm -f
|
||||
/opt/yams/config$ tar -czvf ~/yams-backup.tar.gz config/*
|
||||
```
|
||||
|
||||
## Need Help? 🆘
|
||||
`tar` is going to compress and create a `.tar.gz` file called `yams-backup.tar.gz` on the `~` directory.
|
||||
|
||||
If you run into backup or restore issues:
|
||||
1. Check our [Common Issues](/faqs/common-errors/) page
|
||||
2. Visit the [YAMS Forum](https://forum.yams.media)
|
||||
3. Join our [Discord](https://discord.gg/Gwae3tNMST) or [Matrix](https://matrix.to/#/#yams-space:rogs.me) chat
|
||||
Remember you should store your backups in a secure location!
|
||||
|
||||
Remember: The best time to make a backup is BEFORE you need it! 🎯
|
||||
## Restore a backup
|
||||
|
||||
For the purposes of this tutorial, I'll assume your YAMS install directory is `/opt/yams`, and that the backup is located in `~/yams-backup.tar.gz`.
|
||||
|
||||
To restore a backup, first stop YAMS:
|
||||
|
||||
```bash
|
||||
$ yams stop
|
||||
```
|
||||
|
||||
Then, go to your YAMS install directory and delete everything inside the `config` folder.
|
||||
|
||||
```bash
|
||||
$ cd /opt/yams
|
||||
/opt/yams$ rm -r config/*
|
||||
```
|
||||
|
||||
Now, untar the backup file on your YAMS install directory.
|
||||
|
||||
```bash
|
||||
/opt/yams$ tar -xzvf ~/yams-backup.tar.gz
|
||||
```
|
||||
|
||||
If you see all the folders inside the `config` directory, it means it worked!
|
||||
|
||||
```bash
|
||||
/opt/yams$ ls config
|
||||
|
||||
# Output
|
||||
bazarr emby gluetun prowlarr qbittorrent radarr sonarr
|
||||
```
|
||||
|
||||
Finally, restart YAMS
|
||||
|
||||
```bash
|
||||
/opt/yams$ yams start
|
||||
```
|
||||
|
||||
Everything should be running as expected, with your backup up and running!
|
||||
|
@ -1,68 +0,0 @@
|
||||
---
|
||||
title: "Your Environment File (.env)"
|
||||
weight: 30
|
||||
description: "Get to know the handy .env file that helps configure YAMS."
|
||||
summary: Learn about the central .env file used for YAMS configuration variables like paths and user IDs.
|
||||
---
|
||||
|
||||
## Your Environment File (`.env`) - The YAMS Settings Hub!
|
||||
|
||||
Think of the `.env` file as the central control panel for some of YAMS's key settings. It's a simple text file living right where you installed YAMS (remember specifying that location during the [install steps]({{< relref "/install/steps" >}})? The default spot is `/opt/yams`).
|
||||
|
||||
### So, What Does It Do?
|
||||
|
||||
At its heart, the `.env` file holds **environment variables**. That sounds technical, but it's just a fancy way of saying "named settings". You give a setting a name, set its value, and then you can easily reuse that name elsewhere.
|
||||
|
||||
It looks like this inside:
|
||||
|
||||
```env
|
||||
# Lines starting with # are comments (ignored)
|
||||
PUID=1000
|
||||
PGID=100
|
||||
MEDIA_DIRECTORY=/srv/media
|
||||
# You might add your own later!
|
||||
# MY_API_KEY=supersecret123
|
||||
```
|
||||
|
||||
See? Just `SETTING_NAME=some_value` on each line. Easy peasy!
|
||||
|
||||
### How YAMS Uses It (The Magic Part!)
|
||||
|
||||
Now, where do these settings get used? Primarily in your `docker-compose.yaml` and `docker-compose-custom.yaml` files. These files tell Docker how to run all the YAMS services (like Radarr, Sonarr, Plex, etc.).
|
||||
|
||||
Instead of writing the same path or ID over and over again in those files, we can just use the *name* of the setting from `.env`, but with a dollar sign (`$`) in front. Like this:
|
||||
|
||||
```yaml
|
||||
# Inside a service definition in docker-compose.yaml...
|
||||
environment:
|
||||
- PUID=$PUID # Aha! Use the PUID value from .env
|
||||
- PGID=$PGID # And the PGID value too!
|
||||
volumes:
|
||||
- $MEDIA_DIRECTORY:/data # Map the media folder defined in .env
|
||||
```
|
||||
|
||||
When Docker starts the container, it automatically swaps `$PUID` with `1000` (or whatever you set in `.env`), `$MEDIA_DIRECTORY` with `/srv/media`, and so on. Neat, right?
|
||||
|
||||
### Why Bother With `.env`? (Spoiler: It Makes Life Easier!)
|
||||
|
||||
Okay, why the extra step? It actually helps you out in a few great ways:
|
||||
|
||||
* **Keep Secrets Secret:** Got API keys or passwords? Pop them in your `.env` file. This way, you can share your `docker-compose.yaml` file if you need help, without accidentally giving away sensitive info! **Super Important:** Make sure you add `.env` to your `.gitignore` file so you don't accidentally upload your secrets to Git! (We've already suggested adding this for you).
|
||||
* **Change Once, Update Everywhere:** Imagine you move your media library. Instead of editing the path in *every single service* in your `docker-compose.yaml`, you just change the `MEDIA_DIRECTORY` line in your `.env` file once. Done!
|
||||
* **Easy Tweaks:** It keeps your main `docker-compose.yaml` cleaner and lets you adjust core settings without digging through complex files.
|
||||
|
||||
### The Defaults YAMS Gives You
|
||||
|
||||
When you first set up YAMS, your `.env` file comes pre-filled with a few essentials:
|
||||
|
||||
* `PUID` and `PGID`: These numbers tell the containers which user on your computer "owns" the files they create. This is super important for permissions (making sure Radarr can actually save files to your media folder!). You usually *don't* need to change the defaults (often `1000` for both) unless you know you need to run things as a different specific user.
|
||||
* `MEDIA_DIRECTORY`: This is the main folder on your computer where all your media lives (or will live!). The default is `/srv/media`. Feel free to change it to wherever you keep your stuff, just make sure the user from `PUID`/`PGID` can read and write there! **Heads Up:** For smooth sailing and efficient hardlinking (which saves disk space!), try to keep all your media (movies, TV, music, books) in *subfolders* under this *one* main directory.
|
||||
* `INSTALL_DIRECTORY`: This tells YAMS where its own configuration files for each service should live. Default is `/opt/yams`. You set this during install and probably won't touch it again.
|
||||
|
||||
### What About VPN Stuff?
|
||||
|
||||
Good question! Some VPN setups also rely on settings you might put in your `.env` file. For the specifics on that, head over to the [Torrenting with VPN guide]({{< relref "/advanced/torrenting" >}}).
|
||||
|
||||
---
|
||||
|
||||
*Thanks to Airwreck on Discord for contributing to this guide!*
|
@ -2,7 +2,7 @@
|
||||
title: "Lidarr"
|
||||
date: 2023-01-31T11:20:14-03:00
|
||||
draft: false
|
||||
weight: 100
|
||||
weight: 5
|
||||
summary: Lidarr is a music collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new albums from your favorite artists and will interface with clients and indexers to grab, sort, and rename them. It can also be configured to automatically upgrade the quality of existing files in the library when a better quality format becomes available.
|
||||
|
||||
---
|
||||
|
@ -1,82 +0,0 @@
|
||||
---
|
||||
title: "Port Forwarding"
|
||||
date: 2024-12-30T10:14:29-03:00
|
||||
draft: false
|
||||
weight: 50
|
||||
summary: Everything you need to know about configuring and using a VPN with YAMS
|
||||
---
|
||||
|
||||
Port forwarding helps you get better download speeds by allowing incoming connections to your torrent client. YAMS enables port forwarding by default, but setup varies by VPN provider.
|
||||
|
||||
## ProtonVPN Users 🚀
|
||||
ProtonVPN makes port forwarding easy! Just follow these steps:
|
||||
|
||||
> 🆕 ProtonVPN now supports **WireGuard with port forwarding**! If you want faster VPN performance, check out our [Switching Gluetun to WireGuard](/advanced/wireguard/) guide.
|
||||
|
||||
1. Create a script to update qBittorrent's port. Make sure you change `/your/install/location`:
|
||||
```bash
|
||||
mkdir -p /your/install/location/scripts
|
||||
nano /your/install/location/scripts/update-port.sh
|
||||
```
|
||||
|
||||
2. Add this code to the script: https://gitlab.com/-/snippets/4788387. Make sure you edit this to match your own configuration:
|
||||
```bash
|
||||
QBITTORRENT_USER=admin # qbittorrent username
|
||||
QBITTORRENT_PASS=adminadmin # qbittorrent password
|
||||
```
|
||||
|
||||
3. Make the script executable:
|
||||
```bash
|
||||
chmod +x /your/install/location/scripts/update-port.sh
|
||||
```
|
||||
|
||||
4. Run it to verify it's working:
|
||||
```bash
|
||||
./your/install/location/scripts/update-port.sh
|
||||
```
|
||||
|
||||
You should see an output similar to this:
|
||||
```bash
|
||||
2024-12-30 08:21:58 | VPN container gluetun in healthy state!
|
||||
2024-12-30 08:21:58 | qBittorrent Cookie invalid, getting new SessionID
|
||||
2024-12-30 08:21:58 | Public IP: 111.111.111.111
|
||||
2024-12-30 08:21:58 | Configured Port: 61009
|
||||
2024-12-30 08:21:58 | Active Port: 61009
|
||||
2024-12-30 08:21:58 | Port OK (Act: 61009 Cfg: 61009)
|
||||
```
|
||||
|
||||
5. Set up automatic port updates (runs every 5 minutes):
|
||||
```bash
|
||||
(crontab -l 2>/dev/null; echo "*/5 * * * * /your/install/location/scripts/update-port.sh") | crontab -
|
||||
```
|
||||
|
||||
## Other VPN Providers 🌐
|
||||
For other VPN providers, port forwarding configuration varies.
|
||||
|
||||
> 💡 Some providers support WireGuard too! See [Switching Gluetun to WireGuard](/advanced/wireguard/) for details.
|
||||
|
||||
For detailed provider-specific instructions, check the [Gluetun Port Forwarding Documentation](https://github.com/qdm12/gluetun-wiki/blob/main/setup/advanced/vpn-port-forwarding.md).
|
||||
|
||||
## Verifying Port Forwarding ✅
|
||||
To check if port forwarding is working:
|
||||
|
||||
1. Run `curl http://localhost:8003/v1/openvpn/portforwarded` to see your current port
|
||||
2. Visit [Open Port Check Tool](https://www.yougetsignal.com/tools/open-ports/) and test your port by using your public VPN IP and the active port
|
||||
3. Check qBittorrent's connection status - it should show "Connection Status: Connected"
|
||||
|
||||
[](/pics/advanced-port-forwarding-1.png)
|
||||
|
||||
## Troubleshooting 🔧
|
||||
|
||||
1. **No port shown:**
|
||||
```bash
|
||||
docker logs gluetun | grep "\[port forwarding\]"
|
||||
```
|
||||
Look for any error messages
|
||||
|
||||
2. **Port not updating:**
|
||||
- Check if the script has execute permissions
|
||||
- Verify crontab is running: `crontab -l`
|
||||
- Check script logs: `tail -f /var/log/syslog | grep update-port`
|
||||
|
||||
Need help? Visit our [Common Issues](/faqs/common-errors/) page or join our [Discord](https://discord.gg/Gwae3tNMST) or [Matrix](https://matrix.to/#/#yams-space:rogs.me) chat!
|
@ -2,140 +2,39 @@
|
||||
title: "Portainer"
|
||||
date: 2023-01-30T15:46:05-03:00
|
||||
draft: false
|
||||
weight: 90
|
||||
summary: Your visual control center for all YAMS containers
|
||||
weight: 4
|
||||
summary: Deploy, configure, troubleshoot and secure containers in minutes on Kubernetes, Docker, Swarm and Nomad in any data center, cloud, network edge or IIOT device.
|
||||
---
|
||||
|
||||
# What is Portainer? 🐋
|
||||
# What is Portainer?
|
||||
|
||||
Think of Portainer as your mission control for Docker! It gives you a sleek web interface to manage all your containers, making it way easier than typing commands in the terminal all day.
|
||||
From their [website](https://www.portainer.io/)
|
||||
|
||||
From their [website](https://www.portainer.io/):
|
||||
> Deploy, configure, troubleshoot and secure containers in minutes on Kubernetes, Docker, Swarm and Nomad in any data center, cloud, network edge or IIOT device.
|
||||
|
||||
Portainer is optional in YAMS, but we highly recommend it. It's like having x-ray vision into your containers! 🦸♂️
|
||||
Portainer is an optional configuration for YAMS. It can help you with debugging and having a visual perspective of all your docker containers.
|
||||
|
||||
## Initial Setup 🚀
|
||||
## Initial configuration
|
||||
|
||||
### Step 1: Access Portainer
|
||||
Open your browser and go to `http://{your-ip-address}:9000/`. You'll see the first-time setup screen.
|
||||
In your browser, go to [http://{your-ip-address}:9000/]() and you'll see Portainer's setup page.
|
||||
|
||||
### Step 2: Create Admin Account
|
||||
Let's set up your admin credentials:
|
||||
1. Choose a secure username
|
||||
2. Pick a strong password
|
||||
3. Click "Create User"
|
||||
Choose your username/password and press "Create user".
|
||||
|
||||
[](/pics/portainer-1.png)
|
||||
[](/pics/portainer-1.png)
|
||||
|
||||
### Step 3: Quick Setup
|
||||
On the "Quick Setup" screen:
|
||||
1. Click "Get Started" - this sets up Portainer with good default settings
|
||||
2. No need to mess with advanced options for now!
|
||||
On the "Quick Setup" screen, select "Get Started". That's going to do a basic Portainer setup.
|
||||
|
||||
[](/pics/portainer-2.png)
|
||||
[](/pics/portainer-2.png)
|
||||
|
||||
### Step 4: Access Your Environment
|
||||
1. Click on your "local" Docker environment
|
||||
2. This is where all the magic happens!
|
||||
Now on your home, click on your "local" docker environment.
|
||||
|
||||
[](/pics/portainer-3.png)
|
||||
[](/pics/portainer-3.png)
|
||||
|
||||
## Managing Your Containers 🎮
|
||||
To see all your containers, click on "Containers"
|
||||
[](/pics/portainer-4.png)
|
||||
|
||||
### Viewing Containers
|
||||
1. Click on "Containers" in the left menu
|
||||
2. Here you'll see all your running YAMS services
|
||||
Here you can see all your containers! Make changes, check stats, logs, etc!
|
||||
|
||||
[](/pics/portainer-4.png)
|
||||
[](/pics/portainer-5.png)
|
||||
|
||||
### What You Can Do Here
|
||||
- 👀 Monitor container status
|
||||
- 🔄 Restart services
|
||||
- 📊 Check resource usage
|
||||
- 📝 View logs
|
||||
- ⚙️ Change container settings
|
||||
|
||||
[](/pics/portainer-5.png)
|
||||
|
||||
## Pro Tips 💡
|
||||
|
||||
### 1. Container Management
|
||||
- **Quick Restart**: Use the circular arrow icon next to a container
|
||||
- **Batch Actions**: Select multiple containers to restart/stop them together
|
||||
- **Auto-Refresh**: Enable auto-refresh to monitor containers in real-time
|
||||
|
||||
### 2. Logs and Troubleshooting
|
||||
- View container logs directly in Portainer
|
||||
- Check container stats for resource usage
|
||||
- Inspect container configuration when things go wrong
|
||||
|
||||
### 3. Resource Monitoring
|
||||
- Monitor CPU and memory usage
|
||||
- Track network traffic
|
||||
- Set up resource limits if needed
|
||||
|
||||
## Cool Features You Should Try 🌟
|
||||
|
||||
1. **Container Console**
|
||||
- Access container terminals directly from the web
|
||||
- Great for quick debugging!
|
||||
|
||||
2. **Real-Time Stats**
|
||||
- Monitor CPU, memory, and network usage
|
||||
- Perfect for spotting performance issues
|
||||
|
||||
3. **Volume Management**
|
||||
- Check where your data is stored
|
||||
- Manage persistent storage
|
||||
|
||||
4. **Network Overview**
|
||||
- See how containers are connected
|
||||
- Troubleshoot network issues
|
||||
|
||||
## Best Practices 📚
|
||||
|
||||
1. **Security**
|
||||
- Change the default admin password regularly
|
||||
- Use a strong password
|
||||
- Don't expose Portainer to the internet
|
||||
|
||||
2. **Monitoring**
|
||||
- Check container logs regularly
|
||||
- Monitor resource usage
|
||||
- Set up email alerts for container failures
|
||||
|
||||
3. **Maintenance**
|
||||
- Restart containers gracefully
|
||||
- Use the "Recreate" option when updating
|
||||
- Keep an eye on storage usage
|
||||
|
||||
## Troubleshooting 🔧
|
||||
|
||||
### Can't Access Portainer?
|
||||
1. Check if the container is running:
|
||||
```bash
|
||||
yams check portainer
|
||||
```
|
||||
2. Verify the port isn't blocked
|
||||
3. Make sure you're using the right IP address
|
||||
|
||||
### Container Issues?
|
||||
1. Check container logs in Portainer
|
||||
2. Look for error messages
|
||||
3. Verify container settings
|
||||
|
||||
### Resource Problems?
|
||||
1. Monitor container stats
|
||||
2. Check host system resources
|
||||
3. Consider setting resource limits
|
||||
|
||||
## Need Help? 🆘
|
||||
|
||||
If you're stuck:
|
||||
1. Check our [Common Issues](/faqs/common-errors/) page
|
||||
2. Visit the [YAMS Forum](https://forum.yams.media)
|
||||
3. Join our [Discord](https://discord.gg/Gwae3tNMST) or [Matrix](https://matrix.to/#/#yams-space:rogs.me) chat
|
||||
4. Check [Portainer's documentation](https://docs.portainer.io/)
|
||||
|
||||
Remember: Portainer is your friend! It makes managing YAMS much easier, so take some time to explore its features. 🎮
|
||||
From here, the sky is the limit! Portainer can run new containers, delete containers, change volumes, basically whatever you want to do with your Docker containers! Portainer its a very cool tool that is worth to learn and check out!
|
||||
|
@ -1,138 +0,0 @@
|
||||
---
|
||||
title: "Running Prowlarr Behind the VPN"
|
||||
date: 2024-09-27T16:44:00-03:00
|
||||
draft: false
|
||||
weight: 60
|
||||
summary: A complete guide to routing Prowlarr's traffic through your VPN for extra privacy
|
||||
---
|
||||
|
||||
# Extra Privacy for Prowlarr 🔒
|
||||
|
||||
While downloading .torrent files isn't usually illegal, some ISPs might try to block your access to indexers. Let's fix that by putting Prowlarr behind your VPN!
|
||||
|
||||
## Why Put Prowlarr Behind the VPN? 🤔
|
||||
|
||||
1. **Bypass ISP Blocks**: Some ISPs block torrent indexer websites
|
||||
2. **Extra Privacy**: Keep your searches private
|
||||
3. **Better Access**: Reach indexers that might be geo-blocked in your country
|
||||
|
||||
## Configuration Steps 🛠️
|
||||
|
||||
We'll need to modify two services in your `docker-compose.yaml` file: Prowlarr and Gluetun. Let's do this step by step!
|
||||
|
||||
### Step 1: Modify Prowlarr's Config
|
||||
First, let's update Prowlarr to use the VPN network. Open your `docker-compose.yaml` and find the Prowlarr service:
|
||||
|
||||
```yaml
|
||||
prowlarr:
|
||||
image: lscr.io/linuxserver/prowlarr
|
||||
container_name: prowlarr
|
||||
# Delete or comment out the 'ports' section
|
||||
# ports:
|
||||
# - 9696:9696
|
||||
network_mode: "service:gluetun" # Add this line
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- WEBUI_PORT=9696 # Add this line
|
||||
volumes:
|
||||
- ${INSTALL_DIRECTORY}/config/prowlarr:/config
|
||||
restart: unless-stopped
|
||||
```
|
||||
|
||||
Key changes:
|
||||
1. Remove or comment out the `ports` section
|
||||
2. Add `network_mode: "service:gluetun"`
|
||||
3. Add `WEBUI_PORT=9696` to the environment variables
|
||||
|
||||
### Step 2: Update Gluetun's Config
|
||||
Now we need to tell Gluetun to handle Prowlarr's traffic. Find the Gluetun service in your `docker-compose.yaml`:
|
||||
|
||||
```yaml
|
||||
gluetun:
|
||||
image: qmcgaw/gluetun:v3
|
||||
container_name: gluetun
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
devices:
|
||||
- /dev/net/tun:/dev/net/tun
|
||||
ports:
|
||||
- 8888:8888/tcp # HTTP proxy
|
||||
- 8388:8388/tcp # Shadowsocks
|
||||
- 8388:8388/udp # Shadowsocks
|
||||
- 8080:8080/tcp # gluetun
|
||||
- 9696:9696/tcp # Add this line for Prowlarr
|
||||
volumes:
|
||||
- ${INSTALL_DIRECTORY}/config/gluetun:/config
|
||||
environment:
|
||||
- FIREWALL_OUTBOUND_SUBNETS=192.168.1.0/24 # Add this line
|
||||
restart: unless-stopped
|
||||
```
|
||||
|
||||
Key changes:
|
||||
1. Add `9696:9696/tcp` to the ports
|
||||
2. Add `FIREWALL_OUTBOUND_SUBNETS` to the environment section
|
||||
|
||||
### Step 3: Find Your Subnet 🔍
|
||||
|
||||
The `FIREWALL_OUTBOUND_SUBNETS` value needs to match your container subnet. Here's how to find it:
|
||||
|
||||
1. Open Portainer
|
||||
2. Click on "Containers"
|
||||
3. Look at the "IP Address" column
|
||||
|
||||
Most setups use one of these subnets:
|
||||
- `172.18.0.0/24` - If your containers use IPs like `172.18.x.x`
|
||||
- `192.168.1.0/24` - If your containers use IPs like `192.168.1.x`
|
||||
|
||||
### Step 4: Apply the Changes 🔄
|
||||
|
||||
Save your changes and restart YAMS:
|
||||
```bash
|
||||
yams restart
|
||||
```
|
||||
|
||||
## Testing Your Setup 🎯
|
||||
|
||||
After YAMS restarts, check that:
|
||||
1. You can still access Prowlarr at `http://your-ip:9696`
|
||||
2. Your indexers still work
|
||||
3. The search function works correctly
|
||||
|
||||
## Troubleshooting 🔧
|
||||
|
||||
### Can't Access Prowlarr?
|
||||
1. Check Gluetun's logs:
|
||||
```bash
|
||||
docker logs gluetun
|
||||
```
|
||||
2. Verify your subnet setting is correct
|
||||
3. Make sure the port mapping is right in both services
|
||||
|
||||
### Indexers Not Working?
|
||||
1. Check your VPN connection:
|
||||
```bash
|
||||
yams check-vpn
|
||||
```
|
||||
2. Try accessing an indexer manually through Prowlarr
|
||||
3. Check Prowlarr's logs for any errors
|
||||
|
||||
### Still Having Issues?
|
||||
1. Compare your configuration with the examples above
|
||||
2. Make sure your VPN provider allows port forwarding
|
||||
3. Try a different VPN server
|
||||
|
||||
## Pro Tips 💡
|
||||
|
||||
1. **Speed Matters**: Choose a VPN server close to you for better performance
|
||||
2. **Regular Checks**: Use `yams check-vpn` to verify your VPN is working
|
||||
3. **Monitor Logs**: Keep an eye on both Prowlarr and Gluetun logs for issues
|
||||
|
||||
## Need Help? 🆘
|
||||
|
||||
If you're stuck:
|
||||
1. Check the [Common Issues](/faqs/common-errors/) page
|
||||
2. Visit the [YAMS Forum](https://forum.yams.media)
|
||||
3. Join our [Discord](https://discord.gg/Gwae3tNMST) or [Matrix](https://matrix.to/#/#yams-space:rogs.me) chat
|
||||
|
||||
Remember: Taking a few extra steps for privacy is always worth it! Stay safe out there! 🛡️
|
@ -1,46 +0,0 @@
|
||||
---
|
||||
title: "Proxmox LXC Prerequisites"
|
||||
date: 2025-03-29T10:00:00-03:00
|
||||
draft: false
|
||||
weight: 10
|
||||
summary: Required steps before installing YAMS in a Proxmox LXC container.
|
||||
---
|
||||
|
||||
# Prerequisites for Installing YAMS in a Proxmox LXC
|
||||
|
||||
If you plan to install YAMS inside a Proxmox LXC container, some specific host-level configuration is required **before** you run the YAMS installation script. These steps ensure Docker and the VPN component (Gluetun) can function correctly within the LXC environment by providing access to the necessary TUN device.
|
||||
|
||||
> **Note:** This guide is based on the solution discovered and shared by forum user **Bobs_Manager**. You can find the original discussion [here on the YAMS Forum](https://forum.yams.media/viewtopic.php?t=212).
|
||||
|
||||
⚠️ **Important:** Only use an **unprivileged** LXC container for YAMS. Privileged containers pose significant security risks and are not recommended.
|
||||
|
||||
Follow these steps on your Proxmox **host** system:
|
||||
|
||||
1. **Access the Proxmox Host Shell:** Log into your Proxmox server via SSH or use the web UI's shell access for the node (not the LXC console).
|
||||
|
||||
2. **Edit the LXC Configuration File:** Open the configuration file specific to the LXC container where you intend to install YAMS. Replace `<container-ID>` with the actual numeric ID of your LXC container.
|
||||
```bash
|
||||
nano /etc/pve/lxc/<container-ID>.conf
|
||||
```
|
||||
|
||||
3. **Add Configuration Lines:** Append the following lines to the **end** of the file. These lines grant the container necessary permissions and crucially mount the `/dev/net/tun` device from the host into the container.
|
||||
```ini
|
||||
lxc.cgroup.devices.allow: a
|
||||
lxc.cap.drop:
|
||||
lxc.cgroup2.devices.allow: c 10:200 rwm
|
||||
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file
|
||||
```
|
||||
Your configuration file should now look similar to this at the end:
|
||||
[](/pics/proxmox-lxc-config.png)
|
||||
|
||||
4. **Save and Close:** Save the changes to the configuration file and exit the editor.
|
||||
|
||||
5. **Restart the LXC Container:** For the changes to take effect, you must restart the LXC container. You can do this via the Proxmox web UI or using the following commands on the Proxmox host:
|
||||
```bash
|
||||
pct stop <container-ID>
|
||||
pct start <container-ID>
|
||||
```
|
||||
|
||||
## Next Steps
|
||||
|
||||
After completing these prerequisites and restarting the LXC container, you can now log into the LXC container's console and proceed with the standard YAMS installation as described in the [Installation Guide](/install/steps/).
|
@ -2,7 +2,7 @@
|
||||
title: "Readarr"
|
||||
date: 2023-01-31T13:52:34-03:00
|
||||
draft: false
|
||||
weight: 110
|
||||
weight: 6
|
||||
summary: Readarr is a ebook collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new books from your favorite authors and will interface with clients and indexers to grab, sort, and rename them.
|
||||
|
||||
---
|
||||
|
@ -2,133 +2,60 @@
|
||||
title: "Torrenting"
|
||||
date: 2023-01-16T14:48:14-03:00
|
||||
draft: false
|
||||
weight: 70
|
||||
summary: Everything you need to know about safe and effective torrenting with YAMS
|
||||
weight: 2
|
||||
summary: Advanced torreting advices.
|
||||
---
|
||||
|
||||
# Advanced Torrenting with YAMS 🌊
|
||||
## Downloading torrents manually
|
||||
|
||||
While [Sonarr](/config/sonarr) and [Radarr](/config/radarr) handle most of your downloads automatically, sometimes you might want to download something manually. Let's explore how to do that safely!
|
||||
Now that you have a Bittorrent client always available, you can use it to download any torrents you find online.
|
||||
|
||||
## Manual Downloads 📥
|
||||
To add a new torrent, click on the "Add torrent file" option:
|
||||
|
||||
### Adding Torrent Files
|
||||
1. Open qBittorrent at `http://{your-ip}:8081`
|
||||
2. Click the "+" icon or "Add torrent file" button:
|
||||
[](/pics/advanced-torrent-1.png)
|
||||
[](/pics/advanced-torrent-1.png)
|
||||
|
||||
3. Select your .torrent file and click "Upload Torrents":
|
||||
[](/pics/advanced-torrent-2.png)
|
||||
Now, select your .torrent file and click on "Upload Torrents".
|
||||
|
||||
4. Watch your download progress:
|
||||
[](/pics/advanced-torrent-3.png)
|
||||
[](/pics/advanced-torrent-2.png)
|
||||
|
||||
Finally, you'll see your torrent downloading.
|
||||
|
||||
[](/pics/advanced-torrent-3.png)
|
||||
|
||||
Once it finishes downloading, you can find your torrent file in your mediafolder, on the "downloads" folder.
|
||||
|
||||
### Finding Your Downloads
|
||||
When your download finishes, find it in your media folder under the "downloads" directory:
|
||||
```bash
|
||||
/srv/media$ tree downloads/torrents/
|
||||
downloads/torrents/
|
||||
└── your-downloaded-file.iso
|
||||
/srv/media$ tree downloads/
|
||||
downloads/
|
||||
└── debian-11.6.0-amd64-DVD-1.iso
|
||||
|
||||
0 directories, 1 file
|
||||
```
|
||||
|
||||
## Safety First: IP Leak Testing 🛡️
|
||||
## Double checking your torrent client IP address
|
||||
|
||||
Even with a VPN, it's good practice to verify that your real IP isn't leaking. Here's how to do a thorough check:
|
||||
If you want to be extra sure your IP is not leaking in qBittorrent, you can use this simple check.
|
||||
|
||||
### Using the IP Checker
|
||||
Go to https://www.whatismyip.net/tools/torrent-ip-checker/index.php and grab the testing magnet link.
|
||||
|
||||
1. Visit [whatismyip.net's Torrent Checker](https://www.whatismyip.net/tools/torrent-ip-checker/index.php) and grab their test magnet link:
|
||||
[](/pics/advanced-torrent-4.png)
|
||||
[](/pics/advanced-torrent-4.png)
|
||||
|
||||
2. In qBittorrent, click "Add Torrent Link":
|
||||
[](/pics/advanced-torrent-5.png)
|
||||
In qBittorrent, click on "Add Torrent Link".
|
||||
|
||||
3. Paste the magnet link and click "Download":
|
||||
[](/pics/advanced-torrent-6.png)
|
||||
[](/pics/advanced-torrent-5.png)
|
||||
|
||||
4. You'll see a new torrent called "Torrent Tracker IP Checker" in your list. Don't worry - it won't actually download anything!
|
||||
[](/pics/advanced-torrent-7.png)
|
||||
And paste the magnet link on the box. When you are done, click on "Download".
|
||||
|
||||
5. Back on the checker website, you'll see your torrent client's IP:
|
||||
[](/pics/advanced-torrent-8.png)
|
||||
[](/pics/advanced-torrent-6.png)
|
||||
|
||||
### Verifying the Results 🔍
|
||||
You'll see a new torrent called "Torrent Tracker IP Checker". This torrent is never going to start downloading, it's just for https://whatsmyip.net to check the IP address.
|
||||
|
||||
For proper privacy protection, check that:
|
||||
1. The reported IP is **different** from your real IP address
|
||||
2. The IP matches what `yams check-vpn` reports
|
||||
3. The country shown matches your VPN server location
|
||||
[](/pics/advanced-torrent-7.png)
|
||||
|
||||
## Pro Tips for Safe Torrenting 🎯
|
||||
Back at the torrent tracker page, you'll see the data for your torrent and your qBittorrent IP!
|
||||
|
||||
1. **Always Verify VPN First**
|
||||
```bash
|
||||
yams check-vpn
|
||||
```
|
||||
Do this before starting any downloads!
|
||||
[](/pics/advanced-torrent-8.png)
|
||||
|
||||
2. **Use the Kill Switch**
|
||||
YAMS configures qBittorrent to only use the VPN network interface. If the VPN drops, downloads stop automatically.
|
||||
The IP address **has to be different from your own IP address**, and **it has to match the output of** `yams check-vpn`.
|
||||
|
||||
3. **Regular Testing**
|
||||
- Run the IP leak test monthly
|
||||
- Check VPN status before large downloads
|
||||
- Monitor qBittorrent's connection status
|
||||
|
||||
4. **Download Organization**
|
||||
- Use labels for different types of content
|
||||
- Set up category-specific download folders
|
||||
- Remove completed torrents regularly
|
||||
|
||||
5. **Enable Port Forwarding**
|
||||
- Check our [Port Forwarding Guide](/advanced/port-forwarding/)
|
||||
- Significantly improves download speeds
|
||||
- Works automatically with ProtonVPN
|
||||
|
||||
## Troubleshooting Common Issues 🔧
|
||||
|
||||
### Downloads Won't Start
|
||||
1. Check VPN connection:
|
||||
```bash
|
||||
yams check-vpn
|
||||
```
|
||||
2. Verify tracker status in qBittorrent
|
||||
3. Try a different VPN server
|
||||
|
||||
### Slow Speeds
|
||||
1. Try a VPN server closer to you
|
||||
2. Check if your VPN provider throttles P2P
|
||||
3. Verify you're not hitting VPN bandwidth limits
|
||||
|
||||
### Connection Drops
|
||||
1. Check VPN provider status
|
||||
2. Try a different VPN server
|
||||
3. Monitor system resources
|
||||
|
||||
## Best Practices 📚
|
||||
|
||||
1. **Keep VPN Active**
|
||||
- Always check VPN status before downloading
|
||||
- Use `yams check-vpn` regularly
|
||||
- Monitor qBittorrent's network interface
|
||||
|
||||
2. **Regular Maintenance**
|
||||
- Clear completed torrents
|
||||
- Update qBittorrent when YAMS prompts
|
||||
- Run periodic IP leak tests
|
||||
|
||||
3. **Download Management**
|
||||
- Set reasonable ratio limits
|
||||
- Use categories for organization
|
||||
- Monitor disk space regularly
|
||||
|
||||
## Need Help? 🆘
|
||||
|
||||
Having issues with torrenting? We've got you covered:
|
||||
1. Check the [Common Issues](/faqs/common-errors/) page
|
||||
2. Visit the [YAMS Forum](https://forum.yams.media)
|
||||
3. Join our [Discord](https://discord.gg/Gwae3tNMST) or [Matrix](https://matrix.to/#/#yams-space:rogs.me) chat
|
||||
|
||||
Remember: Safe torrenting is good torrenting. Always verify your VPN is working before downloading! 🛡️
|
||||
You are now extra sure your IP is not going to get leaked from torrenting!
|
||||
|
@ -2,117 +2,93 @@
|
||||
title: "VPN"
|
||||
date: 2023-01-15T21:16:29-03:00
|
||||
draft: false
|
||||
weight: 40
|
||||
summary: Everything you need to know about configuring and using a VPN with YAMS
|
||||
weight: 1
|
||||
summary: Advanced configuration for the VPN, supported VPN lists and manual configuration.
|
||||
---
|
||||
|
||||
# Keeping Your Downloads Private 🔒
|
||||
Remember: **You should always use a VPN when downloading torrents!**.
|
||||
|
||||
Let's talk about VPNs! While they might seem like an optional extra, **you should always use a VPN when downloading torrents**. It's not just about privacy - it's about keeping you safe and sound on the internet!
|
||||
YAMS uses [gluetun](https://github.com/qdm12/gluetun) for VPN.
|
||||
|
||||
YAMS uses [gluetun](https://github.com/qdm12/gluetun) to manage VPN connections. It's like a super-smart traffic controller for your downloads! 🚦
|
||||
## Official supported VPNs
|
||||
|
||||
## Supported VPN Providers 🌐
|
||||
- [AirVPN](https://github.com/qdm12/gluetun/wiki/AirVPN)
|
||||
- [Cyberghost](https://github.com/qdm12/gluetun/wiki/Cyberghost)
|
||||
- [ExpressVPN](https://github.com/qdm12/gluetun/wiki/ExpressVPN)
|
||||
- [FastestVPN](https://github.com/qdm12/gluetun/wiki/FastestVPN)
|
||||
- [Hidemyass](https://github.com/qdm12/gluetun/wiki/Hidemyass)
|
||||
- [IPVanish](https://github.com/qdm12/gluetun/wiki/IPVanish)
|
||||
- [IVPN](https://github.com/qdm12/gluetun/wiki/IVPN)
|
||||
- [Mullvad](https://github.com/qdm12/gluetun/wiki/Mullvad) **(Recommended!)**
|
||||
- [NordVPN](https://github.com/qdm12/gluetun/wiki/NordVPN)
|
||||
- [Perfect privacy](https://github.com/qdm12/gluetun/wiki/Perfect-privacy)
|
||||
- [Privado](https://github.com/qdm12/gluetun/wiki/Privado)
|
||||
- [Private internet access](https://github.com/qdm12/gluetun/wiki/Private-internet-access)
|
||||
- [PrivateVPN](https://github.com/qdm12/gluetun/wiki/PrivateVPN)
|
||||
- [ProtonVPN](https://github.com/qdm12/gluetun/wiki/ProtonVPN)
|
||||
- [PureVPN](https://github.com/qdm12/gluetun/wiki/PureVPN)
|
||||
- [SlickVPN](https://github.com/qdm12/gluetun/wiki/SlickVPN)
|
||||
- [Surfshark](https://github.com/qdm12/gluetun/wiki/Surfshark)
|
||||
- [Torguard](https://github.com/qdm12/gluetun/wiki/Torguard)
|
||||
- [VPN Secure](https://github.com/qdm12/gluetun/wiki/VPN-Secure)
|
||||
- [VPN Unlimited](https://github.com/qdm12/gluetun/wiki/VPN-Unlimited)
|
||||
- [VyprVPN](https://github.com/qdm12/gluetun/wiki/VyprVPN)
|
||||
- [WeVPN](https://github.com/qdm12/gluetun/wiki/WeVPN)
|
||||
- [Windscribe](https://github.com/qdm12/gluetun/wiki/Windscribe)
|
||||
|
||||
YAMS works with tons of VPN providers! Here's the full list, with direct links to their setup guides:
|
||||
You can also set up a [custom VPN provider](https://github.com/qdm12/gluetun/wiki/Custom-provider), but **this is not officially supported for YAMS. You are on your own here.**
|
||||
|
||||
### Popular Choices 🌟
|
||||
- [ProtonVPN](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/protonvpn.md) (Recommended! Easy to set up and great privacy)
|
||||
- [Mullvad](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/mullvad.md)
|
||||
- [NordVPN](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/nordvpn.md)
|
||||
- [Private Internet Access](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/private-internet-access.md)
|
||||
- [Surfshark](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/surfshark.md)
|
||||
## Manual configuration
|
||||
|
||||
### Full Provider List 📋
|
||||
- [AirVPN](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/airvpn.md)
|
||||
- [Cyberghost](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/cyberghost.md)
|
||||
- [ExpressVPN](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/expressvpn.md)
|
||||
- [FastestVPN](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/fastestvpn.md)
|
||||
- [Hidemyass](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/hidemyass.md)
|
||||
- [IPVanish](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/ipvanish.md)
|
||||
- [IVPN](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/ivpn.md)
|
||||
- [Perfect Privacy](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/perfect-privacy.md)
|
||||
- [Privado](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/privado.md)
|
||||
- [PrivateVPN](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/privatevpn.md)
|
||||
- [PureVPN](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/purevpn.md)
|
||||
- [SlickVPN](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/slickvpn.md)
|
||||
- [Torguard](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/torguard.md)
|
||||
- [VPN Secure](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/vpn-secure.md)
|
||||
- [VPN Unlimited](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/vpn-unlimited.md)
|
||||
- [VyprVPN](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/vyprvpn.md)
|
||||
- [WeVPN](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/wevpn.md)
|
||||
- [Windscribe](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/windscribe.md)
|
||||
To manually configure your VPN, you have to edit your `docker-compose.yaml` file.
|
||||
|
||||
Want to use a different VPN? You can set up a [custom VPN provider](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/custom.md), but keep in mind this isn't officially supported by YAMS. You'll be in DIY territory! 🛠️
|
||||
|
||||
## Manual Configuration 🔧
|
||||
|
||||
Let's walk through setting up your VPN manually. For this guide, I'll assume your YAMS is installed in `/opt/yams` - adjust the paths if you installed it somewhere else!
|
||||
|
||||
### Step 1: Stop YAMS
|
||||
First, stop `YAMS`:
|
||||
```bash
|
||||
yams stop
|
||||
$ yams stop
|
||||
```
|
||||
|
||||
### Step 2: Configure Your VPN Settings
|
||||
Open your `.env` file:
|
||||
Then, open your `docker-compose.yaml` file. For this tutorial, I'm assuming the install location is `/opt/yams`. Also, you don't have to use `vim`, you can use `nano` or any other editor.
|
||||
|
||||
```bash
|
||||
nano /opt/yams/.env
|
||||
$ vim /opt/yams/docker-compose.yaml
|
||||
```
|
||||
|
||||
Find the VPN section and update it:
|
||||
```bash
|
||||
# VPN configuration
|
||||
VPN_ENABLED=y
|
||||
VPN_SERVICE=protonvpn # Your VPN service from the list above
|
||||
VPN_USER=your-username # Your VPN username
|
||||
VPN_PASSWORD=your-pass # Your VPN password
|
||||
```
|
||||
On the file, find the `qbitorrent` config and make the following changes:
|
||||
|
||||
### Step 3: Update Docker Compose
|
||||
Open `docker-compose.yaml`:
|
||||
```bash
|
||||
nano /opt/yams/docker-compose.yaml
|
||||
```
|
||||
|
||||
Find the qBittorrent section and make these changes:
|
||||
```yaml
|
||||
qbittorrent:
|
||||
# ports: # Comment out these lines
|
||||
# - 8081:8081
|
||||
network_mode: "service:gluetun" # Uncomment this line
|
||||
...
|
||||
# ports: # qbittorrent -> Comment this line
|
||||
# - 8080:8080 # qbittorrent -> Comment this line
|
||||
network_mode: "service:gluetun" -> Uncomment this line
|
||||
```
|
||||
|
||||
Find the SABnzbd section and make similar changes:
|
||||
Then, at the bottom, find the `gluetun` config and make the following changes:
|
||||
|
||||
```yaml
|
||||
sabnzbd:
|
||||
# ports: # Comment out these lines
|
||||
# - 8080:8080
|
||||
network_mode: "service:gluetun" # Uncomment this line
|
||||
...
|
||||
- 8080:8080/tcp # gluetun -> Uncomment this line
|
||||
...
|
||||
environment:
|
||||
- VPN_SERVICE_PROVIDER=<vpn_service> # -> Replace "<vpn_service>" with your VPN service provider
|
||||
- VPN_TYPE=openvpn
|
||||
- OPENVPN_USER=<vpn_user> # -> Replace "<vpn_user>" with your VPN username
|
||||
- OPENVPN_PASSWORD=<vpn_password> # -> Replace "<vpn_password>" with your VPN password
|
||||
- SERVER_COUNTRIES=<vpn_country> # -> Replacee "<vpn_country>" with your VPN country
|
||||
```
|
||||
|
||||
At the bottom, find the gluetun section and uncomment these ports:
|
||||
```yaml
|
||||
gluetun:
|
||||
ports:
|
||||
- 8080:8080/tcp # Uncomment this line
|
||||
- 8081:8081/tcp # Uncomment this line
|
||||
```
|
||||
Now, restart `YAMS`:
|
||||
|
||||
### Step 4: Restart and Test
|
||||
```bash
|
||||
yams restart
|
||||
$ yams restart
|
||||
```
|
||||
|
||||
### Step 5: Verify Everything Works
|
||||
```bash
|
||||
yams check-vpn
|
||||
```
|
||||
Finally, check that your VPN is running correctly:
|
||||
|
||||
You should see something like:
|
||||
```bash
|
||||
$ yams check-vpn
|
||||
|
||||
Getting your qBittorrent IP...
|
||||
<qbittorrent_ip>
|
||||
<your_qbittorrent_ip>
|
||||
Your country in qBittorrent is Brazil
|
||||
|
||||
Getting your IP...
|
||||
@ -122,53 +98,8 @@ Your local IP country is North Korea
|
||||
Your IPs are different. qBittorrent is working as expected! ✅
|
||||
```
|
||||
|
||||
If you get an error, double-check all your settings and make sure they're correct!
|
||||
If it's not running correctly, check every setting and make sure they are all correct.
|
||||
|
||||
## Pro Tips 🎯
|
||||
## Double-check your torrent client IP address
|
||||
|
||||
1. **Regular Checks**: Run `yams check-vpn` periodically to make sure your VPN is working correctly
|
||||
2. **Kill Switch**: YAMS automatically includes a kill switch - if the VPN goes down, your downloads stop too!
|
||||
3. **Speed Matters**: Choose a VPN server that's relatively close to you for better download speeds
|
||||
4. **Port Problems**: If you can't access qBittorrent after setting up the VPN, check the troubleshooting section below
|
||||
|
||||
## Switching to WireGuard ⚡
|
||||
|
||||
By default, YAMS uses **OpenVPN** for Gluetun. But if your VPN provider supports it, you can switch to **WireGuard** for faster speeds and quicker connections.
|
||||
|
||||
We recommend ProtonVPN for this, and we’ve written a full guide to help you switch:
|
||||
|
||||
👉 [Switching Gluetun to WireGuard](/advanced/wireguard/)
|
||||
|
||||
> 💡 If you store your WireGuard private key in the `.env` file, make sure to read the [Environment File Guide](/advanced/env-file/) to learn how to manage secrets securely.
|
||||
|
||||
## Troubleshooting 🔧
|
||||
|
||||
### Common Issues:
|
||||
|
||||
1. **Can't access qBittorrent:**
|
||||
- Check gluetun logs: `docker logs gluetun`
|
||||
- Verify your VPN credentials
|
||||
- Make sure ports are configured correctly
|
||||
|
||||
2. **VPN keeps disconnecting:**
|
||||
- Try a different VPN server
|
||||
- Check your internet connection
|
||||
- Review the gluetun logs for errors
|
||||
|
||||
3. **Slow speeds:**
|
||||
- Try a server closer to your location
|
||||
- Check if your VPN provider throttles P2P traffic
|
||||
- Some providers have specialized servers for torrenting - try those!
|
||||
|
||||
## Need Extra Security? 🛡️
|
||||
|
||||
Want to double-check that your torrent client is really using the VPN? Head over to [Double-checking your torrent client IP address](/advanced/torrenting/#double-checking-your-torrent-client-ip-address) for a detailed guide!
|
||||
|
||||
## Still Need Help? 🆘
|
||||
|
||||
If you're stuck:
|
||||
1. Check our [Common Issues](/faqs/common-errors/#gluetun-does-not-connect) page
|
||||
2. Visit the [YAMS Forum](https://forum.yams.media)
|
||||
3. Join our [Discord](https://discord.gg/Gwae3tNMST) or [Matrix](https://matrix.to/#/#yams-space:rogs.me) chat
|
||||
|
||||
Remember: A working VPN is crucial for safe downloading. Take the time to set it up right, and you'll be good to go! 🚀
|
||||
Go [here](/advanced/torrenting/#double-checking-your-torrent-client-ip-address).
|
||||
|
@ -1,137 +0,0 @@
|
||||
---
|
||||
title: "Switching Gluetun to WireGuard"
|
||||
date: 2025-04-05T12:00:00-03:00
|
||||
draft: false
|
||||
weight: 55
|
||||
summary: Learn how to switch your Gluetun VPN configuration from OpenVPN to WireGuard for faster and more reliable connections.
|
||||
---
|
||||
|
||||
Want faster VPN speeds and quicker connection times? It's time to switch from OpenVPN to **WireGuard**! This guide will walk you through updating your Gluetun configuration to use WireGuard — with a focus on **ProtonVPN**.
|
||||
|
||||
> ✅ **Why switch?** WireGuard is a modern VPN protocol that’s faster, more efficient, and easier to configure than OpenVPN.
|
||||
|
||||
---
|
||||
|
||||
## For ProtonVPN Users 🚀
|
||||
|
||||
ProtonVPN makes it easy to use WireGuard with Gluetun. Here's how to update your configuration.
|
||||
|
||||
### Step 1: Get Your WireGuard Private Key 🔑
|
||||
|
||||
1. Go to [ProtonVPN WireGuard Config Generator](https://account.proton.me/u/0/vpn/WireGuard)
|
||||
2. Select a server and enable **Port Forwarding** and **Moderate NAT** (optional)
|
||||
3. Click **Download** to get the `.conf` file
|
||||
4. Open the file and copy the value of `PrivateKey`
|
||||
|
||||
It will look something like this:
|
||||
```
|
||||
PrivateKey = wOEI9rqqbDwnN8/Bpp22sVz48T71vJ4fYmFWujulwUU=
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 2: Update Your `.env` File 🛠️
|
||||
|
||||
Open your `.env` file and remove the OpenVPN credentials:
|
||||
|
||||
```bash
|
||||
nano /opt/yams/.env
|
||||
```
|
||||
|
||||
Remove or comment out:
|
||||
```env
|
||||
VPN_USER=your-username
|
||||
VPN_PASSWORD=your-password
|
||||
```
|
||||
|
||||
You can also remove `VPN_SERVICE=protonvpn` if you want to hardcode it in the compose file (see below), or leave it — both work.
|
||||
|
||||
> 💡 Not sure how the `.env` file works? Check out our [Environment File Guide](/advanced/env-file/) to learn how to manage variables like `WIREGUARD_PRIVATE_KEY` securely.
|
||||
|
||||
---
|
||||
|
||||
### Step 3: Update `docker-compose.yaml` 🐳
|
||||
|
||||
Find the `gluetun` service and replace the `environment:` section with the following:
|
||||
|
||||
```yaml
|
||||
environment:
|
||||
- VPN_SERVICE_PROVIDER=protonvpn
|
||||
- VPN_TYPE=wireguard
|
||||
- WIREGUARD_PRIVATE_KEY=wOEI9rqqbDwnN8/Bpp22sVz48T71vJ4fYmFWujulwUU=
|
||||
- VPN_PORT_FORWARDING=on
|
||||
- VPN_PORT_FORWARDING_PROVIDER=protonvpn
|
||||
- PORT_FORWARD_ONLY=on
|
||||
```
|
||||
|
||||
> 🧠 **Tip:** You can still use `${VARIABLE}` syntax if you prefer to keep the private key in your `.env` file. See the [Environment File Guide](/advanced/env-file/) for more info.
|
||||
|
||||
---
|
||||
|
||||
### Step 4: Restart YAMS 🔄
|
||||
|
||||
Apply the changes:
|
||||
|
||||
```bash
|
||||
yams restart
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 5: Verify It’s Working ✅
|
||||
|
||||
Run the VPN check:
|
||||
|
||||
```bash
|
||||
yams check-vpn
|
||||
```
|
||||
|
||||
You should see your qBittorrent IP is different from your local IP — and located in the country you selected in ProtonVPN.
|
||||
|
||||
You can also check the Gluetun logs:
|
||||
|
||||
```bash
|
||||
docker logs gluetun
|
||||
```
|
||||
|
||||
Look for lines like:
|
||||
```
|
||||
Using VPN provider: protonvpn
|
||||
VPN type: wireguard
|
||||
Port forwarding is enabled
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## For Other VPN Providers 🌐
|
||||
|
||||
WireGuard support varies by provider. Here’s what to do:
|
||||
|
||||
1. Visit the [Gluetun Provider Docs](https://github.com/qdm12/gluetun-wiki/tree/main/setup/providers)
|
||||
2. Find your VPN provider and follow their WireGuard instructions
|
||||
3. Replace the `gluetun` environment variables in your `docker-compose.yaml` accordingly
|
||||
|
||||
> ⚠️ Not all providers support WireGuard or port forwarding. Check their documentation carefully.
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting 🔧
|
||||
|
||||
### Gluetun won’t start?
|
||||
- Double-check your `WIREGUARD_PRIVATE_KEY`
|
||||
- Make sure `VPN_TYPE=wireguard` is set
|
||||
- Check for typos in your `docker-compose.yaml`
|
||||
|
||||
### Port forwarding not working?
|
||||
- Ensure `VPN_PORT_FORWARDING=on` and `PORT_FORWARD_ONLY=on` are set
|
||||
- Verify that port forwarding is enabled in your ProtonVPN config
|
||||
- Check Gluetun logs for forwarded port info
|
||||
|
||||
---
|
||||
|
||||
## Need Help? 🆘
|
||||
|
||||
If you're stuck:
|
||||
- Visit our [Common Issues](/faqs/common-errors/) page
|
||||
- Join our [Discord](https://discord.gg/Gwae3tNMST) or [Matrix](https://matrix.to/#/#yams-space:rogs.me) chat
|
||||
- Or ask in the [YAMS Forum](https://forum.yams.media)
|
@ -4,8 +4,6 @@ date: 2023-01-10T19:25:57-03:00
|
||||
draft: false
|
||||
---
|
||||
|
||||
This site includes instructions for a **basic** configuration. I recommend you follow the order of the configurations - everything will make sense in the end!
|
||||
This site includes instructions for a **basic** configuration. I recommend you follow the order of the configurations, they will all make sense in the end!
|
||||
|
||||
All the pictures in the tutorials are in high resolution. If you can't read something in an instruction, just click on the image to see the full-size version!
|
||||
|
||||
Let's get started! 🚀
|
||||
All the pictures in the tutorials are in high resolution. In case you can't read one of the instructions, you can click on them anytime to see the full image.
|
||||
|
@ -12,7 +12,7 @@ From their [website](https://www.bazarr.media/):
|
||||
|
||||
> Bazarr is a companion application to Sonarr and Radarr that manages and downloads subtitles based on your requirements.
|
||||
|
||||
In YAMS, Bazarr is your subtitle superstar! 🌟 It's going to download subtitles in any language you choose, sort them, and put them right where Emby/Jellyfin/Plex can find them. No more hunting for subtitles manually!
|
||||
In YAMS, Bazarr is going to download subtitles on any language you choose, sort them and put them in the correct location for Emby to grab.
|
||||
|
||||
## Initial Configuration
|
||||
|
||||
@ -20,160 +20,158 @@ In your browser, go to [http://{your-ip-address}:6767/]() and you'll see Bazarr'
|
||||
|
||||
[](/pics/bazarr-1.png)
|
||||
|
||||
The default settings here are fine - no need to change anything yet!
|
||||
You don't have to change anything on this screen.
|
||||
|
||||
### Languages
|
||||
|
||||
On the left side menu, click on "Languages". This is where the fun begins! 🎬
|
||||
On the left side menu, click on "Languages".
|
||||
|
||||
In the "Languages Filter" box, pick all the languages you want subtitles for. For this tutorial, I'm going with:
|
||||
- `English` (because why not?)
|
||||
- `Spanish` (¿por qué no?)
|
||||
- `Latin American Spanish` (different flavor, same great taste!)
|
||||
On the "Languages" page, go to the "Languages Filter" box and select the languages you want to use. For this tutorial, I will choose `English`, `Spanish`, and `Latin American Spanish`.
|
||||
|
||||
After choosing your languages, click on "Add New Profile"
|
||||
When you have chosen your languages, click on "Add New Profile"
|
||||
|
||||
[](/pics/bazarr-2.png)
|
||||
|
||||
In the "Edit Languages Profile" modal:
|
||||
1. Give your profile a name (anything you want!)
|
||||
2. Click on "Add Language"
|
||||
3. **Important:** Click "Add Language" once for EACH language you picked earlier!
|
||||
Now, on the "Edit Languages Profile" modal, add a name (it can be whatever you want), and click on "Add Language".
|
||||
|
||||
Since I picked 3 languages earlier, I need to click "Add Language" three times. Math! 🧮
|
||||
**Note: You have to click on "Add language" once per each language you added in the last step**.
|
||||
|
||||
When you're done, click "Save" at the bottom.
|
||||
Since I added 3 languages (`English`, `Spanish`, and `Latin American Spanish`), I'm going to add 3 languages on the modal.
|
||||
|
||||
When you are done, you can click on "Save" at the bottom.
|
||||
|
||||
[](/pics/bazarr-3.png)
|
||||
|
||||
Back on the "Languages" page, set your new profile as the default for both Series and Movies.
|
||||
Back at the "Languages" page, you can set your new "Language Profile" as the default for Series and Movies.
|
||||
|
||||
[](/pics/bazarr-4.png)
|
||||
|
||||
You should end up with something like this:
|
||||
In the end, you should have something similar to this:
|
||||
|
||||
[](/pics/bazarr-5.png)
|
||||
|
||||
Happy with how it looks? Hit "Save" at the top of the page!
|
||||
If you are happy with the configuration, click on "Save" at the top of the page.
|
||||
|
||||
[](/pics/bazarr-6.png)
|
||||
|
||||
### Providers
|
||||
|
||||
Time to tell Bazarr where to find those subtitles! Click on "Providers" in the left menu, then click that big ➕ sign.
|
||||
On the left side menu, click on "Providers". You'll see the empty providers page. To add providers, click on the big ➕ sign.
|
||||
|
||||
[](/pics/bazarr-7.png)
|
||||
|
||||
You'll see a HUGE list of providers - and they even include descriptions! How thoughtful! 📚
|
||||
Here, you can search from a LOT of providers! They even include a little description so you know what they are.
|
||||
|
||||
[](/pics/bazarr-8.png)
|
||||
|
||||
For this tutorial, we'll just add [OpenSubtitles.org](https://www.opensubtitles.org/en/search/subs), but feel free to add more later! The more providers you have, the better chance of finding perfect subtitles.
|
||||
For this tutorial, I'll just add [OpenSubtitles.org](https://www.opensubtitles.org/en/search/subs), but you can add more later.
|
||||
|
||||
Some providers (including OpenSubtitles.org) need a username and password. If you don't have an account yet, go ahead and create one - I'll wait! ⏳
|
||||
Some of the providers might ask you for a username and password. If you don't have an account for OpenSubtitles.org yet, create it.
|
||||
|
||||
Got your login info? Great! Enter it and click "Save"
|
||||
After entering your login information, click on "Save"
|
||||
|
||||
[](/pics/bazarr-9.png)
|
||||
|
||||
Now you'll see OpenSubtitles.org in your providers list! Click "Save" at the top of the page if you're happy with the changes.
|
||||
Now, you'll see OpenSubtitles.org as a new provider for Bazarr! If you are happy with the changes, click on "Save" at the top of the page.
|
||||
|
||||
[](/pics/bazarr-10.png)
|
||||
|
||||
### Subtitles
|
||||
|
||||
Click on "Subtitles" in the left menu and scroll down to "Performance / Optimization".
|
||||
On the left side menu, click on "Subtitles" and scroll down to "Performance / Optimization". There, you should disable "Use Embedded Subtitles".
|
||||
|
||||
First thing to do: Disable "Use Embedded Subtitles". We want our subtitles free-range, not caged! 🐓
|
||||
A little down, you'll see the "Post-Processing" settings. Enable:
|
||||
|
||||
A bit further down, you'll find "Post-Processing". Enable these options:
|
||||
- "Encode Subtitles to UTF8" (keeps everything readable)
|
||||
- "Hearing Impaired" (removes those [DOOR CREAKS] descriptions)
|
||||
- "Remove Tags" (cleans up formatting)
|
||||
- "OCR Fixes" (fixes common scanning errors)
|
||||
- "Common Fixes" (fixes... common stuff! 😅)
|
||||
- "Fix Uppercase" (NO MORE SHOUTING IN SUBTITLES)
|
||||
- "Encode Subtitles to UTF8".
|
||||
- "Hearing Impaired".
|
||||
- "Remove Tags".
|
||||
- "OCR Fixes".
|
||||
- "Common Fixes".
|
||||
- "Fix Uppercase"
|
||||
|
||||
[](/pics/bazarr-11.png)
|
||||
|
||||
Now scroll aaaaaall the way to the bottom and enable:
|
||||
- "Automatic Subtitles Synchronization"
|
||||
- Set both "Series Score Threshold" and "Movies Score Threshold" to 50
|
||||
Now, scroll all the way to the bottom and enable:
|
||||
|
||||
Why 50? I've found it's a good balance - Bazarr can still find good subtitles but won't use terrible ones. Feel free to adjust this if you want to be more or less picky!
|
||||
- "Automatic Subtitles Synchronization".
|
||||
- "Series Score Threshold" and set it to 50.
|
||||
- "Movies Score Threshold" and set it to 50.
|
||||
|
||||
I've found that with a threshold of 50, Bazarr can still find good subtitles and synchronize them if necessary. You can tune this if you want.
|
||||
|
||||
[](/pics/bazarr-12.png)
|
||||
|
||||
Happy with your settings? Hit "Save" at the top!
|
||||
If you are happy with the changes, click on "Save" at the top of the page.
|
||||
|
||||
[](/pics/bazarr-13.png)
|
||||
|
||||
### Connecting to Sonarr
|
||||
### Sonarr
|
||||
|
||||
Time to link Bazarr with [Sonarr](/config/sonarr)! First, we need Sonarr's API key.
|
||||
This is how you will tie in Bazarr with [Sonarr](/config/sonarr).
|
||||
|
||||
Head to [http://{your-ip-address}:8989/settings/general]() and find the API Key under "Security".
|
||||
First, you are going to need your Sonarr API Key.
|
||||
|
||||
You can get your Sonarr API Key in Sonarr. Go to [http://{your-ip-address}:8989/settings/general]() to open Sonarr's settings, and you'll find the API Key under the "Security" section.
|
||||
|
||||
[](/pics/bazarr-14.png)
|
||||
|
||||
Copy that key and keep it safe!
|
||||
For now, just copy it and keep it in a safe location.
|
||||
|
||||
Back in Bazarr, click on "Sonarr" in the left menu.
|
||||
Now, back at Bazarr on the left side menu, click on "Sonarr".
|
||||
|
||||
By default, Sonarr is disabled. Let's fix that! Enable Sonarr and you'll see lots of new options. Don't panic - you only need to change a few:
|
||||
Sonarr is disabled by default. To begin, enable Sonarr. A lot of new options will appear, but you only have to change a few.
|
||||
|
||||
- Address: set to `sonarr`
|
||||
- API Key: paste in Sonarr's API Key
|
||||
- Click "Test"
|
||||
- On Address, set `sonarr`.
|
||||
- On API Key, just paste Sonarr's API Key.
|
||||
- Click on "Test"
|
||||
|
||||
If everything's working, you'll see your Sonarr version on the button! 🎉
|
||||
If everything worked, you should see your current Sonarr version on the button!
|
||||
|
||||
[](/pics/bazarr-15.png)
|
||||
|
||||
Click "Save" at the top of the page to finish up.
|
||||
To finish, click on "Save" at the top of the page.
|
||||
|
||||
[](/pics/bazarr-16.png)
|
||||
|
||||
Magic time! The "Series" section should appear in your left menu! ✨
|
||||
After saving, you'll see how the "Series" section appears on the left side menu!
|
||||
|
||||
[](/pics/bazarr-19.png)
|
||||
|
||||
### Connecting to Radarr
|
||||
### Radarr
|
||||
|
||||
Now let's connect to [Radarr](/config/radarr)! First step: get that API key.
|
||||
This is how you will tie in Bazarr with [Radarr](/config/radarr).
|
||||
|
||||
Go to [http://{your-ip-address}:7878/settings/general]() and find the API Key under "Security".
|
||||
First, you are going to need your Radarr API Key.
|
||||
|
||||
You can get your Radarr API Key in Radarr. Go to [http://{your-ip-address}:7878/settings/general]() to open Radarr's settings, and you'll find the API Key under the "Security" section.
|
||||
|
||||
[](/pics/bazarr-17.png)
|
||||
|
||||
Copy that key and keep it handy!
|
||||
For now, just copy it and keep it in a safe location.
|
||||
|
||||
Back in Bazarr, click "Radarr" in the left menu.
|
||||
Now, back at Bazarr on the left side menu, click on "Radarr".
|
||||
|
||||
Just like with Sonarr, Radarr is disabled by default. Enable it and fill in:
|
||||
- Address: set to `radarr`
|
||||
- API Key: paste in Radarr's API Key
|
||||
- Click "Test"
|
||||
Radarr is disabled by default. To begin, enable Radarr. A lot of new options will appear, but you only have to change a few.
|
||||
|
||||
If the test works, you'll see your Radarr version on the button! 🎯
|
||||
- On Address, set `radarr`.
|
||||
- On API Key, just paste Radarr's API Key.
|
||||
- Click on "Test"
|
||||
|
||||
If everything worked, you should see your current Radarr version on the button!
|
||||
|
||||
[](/pics/bazarr-18.png)
|
||||
|
||||
Click "Save" at the top to wrap things up.
|
||||
To finish, click on "Save" at the top of the page.
|
||||
|
||||
[](/pics/bazarr-20.png)
|
||||
|
||||
More magic! The "Movies" section appears in your left menu! ✨
|
||||
After saving, you'll see how the "Movies" section appears on the left side menu!
|
||||
|
||||
[](/pics/bazarr-21.png)
|
||||
|
||||
### Almost there! 🏃♂️
|
||||
### All done!
|
||||
|
||||
Just one last step! Time to set up your media service. Pick your path:
|
||||
- [Jellyfin](/config/jellyfin)
|
||||
- [Emby](/config/emby)
|
||||
- [Plex](/config/plex)
|
||||
|
||||
## Want to become a subtitle master? 🎓
|
||||
|
||||
If you want to really dive into Bazarr's settings, check out the [TRaSH Guide for Bazarr](https://trash-guides.info/Bazarr/). They've got some amazing advanced configurations in there!
|
||||
Only one more step left! Continue with your media service. Depending on what you chose, you can move forward with:
|
||||
- [Jellyfin](/config/jellyfin).
|
||||
- [Emby](/config/emby).
|
||||
- [Plex](/config/plex).
|
||||
|
76
content/config/easy-mode.md
Normal file
@ -0,0 +1,76 @@
|
||||
---
|
||||
title: "Easy mode"
|
||||
date: 2023-01-13T15:37:32-03:00
|
||||
draft: false
|
||||
weight: 1
|
||||
summary: Easy initial configuration for YAMS. This is only intended for people that know what they are doing! If this is the first time you are configuring YAMS or it's the first time you are using any of the programs in YAMS, **⚠️ don't enter here! ⚠️**
|
||||
---
|
||||
|
||||
# ⚠️ This is intended for experts! ⚠️ You have been warned.
|
||||
|
||||
I **strongly recommend** you configure everything yourself by following the tutorial. That way, you'll know what everything does and how everything is connected.
|
||||
|
||||
If this is your first time configuring YAMS, and want to go through the full manual configuration, go to [qBittorrent](/config/qbittorrent) and start the configuration **(Recommended)**.
|
||||
|
||||
If this is not your first time configuring YAMS, or you already know how to use all the software included, you can move forward.
|
||||
|
||||
# Installation
|
||||
|
||||
If you go back to the [folder where you cloned YAMS](/install/steps/#cloning-from-gitlab), you'll see there's a folder called `base` with a `tar.gz` file called `base-config.tar.gz`.
|
||||
|
||||
`base-config.tar.gz` has a bare-bones configuration for YAMS. With it, you'll have YAMS configured at 100%, just like if you followed the configuration tutorial.
|
||||
|
||||
To apply the configuration, first go to your YAMS install location. For the purposes of this tutorial, let's say you installed it on the recommended location of `/opt/yams`.
|
||||
|
||||
```bash
|
||||
$ cd /opt/yams
|
||||
```
|
||||
|
||||
On your YAMS install location, if you run an `ls` you'll see you have a `config/` folder. `cd` into it and you'll find all the configuration files for each of the apps included with YAMS.
|
||||
|
||||
```bash
|
||||
/opt/yams$ ls
|
||||
config docker-compose.yaml
|
||||
|
||||
/opt/yams$ cd config
|
||||
|
||||
/opt/yams/config$ ls
|
||||
bazarr emby prowlarr qbittorrent radarr sonarr
|
||||
```
|
||||
|
||||
Now, shut down `yams`
|
||||
```bash
|
||||
/opt/yams/config$ yams stop
|
||||
```
|
||||
|
||||
Then, `rm -r` all the files on the `config` folder:
|
||||
|
||||
```bash
|
||||
/opt/yams/config$ rm -r *
|
||||
```
|
||||
|
||||
To finish, extract the base file in your config folder. Remember to replace `{your-yams-clone-location}` with the real location within your filesystem:
|
||||
|
||||
```bash
|
||||
/opt/yams/config$ tar -xzvf {your-yams-clone-location}/base/base-config.tar.gz
|
||||
```
|
||||
|
||||
If you `ls` now, you'll see all the folders were extracted and are available again
|
||||
```bash
|
||||
/opt/yams/config$ ls
|
||||
bazarr emby prowlarr qbittorrent radarr sonarr
|
||||
```
|
||||
|
||||
To restart `yams`, run:
|
||||
```bash
|
||||
/opt/yams/config$ yams start
|
||||
```
|
||||
|
||||
## Default usernames and passwords
|
||||
|
||||
If anything asks you for an username and password, the defaults are:
|
||||
|
||||
- username: admin
|
||||
- password: 12345
|
||||
|
||||
And that's it! You should have everything configured and running from zero. You can now jump to [Running everything together](/config/running-everything-together/).
|
@ -9,127 +9,118 @@ summary: Emby brings together your personal videos, music, photos, and live tele
|
||||
|
||||
# What is Emby?
|
||||
|
||||
From their [website](https://emby.media/about.html):
|
||||
From their [website](https://emby.media/about.html)
|
||||
|
||||
> Emby brings together your personal videos, music, photos, and live television. (...) Emby Server automatically converts and streams your personal media on the fly to play on any device.
|
||||
|
||||
In YAMS, Emby is your streaming service superstar! 🌟 Just like Netflix or Amazon Prime, Emby lets you stream all your media to any device. The best part? You're in complete control!
|
||||
On YAMS, Emby is one of the most important parts: Emby is going to be your "Netflix", "Hulu" or "Amazon Prime". This means you'll be able to stream your TV shows and movies to any device using Emby.
|
||||
|
||||
## Initial configuration
|
||||
|
||||
In your browser, go to [http://{your-ip-address}:8096/]() and you'll see Emby's setup page.
|
||||
|
||||
First up, pick your display language and click on "Next".
|
||||
Choose your display language and click on "Next".
|
||||
|
||||
[](/pics/emby-1.png)
|
||||
|
||||
Time to create your first user! This will be your admin account, so make it a good one. When you're done, click "Next".
|
||||
Now, create your first user. When you are done, click on "Next".
|
||||
|
||||
[](/pics/emby-2.png)
|
||||
|
||||
Now we're at the "Setup Media Libraries" page. Click on "New Library" - let's tell Emby where all your awesome content lives! 🎬
|
||||
Next, on the "Setup Media Libraries" page, click on "New Library".
|
||||
|
||||
[](/pics/emby-3.png)
|
||||
|
||||
### Setting up your TV Shows library
|
||||
### Setting the "TV Shows" library
|
||||
|
||||
On the "New Library" modal, pick "TV shows" as your Content type and click that big ➕ sign next to "Folders".
|
||||
On the "New Library" modal, select "TV shows" as your Content type and click on the big ➕ sign next to "Folders".
|
||||
|
||||
[](/pics/emby-4.png)
|
||||
|
||||
In "Select Path", choose the `/data/tvshows` folder and click "Ok"
|
||||
In "Select Path", select the folder `/data/tvshows` and click on "Ok"
|
||||
|
||||
[](/pics/emby-5.png)
|
||||
|
||||
**Docker Magic Note:** 🎩 Don't worry if this path looks weird! The `/data/tvshows/` folder exists inside the docker environment and maps to your server's `/mediafolder/media/tvshows/` folder. It's all connected behind the scenes!
|
||||
**Note:** This is NOT on your filesystem! The `/data/tvshows/` folder exists inside the `docker` environment and maps to your server `/mediafolder/tv/` folder!
|
||||
|
||||
You'll see your newly added folder in the modal:
|
||||
|
||||
You should see your recently added folder in the "New Library" modal.
|
||||
|
||||
[](/pics/emby-6.png)
|
||||
|
||||
Pick your preferred metadata language. All the default settings are good to go, but feel free to tweak them if you want to get fancy!
|
||||
Finally, set your metadata language to your favorite language. All the default settings that follow are fine, but you can change them if you want.
|
||||
|
||||
Your "New Library" screen should look something like this:
|
||||
Your "New Library" screen should look like this:
|
||||
|
||||
[](/pics/emby-7.png)
|
||||
|
||||
Happy with how it looks? Click "Ok". Your TV Shows library is ready for action! 📺
|
||||
If you are okay with the settings, click on "Ok". Your library should be added now!
|
||||
|
||||
[](/pics/emby-8.png)
|
||||
|
||||
### Setting up your Movies library
|
||||
|
||||
Let's do that one more time! Click "New Library" again.
|
||||
### Setting the "Movies" library
|
||||
|
||||
This time, pick "Movies" as your Content type and click the ➕ next to "Folders".
|
||||
Open the "New Library modal" again.
|
||||
|
||||
On the "New Library" modal, select "Movies" as your Content type and click on the big ➕ sign next to "Folders".
|
||||
|
||||
[](/pics/emby-9.png)
|
||||
|
||||
Choose the `/data/movies` folder and click "Ok"
|
||||
In "Select Path", select the folder `/data/movies` and click on "Ok"
|
||||
|
||||
[](/pics/emby-10.png)
|
||||
|
||||
**More Docker Magic:** ✨ Just like before, `/data/movies/` is actually mapping to your server's `/mediafolder/media/movies/` folder. Docker is doing its thing!
|
||||
**Note:** This is NOT on your filesystem! The `/data/movies/` folder exists inside the `docker` environment and maps to your server `/mediafolder/movies/` folder!
|
||||
|
||||
Your folder should show up in the modal:
|
||||
|
||||
You should see your recently added folder in the "New Library" modal.
|
||||
|
||||
[](/pics/emby-11.png)
|
||||
|
||||
Set your preferred metadata language again. The defaults are still your friend here!
|
||||
Finally, set your metadata language to your favorite language. All the default settings that follow are fine, but you can change them if you want.
|
||||
|
||||
The screen should look something like this:
|
||||
Your "New Library" screen should look like this:
|
||||
|
||||
[](/pics/emby-12.png)
|
||||
|
||||
All set? Click "Ok". Your Movies library is now ready! 🎬
|
||||
If you are okay with the settings, click on "Ok". Your library should be added now!
|
||||
|
||||
[](/pics/emby-13.png)
|
||||
|
||||
Time to move forward - click that "Next" button!
|
||||
To finish, click on the "Next" button.
|
||||
|
||||
[](/pics/emby-14.png)
|
||||
|
||||
### Wrapping up the setup
|
||||
### Continuing the setup
|
||||
|
||||
On the "Preferred Metadata Language" page, pick your language and country preferences, then click "Next".
|
||||
On the "Preferred Metadata Language" page, you can choose the language and country of your metadata. Choose your preferred language and country and click "Next".
|
||||
|
||||
[](/pics/emby-15.png)
|
||||
|
||||
For the "Configure Remote Access" page, let's keep things simple and secure:
|
||||
- Disable "Enable automatic port mapping"
|
||||
- Click "Next"
|
||||
Next, on the "Configure Remote Access" page, disable "Enable automatic port mapping" and click on "Next".
|
||||
|
||||
[](/pics/emby-16.png)
|
||||
|
||||
Time to accept the terms of service (you read those, right? 😉). Click "Next".
|
||||
Accept the terms of service and click on "Next".
|
||||
|
||||
[](/pics/emby-17.png)
|
||||
|
||||
You're all done! Click "Finish" to see your new Emby dashboard. 🎉
|
||||
And you are finally done! Click on "Finish" to go to your Emby dashboard.
|
||||
[](/pics/emby-18.png)
|
||||
|
||||
### Logging in to Emby
|
||||
|
||||
First up, pick your user and log in with the credentials you created earlier.
|
||||
On the "Please Sign In" screen, select your user and log in with the username/password you set in the [Initial configuration](#initial-configuration) step.
|
||||
|
||||
[](/pics/emby-19.png)
|
||||
|
||||
[](/pics/emby-20.png)
|
||||
|
||||
And there it is! Your very own streaming service, ready to go! 🌟
|
||||
And there it is! Your Emby home page is up and running!
|
||||
|
||||
[](/pics/emby-21.png)
|
||||
|
||||
## That's all folks! 🎬
|
||||
## That's all!
|
||||
|
||||
YAMS is fully up and running! Want to see how everything works together? Head over to [Running everything together](/config/running-everything-together).
|
||||
|
||||
## Pro Tip! 💡
|
||||
|
||||
If you're loving Emby, I highly recommend checking out [Emby Premiere](https://emby.media/premiere.html)! It's totally optional, but it gives you some really cool features like:
|
||||
- Offline media for your devices
|
||||
- Hardware transcoding (smoother playback!)
|
||||
- Auto-conversion of your content
|
||||
- And lots more!
|
||||
|
||||
I actually canceled all my streaming services, bought a 1-year Emby Premiere license, and never looked back. Just saying! 😉
|
||||
YAMS is fully up and running! Now, let's add some content. Move on to [Running everything together](/config/running-everything-together).
|
||||
|
@ -8,109 +8,112 @@ summary: Jellyfin is the volunteer-built media solution that puts you in control
|
||||
|
||||
# What is Jellyfin?
|
||||
|
||||
From their [website](https://jellyfin.org/):
|
||||
From their [website](https://jellyfin.org/)
|
||||
|
||||
> Jellyfin is the volunteer-built media solution that puts you in control of your media. Stream to any device from your own server, with no strings attached. Your media, your server, your way.
|
||||
|
||||
In YAMS, Jellyfin is going to be your personal Netflix! 🍿 It's 100% open source and lets you stream your TV shows and movies to any device. Best part? No monthly fees!
|
||||
On YAMS, Jellyfin is one of the most important parts: Jellyfin is going to be your "Netflix", "Hulu" or "Amazon Prime". This means you'll be able to stream your TV shows and movies to any device using Jellyfin. Best part: Is 100% open source!
|
||||
|
||||
## Initial configuration
|
||||
|
||||
In your browser, go to [http://{your-ip-address}:8096/]() and you'll see Jellyfin's setup page.
|
||||
|
||||
First things first - pick your display language and click "Next".
|
||||
Choose your display language and click on "Next".
|
||||
|
||||
[](/pics/jellyfin-1.png)
|
||||
|
||||
Time to create your first user! This will be your admin account, so make it secure. When you're done, click "Next".
|
||||
Now, create your first user. When you are done, click on "Next".
|
||||
|
||||
[](/pics/jellyfin-2.png)
|
||||
|
||||
Now we're at the "Setup Media Libraries" page. Click on "New Library" - let's tell Jellyfin where to find all your media! 📚
|
||||
Next, on the "Setup Media Libraries" page, click on "New Library".
|
||||
|
||||
[](/pics/jellyfin-3.png)
|
||||
|
||||
### Setting up your TV Shows library
|
||||
### Setting the "TV Shows" library
|
||||
|
||||
On the "New Library" modal, pick "Shows" as your Content type and click the big ➕ sign next to "Folders".
|
||||
On the "New Library" modal, select "Shows" as your Content type and click on the big ➕ sign next to "Folders".
|
||||
|
||||
[](/pics/jellyfin-4.png)
|
||||
|
||||
In "Select Path", choose the `/data/tvshows` folder and click "Ok"
|
||||
In "Select Path", select the folder `/data/tvshows` and click on "Ok"
|
||||
|
||||
[](/pics/jellyfin-5.png)
|
||||
|
||||
**Magic Container Note:** 🎩 The `/data/tvshows/` folder isn't actually on your filesystem - it's a special path inside the docker environment that maps to your server's `/mediafolder/media/tvshows/` folder!
|
||||
**Note:** This is NOT on your filesystem! The `/data/tvshows/` folder exists inside the `docker` environment and maps to your server `/mediafolder/tv/` folder!
|
||||
|
||||
You should see your new folder all ready to go in the modal:
|
||||
|
||||
You should see your recently added folder in the "New Library" modal.
|
||||
|
||||
[](/pics/jellyfin-6.png)
|
||||
|
||||
Now set your preferred metadata language. The other default settings are fine, but feel free to tweak them if you want to get fancy!
|
||||
Finally, set your metadata language to your favorite language. All the default settings that follow are fine, but you can change them if you want.
|
||||
|
||||
Your setup should look something like this:
|
||||
Your "New Library" screen should look like this:
|
||||
|
||||
[](/pics/jellyfin-7.png)
|
||||
|
||||
Happy with the settings? Click "Ok". Your TV Shows library is now added! 📺
|
||||
If you are okay with the settings, click on "Ok". Your library should be added now!
|
||||
|
||||
[](/pics/jellyfin-8.png)
|
||||
|
||||
### Setting up your Movies library
|
||||
|
||||
Time for round two! Click that "New Library" button again.
|
||||
### Setting the "Movies" library
|
||||
|
||||
This time, pick "Movies" as your Content type and click the ➕ next to "Folders".
|
||||
Open the "New Library modal" again.
|
||||
|
||||
On the "New Library" modal, select "Movies" as your Content type and click on the big ➕ sign next to "Folders".
|
||||
|
||||
[](/pics/jellyfin-9.png)
|
||||
|
||||
Choose the `/data/movies` folder and click "Ok"
|
||||
In "Select Path", select the folder `/data/movies` and click on "Ok"
|
||||
|
||||
[](/pics/jellyfin-10.png)
|
||||
|
||||
**More Container Magic:** 🎩✨ Just like before, `/data/movies/` is a special docker path that maps to your server's `/mediafolder/media/movies/` folder!
|
||||
**Note:** This is NOT on your filesystem! The `/data/movies/` folder exists inside the `docker` environment and maps to your server `/mediafolder/movies/` folder!
|
||||
|
||||
You should see your movies folder ready to go:
|
||||
|
||||
You should see your recently added folder in the "New Library" modal.
|
||||
|
||||
[](/pics/jellyfin-11.png)
|
||||
|
||||
Set your preferred metadata language again. Default settings are still your friend here!
|
||||
Finally, set your metadata language to your favorite language. All the default settings that follow are fine, but you can change them if you want.
|
||||
|
||||
Your setup should look like this:
|
||||
Your "New Library" screen should look like this:
|
||||
|
||||
[](/pics/jellyfin-12.png)
|
||||
|
||||
Looking good? Click "Ok". Your Movies library is now added! 🎬
|
||||
If you are okay with the settings, click on "Ok". Your library should be added now!
|
||||
|
||||
[](/pics/jellyfin-13.png)
|
||||
|
||||
Time to move forward - click that "Next" button!
|
||||
To finish, click on the "Next" button.
|
||||
|
||||
[](/pics/jellyfin-14.png)
|
||||
|
||||
### Final Setup Steps
|
||||
### Continuing the setup
|
||||
|
||||
On the "Preferred Metadata Language" page, pick your favorite language and country. Then click "Next".
|
||||
On the "Preferred Metadata Language" page, you can choose the language and country of your metadata. Choose your preferred language and country and click "Next".
|
||||
|
||||
[](/pics/jellyfin-15.png)
|
||||
|
||||
For the "Set up Remote Access" page, let's keep things simple - disable "Allow remote connections to this server" and click "Next".
|
||||
Next, on the "Set up Remote Access" page, disable "Allow remote connections to this server" and click on "Next".
|
||||
|
||||
[](/pics/jellyfin-16.png)
|
||||
|
||||
You're done! Click "Finish" to head to your shiny new Jellyfin dashboard. 🎉
|
||||
And you are finally done! Click on "Finish" to go to your Jellyfin dashboard.
|
||||
[](/pics/jellyfin-17.png)
|
||||
|
||||
### Logging in to Jellyfin
|
||||
|
||||
Time to test drive your new setup! On the login screen, use the username and password you created earlier.
|
||||
On the "Please Sign In" screen, log in with the username/password you set in the [Initial configuration](#initial-configuration) step.
|
||||
|
||||
[](/pics/jellyfin-18.png)
|
||||
|
||||
And there it is! Your very own streaming service homepage! 🌟
|
||||
And there it is! Your Jellyfin home page is up and running!
|
||||
|
||||
[](/pics/jellyfin-19.png)
|
||||
|
||||
## That's all folks! 🎬
|
||||
## That's all!
|
||||
|
||||
YAMS is now fully up and running! Ready to add some content? Move on to [Running everything together](/config/running-everything-together) to see how all these pieces work together!
|
||||
YAMS is fully up and running! Now, let's add some content. Move on to [Running everything together](/config/running-everything-together).
|
||||
|
@ -3,7 +3,6 @@ title: "Plex"
|
||||
date: 2023-01-23T13:59:59-03:00
|
||||
draft: false
|
||||
weight: 9
|
||||
summary: Plex is a media streaming platform that organizes your personal media library and lets you stream it anywhere, plus access live TV, movies, and shows.
|
||||
---
|
||||
|
||||
# What is Plex?
|
||||
@ -12,154 +11,148 @@ From their [website](https://www.plex.tv/):
|
||||
|
||||
> With our free app you can add, access, and share all the entertainment that matters to you, on almost any device—including your own personal media collection. Guess that makes us the hardest working app in show business.
|
||||
|
||||
In YAMS, Plex is going to be your streaming service powerhouse! 🌟 It's like having your own Netflix, but with way more control. Plus, sharing with friends and family is super easy!
|
||||
|
||||
**Note:** Be warned that Plex has [recently](https://www.plex.tv/blog/important-2025-plex-updates/) put its most basic features behind a monthly subscription or a single lifetime purchase.
|
||||
On YAMS, Plex is one of the most important parts: Plex is going to be your "Netflix", "Hulu" or "Amazon Prime". This means you'll be able to stream your TV shows and movies to any device using Plex.
|
||||
|
||||
## First steps
|
||||
|
||||
Before we dive in, we need to do a bit of setup magic to let Plex work its charms. First, stop YAMS:
|
||||
To start, you need to allow your IP range to access the Plex setup. In your server, first stop YAMS.
|
||||
|
||||
```bash
|
||||
$ yams stop
|
||||
```
|
||||
|
||||
Now, let's allow your IP range to access Plex. Head to your Plex config folder (I'm assuming your install location is `/opt/yams` - adjust if you used a different path):
|
||||
Now, go to your Plex config in YAMS. For the purposes of this tutorial, I'm asuming your install location is `/opt/yams`.
|
||||
|
||||
```bash
|
||||
$ cd /opt/yams/config/plex/Library/Application\ Support/Plex\ Media\ Server/
|
||||
```
|
||||
|
||||
Inside that folder, we need to edit `Preferences.xml`:
|
||||
Inside that folder, open `Preferences.xml`.
|
||||
|
||||
```bash
|
||||
$ vim Preferences.xml
|
||||
/opt/yams/config/plex/Library/Application Support/Plex Media Server$ vim Preferences.xml
|
||||
```
|
||||
(Don't worry if you're not a vim fan - `nano` works just fine too! 😉)
|
||||
(you don't have to use `vim`, you can use `nano` if you want to).
|
||||
|
||||
Add this line right after the `<Preferences` part:
|
||||
On the `Preferences.xml` file, add the following **after** the `<Preferences ` directive:
|
||||
|
||||
```xml
|
||||
<Preferences allowedNetworks="<your_subnet_IP>/255.255.255.0" ...
|
||||
```
|
||||
|
||||
The `...` means "leave the rest of the file as is" - we're just adding the `allowedNetworks` bit.
|
||||
The `...` is the rest of the XML file, you only have to add the `allowedNetworks` directive.
|
||||
|
||||
### How do you find your subnet IP? 🤔
|
||||
### How do you find your subnet IP?
|
||||
|
||||
It usually follows these patterns:
|
||||
- If your server IP is `192.168.0.100`, your subnet is `192.168.0.0`
|
||||
- If your server IP is `10.0.0.25`, your subnet is `10.0.0.0`
|
||||
This depends on your network configuration, but it _sometimes_ goes with the following rules:
|
||||
- If your server IP is `192.168.0.100`, your subnet is `192.168.0.0`.
|
||||
- If your server IP is `10.0.0.25`, your subnet is `10.0.0.0`.
|
||||
|
||||
Time to restart YAMS:
|
||||
Finally, restart YAMS.
|
||||
|
||||
```bash
|
||||
$ yams restart
|
||||
```
|
||||
|
||||
Let's check if everything's working:
|
||||
To check if everything is working, you can try by running:
|
||||
|
||||
```bash
|
||||
$ docker logs plex
|
||||
```
|
||||
|
||||
If you see something like:
|
||||
If you see something like this:
|
||||
|
||||
```bash
|
||||
Failed to load preferences at /config/Library/Application Support/Plex Media Server/Preferences.xml
|
||||
Failed to load preferences at /config/Library/Application Support/Plex Media Server/Preferences.xml
|
||||
```
|
||||
|
||||
It means your `Preferences.xml` needs some fixing - double-check the format and try again!
|
||||
It means your `Preferences.xml` is badly formatted. Try to fix it and try again.
|
||||
|
||||
**Note:** Want to learn more about this setup? Check out this [TrueNAS community thread](https://www.truenas.com/community/threads/plex-not-authorized-you-do-not-have-access-to-this-server.96858/).
|
||||
Once you finish the Preferences config, you can continue.
|
||||
|
||||
**Note:** You can read more about this fix here: https://www.truenas.com/community/threads/plex-not-authorized-you-do-not-have-access-to-this-server.96858/.
|
||||
|
||||
## Initial configuration
|
||||
|
||||
In your browser, go to [http://{your-ip-address}:32400/web]() and you'll see Plex's setup page. Click "Got it!" to get started.
|
||||
|
||||
**Important Note:** Unlike other YAMS services, Plex requires the "/web" path after the port number. If you just go to port 32400 without "/web", you'll see an XML file instead of the web interface.
|
||||
In your browser, go to [http://{your-ip-address}:32400/web]() and you'll see Plex's setup page. Click on "Got it!" to continue.
|
||||
|
||||
[](/pics/plex-1.png)
|
||||
|
||||
After logging in, you'll see a "Plex Pass" modal. You can close that for now - we'll get to the good stuff!
|
||||
After logging in, you'll see a modal that says "Plex Pass". You can close that.
|
||||
|
||||
[](/pics/plex-2.png)
|
||||
|
||||
Give your server a name and click "Next".
|
||||
On the "Name" screen, select a name for your server and click on continue.
|
||||
|
||||
[](/pics/plex-3.png)
|
||||
|
||||
For "Sync Your Watch State and Ratings", just click "No" - keeping things simple!
|
||||
On the "Sync Your Watch State and Ratings" screen, just click "No".
|
||||
|
||||
[](/pics/plex-4.png)
|
||||
|
||||
Time to add our media! Click "Add Library" on the "Media Library" screen.
|
||||
Now on "Media Library", click on "Add Library".
|
||||
|
||||
[](/pics/plex-5.png)
|
||||
|
||||
### Adding Movies
|
||||
|
||||
Pick "Movies" as your library type and click "Next".
|
||||
On the "Add Library" modal, select "Movies" and click "Next".
|
||||
|
||||
[](/pics/plex-6.png)
|
||||
|
||||
Click "Browse For Media Folder".
|
||||
Now, click on "Browse For Media Folder".
|
||||
|
||||
[](/pics/plex-7.png)
|
||||
|
||||
Choose the movies path (`/data/movies`) and click "Add".
|
||||
On the "Add Folder" modal, select the movies path (`/data/movies`) and click on "Add".
|
||||
|
||||
[](/pics/plex-8.png)
|
||||
|
||||
Your screen should look like this. Click "Add Library" to finish up!
|
||||
Your "Add Library" modal should look like this. Finally, click on "Add Library".
|
||||
|
||||
[](/pics/plex-9.png)
|
||||
|
||||
### Adding TV Shows
|
||||
|
||||
Back in "Media Library", click "Add Library" again.
|
||||
On "Media Library", click on "Add Library".
|
||||
|
||||
[](/pics/plex-10.png)
|
||||
|
||||
This time pick "TV Shows" and click "Next".
|
||||
On the "Add Library" modal, select "TV Shows" and click "Next".
|
||||
|
||||
[](/pics/plex-11.png)
|
||||
|
||||
Click "Browse For Media Folder" again.
|
||||
Now, click on "Browse For Media Folder".
|
||||
|
||||
[](/pics/plex-7.png)
|
||||
|
||||
Choose the TV Shows path (`/data/tvshows`) and click "Add".
|
||||
On the "Add Folder" modal, select the TV Shows path (`/data/tvshows`) and click on "Add".
|
||||
|
||||
[](/pics/plex-12.png)
|
||||
|
||||
Looking good? Click "Add Library"!
|
||||
Your "Add Library" modal should look like this. Finally, click on "Add Library".
|
||||
|
||||
[](/pics/plex-13.png)
|
||||
|
||||
Your "Media Library" screen should now show both libraries. Click "Next" to continue.
|
||||
In the end, your "Media Library" screen should look like this. If it's okay, click on "Next".
|
||||
|
||||
[](/pics/plex-14.png)
|
||||
|
||||
## Finishing up
|
||||
## Finish
|
||||
|
||||
Almost there! Click "Done" on the finish screen.
|
||||
On the "Finish screen", click on "Done".
|
||||
|
||||
[](/pics/plex-15.png)
|
||||
|
||||
Welcome to your Plex dashboard! 🎉 Click on "More" in the left side panel.
|
||||
You should see the Plex dashboard now! On the left side panel, click on "More".
|
||||
|
||||
[](/pics/plex-16.png)
|
||||
|
||||
There they are - your local "Movies" and "TV Shows" libraries!
|
||||
There, you should find your local "Movies" and "TV Shows".
|
||||
|
||||
[](/pics/plex-17.png)
|
||||
|
||||
## That's all folks! 🎬
|
||||
## That's all!
|
||||
|
||||
YAMS is fully up and running! Ready to add some content? Head over to [Running everything together](/config/running-everything-together)!
|
||||
|
||||
## Want to become a Plex power user? 💪
|
||||
|
||||
If you want to really dive into what Plex can do, check out the [TRaSH Guide for Plex](https://trash-guides.info/Plex/). They've got some amazing advanced configurations in there!
|
||||
YAMS is fully up and running! Now, let's add some content. Move on to [Running everything together](/config/running-everything-together).
|
||||
|
@ -12,140 +12,122 @@ From their [Github repo](https://github.com/Prowlarr/Prowlarr/):
|
||||
|
||||
> Prowlarr is an indexer manager/proxy built on the popular *arr .net/reactjs base stack to integrate with your various PVR apps. Prowlarr supports management of both Torrent Trackers and Usenet Indexers. It integrates seamlessly with Lidarr, Mylar3, Radarr, Readarr, and Sonarr offering complete management of your indexers with no per app Indexer setup required (we do it all).
|
||||
|
||||
So basically, we're going to use Prowlarr to **search for torrents**, and then it will pass those on to [qBittorrent](/config/qbittorrent) or [SABnzbd](/config/sabnzbd) to download. Think of it as your personal search engine! 🔍
|
||||
So basically, we are going to use Prowlarr to **search for torrents**, so we can add them to [qBittorrent](/config/qbittorrent) later on.
|
||||
|
||||
## Initial configuration
|
||||
|
||||
In your browser, go to [http://{your-ip-address}:9696/]() and you'll see the "Authentication required" screen. Let's set up some basic security:
|
||||
- Select "Forms (Login Page)" as the "Authentication Method"
|
||||
- In "Authentication Required" select "Disabled for Local Addresses" (so you can browse freely on your home network)
|
||||
In your browser, go to [http://{your-ip-address}:9696/]() and you'll see the "Authentication required" screen. For now, set it to "Basic" and enter a username and password for Prowlarr
|
||||
|
||||
[](/pics/prowlarr-1.png)
|
||||
|
||||
### Understanding Indexers
|
||||
### Indexers
|
||||
|
||||
Before we dive in, let's talk about the two types of indexers you can use with Prowlarr:
|
||||
|
||||
#### Usenet Indexers 📰
|
||||
Most good Usenet indexers are paid services, but they're usually pretty affordable and worth checking out! A couple of popular ones are:
|
||||
- [DrunkenSlug](https://drunkenslug.com) (invite only!)
|
||||
- [NZBGeek](https://nzbgeek.info)
|
||||
|
||||
Remember, if you want to use Usenet indexers, you'll also need a Usenet provider configured in [SABnzbd](/config/sabnzbd)!
|
||||
|
||||
#### Torrent Indexers 🧲
|
||||
For this tutorial, we'll focus on free torrent indexers since they're easier to get started with. Just remember to always use a VPN when torrenting!
|
||||
|
||||
### Adding Indexers
|
||||
|
||||
On the homepage, click on "Add Next Indexer" - time to teach Prowlarr where to look for content!
|
||||
On the homepage, click on "Add Nex Indexer"
|
||||
|
||||
[](/pics/prowlarr-2.png)
|
||||
|
||||
For this tutorial, I'll add two popular indexers: YTS (great for movies) and eztv (perfect for TV shows). But you can add whatever indexers you like!
|
||||
Now, select your indexers. For the purposes of this tutorial I'll add 2: YTS (for movies) and eztv (for tv shows).
|
||||
|
||||
Find your indexer and click on it:
|
||||
Look for your indexer and click on it
|
||||
|
||||
[](/pics/prowlarr-3.png)
|
||||
|
||||
You'll see a new modal called "Add Indexer - Cardigann (your indexer)". All you need to do here is pick a URL from the "Base Url" list. Easy peasy!
|
||||
You'll get a new modal now, called "Add Indexer - Cardigann (your indexer)". On this screen, just choose a URL from the "Base Url" list.
|
||||
|
||||
[](/pics/prowlarr-4.png)
|
||||
|
||||
Hit that "Test" button at the bottom - if everything's working, you'll see a happy green checkmark! ✅
|
||||
At the bottom, you can click on "Test" and if everything is OK you should see a ✅
|
||||
[](/pics/sonarr-10.png)
|
||||
[](/pics/sonarr-11.png)
|
||||
|
||||
Looking good? Click "Save" and you'll be back at the "Add Indexer" modal.
|
||||
If everything is fine, click on "Save", and you'll be back at the "Add Indexer" modal.
|
||||
|
||||
#### How many indexers should I add? 🤔
|
||||
You can now add more indexers. Add as many as you like!
|
||||
|
||||
As many as you want! Just repeat those steps for each new indexer in Prowlarr. The more indexers you have, the better chance of finding what you're looking for! It's like having more libraries to check for books. 📚
|
||||
#### How many indexers can I have?
|
||||
As many as you want! Just repeat the steps to add new indexers in Prowlarr. The more indexers you have, the better!
|
||||
|
||||
When you're done adding indexers, close the modal and you'll see all your indexers on the main page:
|
||||
When you finish, close the "Add Indexer" modal and you'll see all your indexers on the main page
|
||||
|
||||
[](/pics/prowlarr-5.png)
|
||||
|
||||
### Connecting to Radarr and Sonarr
|
||||
|
||||
Now comes the fun part - connecting Prowlarr to Radarr and Sonarr! This is where everything starts working together. ✨
|
||||
Now comes the fun part: Connecting Prowlarr to Radarr and Sonarr!
|
||||
|
||||
#### Radarr Connection
|
||||
#### Radarr
|
||||
|
||||
First, we need your Radarr API Key. Head over to Radarr's settings at [http://{your-ip-address}:7878/settings/general]() and look for the API Key under "Security".
|
||||
First, you are going to need your Radarr API Key.
|
||||
|
||||
You can get your Radarr API Key in Radarr. Go to [http://{your-ip-address}:7878/settings/general]() to open Radarr's settings, and you'll find the API Key under the "Security" section.
|
||||
|
||||
[](/pics/bazarr-17.png)
|
||||
|
||||
Copy that API key and keep it handy!
|
||||
For now, just copy it and keep it in a safe location.
|
||||
|
||||
In Prowlarr, go to "Settings", click "Apps" and hit the ➕ button.
|
||||
In "Settings", go to "Apps" and click on the ➕ button.
|
||||
|
||||
[](/pics/prowlarr-6.png)
|
||||
|
||||
Click on "Radarr":
|
||||
On the "Add Application" modal, click on "Radarr"
|
||||
|
||||
[](/pics/prowlarr-7.png)
|
||||
|
||||
Fill in these details:
|
||||
- Prowlarr Server: `http://prowlarr:9696`
|
||||
- Radarr Server: `http://radarr:7878`
|
||||
- API Key: paste your Radarr API key here
|
||||
- In "Prowlarr Server", add `http://prowlarr:9696`
|
||||
- In "Radarr Server", add `http://radarr:7878`
|
||||
- In "ApiKey", add your Radarr API key.
|
||||
|
||||
[](/pics/prowlarr-8.png)
|
||||
|
||||
Test time! Click that "Test" button - hopefully you'll see a green checkmark! ✅
|
||||
At the bottom, you can click on "Test" and if everything is OK you should see a ✅
|
||||
[](/pics/sonarr-10.png)
|
||||
[](/pics/sonarr-11.png)
|
||||
|
||||
If the test passed, click "Save". You should see Radarr in your Apps list:
|
||||
To finish, click on "Save". You should see Radarr added to the "Apps" list!
|
||||
|
||||
[](/pics/prowlarr-9.png)
|
||||
|
||||
#### Sonarr Connection
|
||||
#### Sonarr
|
||||
|
||||
Time for Sonarr! First, grab your Sonarr API Key from [http://{your-ip-address}:8989/settings/general]() - it's under "Security" just like in Radarr.
|
||||
First, you are going to need your Sonarr API Key.
|
||||
|
||||
You can get your Sonarr API Key in Sonarr. Go to [http://{your-ip-address}:8989/settings/general]() to open Sonarr's settings, and you'll find the API Key under the "Security" section.
|
||||
|
||||
[](/pics/bazarr-14.png)
|
||||
|
||||
Copy that API key for safekeeping!
|
||||
For now, just copy it and keep it in a safe location.
|
||||
|
||||
Back in Prowlarr, go to "Settings", "Apps" and click that ➕ button again.
|
||||
In "Settings", go to "Apps" and click on the ➕ button.
|
||||
|
||||
[](/pics/prowlarr-10.png)
|
||||
|
||||
This time click on "Sonarr":
|
||||
On the "Add Application" modal, click on "Sonarr"
|
||||
|
||||
[](/pics/prowlarr-11.png)
|
||||
|
||||
Fill in these details:
|
||||
- Prowlarr Server: `http://prowlarr:9696`
|
||||
- Sonarr Server: `http://sonarr:8989`
|
||||
- API Key: paste your Sonarr API key here
|
||||
- In "Prowlarr Server", add `http://prowlarr:9696`
|
||||
- In "Sonarr Server", add `http://sonarr:8989`
|
||||
- In "ApiKey", add your Sonarr API key.
|
||||
|
||||
[](/pics/prowlarr-12.png)
|
||||
|
||||
One more test! Click "Test" - green checkmark time! ✅
|
||||
At the bottom, you can click on "Test" and if everything is OK you should see a ✅
|
||||
[](/pics/sonarr-10.png)
|
||||
[](/pics/sonarr-11.png)
|
||||
|
||||
All good? Hit "Save". You should now see both Radarr and Sonarr in your Apps list:
|
||||
To finish, click on "Save". You should see Radarr added to the "Apps" list!
|
||||
|
||||
[](/pics/prowlarr-13.png)
|
||||
|
||||
Finally, click on "Sync App Indexers" - this is where the magic happens! 🎩
|
||||
Finally, click on "Sync App Indexers"
|
||||
|
||||
[](/pics/prowlarr-14.png)
|
||||
|
||||
Want to see something cool? Go check Sonarr and Radarr's "Indexer" settings - your indexers have been automatically added! No copy-pasting needed!
|
||||
Now, if you go back to Sonarr and Radarr, and check their "Indexer" settings, you'll see your indexers added magically!
|
||||
|
||||
[](/pics/prowlarr-15.png)
|
||||
|
||||
[](/pics/prowlarr-16.png)
|
||||
|
||||
## Moving forward! 🚀
|
||||
## Move forward
|
||||
|
||||
Now we can move on to [Bazarr](/config/bazarr) - it's going to handle all your subtitle needs!
|
||||
|
||||
## Want to become a Prowlarr pro?
|
||||
|
||||
If you want to really dive into what Prowlarr can do, check out the [TRaSH Guide for Prowlarr](https://trash-guides.info/Prowlarr/). They've got some amazing tips for power users! 🔧
|
||||
Now you can move with the configuration. [Bazarr](/config/bazarr) is next!
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: "qBittorrent"
|
||||
date: 2023-01-10T18:02:13-03:00
|
||||
draft: false
|
||||
weight: 1
|
||||
weight: 2
|
||||
summary: The qBittorrent project aims to provide an open-source software alternative to µTorrent.
|
||||
---
|
||||
|
||||
@ -12,18 +12,18 @@ From their [website](https://www.qbittorrent.org/):
|
||||
|
||||
> The qBittorrent project aims to provide an open-source software alternative to µTorrent.
|
||||
|
||||
So, just like µTorrent, qBitorrent is a torrent downloader. Pretty easy! 😎
|
||||
So, just like µTorrent, qBitorrent is a torrent downloader. Pretty easy!
|
||||
|
||||
## Initial configuration
|
||||
## First, check your VPN!
|
||||
|
||||
First things first - if you set up a VPN during YAMS installation (which you really should!), qBittorrent should already be configured to use it. Let's verify everything is working correctly.
|
||||
If you configured your VPN correctly, it should be running. To test, run on your terminal:
|
||||
|
||||
In your terminal, run:
|
||||
```bash
|
||||
yams check-vpn
|
||||
$ yams check-vpn
|
||||
```
|
||||
|
||||
You should see output like this:
|
||||
If everything is working correctly, you should get a message like this:
|
||||
|
||||
```bash
|
||||
Getting your qBittorrent IP...
|
||||
<qBittorrent IP>
|
||||
@ -35,8 +35,10 @@ Your local IP country is North Korea
|
||||
|
||||
Your IPs are different. qBittorrent is working as expected! ✅
|
||||
```
|
||||
If your VPN is working fine, move onward to the [Initial configuration](#initial-configuration).
|
||||
|
||||
If the check fails (or you haven't configured the VPN), you'll see a message like this:
|
||||
|
||||
If the check fails, you'll see something like:
|
||||
```bash
|
||||
Getting your qBittorrent IP...
|
||||
<your local IP>
|
||||
@ -49,93 +51,48 @@ Your local IP country is North Korea
|
||||
Your IPs are the same! qBittorrent is NOT working! ⚠️
|
||||
```
|
||||
|
||||
If your VPN check failed, head over to [VPN Configuration](/advanced/vpn/#manual-configuration) to fix it. **You should always use a VPN when downloading torrents!**
|
||||
**You should always run a VPN when downloading torrents!** You can manually set your VPN [here](/advanced/vpn/#manual-configuration) or you can run the YAMS installer again and use the automatic installer. Come back here after you have fixed this!
|
||||
|
||||
### Setting up qBittorrent
|
||||
## Initial configuration
|
||||
|
||||
Let's get qBittorrent configured! In your terminal, check the qBittorrent logs to get your initial login credentials:
|
||||
|
||||
```sh
|
||||
docker logs qbittorrent
|
||||
```
|
||||
|
||||
You'll see the qBittorrent username and password in the logs:
|
||||
```
|
||||
qbittorrent | ******** Information ********
|
||||
qbittorrent | To control qBittorrent, access the WebUI at: http://localhost:8081
|
||||
qbittorrent | The WebUI administrator username is: admin
|
||||
qbittorrent | The WebUI administrator password was not set. A temporary password is provided for this session: FBFsKbfbD
|
||||
qbittorrent | You should set your own password in program preferences.
|
||||
qbittorrent | Connection to localhost (::1) 8081 port [tcp/tproxy] succeeded!
|
||||
```
|
||||
|
||||
In your browser, go to [http://{your-ip-address}:8081/]() and you'll see qBittorrent's admin page. Log in with:
|
||||
In your browser, go to [http://{your-ip-address}:8080/]() and you'll see qBittorrent's admin page. The default username and password are:
|
||||
|
||||
```sh
|
||||
username: admin
|
||||
password: your-temporary-password-from-the-logs
|
||||
password: adminadmin
|
||||
```
|
||||
I know, super safe.
|
||||
|
||||
[](/pics/qbittorrent-1.png)
|
||||
|
||||
After logging in, you'll see the empty qBittorrent window. Click on the gear icon in the top right to enter the settings.
|
||||
After logging in, you'll see the empty qBittorrent window. Here, you have to click on the gear icon to enter the settings.
|
||||
|
||||
[](/pics/qbittorrent-2.png)
|
||||
|
||||
### Configuring BitTorrent Settings
|
||||
|
||||
First, go to the "Downloads" tab and set the "Default Save Path" to `/data/downloads/torrents/`.
|
||||
|
||||
[](/pics/qbittorrent-8.png)
|
||||
|
||||
Then, go to the "BitTorrent" tab and check the "When ratio reaches" checkbox. Set it to 0.
|
||||
You'll notice qBitorrent has A TON of settings you can change. First, go to the "BitTorrent" tab, check the "When ratio reaches" checkbox, and set it to 0
|
||||
|
||||
### Is this a dick move?
|
||||
|
||||
Yes. 😅
|
||||
Yes.
|
||||
|
||||
The BitTorrent protocol works by sharing (seeding) files across the network. Setting the seeding limit to zero means "Share the torrent **until** I've finished downloading." You'll still share while downloading, but once complete, the torrent stops and waits for [Sonarr](/config/sonarr)/[Radarr](/config/radarr) to pick it up.
|
||||
In case you don't know, the BitTorrent protocol works by sharing (seeding) files across the network. By setting the seeding limit to zero, we are basically saying "Share the torrent **until** I've finished downloading." You'll still share the file across the network while downloading, but when the file completes, the torrent will automatically stop and wait for [Sonarr](/config/sonarr)/[Radarr](/config/radarr) to pick up the file.
|
||||
|
||||
For this tutorial we'll leave it at 0, but feel free to be less selfish later! **Some torrent services monitor the ratio to prevent abuse, and restrict accounts with low ratios. Make sure you respect these constraints to keep your access to these platforms.**
|
||||
For the purposes of this tutorial, we'll leave it at 0, but if you want you can change it later to a less dickish setting.
|
||||
|
||||
[](/pics/qbittorrent-3.png)
|
||||
|
||||
### Configuring Web UI Settings
|
||||
|
||||
Next, go to the "Web UI" tab. Here you can set it to skip password authentication when accessing from your local network. This is optional but recommended.
|
||||
Then, we'll continue to the "Web UI" tab. There, we can set it so it won't ask for a password if we are accessing it from the same subnet. This is not required but recommended.
|
||||
|
||||
[](/pics/qbittorrent-4.png)
|
||||
|
||||
While you're here, change that temporary password to something more secure:
|
||||
|
||||
[](/pics/qbittorrent-7.png)
|
||||
|
||||
### Configuring Network Settings
|
||||
|
||||
On the "Advanced" tab, make sure your Network interface is set to `tun0`. This ensures qBittorrent always uses the VPN connection and stops if the VPN goes down.
|
||||
Now, on the "Advanced" tab, we need to set our Network interface to `tun0`, so it always uses the VPN connection and kills the connection if the VPN goes down for some reason.
|
||||
|
||||
[](/pics/qbittorrent-5.png)
|
||||
|
||||
Finally, scroll to the bottom and click "Save".
|
||||
Finally, go to the bottom of the modal and click "Save".
|
||||
|
||||
[](/pics/qbittorrent-6.png)
|
||||
|
||||
### Port Forwarding 🚀
|
||||
## That's done!
|
||||
|
||||
Want faster downloads? YAMS supports automatic port forwarding! Check out our [Port Forwarding Guide](/advanced/port-forwarding/) to supercharge your download speeds.
|
||||
|
||||
[](/pics/advanced-port-forwarding-1.png)
|
||||
|
||||
## Final VPN Check
|
||||
|
||||
Let's do one last VPN check to make sure everything's working:
|
||||
|
||||
```bash
|
||||
$ yams check-vpn
|
||||
```
|
||||
|
||||
You should see your qBittorrent IP is different from your local IP. If not, head over to [VPN Configuration](/advanced/vpn/#manual-configuration) to fix it.
|
||||
|
||||
## That's done! 🎉
|
||||
|
||||
Looking good! Now we can move forward with [SABnzbd](/config/sabnzbd).
|
||||
Excellent! Now we can move forward with [Radarr](/config/radarr).
|
||||
|
@ -12,29 +12,20 @@ From their [wiki](https://wiki.servarr.com/radarr):
|
||||
|
||||
> Radarr is a movie collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new movies and will interface with clients and indexers to grab, sort, and rename them. It can also be configured to automatically upgrade the quality of existing files in the library when a better quality format becomes available.
|
||||
|
||||
In YAMS, Radarr is going to manage all our movies: download them, sort them, and keep everything organized. It's like having your own personal movie butler! 🎬
|
||||
In YAMS, Radarr is going to manage all our movies, download them, sort them, etc.
|
||||
|
||||
## Initial configuration
|
||||
|
||||
In your browser, go to [http://{your-ip-address}:7878/](). First up, we need to set up some basic security.
|
||||
|
||||
- Select "Forms (Login Page)" as the "Authentication Method"
|
||||
- In "Authentication Required" select "Disabled for Local Addresses" (this way you won't need to login when you're at home)
|
||||
|
||||
Fill in your username and password, then click on save:
|
||||
|
||||
[](/pics/radarr-18.png)
|
||||
|
||||
You'll see Radarr's empty page. Don't worry about those 3 messages in the system tab - we'll deal with them soon!
|
||||
In your browser, go to [http://{your-ip-address}:7878/]() and you'll see Radarr's empty page. You'll also notice you have 3 messages on the system tab, but we'll deal with them later.
|
||||
|
||||
[](/pics/radarr-1.png)
|
||||
|
||||
### Media management
|
||||
|
||||
First things first - let's tell Radarr how to handle our movies. Go to "Settings" and then "Media management". On this screen:
|
||||
- Click on "Show Advanced" (don't worry, we'll keep it simple!)
|
||||
- Check the "Rename Movies" box
|
||||
- Change "Standard Movie Format" to `{Movie Title} ({Release Year})`
|
||||
First, go to "Settings" and then "Media management". On this screen:
|
||||
- Click on "Show Advanced".
|
||||
- Check the "Rename Movies" box.
|
||||
- Change "Standard Movie Format" to `{Movie Title} ({Release Year})`.
|
||||
|
||||
[](/pics/radarr-2.png)
|
||||
|
||||
@ -42,11 +33,11 @@ At the bottom of the same screen, go to "Root folders" and click on "Add Root Fo
|
||||
|
||||
[](/pics/radarr-3.png)
|
||||
|
||||
Now add the `/data/movies/` folder:
|
||||
And add the `/movies/` folder
|
||||
|
||||
[](/pics/radarr-4.png)
|
||||
|
||||
**Note:** This isn't actually on your filesystem! The `/data/movies/` folder exists inside the docker environment and maps to your server's `/mediafolder/media/movies/` folder. Magic! ✨
|
||||
**Note:** This is NOT on your filesystem! The `/movies/` folder exists inside the `docker` environment and maps to your server `/mediafolder/movies/` folder!
|
||||
|
||||
Finally, click on "Save Changes".
|
||||
|
||||
@ -54,9 +45,7 @@ Finally, click on "Save Changes".
|
||||
|
||||
### Download Clients
|
||||
|
||||
Time to connect Radarr to our download tools! This is where we'll link up with [qBittorrent](/config/qbittorrent) and [SABnzbd](/config/sabnzbd).
|
||||
|
||||
#### qBittorrent Setup
|
||||
Here, you'll add the download clients for Radarr. That's where you'll tie in Radarr with [qBittorrent](/config/qbittorrent).
|
||||
|
||||
In "Settings", go to "Download Clients" and click on the ➕ button.
|
||||
|
||||
@ -66,55 +55,21 @@ On the "Add Download Client" screen, scroll down and click on "qBittorrent".
|
||||
|
||||
[](/pics/radarr-14.png)
|
||||
|
||||
Fill in these details:
|
||||
- Name: qBittorrent (or whatever you want to call it!)
|
||||
- Host: your server IP address (like `192.168.0.190`)
|
||||
- Port: 8081
|
||||
- Username: `admin`
|
||||
- Password: your qBittorrent password
|
||||
- In Name, add the name of your download client (qBittorrent).
|
||||
- On Host, add your server IP address (in my case, `192.168.0.169`).
|
||||
- On Username, add `admin`.
|
||||
- On Password, add `adminadmin`.
|
||||
|
||||
[](/pics/radarr-15.png)
|
||||
|
||||
Click that "Test" button at the bottom - if everything's good, you'll see a nice green checkmark! ✅
|
||||
At the bottom, you can click on "Test" and if everything is OK you should see a ✅
|
||||
[](/pics/radarr-10.png)
|
||||
[](/pics/radarr-11.png)
|
||||
|
||||
If the test passed, click "Save". Your download client should now show up on the page:
|
||||
If everything is fine, click on "Save". You should see your download client added to the "Download Clients" page now!
|
||||
|
||||
[](/pics/radarr-16.png)
|
||||
|
||||
#### SABnzbd Setup
|
||||
## Moving forward!
|
||||
|
||||
Back in "Download Clients", click that ➕ button again.
|
||||
|
||||
[](/pics/radarr-13.png)
|
||||
|
||||
This time, scroll down and pick "SABnzbd".
|
||||
|
||||
[](/pics/radarr-19.png)
|
||||
|
||||
Fill in these details:
|
||||
- Name: SABnzbd (or any name you like)
|
||||
- Host: your server IP address (like `192.168.0.190`)
|
||||
- Port: 8080
|
||||
- API Key: your SABnzbd API key
|
||||
|
||||
Don't have your SABnzbd API key handy? No worries! You can find it here: [Getting your API key for Sonarr and Radarr](/config/sabnzbd/#getting-your-api-key-for-sonarr-and-radarr)
|
||||
|
||||
[](/pics/radarr-20.png)
|
||||
|
||||
Time for another test! Click that "Test" button - hopefully you'll see another green checkmark! ✅
|
||||
[](/pics/radarr-10.png)
|
||||
[](/pics/radarr-11.png)
|
||||
|
||||
If the test worked, hit "Save". You should now see both download clients on the page:
|
||||
|
||||
[](/pics/radarr-21.png)
|
||||
|
||||
## Moving forward! 🚀
|
||||
|
||||
Looking good! Now we can continue with [Sonarr](/config/sonarr). We're getting closer to having your own personal Netflix!
|
||||
|
||||
## Want to get really fancy?
|
||||
|
||||
If you want to dive deeper into Radarr's configuration, I highly recommend checking out the [TRaSH Guide for Radarr](https://trash-guides.info/Radarr/). They've got some really cool advanced settings in there! 🔧
|
||||
Looking good! Now we can continue with [Sonarr](/config/sonarr).
|
||||
|
@ -10,34 +10,10 @@ summary: Final recommendations, how to continue?
|
||||
|
||||
Everything is working now! Yay! 🎉
|
||||
|
||||
Here are some cool ways to make your YAMS experience even better:
|
||||
To improve the experience, you can:
|
||||
|
||||
### Add more indexers! 🔍
|
||||
Check out the [Prowlarr indexers guide](/config/prowlarr/#indexers). The more indexers you have, the easier it'll be to find those hard-to-get movies and TV shows that your friends keep talking about!
|
||||
|
||||
### Expand your subtitle collection! 🗣️
|
||||
Head to the [Bazarr providers guide](/config/bazarr/#providers) and add more subtitle sources. The more providers you have, the better chance Bazarr has of finding perfect subtitles for everything in your library.
|
||||
|
||||
### Get those apps! 📱
|
||||
Install your media service apps (Emby/Jellyfin/Plex) on all your devices! They're available for:
|
||||
- Android TV
|
||||
- Amazon Fire TV
|
||||
- Chromecast
|
||||
- Roku
|
||||
- Xbox
|
||||
- Home Theater PCs
|
||||
- And lots more!
|
||||
|
||||
### Consider going premium! ⭐
|
||||
If you're using Emby, think about trying [Emby Premiere](https://emby.media/premiere.html). It's totally optional, but VERY recommended! You'll get:
|
||||
- Offline media support
|
||||
- Hardware transcoding (smoother playback!)
|
||||
- Automatic content conversion
|
||||
- And tons more cool features
|
||||
|
||||
I actually canceled all my streaming services, bought a 1-year license, and never looked back!
|
||||
|
||||
### Make it yours! 🛠️
|
||||
Take time to configure and fine-tune all the services. Don't worry about breaking things - you can always refer back to this documentation if something goes wrong. The best media server is one that's customized to how YOU want to use it!
|
||||
|
||||
Remember: A good media server should adapt to you, not the other way around! 😎
|
||||
- **Add more indexers.** (instructions for [Prowlarr](/config/prowlarr/#indexers)). The more indexers you have, the easier it will be to find more obscure movies and TV shows.
|
||||
- **Add more subtitles providers.** (instructions for [Bazarr](/config/bazarr/#providers)). The more providers you have, the easier it will be for Bazarr to find the best subtitles for your files.
|
||||
- **Install Emby/Jellyfin/Plex on your devices!** Emby/Jellyfin/Plex apps are available for Android TV, Amazon Fire TV, Chromecast, Roku, Xbox, Home Theater Computers, and more!
|
||||
- **If you are using Emby, sign up for [Emby Premiere](https://emby.media/premiere.html) (optional, but VERY recommended!).** This way you will be able to have offline media, enable hardware transcoding, automatically convert your content, etc. I canceled all my streaming services, bought a 1 year license, and never looked back.
|
||||
- **Configure and fine-tune all of the services.** You can always refer to this documentation if you mess up something. The key part of any good media server is that it should adapt to the user, and not the other way around.
|
||||
|
@ -3,90 +3,93 @@ title: "Running everything together"
|
||||
date: 2023-01-12T18:06:44-03:00
|
||||
draft: false
|
||||
weight: 10
|
||||
summary: So you finally got YAMS running? Let's add some movies and see everything working together!
|
||||
summary: So you finally got YAMS running? Let's add some movies and seeing everything working together!
|
||||
---
|
||||
|
||||
## First, I want to congratulate you 🎉
|
||||
|
||||
You did it! You installed and configured YAMS! Give yourself a good pat on the back - you've earned it! 🙇♂️
|
||||
You did it! You installed and configured YAMS! Give yourself a good pat on your back 🙇🏻
|
||||
|
||||
[](/pics/party.gif)
|
||||
|
||||
Now comes the fun part: Adding your shows/movies and watching everything work together like a well-oiled machine! 😎
|
||||
Now comes the fun part: Adding your shows/movies and seeing everything working together 😎
|
||||
|
||||
## Radarr & Sonarr
|
||||
|
||||
These instructions work for both Radarr and Sonarr. To keep things simple, I'll show you with Radarr, but the process is super similar for TV shows!
|
||||
These instructions will apply to both Radarr and Sonarr. To keep the tutorial brief, I will only test Radarr.
|
||||
|
||||
Open Radarr at [http://{your-ip-address}:7878/]() and click on "Add New" in the left menu. For this demo, I'll use "The Godfather" (because it's a classic!), but you can search for any movie you want.
|
||||
Open Radarr at [http://{your-ip-address}:7878/]() and on the left menu click on "Add New". In this tutorial I'll use "The Godfather", but you can search for the movie you want!
|
||||
|
||||
Pro tip: For your first test, pick something popular - it'll be easier to find!
|
||||
My recommendation is that you go for a famous movie first, just to confirm everything is working as expected.
|
||||
|
||||
[](/pics/running-everything-together-1.png)
|
||||
|
||||
Click on the movie you want to download:
|
||||
Click on the movie you want to download.
|
||||
|
||||
[](/pics/running-everything-together-2.png)
|
||||
|
||||
Now you can pick your quality preferences. If your movie is part of a collection (like The Godfather is), you can choose to download the whole series in the "Monitor" box. I'm going for the whole trilogy because, well, why not?
|
||||
On the modal, select the quality you want the movie to be downloaded. If your movie is part of a collection, you can choose to download the entire collection in the "Monitor" box. For this case, I want to download the entire Godfather collection, so I'll choose that on the modal.
|
||||
|
||||
Finally, click "Add Movie"!
|
||||
Finally, click on "Add Movie"
|
||||
|
||||
[](/pics/running-everything-together-3.png)
|
||||
|
||||
Head back to "Movies" and you'll see your selections:
|
||||
Now, if you go back to "Movies", you'll see the movie(s) you added.
|
||||
|
||||
[](/pics/running-everything-together-4.png)
|
||||
|
||||
Click on "Activity" to watch the magic happen - you can see everything downloading in real-time! 🪄
|
||||
If you go to "Activity", you'll see their download status.
|
||||
|
||||
[](/pics/running-everything-together-5.png)
|
||||
|
||||
## qBittorrent
|
||||
|
||||
Want to see what's going on under the hood? Open qBittorrent at [http://{your-ip-address}:8081/]() and you'll see your movies downloading!
|
||||
If you open qBittorrent in [http://{your-ip-address}:8080/](), you'll see your movie(s) downloading!
|
||||
|
||||
This means everything is working perfectly! When downloads finish, Radarr will automatically organize them into the right folders.
|
||||
This means it is working as expected. When they finish downloading, Radarr is going to pick them up and put them in the right folder.
|
||||
|
||||
[](/pics/running-everything-together-6.png)
|
||||
|
||||
## Media service
|
||||
|
||||
After your downloads finish, head over to your media service and... ta-da! 🎉 Your movies are right there waiting for you!
|
||||
After your movies have downloaded, if you go to your Media service (Jellyfin, Emby or Plex), you'll see your movies right there, waiting for you.
|
||||
|
||||
Jellyfin:
|
||||
|
||||
[](/pics/running-everything-together-12.png)
|
||||
|
||||
Emby:
|
||||
|
||||
[](/pics/running-everything-together-7.png)
|
||||
|
||||
Plex:
|
||||
|
||||
[](/pics/running-everything-together-11.png)
|
||||
|
||||
Open up a movie and look - subtitles are already there! That's [Bazarr](/config/bazarr) doing its thing! 🎯
|
||||
If you open the movie, you'll see it even has subtitles! This means [Bazarr](/config/bazarr) is working as well!
|
||||
|
||||
[](/pics/running-everything-together-8.png)
|
||||
|
||||
[](/pics/running-everything-together-9.png)
|
||||
|
||||
You can even start watching right from your browser, with subtitles and everything:
|
||||
You can play the movie right from your browser, with subtitles included:
|
||||
[](/pics/running-everything-together-10.png)
|
||||
|
||||
## Your filesystem
|
||||
|
||||
Curious about how everything's organized? Check out your `/mediafolder/media/movies` folder:
|
||||
If you visit your `/mediafolder/movies` folder, you can check how Radarr is managing your library.
|
||||
|
||||
```sh
|
||||
roger@debian:/srv/media/movies$ tree .
|
||||
.
|
||||
├── The Godfather (1972)
|
||||
│ ├── The Godfather (1972).en.srt
|
||||
│ ├── The Godfather (1972).es.srt
|
||||
│ └── The Godfather (1972).mp4
|
||||
│ ├── The Godfather (1972).en.srt
|
||||
│ ├── The Godfather (1972).es.srt
|
||||
│ └── The Godfather (1972).mp4
|
||||
├── The Godfather Part II (1974)
|
||||
│ ├── The Godfather Part II (1974).en.srt
|
||||
│ ├── The Godfather Part II (1974).es.srt
|
||||
│ └── The Godfather Part II (1974).mp4
|
||||
│ ├── The Godfather Part II (1974).en.srt
|
||||
│ ├── The Godfather Part II (1974).es.srt
|
||||
│ └── The Godfather Part II (1974).mp4
|
||||
└── The Godfather Part III (1990)
|
||||
├── The Godfather Part III (1990).en.srt
|
||||
├── The Godfather Part III (1990).es.srt
|
||||
@ -95,12 +98,12 @@ roger@debian:/srv/media/movies$ tree .
|
||||
3 directories, 9 files
|
||||
```
|
||||
|
||||
Not a fan of how things are named? No problem! You can always change the naming format in [Radarr's media management page](/config/radarr#media-management) or [Sonarr's settings](/config/sonarr#media-management).
|
||||
If you don't like the way the folders/movies are named, you can always change it on [Radarr's media management page](/config/radarr#media-management). The same applies to [Sonarr](/config/sonarr#media-management).
|
||||
|
||||
# Final step and conclusions
|
||||
|
||||
You did it! 🎉 You've got your very own media server up and running! That's a huge step toward breaking free from subscription services like Netflix or Amazon Prime.
|
||||
You should have your first media server up and running now! That's a big step forward in dropping your dependency on big services like Netflix or Amazon Prime.
|
||||
|
||||
And guess what? There's still so much more you can do to make your setup even better! Head over to the [Recommendations](/config/recommendations) page for some cool ideas on what to try next.
|
||||
There are still A LOT of things you can do to make your experience even better! You can go to the [Recommendations](/config/recommendations) page now and finish the tutorial.
|
||||
|
||||
🙌 Thanks for following along with the tutorial! Hope you enjoy your awesome new media server - you've earned it! 😎
|
||||
🙌 Thank you for being here and for following the tutorial! Enjoy the fruit of your labor. You are awesome! 😎
|
||||
|
@ -1,64 +0,0 @@
|
||||
---
|
||||
title: "SABnzbd"
|
||||
date: 2023-01-10T18:02:13-03:00
|
||||
weight: 2
|
||||
draft: false
|
||||
summary: SABnzbd is a program to download binary files from Usenet servers. Many people upload all sorts of interesting material to Usenet and you need a special program to get this material with the least effort.
|
||||
---
|
||||
|
||||
## What is SABnzbd?
|
||||
|
||||
From their [website](https://sabnzbd.org/):
|
||||
|
||||
> SABnzbd is a program to download binary files from Usenet servers. Many people upload all sorts of interesting material to Usenet and you need a special program to get this material with the least effort.
|
||||
|
||||
So basically, SABnzbd is going to help us download stuff from Usenet servers. Pretty cool! 😎
|
||||
|
||||
## Initial configuration
|
||||
|
||||
In your browser, go to [http://{your-ip-address}:8080/]() and you'll see SABnzbd's setup page. First, choose your language and click on "Start Wizard":
|
||||
|
||||
[](/pics/sabnzbd-1.png)
|
||||
|
||||
Next up, you'll need to choose a Usenet server. [Newshosting](https://www.newshosting.com/) usually has good deals going on, but you can use whatever server you prefer!
|
||||
|
||||
When you've got your server details ready, input them and click on "Next".
|
||||
|
||||
[](/pics/sabnzbd-2.png)
|
||||
|
||||
You should now see the final wizard page - congrats! 🎉
|
||||
|
||||
You'll notice the Completed and Uncompleted download folders aren't quite where we want them. Don't worry, we'll fix that in a minute!
|
||||
|
||||
For now, just click on "Go to SABnzbd".
|
||||
|
||||
[](/pics/sabnzbd-3.png)
|
||||
|
||||
Head over to the settings page by clicking on the cog-wheel icon in the top right.
|
||||
|
||||
[](/pics/sabnzbd-4.png)
|
||||
|
||||
On the settings page, click on "Folders" and let's get those paths sorted:
|
||||
- Set your "Temporary Download Folder" to `/data/downloads/usenet/incomplete`
|
||||
- Set your "Completed Download Folder" to `/data/downloads/usenet/complete`
|
||||
- Click on "Save Changes"
|
||||
|
||||
[](/pics/sabnzbd-5.png)
|
||||
|
||||
## Getting your API key for Sonarr and Radarr
|
||||
|
||||
You'll need this API key later when we set up Radarr and Sonarr. Feel free to skip this section for now if you want - you can always come back!
|
||||
|
||||
To get your API key:
|
||||
|
||||
First, head back to the settings.
|
||||
|
||||
[](/pics/sabnzbd-4.png)
|
||||
|
||||
Then, go to "General" and scroll down to "Security". You'll find your API Key right there!
|
||||
|
||||
[](/pics/sabnzbd-6.png)
|
||||
|
||||
## That's done! 🎉
|
||||
|
||||
Excellent! Now we can move forward with [Radarr](/config/radarr). Get ready - this is where things start getting really fun! 😄
|
@ -12,45 +12,34 @@ From their [wiki](https://wiki.servarr.com/sonarr):
|
||||
|
||||
> Sonarr is a PVR for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new episodes of your favorite shows and will grab, sort and rename them. It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available.
|
||||
|
||||
In YAMS, Sonarr is your TV show manager - it's going to handle everything from downloads to organizing your episodes. Think of it as your personal TV assistant! 📺
|
||||
In YAMS, Sonarr is going to manage all our TV Shows, download them, sort them, etc.
|
||||
|
||||
## Initial configuration
|
||||
|
||||
In your browser, go to [http://{your-ip-address}:8989/](). Just like with Radarr, we'll start with some basic security settings.
|
||||
|
||||
- Select "Forms (Login Page)" as the "Authentication Method"
|
||||
- In "Authentication Required" select "Disabled for Local Addresses" (so you can browse freely on your home network)
|
||||
|
||||
Create your username and password, then click save:
|
||||
|
||||
[](/pics/sonarr-18.png)
|
||||
|
||||
You'll see Sonarr's empty page. Don't mind those 3 system messages - we'll get to them later!
|
||||
In your browser, go to [http://{your-ip-address}:8989/]() and you'll see Sonarr's empty page. You'll also notice you have 3 messages on the system tab, but we'll deal with them later.
|
||||
|
||||
[](/pics/sonarr-1.png)
|
||||
|
||||
### Media management
|
||||
|
||||
Let's tell Sonarr how to handle our TV shows! Go to "Settings" and then "Media management". Here's what we need to do:
|
||||
- Click on "Show Advanced" (it sounds scary but we'll keep it simple!)
|
||||
- Check the "Rename Episodes" box
|
||||
- Set up these naming formats:
|
||||
- "Standard Episode Format": `{Series Title} - S{season:00}E{episode:00} - {Episode Title}`
|
||||
- "Daily Episode Format": `{Series Title} - {Air-Date} - {Episode Title}`
|
||||
- "Anime Episode Format": `{Series Title} - S{season:00}E{episode:00} - {Episode Title}`
|
||||
- "Series Folder Format": `{Series TitleYear}`
|
||||
|
||||
First, go to "Settings" and then "Media management". On this screen:
|
||||
- Click on "Show Advanced".
|
||||
- Check the "Rename Episodes" box.
|
||||
- Change "Standard Episode Format" to `{Series Title} - S{season:00}E{episode:00} - {Episode Title}`
|
||||
- Change "Daily Episode Format" to `{Series Title} - {Air-Date} - {Episode Title}`
|
||||
- Change "Anime Episode Format" to `{Series Title} - S{season:00}E{episode:00} - {Episode Title}`
|
||||
- Change "Series Folder Format" to `{Series TitleYear}`
|
||||
[](/pics/sonarr-2.png)
|
||||
|
||||
Scroll down to "Root Folders" and click on "Add Root Folder".
|
||||
At the bottom of the same screen, go to "Root folders" and click on "Add Root Folder".
|
||||
|
||||
[](/pics/sonarr-3.png)
|
||||
|
||||
Add the `/data/tvshows/` folder:
|
||||
And add the `/tv/` folder
|
||||
|
||||
[](/pics/sonarr-4.png)
|
||||
|
||||
**Note:** Just like with Radarr, this path is inside the docker environment - it maps to your server's `/mediafolder/media/tvshows/` folder. Docker magic at work! ✨
|
||||
**Note:** This is NOT on your filesystem! The `/tv/` folder exists inside the `docker` environment and maps to your server `/mediafolder/tv/` folder!
|
||||
|
||||
Finally, click on "Save Changes".
|
||||
|
||||
@ -58,67 +47,31 @@ Finally, click on "Save Changes".
|
||||
|
||||
### Download Clients
|
||||
|
||||
Time to connect Sonarr to our download tools! We'll link up with [qBittorrent](/config/qbittorrent) and [SABnzbd](/config/sabnzbd).
|
||||
|
||||
#### qBittorrent Setup
|
||||
Here, you'll add the download clients for Sonarr. That's where you'll tie in Sonarr with [qBittorrent](/config/qbittorrent).
|
||||
|
||||
In "Settings", go to "Download Clients" and click on the ➕ button.
|
||||
|
||||
[](/pics/sonarr-13.png)
|
||||
|
||||
Find and click on "qBittorrent" in the list.
|
||||
On the "Add Download Client" screen, click on "qBittorrent".
|
||||
|
||||
[](/pics/sonarr-14.png)
|
||||
|
||||
Fill in these details:
|
||||
- Name: qBittorrent (or whatever clever name you come up with!)
|
||||
- Host: your server IP address (like `192.168.0.190`)
|
||||
- Port: 8081
|
||||
- Username: `admin`
|
||||
- Password: your qBittorrent password
|
||||
- In Name, add the name of your download client (qBittorrent).
|
||||
- On Host, add your server IP address (in my case, `192.168.0.169`).
|
||||
- On Username, add `admin`.
|
||||
- On Password, add `adminadmin`.
|
||||
|
||||
[](/pics/sonarr-15.png)
|
||||
|
||||
Hit that "Test" button - if everything's working, you'll see a happy green checkmark! ✅
|
||||
At the bottom, you can click on "Test" and if everything is OK you should see a ✅
|
||||
[](/pics/sonarr-10.png)
|
||||
[](/pics/sonarr-11.png)
|
||||
|
||||
All good? Click "Save". Your download client should now appear on the page:
|
||||
If everything is fine, click on "Save". You should see your download client added to the "Download Clients" page now!
|
||||
|
||||
[](/pics/sonarr-16.png)
|
||||
|
||||
#### SABnzbd Setup
|
||||
## Moving forward!
|
||||
|
||||
Back in "Download Clients", click that ➕ button again.
|
||||
|
||||
[](/pics/sonarr-13.png)
|
||||
|
||||
This time, let's find and click on "SABnzbd".
|
||||
|
||||
[](/pics/sonarr-19.png)
|
||||
|
||||
Fill in these details:
|
||||
- Name: SABnzbd (or something fun)
|
||||
- Host: your server IP address (like `192.168.0.190`)
|
||||
- Port: 8080
|
||||
- API Key: your SABnzbd API key
|
||||
|
||||
Need to find your SABnzbd API key? No problem! Check here: [Getting your API key for Sonarr and Radarr](/config/sabnzbd/#getting-your-api-key-for-sonarr-and-radarr)
|
||||
|
||||
[](/pics/sonarr-20.png)
|
||||
|
||||
Another test time! Click "Test" - hopefully another green checkmark! ✅
|
||||
[](/pics/sonarr-10.png)
|
||||
[](/pics/sonarr-11.png)
|
||||
|
||||
If the test passed, hit "Save". You should now see both download clients ready to go:
|
||||
|
||||
[](/pics/sonarr-21.png)
|
||||
|
||||
## Moving forward! 🚀
|
||||
|
||||
That's it! Now we can move on to [Prowlarr](/config/prowlarr). We're getting close to having your own personal streaming service!
|
||||
|
||||
## Want to become a Sonarr power user?
|
||||
|
||||
If you want to really dive into what Sonarr can do, check out the [TRaSH Guide for Sonarr](https://trash-guides.info/Sonarr/). They've got some amazing advanced tips and tricks! 🔧
|
||||
That's it! Now we can continue with [Prowlarr](/config/prowlarr).
|
||||
|
@ -5,57 +5,19 @@ draft: false
|
||||
weight: 100
|
||||
---
|
||||
|
||||
# Let's Connect! 🤝
|
||||
#  YAMS has an official Matrix chat!
|
||||
|
||||
Got questions? Suggestions? Just want to say hi? We've got plenty of ways to reach out!
|
||||
You can join us here: [https://matrix.to/#/#yams:chat.rogs.me](https://matrix.to/#/#yams:chat.rogs.me).
|
||||
|
||||
## Community Hangouts 🏡
|
||||
# You can contact me by:
|
||||
|
||||
- 💬 Matrix Space: [#yams-space:rogs.me](https://matrix.to/#/#yams-space:rogs.me)
|
||||
- 🎮 Discord Server: [YAMS Discord](https://discord.gg/Gwae3tNMST)
|
||||
- Official Forum 📋: [YAMS Forum](https://forum.yams.media)
|
||||
## Email (preferred)
|
||||
`[roger at rogs.me]` - Replace `at` with the "at" symbol (fuck you, email bots).
|
||||
|
||||
## Direct Contact 📧
|
||||
My GPG key for encrypting mail:
|
||||
- gpg: `curl -sL https://rogs.me/rogs.txt | gpg --import`
|
||||
- fingerprint: `ADDF BCB7 8B86 8D93 FC4E 3224 C7EC E9C6 C36E C2E6`
|
||||
|
||||
- Email: `[roger at rogs.me]`. Replace `at` with `@` (fuck you, email bots)
|
||||
- GPG:
|
||||
+ **Fingerprint:** `ADDF BCB7 8B86 8D93 FC4E 3224 C7EC E9C6 C36E C2E6`
|
||||
+ **Import Command:**
|
||||
```bash
|
||||
curl -sL https://rogs.me/rogs.txt | gpg --import
|
||||
```
|
||||
- My Website 🌐: [rogs.me](https://rogs.me)
|
||||
## My website
|
||||
|
||||
## Ground Rules 📏
|
||||
|
||||
Before reaching out, please:
|
||||
- Check the [documentation](/) first
|
||||
- Review [Common Issues](/faqs/common-errors/)
|
||||
- Be specific about your problem
|
||||
- Include relevant logs or screenshots
|
||||
- Be patient and kind
|
||||
|
||||
## What to Expect 🤔
|
||||
|
||||
- Response times vary
|
||||
- Community-driven support
|
||||
- Friendly, no-nonsense assistance
|
||||
- Open-source spirit of collaboration
|
||||
|
||||
**Pro Tip:** The more clearly you describe your issue, the faster we can help you! 🚀
|
||||
|
||||
## Reporting Bugs 🐛
|
||||
|
||||
Found an issue? Awesome! Head to our [GitLab Issues](https://gitlab.com/rogs/yams/-/issues) and:
|
||||
- Search existing issues first
|
||||
- Provide detailed reproduction steps
|
||||
- Include system information
|
||||
- Be awesome! 😎
|
||||
|
||||
## Social Media? Nope! 🙅♂️
|
||||
|
||||
We keep things simple. No Twitter, no Facebook, no Instagram. Just good old-fashioned community support!
|
||||
|
||||
---
|
||||
|
||||
Remember: YAMS is a community project. We're here to help, learn, and grow together! 💖
|
||||
[rogs.me](https://rogs.me)
|
||||
|
@ -5,48 +5,55 @@ draft: false
|
||||
weight: 100
|
||||
---
|
||||
|
||||
# Support the Awesome People Behind YAMS 💖
|
||||
## External donations (preferred)
|
||||
If you **really** wish to donate, first I would like to say thank you from the bottom of my heart! ❤️
|
||||
|
||||
Let's talk about something important: supporting the incredible projects and people that make YAMS possible! 🚀
|
||||
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, a couple of bash scripts, and a documentation.
|
||||
|
||||
## Give Love to the Real Heroes 🦸♀️🦸♂️
|
||||
- [linuxserver.io donations page](https://www.linuxserver.io/donate).
|
||||
- [Sonarr donations page](https://sonarr.tv/donate).
|
||||
- [Radarr donations page](https://radarr.video/donate).
|
||||
- [Jellyfin donations page](https://opencollective.com/jellyfin).
|
||||
- [Emby premier page](https://emby.media/premiere.html) (Recommended! I personally use this service).
|
||||
- [Plex pass page](https://www.plex.tv/plex-pass/).
|
||||
- [qBittorrent donations page](https://www.qbittorrent.org/donate).
|
||||
- [Bazarr donations page](https://www.paypal.com/donate/?cmd=_s-xclick&hosted_button_id=XHHRWXT9YB7WE&source=url).
|
||||
- [Prowlarr donations page](https://prowlarr.com/donate)
|
||||
- [gluetun donations page](https://www.paypal.me/qmcgaw).
|
||||
- [Lidarr donations page](https://lidarr.audio/donate).
|
||||
- [Readarr donations page](https://readarr.com/donate).
|
||||
|
||||
YAMS is built on the shoulders of giants - amazing open-source projects that pour their heart and soul into creating free, powerful tools. Before you even think about donating to YAMS, we want you to support the projects that truly make this possible!
|
||||
Just let them know YAMS sent you there 😎
|
||||
|
||||
### Top Projects to Support 🌟
|
||||
## Donations to YAMS
|
||||
If you **really REALLY** want to donate to YAMS, you can donate here, but **only after you donate to one of the other projects!**
|
||||
|
||||
Each of these projects is crucial to YAMS. If you appreciate what we've built, show some love to these incredible teams:
|
||||
I'm not doing this for the money, and thank God I don't need donations to keep this project up and running. This is just a fun project I did for me and my friends 😀
|
||||
|
||||
1. **LinuxServer.io**: [Donate Here](https://www.linuxserver.io/donate)
|
||||
2. **Sonarr** 📺: [Donate Here](https://sonarr.tv/donate)
|
||||
3. **Radarr** 🎬: [Donate Here](https://radarr.video/donate)
|
||||
4. **Jellyfin** 🍿: [Donate Here](https://opencollective.com/jellyfin)
|
||||
5. **qBittorrent** 🌊: [Donate Here](https://www.qbittorrent.org/donate)
|
||||
6. **SABnzbd** 📰: [Donate Here](https://sabnzbd.org/donate/)
|
||||
7. **Prowlarr** 🔍: [Donate Here](https://prowlarr.com/donate)
|
||||
8. **Bazarr** 💬: [Donate Here](https://www.paypal.com/donate/?cmd=_s-xclick&hosted_button_id=XHHRWXT9YB7WE&source=url)
|
||||
9. **Gluetun** 🛡️: [Donate Here](https://www.paypal.me/qmcgaw)
|
||||
|
||||
## YAMS Donations: The Very Last Priority 🏆
|
||||
|
||||
Okay, so you REALLY want to support YAMS? First, thank you! But honestly, I'm not doing this for money. YAMS is a passion project I created for myself and my friends. If you've already supported the projects above and still want to chip in, here are some options:
|
||||
|
||||
### Donation Methods 💸
|
||||
|
||||
- BuyMeACoffee: https://buymeacoffee.com/rogs
|
||||
- Paypal: https://paypal.me/rogsme21
|
||||
- BTC: [`bc1qn092rw6q5nwha093qau6xryk6u3g9uwvy4tgdu`](/pics/btc.png)
|
||||
- XMR: [`8B2QC3RPEqEhbUKKL96CGzZBqoDq8kjzd5uUVCTHvyG8fACh5up3Svz4iNKiGEoZTqUXt4cJHqC4EeaTmrbVVHXfRrrRcBq`](/pics/xmr.png)
|
||||
|
||||
## Special Thanks 🙌
|
||||
# Special thanks
|
||||
- [linuxserver.io](https://info.linuxserver.io/) for their amazing docker images.
|
||||
- [Sonarr](https://sonarr.tv/).
|
||||
- [Radarr](https://radarr.video/).
|
||||
- [Jellyfin](https://jellyfin.org/).
|
||||
- [Emby](https://emby.media/).
|
||||
- [Plex](https://www.plex.tv/).
|
||||
- [qBittorrent](https://www.qbittorrent.org/).
|
||||
- [Bazarr](https://www.bazarr.media/).
|
||||
- [Prowlarr](https://github.com/Prowlarr/Prowlarr)
|
||||
- [gluetun](https://github.com/qdm12/gluetun).
|
||||
- [Portainer](https://www.portainer.io/).
|
||||
- [Lidarr](https://lidarr.audio/).
|
||||
- [Readarr](https://readarr.com/).
|
||||
- [The entire /r/selfhosted subreddit](https://www.reddit.com/r/selfhosted/).
|
||||
- My friends:
|
||||
+ [xploshioOn](https://github.com/xploshioOn).
|
||||
+ [norlis](https://github.com/norlis).
|
||||
+ [isaac152](https://github.com/isaac152).
|
||||
|
||||
YAMS wouldn't exist without:
|
||||
- The amazing open-source community
|
||||
- My incredible friends who tested and provided feedback
|
||||
- The fantastic folks at LinuxServer.io
|
||||
- The maintainers of all the *arr projects
|
||||
- **YOU** 🫵 - for using, supporting, and believing in YAMS!
|
||||
## And finally:
|
||||
You 🫵, for being such an amazing human being, checking out my project, and (hopefully!) using it on your media server.
|
||||
|
||||
Remember: The best way to support YAMS is by using it, sharing it, and helping others in our community! 🤝
|
||||
|
||||
Happy streaming! 🎬✨
|
||||
# Thank you! 🙇
|
||||
|
@ -5,96 +5,23 @@ draft: false
|
||||
weight: 100
|
||||
---
|
||||
|
||||
# Frequently Asked Questions 🤔
|
||||
## Common `docker` permission errors
|
||||
|
||||
## General Questions
|
||||
If you are getting errors like this when running the installer or running the `yams` cli:
|
||||
|
||||
### Why another media server script?
|
||||
YAMS was born from a simple goal: Create a media server that's so easy to use, your non-tech-savvy family members could handle it! While there are other solutions out there, YAMS focuses on simplicity and automation without sacrificing power.
|
||||
```sh
|
||||
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock:
|
||||
```
|
||||
|
||||
### Why these specific software choices?
|
||||
YAMS is **opinionated** by design. Every choice was made to create a reliable, user-friendly experience. If you're curious about specific choices:
|
||||
It might mean that you need to reload your user. This is fixed by logging out of your server and logging back in.
|
||||
|
||||
- **Sonarr/Radarr**: Best-in-class for automated media management
|
||||
- **Prowlarr**: Unified indexer management
|
||||
- **qBittorrent**: Reliable, open-source torrent client
|
||||
- **Gluetun**: Robust VPN management
|
||||
- **Jellyfin/Emby/Plex**: Top-tier media streaming options
|
||||
This happens because your user needs to be part of the `docker` group in order to be able to execute `docker` without `sudo`
|
||||
|
||||
Don't agree with our choices? That's totally fine! You can always use our source code as inspiration for your own setup. 🔧
|
||||
## I don't want to configure YAMS manually, is there a pre-made configuration?
|
||||
|
||||
## Platform Support
|
||||
Yes, but **I do not recommend using this option if this is the first time you configure YAMS.** You can check the instructions here: [Easy mode](/config/easy-mode).
|
||||
|
||||
### Can I run YAMS on Windows?
|
||||
While technically possible with Docker for Windows, we don't officially support it. Check out [WIMPS](https://github.com/Xaque8787/WIMPS) instead - it's inspired by YAMS but built specifically for Windows! Although the project has been archived, it could provide a better starting point than YAMS.
|
||||
## Why did you choose <this_software> instead of <that_software>?
|
||||
|
||||
### What about macOS?
|
||||
Similar to Windows - it might work, but we focus on Linux support for the best experience. If you're on macOS, consider running YAMS in a Linux VM.
|
||||
Because. That's why it's _**opinionated**_, you don't _necessarily_ have to agree with me. This setup is aimed at noobs and first time media server enthusiasts. You can always use my sources and fork the project 🔥
|
||||
|
||||
### Which Linux distributions are supported?
|
||||
- **Recommended**: Debian 12
|
||||
- **Also Supported**: Ubuntu 24.04
|
||||
- Other distros might work but aren't officially supported
|
||||
|
||||
## Advanced Usage
|
||||
|
||||
### How do I add custom containers?
|
||||
Easy! Check out our [Adding Custom Containers](/advanced/add-your-own-containers/) guide. You can add any Docker container to work alongside YAMS.
|
||||
|
||||
### Can I modify YAMS's default settings?
|
||||
Absolutely! While YAMS comes with sensible defaults, you can customize:
|
||||
- Container configurations
|
||||
- Download settings
|
||||
- Media organization
|
||||
- Network settings
|
||||
- And much more!
|
||||
|
||||
### Need more advanced configurations?
|
||||
Check out [TRaSH Guides](https://trash-guides.info/) - they're fantastic for deep-diving into each component's settings!
|
||||
|
||||
## Network & VPN
|
||||
|
||||
### Can I add more containers to the VPN?
|
||||
Yes! Everything's documented in the [VPN guide](https://github.com/qdm12/gluetun-wiki/blob/main/setup/connect-a-container-to-gluetun.md). Your config file is in `/opt/yams/docker-compose.yaml` (or your custom install location).
|
||||
|
||||
### Which VPN providers work with YAMS?
|
||||
We support many popular providers! Check our [VPN Configuration](/advanced/vpn/#official-supported-vpns) page for the full list.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Getting Docker permission errors?
|
||||
Common issue! Check our [Common Errors](/faqs/common-errors/#common-docker-permission-errors) page for the fix.
|
||||
|
||||
### Services not starting?
|
||||
1. Check the logs: `docker logs container-name`
|
||||
2. Verify permissions
|
||||
3. Check our [Common Issues](/faqs/common-errors/) page
|
||||
|
||||
## Getting Help 🆘
|
||||
|
||||
Need more help? We've got you covered!
|
||||
|
||||
1. **Documentation**
|
||||
- Check relevant service docs
|
||||
- Review our [Common Issues](/faqs/common-errors/) page
|
||||
- Search existing forum posts
|
||||
|
||||
2. **Community**
|
||||
- Join our [Discord](https://discord.gg/Gwae3tNMST)
|
||||
- Visit our [Matrix](https://matrix.to/#/#yams-space:rogs.me) chat
|
||||
- Post on our [Forum](https://forum.yams.media)
|
||||
|
||||
3. **Issues & Bugs**
|
||||
- Check our [GitLab Issues](https://gitlab.com/rogs/yams/-/issues)
|
||||
- Search for similar problems
|
||||
- Create a new issue if needed
|
||||
|
||||
## Contributing 🤝
|
||||
|
||||
Want to help make YAMS better? Awesome!
|
||||
- Fork our repository
|
||||
- Make your changes
|
||||
- Submit a pull request
|
||||
- Or help improve our documentation!
|
||||
|
||||
Remember: YAMS is a community project, and we welcome all contributions! 🌟
|
||||
|
@ -1,235 +0,0 @@
|
||||
---
|
||||
title: "Common Issues"
|
||||
date: 2023-10-22T10:22:29-03:00
|
||||
draft: false
|
||||
weight: 1
|
||||
summary: Solutions for common YAMS problems and how to fix them
|
||||
---
|
||||
|
||||
# Common YAMS Issues & Solutions 🔧
|
||||
|
||||
## Docker Issues
|
||||
|
||||
### Permission Denied Errors 🚫
|
||||
Getting this error when running YAMS commands?
|
||||
```bash
|
||||
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock
|
||||
```
|
||||
|
||||
**Quick Fix:**
|
||||
```bash
|
||||
# Add yourself to the docker group
|
||||
sudo usermod -aG docker $USER
|
||||
|
||||
# Log out and back in, or run:
|
||||
newgrp docker
|
||||
```
|
||||
|
||||
**Still having issues?**
|
||||
1. Check group membership:
|
||||
```bash
|
||||
groups $USER
|
||||
```
|
||||
You should see 'docker' in the list.
|
||||
|
||||
2. Verify socket permissions:
|
||||
```bash
|
||||
ls -l /var/run/docker.sock
|
||||
```
|
||||
Should show: `srw-rw---- 1 root docker`
|
||||
|
||||
3. Check Docker service:
|
||||
```bash
|
||||
systemctl status docker
|
||||
```
|
||||
|
||||
## VPN Issues
|
||||
|
||||
### Gluetun Won't Connect 🔌
|
||||
|
||||
If your VPN isn't working, let's troubleshoot step by step:
|
||||
|
||||
1. **Check Gluetun Logs**
|
||||
```bash
|
||||
docker logs -n 100 gluetun
|
||||
```
|
||||
|
||||
2. **Common Error Messages:**
|
||||
- "Authentication failed": Check your VPN credentials
|
||||
- "Network unreachable": Check your internet connection
|
||||
- "No such host": DNS issues - check your network settings
|
||||
|
||||
3. **Verify VPN Settings**
|
||||
```bash
|
||||
# In your .env file
|
||||
VPN_ENABLED=y
|
||||
VPN_SERVICE=your_provider
|
||||
VPN_USER=your_username
|
||||
VPN_PASSWORD=your_password
|
||||
```
|
||||
|
||||
4. **Test VPN Connection**
|
||||
```bash
|
||||
yams check-vpn
|
||||
```
|
||||
|
||||
5. **Provider-Specific Issues:**
|
||||
- **ProtonVPN**: Make sure to use the correct username ([OpenVPN / IKEv2 username](https://account.proton.me/u/0/vpn/OpenVpnIKEv2))
|
||||
- **Mullvad**: Account number needs to be exactly 16 digits
|
||||
- **NordVPN**: Use your token, not your regular password
|
||||
|
||||
### Quick VPN Fixes 🛠️
|
||||
|
||||
1. **Reset VPN Connection**
|
||||
```bash
|
||||
yams restart
|
||||
```
|
||||
|
||||
2. **Force Container Recreation**
|
||||
```bash
|
||||
yams destroy
|
||||
yams start
|
||||
```
|
||||
|
||||
3. **Verify Network Settings**
|
||||
```bash
|
||||
docker network ls
|
||||
```
|
||||
|
||||
## Download Client Issues
|
||||
|
||||
### qBittorrent Not Accessible 🔒
|
||||
|
||||
1. **Check if VPN is Enabled**
|
||||
- Review [VPN Configuration](/advanced/vpn/)
|
||||
- Run VPN check:
|
||||
```bash
|
||||
yams check-vpn
|
||||
```
|
||||
|
||||
2. **Verify Port Mappings**
|
||||
```bash
|
||||
docker ps | grep qbittorrent
|
||||
```
|
||||
Should show port 8081 mapped
|
||||
|
||||
3. **Check Network Mode**
|
||||
In `docker-compose.yaml`:
|
||||
```yaml
|
||||
qbittorrent:
|
||||
network_mode: "service:gluetun"
|
||||
```
|
||||
|
||||
4. **Review Logs**
|
||||
```bash
|
||||
docker logs qbittorrent
|
||||
```
|
||||
|
||||
### SABnzbd Connection Issues 📡
|
||||
|
||||
1. **Check Service Status**
|
||||
```bash
|
||||
docker ps | grep sabnzbd
|
||||
```
|
||||
|
||||
2. **Verify Config**
|
||||
Look for:
|
||||
```yaml
|
||||
sabnzbd:
|
||||
ports:
|
||||
- 8080:8080
|
||||
```
|
||||
|
||||
3. **Check Logs**
|
||||
```bash
|
||||
docker logs sabnzbd
|
||||
```
|
||||
|
||||
## Media Server Issues
|
||||
|
||||
### Jellyfin/Emby/Plex Can't Find Media 📺
|
||||
|
||||
1. **Check Permissions**
|
||||
```bash
|
||||
ls -l /your/media/directory
|
||||
```
|
||||
Should be owned by PUID:PGID from your .env file
|
||||
|
||||
2. **Verify Mount Points**
|
||||
```bash
|
||||
docker inspect your-media-server
|
||||
```
|
||||
Look for "Mounts" section
|
||||
|
||||
3. **Path Issues**
|
||||
- Inside container: `/data/movies`, `/data/tvshows`
|
||||
- On host: Your `MEDIA_DIRECTORY` paths
|
||||
|
||||
4. **Scan Library**
|
||||
- Trigger manual scan in web UI
|
||||
- Check library paths in settings
|
||||
|
||||
## Performance Issues
|
||||
|
||||
### High CPU Usage 🔥
|
||||
|
||||
1. **Check Container Stats**
|
||||
```bash
|
||||
docker stats
|
||||
```
|
||||
|
||||
2. **Monitor System Resources**
|
||||
```bash
|
||||
top
|
||||
# or
|
||||
htop
|
||||
```
|
||||
|
||||
3. **Review Logs for Issues**
|
||||
```bash
|
||||
docker logs --tail 100 container-name
|
||||
```
|
||||
|
||||
### Memory Problems 💾
|
||||
|
||||
1. **Check Available Memory**
|
||||
```bash
|
||||
free -h
|
||||
```
|
||||
|
||||
2. **Monitor Container Memory**
|
||||
```bash
|
||||
docker stats --format "table {{.Name}}\t{{.MemUsage}}"
|
||||
```
|
||||
|
||||
3. **Adjust Container Limits**
|
||||
In docker-compose.yaml:
|
||||
```yaml
|
||||
services:
|
||||
your-service:
|
||||
mem_limit: 1g
|
||||
```
|
||||
|
||||
## Getting More Help 🆘
|
||||
|
||||
Still stuck? We've got your back!
|
||||
|
||||
1. **Check Detailed Logs**
|
||||
```bash
|
||||
# All container logs
|
||||
docker-compose logs
|
||||
|
||||
# Specific container
|
||||
docker-compose logs container-name
|
||||
```
|
||||
|
||||
2. **Community Resources**
|
||||
- [YAMS Forum](https://forum.yams.media)
|
||||
- [Discord Chat](https://discord.gg/Gwae3tNMST)
|
||||
- [Matrix Room](https://matrix.to/#/#yams-space:rogs.me)
|
||||
|
||||
3. **Report Issues**
|
||||
- Check existing [GitLab issues](https://gitlab.com/rogs/yams/-/issues)
|
||||
- Provide logs and configuration when reporting new issues
|
||||
|
||||
Remember: Most issues have simple solutions! If you're stuck, our community is here to help! 💪
|
@ -3,65 +3,47 @@ title: "What is YAMS?"
|
||||
date: 2023-01-10T15:23:19-03:00
|
||||
draft: false
|
||||
weight: 1
|
||||
summary: Everything you need to know about YAMS and what makes it awesome
|
||||
summary: A brief summary on what YAMS is and its features
|
||||
---
|
||||
|
||||
# Welcome to YAMS! 🎬
|
||||
YAMS is a **highly opinionated** media server.
|
||||
|
||||
YAMS (Yet Another Media Server) is an **opinionated** media server that just works. No fuss, no complexity - just a smooth, automated media experience that you can set up in minutes!
|
||||
With YAMS you'll be able to automate your media gathering, organization, and consumption.
|
||||
|
||||
## The Story Behind YAMS 📖
|
||||
## First, why?
|
||||
|
||||
Back in 2019, I had a mission: Create a media server that my non-tech-savvy girlfriend could use without calling me for help every five minutes. So I dove in, combining some awesome open-source projects and wrapping them up in Docker containers.
|
||||
In 2019 I wanted a setup that my non-technical girlfriend could use without any problems, so I started designing my media server using multiple open source projects and running them on top of docker.
|
||||
|
||||
Fast forward to today, and guess what? Mission accomplished! 🎉 Not only does my girlfriend use it without any issues, but I've even got my mom (who lives 5000km away!) streaming her favorite shows with zero problems.
|
||||
Fast forward two years and I would like to say it works very well 😎 And most importantly, I accomplished my goal: My girlfriend uses it regularly and I've even added my mom, who lives 5000 kms from me.
|
||||
|
||||
When my friends saw how well it worked, they all wanted one too. But explaining how to set everything up was like trying to teach a cat to swim - technically possible, but way more complicated than it needed to be.
|
||||
My friends wanted to have a media server like mine, but it was always hard to explain everything that was involved in building and connecting all the pieces together.
|
||||
|
||||
That's when it hit me: Why not create a script that could do all the heavy lifting? And that's how YAMS was born! Now anyone can build their own kickass media server without needing a PhD in computer science. 😎
|
||||
So basically, my friends pushed me to build this script and documentation, so they (and now anyone!) could build it on their own home servers.
|
||||
|
||||
## What Makes YAMS Special? ✨
|
||||
## Features
|
||||
|
||||
YAMS isn't just another media server - it's your personal Netflix-killer with superpowers! Here's what you get out of the box:
|
||||
In no particular order:
|
||||
|
||||
### 🤖 Fully Automated
|
||||
- **Smart Downloads:** Just tell it what shows and movies you want - YAMS handles the rest
|
||||
- **Perfect Organization:** Everything gets sorted and labeled automatically
|
||||
- **Subtitle Magic:** Auto-downloads subtitles in any language you want (if they're available)
|
||||
- **Automatic shows/movies download:** Just add your shows and movies to the watch list and it should automatically download the files as soon as they are available.
|
||||
- **Automatic classification 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/Jellyfin/Plex:** Since we are using Emby/Jellyfin/Plex, you should be able to watch your favorite media almost anywhere.
|
||||
|
||||
### 📱 Watch Anywhere
|
||||
- Works on pretty much anything that can run Emby/Jellyfin/Plex:
|
||||
- 🖥️ Web browsers
|
||||
- 📱 iOS & Android phones/tablets
|
||||
- 📺 Smart TVs
|
||||
- 🎮 Gaming consoles
|
||||
- And tons more!
|
||||
|
||||
## What's Under the Hood? 🛠️
|
||||
## What's installed with YAMS?
|
||||
|
||||
YAMS combines some of the best open-source media tools out there:
|
||||
- [qBittorrent](https://www.qbittorrent.org/).
|
||||
- [Radarr](https://radarr.video/).
|
||||
- [Sonarr](https://sonarr.tv/).
|
||||
- [Prowlarr](https://github.com/Prowlarr/Prowlarr).
|
||||
- [Bazarr](https://www.bazarr.media/).
|
||||
- [Jellyfin](https://jellyfin.org/).
|
||||
- [Emby](https://emby.media/).
|
||||
- [Plex](https://www.plex.tv/).
|
||||
- [gluetun](https://github.com/qdm12/gluetun).
|
||||
- [Portainer](https://www.portainer.io/).
|
||||
- [Lidarr](https://lidarr.audio/).
|
||||
- [Readarr](https://readarr.com/).
|
||||
|
||||
### Core Components:
|
||||
- 📥 qBittorrent & SABnzbd: Your download powerhouses
|
||||
- 🎬 Radarr: Your personal movie hunter
|
||||
- 📺 Sonarr: Your TV show tracker
|
||||
- 🔍 Prowlarr: Your search master
|
||||
- 💬 Bazarr: Your subtitle wizard
|
||||
- 🎮 Jellyfin/Emby/Plex: Your streaming brain
|
||||
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.
|
||||
|
||||
### Performance Features:
|
||||
- 🚄 **Port Forwarding**: Automatic port configuration for faster downloads
|
||||
- 🔗 **Hardlinking**: Saves massive amounts of disk space by creating multiple references to the same file instead of duplicating data
|
||||
- ⚡ **Atomic Moves**: Ensures clean, instantaneous file transfers without incomplete or corrupted files
|
||||
|
||||
Want to dive deep into file management best practices? Check out the [TRaSH Guides File and Folder Structure](https://trash-guides.info/File-and-Folder-Structure/) for the ultimate deep dive!
|
||||
|
||||
### Extra Goodies:
|
||||
- 🔒 gluetun: Keeps your downloads private and secure
|
||||
- 🎛️ Portainer: Makes managing everything a breeze
|
||||
- 🎵 Lidarr: Handles your music collection
|
||||
- 📚 Readarr: Takes care of your ebooks
|
||||
|
||||
All these pieces work together seamlessly to create a media server that's both powerful AND easy to use. It's like having your own streaming service, but better - because YOU'RE in control!
|
||||
|
||||
Ready to dive in? Let's [get started with the installation](/install/steps)!
|
||||
|
@ -7,90 +7,62 @@ summary: First steps to install YAMS on your server
|
||||
|
||||
## Dependencies
|
||||
|
||||
YAMS only needs a few things to get started:
|
||||
This script only depends on:
|
||||
|
||||
- Debian 12 (recommended) or Ubuntu 24.04 running on bare metal, a VM, or certain container types. If your OS isn't ready yet, check out these guides:
|
||||
+ https://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-11 (this tutorial is for Debian 11, but it should be the same).
|
||||
+ https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-22-04 (this tutorial is for Ubuntu 22.04, but is should be the same).
|
||||
- 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
|
||||
+ If you're using Ubuntu, **make sure you are NOT using the snap version of docker!** The snap version runs in a sandbox and can't access what it needs. You can check by running `which docker`. If you see:
|
||||
```
|
||||
$ which docker
|
||||
/snap/bin/docker
|
||||
```
|
||||
You **won't** be able to install YAMS. ⚠️
|
||||
- Debian 11 (recommended) or Ubuntu 22.04.
|
||||
- [docker](https://www.docker.com/).
|
||||
- [docker-compose](https://docs.docker.com/compose/).
|
||||
|
||||
- **Proxmox LXC Users:** YAMS can be installed within an unprivileged Proxmox LXC container, but this requires specific configuration on the Proxmox host **before** you run the YAMS installation script inside the container. Please follow the steps in our [Proxmox LXC Prerequisites guide](/advanced/proxmox-lxc-prerequisites/) before proceeding with the installation steps below.
|
||||
|
||||
Don't worry if you don't have `docker` and `docker-compose` installed - the script can handle that for you on Debian and Ubuntu!
|
||||
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 running
|
||||
Before installing, make sure you have:
|
||||
|
||||
Before we dive in, make sure you have:
|
||||
- **An installation location:** The script is going to ask you for an 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. For example, 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 [this list](/advanced/vpn#official-supported-vpns). The VPN I always recommend is [Mullvad](https://mullvad.net/en/) for reasons I will explain later in the installation process.
|
||||
|
||||
- **Git installed:** You'll need this to clone the YAMS repository. Check if it's installed with:
|
||||
```bash
|
||||
git --version
|
||||
```
|
||||
If you don't have it yet, it's easy to install:
|
||||
```bash
|
||||
# For Debian/Ubuntu
|
||||
sudo apt update
|
||||
sudo apt install git
|
||||
```
|
||||
## To install
|
||||
|
||||
- **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!
|
||||
### Setup your install location (location is optional, you can choose any other location)
|
||||
|
||||
## 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:
|
||||
The location `/opt/yams` is **recommended**, but you can use whatever you like if your current user has permissions on the directory.
|
||||
|
||||
```bash
|
||||
sudo mkdir -p /opt/yams
|
||||
sudo chown -R $USER:$USER /opt/yams
|
||||
```
|
||||
|
||||
### 2. If you already have docker installed...
|
||||
### If you already have docker and docker-compose installed...
|
||||
|
||||
Make sure you can run `docker` **without** `sudo`! Try this:
|
||||
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](/faqs/), there's a section on "Common `docker` permission errors".
|
||||
|
||||
### Inspecting the `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.
|
||||
|
||||
### Cloning from Gitlab
|
||||
```bash
|
||||
docker run hello-world
|
||||
git clone https://gitlab.com/rogs/yams.git
|
||||
cd yams
|
||||
```
|
||||
|
||||
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.
|
||||
|
||||
## Installation Steps
|
||||
|
||||
### 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!):
|
||||
|
||||
### Installing YAMS
|
||||
```bash
|
||||
git clone --depth=1 https://gitlab.com/rogs/yams.git /tmp/yams
|
||||
cd /tmp/yams
|
||||
./install.sh
|
||||
```
|
||||
|
||||
### 2. Start the installer
|
||||
You'll see the following prompt:
|
||||
|
||||
```bash
|
||||
bash install.sh
|
||||
```
|
||||
|
||||
You'll see this welcome screen:
|
||||
```bash
|
||||
====================================================
|
||||
___ ___ ___
|
||||
@ -106,187 +78,117 @@ You'll see this welcome screen:
|
||||
\__\/ \__\/ \__\/
|
||||
====================================================
|
||||
Welcome to YAMS (Yet Another Media Server)
|
||||
Installation process should be really quick
|
||||
Instalation 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 not found! ⚠️
|
||||
⚠️ 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.
|
||||
|
||||
- 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
|
||||
When docker finishes the installation OR if you already had `docker` and `docker-compose` installed, you should see the following message at the bottom:
|
||||
|
||||
```bash
|
||||
Checking prerequisites...
|
||||
docker exists ✅
|
||||
docker-compose exists ✅
|
||||
Where do you want to install the docker-compose file? [/opt/yams]:
|
||||
```
|
||||
|
||||
- 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
|
||||
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.
|
||||
|
||||
```bash
|
||||
What's the user that is going to own the media server files? [your_current_user]:
|
||||
```
|
||||
|
||||
- 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
|
||||
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.
|
||||
|
||||
```bash
|
||||
Please, input your media directory [/srv/media]:
|
||||
Please, input your media folder:
|
||||
```
|
||||
|
||||
- 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
|
||||
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.
|
||||
|
||||
Then confirm your choice:
|
||||
```bash
|
||||
Are you sure your media directory is "/srv/media"? [y/N]:
|
||||
Are you sure your media folder 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
|
||||
Select `y` or `n` if you are happy with the folder you selected. Press `[ENTER]` to continue.
|
||||
|
||||
#### Media service
|
||||
```bash
|
||||
Time to choose your media service.
|
||||
Your media service is responsible for serving your files to your network.
|
||||
Supported media services:
|
||||
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!
|
||||
|
||||
Choose your media service [jellyfin]:
|
||||
By default, YAMS supports 3 big media services:
|
||||
- [Jellyfin](https://jellyfin.org) (recommended): In my opinion, Jellyfin is the best one. It's fast, easy to configure and Open Source.
|
||||
- [Emby](https://emby.media): Emby its the one I use on my local config. It's very similar to Jellyfin (Jellyfin is a fork of Emby), and it has almost the same funtionalities. The reason I'm not recommending it is because it has a paid plan and it's closed source. (I'm actually migrating to Jellyfin now!).
|
||||
- [Plex](https://plex.tv): I only recommend Plex to advanced users or people who need all the extra stuff it provides, because the interface and all the services might be a little overwhelming if this is your first time with a home server. I don’t like it that much because it’s always online, and it has more functionalities than I need. Also, at least in YAMS, it’s the hardest to configure. But if you want to share your media server with other people easily, Plex is the way to go! Jellyfin and Emby can share media outside your network, but they are a little more complicated to configure.
|
||||
|
||||
Type one from the list and press [ENTER]. If you don't choose anything, the installer is going to default to Jellyfin.
|
||||
|
||||
#### VPN
|
||||
```bash
|
||||
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]:
|
||||
```
|
||||
|
||||
Pick your streaming service:
|
||||
- Press Enter for Jellyfin (recommended for beginners)
|
||||
- Type `emby` for Emby
|
||||
- Type `plex` for Plex
|
||||
Now it's time to configure the VPN. The automatic installer supports all the VPNs on [this list](/advanced/vpn#official-supported-vpns), but **I strongly recommend using Mullvad**. Why? Basically:
|
||||
- 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.
|
||||
|
||||
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. Be aware of these [new limitations](https://www.plex.tv/blog/important-2025-plex-updates/) if you don't have a Plex Pass
|
||||
|
||||
### 8. VPN Configuration
|
||||
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](#finishing-the-installation). You can set your VPN later in the [qBittorrent configuration](/config/qbittorrent). **You should always use a VPN when downloading torrents!**
|
||||
|
||||
```bash
|
||||
Time to set up the VPN.
|
||||
Supported VPN providers: https://yams.media/advanced/vpn
|
||||
|
||||
Configure VPN? (Y/n) [Default = y]:
|
||||
What's your VPN service? (with spaces) [mullvad]:
|
||||
```
|
||||
|
||||
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
|
||||
First, select your VPN provider. You can go to [this list](/advanced/vpn#official-supported-vpns) and verify the name of your VPN.
|
||||
|
||||
The installer will show you where to find the setup documentation:
|
||||
```bash
|
||||
Please check protonvpn's documentation for specific configuration:
|
||||
https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/protonvpn.md
|
||||
```
|
||||
Make sure to check this documentation - it will help you avoid common setup issues!
|
||||
|
||||
If you are using ProtonVPN:
|
||||
```bash
|
||||
DO NOT USE YOUR PROTON ACCOUNT USERNAME AND PASSWORD. REFER TO THE DOCUMENTATION ABOVE TO OBTAIN THE CORRECT VPN USERNAME AND PASSWORD.
|
||||
```
|
||||
[Don't say you weren't warned](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/protonvpn.md#openvpn-only).
|
||||
|
||||
3. Configure port forwarding:
|
||||
```bash
|
||||
Port forwarding allows for better connectivity in certain applications.
|
||||
However, not all VPN providers support this feature.
|
||||
Please check your VPN provider's documentation to see if they support port forwarding.
|
||||
Enable port forwarding? (y/N) [Default = n]:
|
||||
```
|
||||
|
||||
4. Enter your credentials:
|
||||
```bash
|
||||
VPN username (without spaces):
|
||||
VPN password:
|
||||
```
|
||||
|
||||
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! ✅
|
||||
What's your VPN username? (without spaces):
|
||||
```
|
||||
Now, just enter your VPN username. If it has spaces, delete them.
|
||||
|
||||
Copying .env.example to /opt/yams/.env...
|
||||
.env.example was copied successfuly! ✅
|
||||
```bash
|
||||
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.
|
||||
|
||||
Copying docker-compose.custom.yaml to /opt/yams/docker-compose.custom.yaml...
|
||||
docker-compose.custom.yaml was copied successfuly! ✅
|
||||
```
|
||||
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](/advanced/vpn#official-supported-vpns). 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.
|
||||
|
||||
### Finishing the installation
|
||||
|
||||
```bash
|
||||
Copying /opt/yams/docker-compose.yaml...
|
||||
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
|
||||
If you get a `docker` permission error, go [here](/faqs/) to fix it.
|
||||
|
||||
You'll then see:
|
||||
```bash
|
||||
We need your sudo password to install the YAMS CLI and configure permissions...
|
||||
```
|
||||
After a lot of docker installing, you'll get a message like this at the end:
|
||||
|
||||
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
|
||||
========================================================
|
||||
_____ ___ ___ ___
|
||||
@ -300,54 +202,32 @@ When everything's done, you'll see this awesome ASCII art:
|
||||
\ \::/ \ \:\/:/ \ \:\ \ \:\/:/
|
||||
\__\/ \ \::/ \ \:\ \ \::/
|
||||
\__\/ \__\/ \__\/
|
||||
========================================================
|
||||
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
|
||||
|
||||
========================================================
|
||||
```
|
||||
|
||||
Following this, you'll get a list of all your service URLs:
|
||||
```bash
|
||||
Service URLs:
|
||||
qBittorrent: http://your.ip.address:8081/
|
||||
SABnzbd: http://your.ip.address:8080/
|
||||
Radarr: http://your.ip.address:7878/
|
||||
Sonarr: http://your.ip.address:8989/
|
||||
Lidarr: http://your.ip.address:8686/
|
||||
Readarr: http://your.ip.address:8787/
|
||||
Prowlarr: http://your.ip.address:9696/
|
||||
Bazarr: http://your.ip.address:6767/
|
||||
Media Service: http://your.ip.address:8096/
|
||||
Portainer: http://your.ip.address:9000/
|
||||
```
|
||||
And that's it!
|
||||
|
||||
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?
|
||||
|
||||
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)
|
||||
|
||||
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
|
||||
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.
|
||||
|
@ -3,89 +3,38 @@ title: "Using the CLI"
|
||||
date: 2023-01-10T17:55:41-03:00
|
||||
draft: false
|
||||
weight: 3
|
||||
summary: Master YAMS's powerful command-line interface - your Swiss Army knife for managing your media server!
|
||||
summary: YAMS comes with a very handy CLI to manage all your media server. Here's where you'll learn how to use it.
|
||||
---
|
||||
|
||||
# The YAMS Command Line: Your Media Server's Best Friend 🛠️
|
||||
YAMS comes with a very handy CLI to manage your media server. Here's where you'll learn how to use it.
|
||||
|
||||
YAMS comes with a super handy command-line interface (CLI) that makes managing your media server a breeze! Think of it as your media server's remote control - but cooler. 😎
|
||||
|
||||
## Getting Started
|
||||
|
||||
To see what your YAMS CLI can do, just type:
|
||||
On your server, you can type:
|
||||
```bash
|
||||
yams --help
|
||||
```
|
||||
|
||||
You'll get a nice overview of all available commands:
|
||||
And you'll get the following message:
|
||||
|
||||
```bash
|
||||
yams - Yet Another Media Server
|
||||
|
||||
Usage: yams [command] [options]
|
||||
|
||||
Commands:
|
||||
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
|
||||
check-vpn checks if the VPN is working as expected
|
||||
backup backs up yams to the destination location
|
||||
```
|
||||
|
||||
Let's break down each command and see what magic they can do! ✨
|
||||
Everything is very self-explanatory, but I'll go in more detail here:
|
||||
|
||||
## The Command Arsenal 🚀
|
||||
- `restart`: Restarts all the services. It stops them gracefully and starts them again.
|
||||
- `stop`: Stops all the services gracefully.
|
||||
- `start`: Starts all the services.
|
||||
- `destroy`: Destroys all the services so you can start the configuration from scratch. ⚠️ Be careful! ⚠️ There's no going back after this!
|
||||
- `check-vpn`: Checks the IP of the qBittorrent service and compares it to your own IP. If they are the same, it's going to warn you.
|
||||
|
||||
### `yams start`
|
||||
Fires up all your YAMS services. It's like pressing the "ON" button for your media server! The CLI will even show you a nice progress bar and let you know when everything's up and running.
|
||||
|
||||
### `yams stop`
|
||||
Gracefully stops all YAMS services. Think of it as tucking your media server in for a good night's rest. 😴 All downloads will be paused, and all services will shut down properly.
|
||||
|
||||
### `yams restart`
|
||||
Having a hiccup with one of your services? This command is like giving your media server a quick refresh! It:
|
||||
1. Gracefully stops all services
|
||||
2. Starts them back up
|
||||
3. Shows you a progress bar while services are starting
|
||||
4. Confirms when everything's back online
|
||||
|
||||
### `yams check-vpn`
|
||||
Your privacy guardian! 🛡️ This command makes sure your VPN is doing its job by:
|
||||
1. Checking your real IP address
|
||||
2. Checking qBittorrent's IP address
|
||||
3. Comparing them to make sure they're different
|
||||
4. Showing you which countries both IPs are from
|
||||
|
||||
If something's wrong, it'll let you know right away!
|
||||
|
||||
### `yams backup [destination]`
|
||||
Your safety net! 🎯 Backs up your entire YAMS configuration to keep your setup safe. Just tell it where to save the backup:
|
||||
|
||||
```bash
|
||||
yams backup ~/my-backups
|
||||
```
|
||||
|
||||
This will:
|
||||
1. Stop all services (temporarily)
|
||||
2. Create a timestamped backup file
|
||||
3. Start everything back up
|
||||
4. Tell you exactly where your backup is saved
|
||||
|
||||
### `yams destroy`
|
||||
The nuclear option! ☢️ This command completely removes all YAMS services so you can start fresh. But don't worry - it'll ask for confirmation first! We don't want any accidents. 😅
|
||||
|
||||
## Pro Tips 💡
|
||||
|
||||
1. **Service Status**: After starting or restarting, YAMS will show you the status of each service, so you know everything's working properly.
|
||||
|
||||
2. **Backup Regularly**: Get into the habit of running `yams backup` before making any big changes. Future you will thank present you!
|
||||
|
||||
3. **Check That VPN**: Run `yams check-vpn` periodically to ensure your privacy is protected.
|
||||
|
||||
## Troubleshooting 🔧
|
||||
|
||||
Getting a `docker` permission error when trying to use the CLI? Don't panic! Head over to our [Common Issues](/faqs/common-errors/) page for the fix.
|
||||
|
||||
Remember: YAMS's CLI is here to make your life easier! If you're ever unsure about a command, just add `--help` at the end or check back here for a refresher. Happy streaming! 🎬
|
||||
If you get a `docker` permission error trying to use the CLI, go [here](/faqs/) to fix it.
|
||||
|
@ -7,29 +7,17 @@
|
||||
<li class="zerostatic">
|
||||
<img src="/pics/yams-small.png"/> <a href="https://yams.media">yams.media</a>
|
||||
</li>
|
||||
<li class="zerostatic">
|
||||
<img src="/pics/gitea-small.png"/> <a href="https://git.rogs.me/rogs/yams">git.rogs.me/rogs/yams</a>
|
||||
</li>
|
||||
<li class="zerostatic">
|
||||
<img src="/pics/gitlab-small.png"/> <a href="https://gitlab.com/rogs/yams">gitlab.com/rogs/yams</a>
|
||||
</li>
|
||||
<li class="zerostatic">
|
||||
<img src="/pics/github-small.png"/> <a href="https://github.com/rogsme/yams">github.com/rogsme/yams</a>
|
||||
</li>
|
||||
<li class="zerostatic">
|
||||
<img src="/pics/discord-small.png"/> <a href="https://discord.gg/Gwae3tNMST">Discord</a>
|
||||
</li>
|
||||
<li class="zerostatic">
|
||||
<img src="/pics/element-small.png"/> <a href="https://matrix.to/#/#yams-space:rogs.me">#yams-space:rogs.me</a>
|
||||
<img src="/pics/element-small.png"/> <a href="https://matrix.to/#/#yams:chat.rogs.me">#yams:chat.rogs.me</a>
|
||||
</li>
|
||||
{{ if not (in (.Site.BaseURL | string) "localhost") }}
|
||||
<li class="zerostatic">
|
||||
<img src="https://visitor-badge.laobi.icu/badge?page_id=https%3A%2f%2fyams.media{{ .Permalink | absURL }}&right_color=%235FAF63" alt="visitor badge"/>
|
||||
</li>
|
||||
{{ end }}
|
||||
<li class="zerostatic">
|
||||
<a href="https://www.buymeacoffee.com/rogs">🍕 Support YAMS! 🤑</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 777 B |
Before Width: | Height: | Size: 411 B |
Before Width: | Height: | Size: 351 B |
Before Width: | Height: | Size: 992 B |
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 113 KiB |
Before Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 97 KiB |
Before Width: | Height: | Size: 128 KiB |
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 85 KiB |
Before Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 3.4 KiB |
@ -85,13 +85,3 @@ body {
|
||||
content: url("/pics/element-small.png") ;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.menu-item-discord span:before {
|
||||
content: url("/pics/discord-small.png") ;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.menu-item-libera\.chat span:before {
|
||||
content: url("/pics/libera-small.png") ;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
@ -9,8 +9,13 @@
|
||||
{{ block "meta_tags" . }}{{end}}
|
||||
<link rel="icon" href="{{ "favicon.ico" | absURL}}">
|
||||
|
||||
{{ if .Site.IsServer }}
|
||||
{{ $style := resources.Get "scss/style.scss" | toCSS (dict "targetPath" "css/style.css" "enableSourceMap" true) }}
|
||||
<link rel="stylesheet" href="{{ ($style).RelPermalink }}">
|
||||
{{ else }}
|
||||
{{ $style := resources.Get "scss/style.scss" | toCSS (dict "targetPath" "css/style.css" "enableSourceMap" false) }}
|
||||
<link rel="stylesheet" href="{{ ($style | minify | fingerprint).RelPermalink }}">
|
||||
{{ end }}
|
||||
|
||||
{{ block "header_css" . }}{{ end }}
|
||||
|
||||
@ -55,7 +60,11 @@
|
||||
{{ block "footer_js" . }}
|
||||
{{ end }}
|
||||
|
||||
{{ if .Site.IsServer }}
|
||||
<script type="text/javascript" src="{{ $scripts.RelPermalink }}"></script>
|
||||
{{ else }}
|
||||
<script type="text/javascript" src="{{ ($scripts | minify | fingerprint).RelPermalink }}"></script>
|
||||
{{ end }}
|
||||
|
||||
</body>
|
||||
|
||||
|