Compare commits

..

146 Commits

Author SHA1 Message Date
fd86c86d6b
Merge branch 'master' of git.rogs.me:rogs/yams.media
All checks were successful
Hugo Build and Deploy / Build Hugo Site (push) Successful in 4s
Hugo Build and Deploy / Deploy to Server (push) Successful in 25s
2025-05-14 21:26:55 -03:00
d5b6cf585c
Add hugo cache directory
- Specifies a cache directory for hugo builds.
- Improves build performance by caching hugo assets.
- Sets the cache directory to $PWD/hugo-cache.
2025-05-14 21:26:43 -03:00
ccc36c4326 Merge pull request 'Add GitHub Actions deployment workflow' (#45) from add-gitea-actions into master
All checks were successful
Hugo Build and Deploy / Build Hugo Site (push) Successful in 6s
Hugo Build and Deploy / Deploy to Server (push) Successful in 54s
Reviewed-on: #45
2025-05-14 20:40:11 -03:00
cdb360dc3e
Add GitHub Actions deployment workflow
All checks were successful
Hugo Build and Deploy / Build Hugo Site (pull_request) Successful in 20s
Hugo Build and Deploy / Deploy to Server (pull_request) Has been skipped
- Adds a workflow to build and deploy the Hugo site.
- Uses klakegg/hugo:0.111.3-ext-alpine-ci for the build environment.
- Checks out the code in both build and deploy jobs.
- Deploys to the server using SSH keys and secrets.
- Only deploys on pushes to the master branch.
- Uses `git stash` and `git pull --force` for deployment.
2025-05-14 20:34:07 -03:00
0812dbeef1
Add links to Gitea and GitHub repositories.
- Adds links to the Gitea and GitHub repositories in the sub-footer.
- Includes corresponding image assets.
- Updates Buy Me a Coffee link text for clarity.
2025-05-14 20:31:52 -03:00
a55f74bdd2
Remove GitLab CI configuration
- Removes the .gitlab-ci.yml file.
- This file was used for automated builds and deployments.
- The project no longer requires these automated processes.
2025-05-14 20:31:47 -03:00
1672e76eca
Add documentation for switching to WireGuard
- Adds a new `wireguard.md` file detailing the process of switching from OpenVPN to WireGuard.
- Includes instructions for ProtonVPN users and guidance for other providers.
- Updates existing documentation in `vpn.md` and `port-forwarding.md` to reference the new guide.
- Adds a new section to `vpn.md` explaining the benefits of WireGuard.
- Clarifies the process of updating the `.env` file and `docker-compose.yaml`.
- Provides troubleshooting steps for common WireGuard issues.
2025-04-05 19:25:10 -03:00
Loriage
dc6c8ce332 Plex new restrictions note 2025-04-02 20:07:51 +02:00
Loriage
e54c665574 Fixing md link syntax 2025-04-02 19:49:59 +02:00
Loriage
085909b1d2 Add warning about recent Plex limitations 2025-04-02 19:48:18 +02:00
4a1979bad5
Add acknowledgement to Airwreck
- Acknowledge Airwreck's contribution to the guide.
- Added a line to the content/advanced/env-file.md file.
2025-03-30 15:14:15 -03:00
38dcee41c2
Removes unnecessary space in the CI script. 2025-03-30 10:13:43 -03:00
ea0932b895
Merge branch 'master' of gitlab.com:rogs/yams.media into add-env-documentation 2025-03-30 10:13:22 -03:00
ec868c768e Merge branch 'add-test-ci' into 'master'
Add test stage to CI

See merge request rogs/yams.media!21
2025-03-30 10:00:32 -03:00
ef2075668a
Update Hugo CI image version.
- Use a more specific CI image version.
- Pin the image to include CI tooling.
2025-03-30 09:55:55 -03:00
658581e147
Add test stage to CI
- Adds a test stage using a Hugo image.
- Runs `hugo version` and `hugo --minify` in the test stage.
- Restricts test execution to merge requests and master branches.
2025-03-30 09:53:34 -03:00
e1f022c42f
Add Aider to .gitignore
- Ignore Aider files and directories.
2025-03-30 09:42:24 -03:00
c218948b5f
Merge branch 'master' of gitlab.com:rogs/yams.media into add-env-documentation 2025-03-30 09:41:44 -03:00
61389a9ca8 Merge branch 'add-proxmox-lxc-docs' into 'master'
Add Proxmox LXC docs

See merge request rogs/yams.media!19
2025-03-30 09:35:13 -03:00
db958da6e8
Add summary to env-file.md
- Adds a summary to the top of the env-file.md document.
- This provides a brief overview of the file's purpose.
- The summary explains the role of the .env file in YAMS configuration.
2025-03-29 17:25:33 -03:00
2249d5613b
Adjust documentation weights
- Updated the weight values for several documentation pages.
- Ensured consistent ordering and prioritization of advanced guides.
- Improved overall documentation structure.
2025-03-29 17:19:20 -03:00
fea482b762
Added documentation for environment variables
- Clarifies the purpose and usage of the `.env` file.
- Adds a new page dedicated to explaining the `.env` file.
- Improves the explanation of how environment variables are used in custom containers.
- Adds details about default environment variables and their purpose.
- Includes a section on VPN configuration and `.env` usage.
2025-03-29 17:18:51 -03:00
cb560afc06
Add example configuration image
- Adds an image illustrating the final configuration.
- The image clarifies the expected configuration file content.
- Improves the clarity of the Proxmox LXC prerequisites guide.
2025-03-29 16:40:35 -03:00
fd3c2fc8cd
Adjust documentation weights
- Updates the weight values for several documentation pages.
- Ensures content is ordered logically within the advanced section.
- Maintains consistent weight numbering.
2025-03-29 16:29:48 -03:00
da86d2fdf5
Add Proxmox LXC prerequisites guide
- Adds a new guide detailing the steps required to install YAMS in a Proxmox LXC container.
- Updates the installation guide to reference the new Proxmox LXC prerequisites guide.
- Includes a note about using unprivileged LXC containers for security.
- Adjusts the date in the new guide to reflect the creation date.
- Places the new guide early in the Advanced section.
2025-03-29 16:29:20 -03:00
edc4449154
Add important note about Plex web interface path
Fixes #11

Add a note to the Plex setup guide explaining that the web interface requires the "/web" path after the port number to access the web interface. This note is important to ensure users can access the web interface correctly.
2025-03-19 15:27:21 -03:00
96fd4b7c23
Added Git dependency to the installation steps
Fixes #12

- Updated the installation steps to reflect the latest requirements and recommendations.
2025-03-19 15:20:27 -03:00
0af2ad729a
Add a note about YAML formatting errors
Fixes #13

- Added a note about YAML formatting errors in the "Common Gotchas" section of the custom containers documentation.
- Updated the existing "Container Names" and "Port Conflicts" notes with new information.
- Added a new note about permissions for containers accessing media files.
2025-03-19 15:12:41 -03:00
bf45e00d95
Add comments to custom container configuration file
Fixes #14

- Added a comment to ensure there are no spaces around the `services:` line.
2025-03-19 15:08:04 -03:00
a75613f560
Add BuyMeACoffee donation link to sub-footer
- Added a link to the BuyMeACoffee donation page in the sub-footer section of the website.
2025-03-18 14:54:37 -03:00
16d3753f15
Add French site link to main menu in config.toml 2025-02-14 11:15:11 -03:00
a7f53b2846 Merge branch 'fix-path' into 'master'
Change tv path to /data/tvshows

See merge request rogs/yams.media!16
2025-01-31 13:18:15 +00:00
Loriage
5ac85adf41 Change tv path to /data/tvshows 2025-01-31 13:21:01 +01:00
c083f2dae9 Merge branch 'change-ubuntu-version' into 'master'
Update Ubuntu supported version to 24.04

See merge request rogs/yams.media!15
2025-01-30 13:22:52 +00:00
Loriage
a1e7348278 Update Ubuntu supported version to 24.04 2025-01-30 13:31:07 +01:00
101cc64943 Merge branch 'fix-path' into 'master'
Small path change to be consistent with similar steps previously seen in the guide

See merge request rogs/yams.media!14
2025-01-30 11:49:28 +00:00
Loriage
9fde95beee Small path change to be consistent with similar steps previously seen in the guide 2025-01-30 11:47:16 +01:00
46a764d370 Merge branch 'fix-media-path-jellyfin' into 'master'
Small path change to be consistent with similar steps previously seen in the guide

See merge request rogs/yams.media!13
2025-01-29 17:14:29 +00:00
Loriage
cfb9427121 Small path change to be consistent with similar steps previously seen in the guide 2025-01-29 16:41:04 +01:00
Loriage
94edc23d80 Small path change to be consistent with similar steps previously seen in the guide 2025-01-29 16:00:59 +01:00
d1337a489a Merge branch 'add-sabnzbd-to-prowlarr' into 'master'
Add a mention of SABnzbd in the introduction

See merge request rogs/yams.media!12
2025-01-29 13:16:11 +00:00
Loriage
54a1f0d268 Add a mention of SABnzbd in the introduction 2025-01-29 14:11:26 +01:00
1690a4aee9 Merge branch 'add-ratio-disclaimer' into 'master'
Added warning about being a dick with ratio

See merge request rogs/yams.media!11
2025-01-22 14:30:39 +00:00
Loriage
c76115824d Added warning about being a dick with ratio 2025-01-22 15:25:51 +01:00
1ff130d4d9
Update OS version requirements to Debian 12 and Ubuntu 24.04 2025-01-15 08:33:49 -03:00
6077b952b2 Merge branch 'fix-port-forwarding' into 'master'
Added ProtonVPN warning

See merge request rogs/yams.media!10
2025-01-14 11:45:46 +00:00
2ff8045daa
Merge branch 'master' of gitlab.com:rogs/yams.media into fix-port-forwarding 2025-01-14 08:44:54 -03:00
4dd57ec175
Update ProtonVPN setup instructions to warn about account usage 2025-01-11 20:01:46 -03:00
72a549156b Merge branch 'fix-port-forwarding' into 'master'
Add documentation for ProtonVPN setup and port forwarding configuration

See merge request rogs/yams.media!9
2025-01-11 22:13:50 +00:00
161d5c89af
Add documentation for ProtonVPN setup and port forwarding configuration 2025-01-11 19:07:26 -03:00
44a1a74412
Update install guide with Debian 11 setup link 2025-01-09 08:35:15 -03:00
640fcfbef9
Update ProtonVPN username format in common-errors.md 2025-01-08 11:17:21 -03:00
fd94173739
Update qBittorrent Docker logs command 2025-01-03 12:52:04 -03:00
ab57666ef4
Update YAMS installation instructions for clarity and consistency 2024-12-30 18:35:22 -03:00
cef408d197
Update ProtonVPN instructions in install steps 2024-12-30 17:57:28 -03:00
001d0e9aa2 Merge branch 'v3' into 'master'
V3 - The big one

See merge request rogs/yams.media!8
2024-12-30 14:01:25 +00:00
fd38460900
Added Port Forwarding callouts 2024-12-30 10:46:08 -03:00
048dffbe42
Adjust content weights and update titles for consistency 2024-12-30 10:35:37 -03:00
51fd3ad4c9
Set default save path in qBittorrent configuration 2024-12-30 10:35:29 -03:00
f2a9ebe4f3
Add Port Forwarding guide for advanced VPN configuration 2024-12-30 10:35:10 -03:00
d7d9f80b23
Update configuration docs URL to relative link 2024-12-30 09:00:01 -03:00
7e18becd81
Enhance documentation with hardlinking and atomic moves info 2024-12-26 12:03:26 -03:00
e611aa6771
Revamp the contact and donation pages for clarity 2024-12-26 11:23:57 -03:00
0bb22b82f0
Remove outdated guide for upgrading YAMS from v1 to v2 2024-12-26 11:10:16 -03:00
d2e7122478
Revise common issues guide for clarity and detail 2024-12-26 11:10:09 -03:00
18a6a8081e
Revise FAQs for clarity and expanded support information 2024-12-26 11:08:22 -03:00
07281f4fef
Refactor Portainer documentation for clarity and detail 2024-12-26 11:06:23 -03:00
c28c004ce7
Enhance YAMS backup and restore documentation 2024-12-26 11:05:17 -03:00
be710fc98c
Revise torrenting guide for enhanced instructions and safety 2024-12-26 11:02:27 -03:00
9da9ddbbe1
Enhance Prowlarr guide for VPN configuration steps 2024-12-26 10:59:52 -03:00
72879ceb81
Enhance VPN configuration guide with detailed instructions 2024-12-26 10:57:27 -03:00
fe66243de5
Improve YAMS container customization documentation 2024-12-26 10:55:21 -03:00
9bd7d9f194
Update CLI documentation for clarity and new features 2024-12-26 10:52:39 -03:00
3d096c69cf
Revise YAMS description to enhance clarity and appeal 2024-12-26 10:50:47 -03:00
f3453b37c5
Enhance documentation with clarity and engagement edits 2024-12-26 10:45:28 -03:00
945a52395d
Add summary to Plex configuration documentation 2024-12-26 10:45:17 -03:00
ec39f2f26a
Upgraded running everything together wording 2024-12-26 10:41:29 -03:00
5b15f4fd5c
Upgraded plex setup guide 2024-12-26 10:39:34 -03:00
fd02d76674
Upgraded emby setup guide 2024-12-26 10:37:22 -03:00
fdfd8344ab
Upgraded Jellyfin setup guide 2024-12-26 10:35:19 -03:00
8faeb18db0
Upgraded Bazarr setup guide 2024-12-26 10:33:29 -03:00
9a464c7055
Upgraded Prowlarr setup guide 2024-12-26 10:28:52 -03:00
31d5590586
Upgraded Sonarr setup guide 2024-12-26 10:18:46 -03:00
49286d5a3d
Upgraded Radarr setup guide 2024-12-26 10:09:14 -03:00
7c965c5270
Upgraded SABnzbd setup guide 2024-12-26 10:05:55 -03:00
e349723b64
Improve clarity and engagement in installation guide 2024-12-26 10:03:26 -03:00
af9066d579
Upgraded qBittorrent setup guide 2024-12-26 10:01:12 -03:00
96b7e91522
Update installation guide with relative config link 2024-12-26 10:01:02 -03:00
7ac08e29b4
Simplify installation steps to match v3 install 2024-12-26 09:55:44 -03:00
0e7ba98890
Changed backup docs to reflect new file 2024-12-26 09:28:47 -03:00
2a35976152
Add streamlined backup and restore procedures for YAMS 2024-12-23 12:23:59 -03:00
22941325f0
Added .env config for VPN setup in YAMS documentation 2024-12-23 11:21:16 -03:00
a64c52e5b1
Update install guide for full OS configuration setup 2024-12-23 11:13:15 -03:00
e805c1bfc2
Remove outdated YAMS pre-made configuration FAQ 2024-12-23 11:13:04 -03:00
1aafd2c751
Correct typos and add note on API key usage 2024-12-23 11:02:15 -03:00
67b50ed33a
Add SABnzbd setup guide for Sonarr in documentation 2024-12-23 11:00:49 -03:00
d6ede7e53e
Add SABnzbd setup instructions to Radarr config guide 2024-12-23 10:55:42 -03:00
412fc643dd
Add guide for retrieving Sabnzbd API key 2024-12-23 10:55:05 -03:00
d05f286f37
Update config guide link from Radarr to SABnzbd 2024-12-23 10:38:16 -03:00
945e9f5ae9
Add SABnzbd setup documentation and images 2024-12-23 10:38:06 -03:00
f7dbf1ca3f
Adjust weight of qBittorrent config entry to 1 2024-12-23 10:22:35 -03:00
86bae468a7
Clarify password instructions in Radarr download client setup 2024-12-23 10:16:13 -03:00
ad1098717e
Update Sonarr guide for new authentication setup and hardlinking 2024-12-23 10:16:02 -03:00
4a06d839ba
Updated Radarr authentication and path updates 2024-12-23 10:09:00 -03:00
53b190bc57
Update qBittorrent config guide with login instructions 2024-12-23 09:59:14 -03:00
74fb7c8fbe
Remove outdated easy-mode configuration guide 2024-12-23 09:45:13 -03:00
9e9b54bbdf
Update qBittorrent URL from port 8080 to 8081 2024-12-23 09:45:06 -03:00
c6bc8ffb1a
Merge branch 'master' of gitlab.com:rogs/yams.media into v3 2024-12-23 09:41:37 -03:00
1d1e4eb708
Update VPN recommendations to prioritize ProtonVPN 2024-12-23 09:31:00 -03:00
8d0a8c685b
Update Matrix chat URL and add Discord chat URL 2024-11-28 17:43:51 -03:00
b6c9ec36d4 Merge branch 'prowlarr-vpn-documentation' into 'master'
Prowlarr VPN documentation

See merge request rogs/yams.media!7
2024-10-02 19:20:43 +00:00
Mason Stooksbury
c899c05e35 Prowlarr VPN documentation 2024-10-02 19:20:43 +00:00
b21ba20c90
Fixed hugo .Site.IsServer deprecation 2024-10-02 15:24:35 -03:00
cfd961accd Merge branch 'documentation-updates' into 'master'
Updating another broken discord link I missed, edited FAQ page about WIMPS

See merge request rogs/yams.media!6
2024-09-24 13:09:21 +00:00
MasonStooksbury
7144695823 Updating another broken discord link I missed, edited FAQ page about WIMPS 2024-09-24 08:06:55 -05:00
8031461269 Merge branch 'update-guide-typos' into 'master'
Updating the upgrade documentation

See merge request rogs/yams.media!5
2024-09-24 13:03:56 +00:00
Mason Stooksbury
a7ec3fabf8 Updating the upgrade documentation 2024-09-24 13:03:56 +00:00
76924070b3 Merge branch 'add-install-script-link' into 'master'
Adding link to install script per the todo section in the README

See merge request rogs/yams.media!4
2024-09-23 11:46:28 +00:00
Mason Stooksbury
aac9573204 Adding link to install script per the todo section in the README 2024-09-22 23:24:14 -05:00
4baea20c30
Merge branch 'master' of gitlab.com:rogs/yams.media 2024-01-01 14:29:07 -03:00
d58c3d9d0c
Fixed custom VPN URL 2024-01-01 14:28:45 -03:00
f57fa61b1f
Merge branch 'master' of gitlab.com:rogs/yams.media 2023-12-21 09:21:42 -03:00
827e306141
Added warnings about using snaps for docker and docker-compose 2023-12-21 09:21:12 -03:00
a509f2ddcd
Fixed typo 2023-11-16 09:23:38 -03:00
f1041858ae
Merge branch 'master' of gitlab.com:rogs/yams.media 2023-11-11 16:33:03 -03:00
1a01964fd6
Added instructions to add more containers to the VPN network 2023-11-11 16:32:20 -03:00
61a410b90c
Added Debian 12 as supported in the installation 2023-11-10 16:51:20 -03:00
0c865d0496
Edited discord link 2023-11-09 10:06:51 -03:00
cdb21d1c9a
Added Discord to the footer 2023-10-30 14:15:16 -03:00
d1e06efb02
Added Discord to the official chats 2023-10-29 17:25:48 -03:00
dd28c06eea
Made the clone location more clear 2023-10-28 17:53:27 -03:00
9854811607
Added more information to what YAMS is in the description 2023-10-27 16:18:53 -03:00
f11bbe958a
Added TRaSH guides to YAMS 2023-10-27 12:08:48 -03:00
4ac433131a
Improved wording around what YAMS really is 2023-10-27 11:59:26 -03:00
0e40de2116
Added WIMPS and TRaSH to FAQs 2023-10-27 11:58:32 -03:00
93d9711cab
Added instructions to upgrade from YAMS v1 to YAMS v2 2023-10-25 21:33:03 -03:00
7f6228c2a2
Added YAMS forum 2023-10-22 20:59:42 -03:00
b8c6848dce
Added "common errors" page 2023-10-22 11:04:14 -03:00
3de1734a4b
Added "adding your own containers" documentation 2023-10-21 22:00:56 -03:00
548050c6ff
Added yams update to the CLI 2023-10-21 21:58:44 -03:00
c4eff37477
Updated YAMS installer to match YAMS v2 2023-10-21 21:38:32 -03:00
771dcb3a9d
Removed countries from qBittorrent installation 2023-10-19 18:09:30 -03:00
50a6baf6e7
Fixed vpn links 2023-07-22 21:08:11 -03:00
19a587df34 Added Paypal donations 2023-07-09 22:34:44 -03:00
f6dcc5b71e
Moved VPN configuration after setting tun0 2023-01-31 16:06:13 -03:00
909a8a9ef6 Merge branch 'add-lidarr-and-readarr' into 'master'
Add lidarr and readarr

See merge request rogs/yams.media!3
2023-01-31 17:20:44 +00:00
69 changed files with 2549 additions and 833 deletions

View File

@ -0,0 +1,49 @@
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
View File

@ -18,3 +18,6 @@ hugo.linux
# Temporary lock file while building
/.hugo_build.lock
*.webp
# Aider
.aider*

View File

@ -1,16 +0,0 @@
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

View File

@ -30,4 +30,3 @@ 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.

View File

@ -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
hugo -s . -d /var/www/yams.media/ --minify --cleanDestinationDir --gc --verbose --cacheDir $PWD/hugo-cache

View File

@ -53,20 +53,35 @@ summaryLength = 30
weight = 7
[[menu.main]]
name = "Matrix"
url = "https://matrix.to/#/#yams:chat.rogs.me"
weight = 99
name = "Forum"
url = "https://forum.yams.media"
weight = 97
[[menu.main]]
name = "Gitlab"
url = "https://gitlab.com/rogs/yams"
name = "Discord"
url = "https://discord.gg/Gwae3tNMST"
weight = 98
[[menu.main]]
name = "Matrix"
url = "https://matrix.to/#/#yams-space: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"
weight = 100
[params]
homepage_button_link = '/install'
homepage_button_text = 'Install YAMS'
homepage_intro = 'YAMS is a basic but powerful media server, easy to install in a bash script'
homepage_button_text = 'Learn more'
homepage_intro = 'YAMS is a basic but powerful media server installation script'
homepage_image = '/install-yams.gif'
mainSections = ['install', 'config', 'faqs', 'donate', 'contact', 'advanced']
@ -79,7 +94,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, easy to install in a bash script"
meta_og_description = "YAMS is a basic but powerful media server installation script"
[params.logo]
standard = "/pics/logo.png"

View File

@ -0,0 +1,129 @@
---
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! 😎

View File

@ -2,72 +2,175 @@
title: "Backups"
date: 2023-01-17T19:38:39-03:00
draft: false
weight: 3
summary: Backup your YAMS configuration.
weight: 80
summary: Everything you need to know about backing up and restoring your YAMS setup
---
Your YAMS configuration is located in your YAMS install directory.
# Keeping Your YAMS Safe 💾
## Create a backup
Your YAMS configuration is precious! Let's make sure it's properly backed up so you can recover from any mishaps.
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.
## Creating Backups 📦
First, go to the YAMS install directory and do a `ls`. You should see the `config` folder right there:
YAMS includes a super handy backup command that takes care of everything:
```bash
$ cd /opt/yams/
/opt/yams$ ls
# Output
config docker-compose.yaml
yams backup [destination]
```
To create a backup, just run:
### 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:
```bash
/opt/yams/config$ tar -czvf ~/yams-backup.tar.gz config/*
#!/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
```
`tar` is going to compress and create a `.tar.gz` file called `yams-backup.tar.gz` on the `~` directory.
## Need Help? 🆘
Remember you should store your backups in a secure location!
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
## 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!
Remember: The best time to make a backup is BEFORE you need it! 🎯

View File

@ -0,0 +1,68 @@
---
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!*

View File

@ -2,7 +2,7 @@
title: "Lidarr"
date: 2023-01-31T11:20:14-03:00
draft: false
weight: 5
weight: 100
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.
---

View File

@ -0,0 +1,82 @@
---
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"
[![conection-status](/pics/advanced-port-forwarding-1.png)](/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!

View File

@ -2,39 +2,140 @@
title: "Portainer"
date: 2023-01-30T15:46:05-03:00
draft: false
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.
weight: 90
summary: Your visual control center for all YAMS containers
---
# What is Portainer?
# What is Portainer? 🐋
From their [website](https://www.portainer.io/)
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/):
> 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 an optional configuration for YAMS. It can help you with debugging and having a visual perspective of all your docker containers.
Portainer is optional in YAMS, but we highly recommend it. It's like having x-ray vision into your containers! 🦸‍♂️
## Initial configuration
## Initial Setup 🚀
In your browser, go to [http://{your-ip-address}:9000/]() and you'll see Portainer's setup page.
### Step 1: Access Portainer
Open your browser and go to `http://{your-ip-address}:9000/`. You'll see the first-time setup screen.
Choose your username/password and press "Create user".
### 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"
[![portainer-1](/pics/portainer-1.png)](/pics/portainer-1.png)
[![Portainer setup](/pics/portainer-1.png)](/pics/portainer-1.png)
On the "Quick Setup" screen, select "Get Started". That's going to do a basic Portainer setup.
### 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!
[![portainer-2](/pics/portainer-2.png)](/pics/portainer-2.png)
[![Quick setup](/pics/portainer-2.png)](/pics/portainer-2.png)
Now on your home, click on your "local" docker environment.
### Step 4: Access Your Environment
1. Click on your "local" Docker environment
2. This is where all the magic happens!
[![portainer-3](/pics/portainer-3.png)](/pics/portainer-3.png)
[![Local environment](/pics/portainer-3.png)](/pics/portainer-3.png)
To see all your containers, click on "Containers"
[![portainer-4](/pics/portainer-4.png)](/pics/portainer-4.png)
## Managing Your Containers 🎮
Here you can see all your containers! Make changes, check stats, logs, etc!
### Viewing Containers
1. Click on "Containers" in the left menu
2. Here you'll see all your running YAMS services
[![portainer-5](/pics/portainer-5.png)](/pics/portainer-5.png)
[![Container list](/pics/portainer-4.png)](/pics/portainer-4.png)
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!
### What You Can Do Here
- 👀 Monitor container status
- 🔄 Restart services
- 📊 Check resource usage
- 📝 View logs
- ⚙️ Change container settings
[![Container details](/pics/portainer-5.png)](/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. 🎮

View File

@ -0,0 +1,138 @@
---
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! 🛡️

View File

@ -0,0 +1,46 @@
---
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:
[![Proxmox LXC Config Example](/pics/proxmox-lxc-config.png)](/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/).

View File

@ -2,7 +2,7 @@
title: "Readarr"
date: 2023-01-31T13:52:34-03:00
draft: false
weight: 6
weight: 110
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.
---

View File

@ -2,60 +2,133 @@
title: "Torrenting"
date: 2023-01-16T14:48:14-03:00
draft: false
weight: 2
summary: Advanced torreting advices.
weight: 70
summary: Everything you need to know about safe and effective torrenting with YAMS
---
## Downloading torrents manually
# Advanced Torrenting with YAMS 🌊
Now that you have a Bittorrent client always available, you can use it to download any torrents you find online.
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!
To add a new torrent, click on the "Add torrent file" option:
## Manual Downloads 📥
[![advanced-torrent-1](/pics/advanced-torrent-1.png)](/pics/advanced-torrent-1.png)
### Adding Torrent Files
1. Open qBittorrent at `http://{your-ip}:8081`
2. Click the "+" icon or "Add torrent file" button:
[![Add torrent button](/pics/advanced-torrent-1.png)](/pics/advanced-torrent-1.png)
Now, select your .torrent file and click on "Upload Torrents".
3. Select your .torrent file and click "Upload Torrents":
[![Upload torrents](/pics/advanced-torrent-2.png)](/pics/advanced-torrent-2.png)
[![advanced-torrent-2](/pics/advanced-torrent-2.png)](/pics/advanced-torrent-2.png)
Finally, you'll see your torrent downloading.
[![advanced-torrent-3](/pics/advanced-torrent-3.png)](/pics/advanced-torrent-3.png)
Once it finishes downloading, you can find your torrent file in your mediafolder, on the "downloads" folder.
4. Watch your download progress:
[![Download progress](/pics/advanced-torrent-3.png)](/pics/advanced-torrent-3.png)
### Finding Your Downloads
When your download finishes, find it in your media folder under the "downloads" directory:
```bash
/srv/media$ tree downloads/
downloads/
└── debian-11.6.0-amd64-DVD-1.iso
/srv/media$ tree downloads/torrents/
downloads/torrents/
└── your-downloaded-file.iso
0 directories, 1 file
```
## Double checking your torrent client IP address
## Safety First: IP Leak Testing 🛡️
If you want to be extra sure your IP is not leaking in qBittorrent, you can use this simple check.
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:
Go to https://www.whatismyip.net/tools/torrent-ip-checker/index.php and grab the testing magnet link.
### Using the IP Checker
[![advanced-torrent-4](/pics/advanced-torrent-4.png)](/pics/advanced-torrent-4.png)
1. Visit [whatismyip.net's Torrent Checker](https://www.whatismyip.net/tools/torrent-ip-checker/index.php) and grab their test magnet link:
[![Torrent checker](/pics/advanced-torrent-4.png)](/pics/advanced-torrent-4.png)
In qBittorrent, click on "Add Torrent Link".
2. In qBittorrent, click "Add Torrent Link":
[![Add magnet link](/pics/advanced-torrent-5.png)](/pics/advanced-torrent-5.png)
[![advanced-torrent-5](/pics/advanced-torrent-5.png)](/pics/advanced-torrent-5.png)
3. Paste the magnet link and click "Download":
[![Paste magnet](/pics/advanced-torrent-6.png)](/pics/advanced-torrent-6.png)
And paste the magnet link on the box. When you are done, click on "Download".
4. You'll see a new torrent called "Torrent Tracker IP Checker" in your list. Don't worry - it won't actually download anything!
[![IP checker torrent](/pics/advanced-torrent-7.png)](/pics/advanced-torrent-7.png)
[![advanced-torrent-6](/pics/advanced-torrent-6.png)](/pics/advanced-torrent-6.png)
5. Back on the checker website, you'll see your torrent client's IP:
[![IP check results](/pics/advanced-torrent-8.png)](/pics/advanced-torrent-8.png)
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.
### Verifying the Results 🔍
[![advanced-torrent-7](/pics/advanced-torrent-7.png)](/pics/advanced-torrent-7.png)
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
Back at the torrent tracker page, you'll see the data for your torrent and your qBittorrent IP!
## Pro Tips for Safe Torrenting 🎯
[![advanced-torrent-8](/pics/advanced-torrent-8.png)](/pics/advanced-torrent-8.png)
1. **Always Verify VPN First**
```bash
yams check-vpn
```
Do this before starting any downloads!
The IP address **has to be different from your own IP address**, and **it has to match the output of** `yams check-vpn`.
2. **Use the Kill Switch**
YAMS configures qBittorrent to only use the VPN network interface. If the VPN drops, downloads stop automatically.
You are now extra sure your IP is not going to get leaked from torrenting!
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! 🛡️

View File

@ -2,93 +2,117 @@
title: "VPN"
date: 2023-01-15T21:16:29-03:00
draft: false
weight: 1
summary: Advanced configuration for the VPN, supported VPN lists and manual configuration.
weight: 40
summary: Everything you need to know about configuring and using a VPN with YAMS
---
Remember: **You should always use a VPN when downloading torrents!**.
# Keeping Your Downloads Private 🔒
YAMS uses [gluetun](https://github.com/qdm12/gluetun) for VPN.
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!
## Official supported VPNs
YAMS uses [gluetun](https://github.com/qdm12/gluetun) to manage VPN connections. It's like a super-smart traffic controller for your downloads! 🚦
- [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)
## Supported VPN Providers 🌐
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.**
YAMS works with tons of VPN providers! Here's the full list, with direct links to their setup guides:
## Manual configuration
### 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)
To manually configure your VPN, you have to edit your `docker-compose.yaml` file.
### 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)
First, stop `YAMS`:
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
```bash
$ yams stop
yams stop
```
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.
### Step 2: Configure Your VPN Settings
Open your `.env` file:
```bash
$ vim /opt/yams/docker-compose.yaml
nano /opt/yams/.env
```
On the file, find the `qbitorrent` config and make the following changes:
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
```
### 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
...
# ports: # qbittorrent -> Comment this line
# - 8080:8080 # qbittorrent -> Comment this line
network_mode: "service:gluetun" -> Uncomment this line
qbittorrent:
# ports: # Comment out these lines
# - 8081:8081
network_mode: "service:gluetun" # Uncomment this line
```
Then, at the bottom, find the `gluetun` config and make the following changes:
Find the SABnzbd section and make similar changes:
```yaml
...
- 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
sabnzbd:
# ports: # Comment out these lines
# - 8080:8080
network_mode: "service:gluetun" # Uncomment this line
```
Now, restart `YAMS`:
```bash
$ yams restart
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
```
Finally, check that your VPN is running correctly:
### Step 4: Restart and Test
```bash
$ yams check-vpn
yams restart
```
### Step 5: Verify Everything Works
```bash
yams check-vpn
```
You should see something like:
```bash
Getting your qBittorrent IP...
<your_qbittorrent_ip>
<qbittorrent_ip>
Your country in qBittorrent is Brazil
Getting your IP...
@ -98,8 +122,53 @@ Your local IP country is North Korea
Your IPs are different. qBittorrent is working as expected! ✅
```
If it's not running correctly, check every setting and make sure they are all correct.
If you get an error, double-check all your settings and make sure they're correct!
## Double-check your torrent client IP address
## Pro Tips 🎯
Go [here](/advanced/torrenting/#double-checking-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 weve 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! 🚀

View File

@ -0,0 +1,137 @@
---
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 thats 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 Its 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. Heres 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 wont 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)

View File

@ -4,6 +4,8 @@ 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, they will all make sense in the end!
This site includes instructions for a **basic** configuration. I recommend you follow the order of the configurations - everything will make sense in the end!
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.
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! 🚀

View File

@ -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 going to download subtitles on any language you choose, sort them and put them in the correct location for Emby to grab.
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!
## Initial Configuration
@ -20,158 +20,160 @@ In your browser, go to [http://{your-ip-address}:6767/]() and you'll see Bazarr'
[![bazarr-1](/pics/bazarr-1.png)](/pics/bazarr-1.png)
You don't have to change anything on this screen.
The default settings here are fine - no need to change anything yet!
### Languages
On the left side menu, click on "Languages".
On the left side menu, click on "Languages". This is where the fun begins! 🎬
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`.
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!)
When you have chosen your languages, click on "Add New Profile"
After choosing your languages, click on "Add New Profile"
[![bazarr-2](/pics/bazarr-2.png)](/pics/bazarr-2.png)
Now, on the "Edit Languages Profile" modal, add a name (it can be whatever you want), and click on "Add Language".
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!
**Note: You have to click on "Add language" once per each language you added in the last step**.
Since I picked 3 languages earlier, I need to click "Add Language" three times. Math! 🧮
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.
When you're done, click "Save" at the bottom.
[![bazarr-3](/pics/bazarr-3.png)](/pics/bazarr-3.png)
Back at the "Languages" page, you can set your new "Language Profile" as the default for Series and Movies.
Back on the "Languages" page, set your new profile as the default for both Series and Movies.
[![bazarr-4](/pics/bazarr-4.png)](/pics/bazarr-4.png)
In the end, you should have something similar to this:
You should end up with something like this:
[![bazarr-5](/pics/bazarr-5.png)](/pics/bazarr-5.png)
If you are happy with the configuration, click on "Save" at the top of the page.
Happy with how it looks? Hit "Save" at the top of the page!
[![bazarr-6](/pics/bazarr-6.png)](/pics/bazarr-6.png)
### Providers
On the left side menu, click on "Providers". You'll see the empty providers page. To add providers, click on the big sign.
Time to tell Bazarr where to find those subtitles! Click on "Providers" in the left menu, then click that big sign.
[![bazarr-7](/pics/bazarr-7.png)](/pics/bazarr-7.png)
Here, you can search from a LOT of providers! They even include a little description so you know what they are.
You'll see a HUGE list of providers - and they even include descriptions! How thoughtful! 📚
[![bazarr-8](/pics/bazarr-8.png)](/pics/bazarr-8.png)
For this tutorial, I'll just add [OpenSubtitles.org](https://www.opensubtitles.org/en/search/subs), but you can add more later.
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.
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.
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! ⏳
After entering your login information, click on "Save"
Got your login info? Great! Enter it and click "Save"
[![bazarr-9](/pics/bazarr-9.png)](/pics/bazarr-9.png)
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.
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.
[![bazarr-10](/pics/bazarr-10.png)](/pics/bazarr-10.png)
### Subtitles
On the left side menu, click on "Subtitles" and scroll down to "Performance / Optimization". There, you should disable "Use Embedded Subtitles".
Click on "Subtitles" in the left menu and scroll down to "Performance / Optimization".
A little down, you'll see the "Post-Processing" settings. Enable:
First thing to do: Disable "Use Embedded Subtitles". We want our subtitles free-range, not caged! 🐓
- "Encode Subtitles to UTF8".
- "Hearing Impaired".
- "Remove Tags".
- "OCR Fixes".
- "Common Fixes".
- "Fix Uppercase"
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)
[![bazarr-11](/pics/bazarr-11.png)](/pics/bazarr-11.png)
Now, scroll all the way to the bottom and enable:
Now scroll aaaaaall the way to the bottom and enable:
- "Automatic Subtitles Synchronization"
- Set both "Series Score Threshold" and "Movies Score Threshold" to 50
- "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.
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!
[![bazarr-12](/pics/bazarr-12.png)](/pics/bazarr-12.png)
If you are happy with the changes, click on "Save" at the top of the page.
Happy with your settings? Hit "Save" at the top!
[![bazarr-13](/pics/bazarr-13.png)](/pics/bazarr-13.png)
### Sonarr
### Connecting to Sonarr
This is how you will tie in Bazarr with [Sonarr](/config/sonarr).
Time to link Bazarr with [Sonarr](/config/sonarr)! First, we need Sonarr's API key.
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.
Head to [http://{your-ip-address}:8989/settings/general]() and find the API Key under "Security".
[![bazarr-14](/pics/bazarr-14.png)](/pics/bazarr-14.png)
For now, just copy it and keep it in a safe location.
Copy that key and keep it safe!
Now, back at Bazarr on the left side menu, click on "Sonarr".
Back in Bazarr, click on "Sonarr" in the left menu.
Sonarr is disabled by default. To begin, enable Sonarr. A lot of new options will appear, but you only have to change a few.
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:
- On Address, set `sonarr`.
- On API Key, just paste Sonarr's API Key.
- Click on "Test"
- Address: set to `sonarr`
- API Key: paste in Sonarr's API Key
- Click "Test"
If everything worked, you should see your current Sonarr version on the button!
If everything's working, you'll see your Sonarr version on the button! 🎉
[![bazarr-15](/pics/bazarr-15.png)](/pics/bazarr-15.png)
To finish, click on "Save" at the top of the page.
Click "Save" at the top of the page to finish up.
[![bazarr-16](/pics/bazarr-16.png)](/pics/bazarr-16.png)
After saving, you'll see how the "Series" section appears on the left side menu!
Magic time! The "Series" section should appear in your left menu! ✨
[![bazarr-19](/pics/bazarr-19.png)](/pics/bazarr-19.png)
### Radarr
### Connecting to Radarr
This is how you will tie in Bazarr with [Radarr](/config/radarr).
Now let's connect to [Radarr](/config/radarr)! First step: get that API key.
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.
Go to [http://{your-ip-address}:7878/settings/general]() and find the API Key under "Security".
[![bazarr-17](/pics/bazarr-17.png)](/pics/bazarr-17.png)
For now, just copy it and keep it in a safe location.
Copy that key and keep it handy!
Now, back at Bazarr on the left side menu, click on "Radarr".
Back in Bazarr, click "Radarr" in the left menu.
Radarr is disabled by default. To begin, enable Radarr. A lot of new options will appear, but you only have to change a few.
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"
- 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!
If the test works, you'll see your Radarr version on the button! 🎯
[![bazarr-18](/pics/bazarr-18.png)](/pics/bazarr-18.png)
To finish, click on "Save" at the top of the page.
Click "Save" at the top to wrap things up.
[![bazarr-20](/pics/bazarr-20.png)](/pics/bazarr-20.png)
After saving, you'll see how the "Movies" section appears on the left side menu!
More magic! The "Movies" section appears in your left menu! ✨
[![bazarr-21](/pics/bazarr-21.png)](/pics/bazarr-21.png)
### All done!
### Almost 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).
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!

View File

@ -1,76 +0,0 @@
---
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/).

View File

@ -9,118 +9,127 @@ 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.
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.
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!
## Initial configuration
In your browser, go to [http://{your-ip-address}:8096/]() and you'll see Emby's setup page.
Choose your display language and click on "Next".
First up, pick your display language and click on "Next".
[![emby-1](/pics/emby-1.png)](/pics/emby-1.png)
Now, create your first user. When you are done, click on "Next".
Time to create your first user! This will be your admin account, so make it a good one. When you're done, click "Next".
[![emby-2](/pics/emby-2.png)](/pics/emby-2.png)
Next, on the "Setup Media Libraries" page, click on "New Library".
Now we're at the "Setup Media Libraries" page. Click on "New Library" - let's tell Emby where all your awesome content lives! 🎬
[![emby-3](/pics/emby-3.png)](/pics/emby-3.png)
### Setting the "TV Shows" library
### Setting up your TV Shows library
On the "New Library" modal, select "TV shows" as your Content type and click on the big sign next to "Folders".
On the "New Library" modal, pick "TV shows" as your Content type and click that big sign next to "Folders".
[![emby-4](/pics/emby-4.png)](/pics/emby-4.png)
In "Select Path", select the folder `/data/tvshows` and click on "Ok"
In "Select Path", choose the `/data/tvshows` folder and click "Ok"
[![emby-5](/pics/emby-5.png)](/pics/emby-5.png)
**Note:** This is NOT on your filesystem! The `/data/tvshows/` folder exists inside the `docker` environment and maps to your server `/mediafolder/tv/` folder!
**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!
You should see your recently added folder in the "New Library" modal.
You'll see your newly added folder in the modal:
[![emby-6](/pics/emby-6.png)](/pics/emby-6.png)
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.
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!
Your "New Library" screen should look like this:
Your "New Library" screen should look something like this:
[![emby-7](/pics/emby-7.png)](/pics/emby-7.png)
If you are okay with the settings, click on "Ok". Your library should be added now!
Happy with how it looks? Click "Ok". Your TV Shows library is ready for action! 📺
[![emby-8](/pics/emby-8.png)](/pics/emby-8.png)
### Setting up your Movies library
### Setting the "Movies" library
Let's do that one more time! Click "New Library" again.
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".
This time, pick "Movies" as your Content type and click the next to "Folders".
[![emby-9](/pics/emby-9.png)](/pics/emby-9.png)
In "Select Path", select the folder `/data/movies` and click on "Ok"
Choose the `/data/movies` folder and click "Ok"
[![emby-10](/pics/emby-10.png)](/pics/emby-10.png)
**Note:** This is NOT on your filesystem! The `/data/movies/` folder exists inside the `docker` environment and maps to your server `/mediafolder/movies/` folder!
**More Docker Magic:** ✨ Just like before, `/data/movies/` is actually mapping to your server's `/mediafolder/media/movies/` folder. Docker is doing its thing!
You should see your recently added folder in the "New Library" modal.
Your folder should show up in the modal:
[![emby-11](/pics/emby-11.png)](/pics/emby-11.png)
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.
Set your preferred metadata language again. The defaults are still your friend here!
Your "New Library" screen should look like this:
The screen should look something like this:
[![emby-12](/pics/emby-12.png)](/pics/emby-12.png)
If you are okay with the settings, click on "Ok". Your library should be added now!
All set? Click "Ok". Your Movies library is now ready! 🎬
[![emby-13](/pics/emby-13.png)](/pics/emby-13.png)
To finish, click on the "Next" button.
Time to move forward - click that "Next" button!
[![emby-14](/pics/emby-14.png)](/pics/emby-14.png)
### Continuing the setup
### Wrapping up the setup
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".
On the "Preferred Metadata Language" page, pick your language and country preferences, then click "Next".
[![emby-15](/pics/emby-15.png)](/pics/emby-15.png)
Next, on the "Configure Remote Access" page, disable "Enable automatic port mapping" and click on "Next".
For the "Configure Remote Access" page, let's keep things simple and secure:
- Disable "Enable automatic port mapping"
- Click "Next"
[![emby-16](/pics/emby-16.png)](/pics/emby-16.png)
Accept the terms of service and click on "Next".
Time to accept the terms of service (you read those, right? 😉). Click "Next".
[![emby-17](/pics/emby-17.png)](/pics/emby-17.png)
And you are finally done! Click on "Finish" to go to your Emby dashboard.
You're all done! Click "Finish" to see your new Emby dashboard. 🎉
[![emby-18](/pics/emby-18.png)](/pics/emby-18.png)
### Logging in to Emby
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.
First up, pick your user and log in with the credentials you created earlier.
[![emby-19](/pics/emby-19.png)](/pics/emby-19.png)
[![emby-20](/pics/emby-20.png)](/pics/emby-20.png)
And there it is! Your Emby home page is up and running!
And there it is! Your very own streaming service, ready to go! 🌟
[![emby-21](/pics/emby-21.png)](/pics/emby-21.png)
## That's all!
## That's all folks! 🎬
YAMS is fully up and running! Now, let's add some content. Move on to [Running everything together](/config/running-everything-together).
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! 😉

View File

@ -8,112 +8,109 @@ 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.
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!
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!
## Initial configuration
In your browser, go to [http://{your-ip-address}:8096/]() and you'll see Jellyfin's setup page.
Choose your display language and click on "Next".
First things first - pick your display language and click "Next".
[![jellyfin-1](/pics/jellyfin-1.png)](/pics/jellyfin-1.png)
Now, create your first user. When you are done, click on "Next".
Time to create your first user! This will be your admin account, so make it secure. When you're done, click "Next".
[![jellyfin-2](/pics/jellyfin-2.png)](/pics/jellyfin-2.png)
Next, on the "Setup Media Libraries" page, click on "New Library".
Now we're at the "Setup Media Libraries" page. Click on "New Library" - let's tell Jellyfin where to find all your media! 📚
[![jellyfin-3](/pics/jellyfin-3.png)](/pics/jellyfin-3.png)
### Setting the "TV Shows" library
### Setting up your TV Shows library
On the "New Library" modal, select "Shows" as your Content type and click on the big sign next to "Folders".
On the "New Library" modal, pick "Shows" as your Content type and click the big sign next to "Folders".
[![jellyfin-4](/pics/jellyfin-4.png)](/pics/jellyfin-4.png)
In "Select Path", select the folder `/data/tvshows` and click on "Ok"
In "Select Path", choose the `/data/tvshows` folder and click "Ok"
[![jellyfin-5](/pics/jellyfin-5.png)](/pics/jellyfin-5.png)
**Note:** This is NOT on your filesystem! The `/data/tvshows/` folder exists inside the `docker` environment and maps to your server `/mediafolder/tv/` folder!
**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!
You should see your recently added folder in the "New Library" modal.
You should see your new folder all ready to go in the modal:
[![jellyfin-6](/pics/jellyfin-6.png)](/pics/jellyfin-6.png)
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.
Now set your preferred metadata language. The other default settings are fine, but feel free to tweak them if you want to get fancy!
Your "New Library" screen should look like this:
Your setup should look something like this:
[![jellyfin-7](/pics/jellyfin-7.png)](/pics/jellyfin-7.png)
If you are okay with the settings, click on "Ok". Your library should be added now!
Happy with the settings? Click "Ok". Your TV Shows library is now added! 📺
[![jellyfin-8](/pics/jellyfin-8.png)](/pics/jellyfin-8.png)
### Setting up your Movies library
### Setting the "Movies" library
Time for round two! Click that "New Library" button again.
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".
This time, pick "Movies" as your Content type and click the next to "Folders".
[![jellyfin-9](/pics/jellyfin-9.png)](/pics/jellyfin-9.png)
In "Select Path", select the folder `/data/movies` and click on "Ok"
Choose the `/data/movies` folder and click "Ok"
[![jellyfin-10](/pics/jellyfin-10.png)](/pics/jellyfin-10.png)
**Note:** This is NOT on your filesystem! The `/data/movies/` folder exists inside the `docker` environment and maps to your server `/mediafolder/movies/` folder!
**More Container Magic:** 🎩✨ Just like before, `/data/movies/` is a special docker path that maps to your server's `/mediafolder/media/movies/` folder!
You should see your recently added folder in the "New Library" modal.
You should see your movies folder ready to go:
[![jellyfin-11](/pics/jellyfin-11.png)](/pics/jellyfin-11.png)
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.
Set your preferred metadata language again. Default settings are still your friend here!
Your "New Library" screen should look like this:
Your setup should look like this:
[![jellyfin-12](/pics/jellyfin-12.png)](/pics/jellyfin-12.png)
If you are okay with the settings, click on "Ok". Your library should be added now!
Looking good? Click "Ok". Your Movies library is now added! 🎬
[![jellyfin-13](/pics/jellyfin-13.png)](/pics/jellyfin-13.png)
To finish, click on the "Next" button.
Time to move forward - click that "Next" button!
[![jellyfin-14](/pics/jellyfin-14.png)](/pics/jellyfin-14.png)
### Continuing the setup
### Final Setup Steps
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".
On the "Preferred Metadata Language" page, pick your favorite language and country. Then click "Next".
[![jellyfin-15](/pics/jellyfin-15.png)](/pics/jellyfin-15.png)
Next, on the "Set up Remote Access" page, disable "Allow remote connections to this server" and click on "Next".
For the "Set up Remote Access" page, let's keep things simple - disable "Allow remote connections to this server" and click "Next".
[![jellyfin-16](/pics/jellyfin-16.png)](/pics/jellyfin-16.png)
And you are finally done! Click on "Finish" to go to your Jellyfin dashboard.
You're done! Click "Finish" to head to your shiny new Jellyfin dashboard. 🎉
[![jellyfin-17](/pics/jellyfin-17.png)](/pics/jellyfin-17.png)
### Logging in to Jellyfin
On the "Please Sign In" screen, log in with the username/password you set in the [Initial configuration](#initial-configuration) step.
Time to test drive your new setup! On the login screen, use the username and password you created earlier.
[![jellyfin-18](/pics/jellyfin-18.png)](/pics/jellyfin-18.png)
And there it is! Your Jellyfin home page is up and running!
And there it is! Your very own streaming service homepage! 🌟
[![jellyfin-19](/pics/jellyfin-19.png)](/pics/jellyfin-19.png)
## That's all!
## That's all folks! 🎬
YAMS is fully up and running! Now, let's add some content. Move on to [Running everything together](/config/running-everything-together).
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!

View File

@ -3,6 +3,7 @@ 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?
@ -11,148 +12,154 @@ 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.
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.
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.
## First steps
To start, you need to allow your IP range to access the Plex setup. In your server, first stop YAMS.
Before we dive in, we need to do a bit of setup magic to let Plex work its charms. First, stop YAMS:
```bash
$ yams stop
```
Now, go to your Plex config in YAMS. For the purposes of this tutorial, I'm asuming your install location is `/opt/yams`.
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):
```bash
$ cd /opt/yams/config/plex/Library/Application\ Support/Plex\ Media\ Server/
```
Inside that folder, open `Preferences.xml`.
Inside that folder, we need to edit `Preferences.xml`:
```bash
/opt/yams/config/plex/Library/Application Support/Plex Media Server$ vim Preferences.xml
$ vim Preferences.xml
```
(you don't have to use `vim`, you can use `nano` if you want to).
(Don't worry if you're not a vim fan - `nano` works just fine too! 😉)
On the `Preferences.xml` file, add the following **after** the `<Preferences ` directive:
Add this line right after the `<Preferences` part:
```xml
<Preferences allowedNetworks="<your_subnet_IP>/255.255.255.0" ...
```
The `...` is the rest of the XML file, you only have to add the `allowedNetworks` directive.
The `...` means "leave the rest of the file as is" - we're just adding the `allowedNetworks` bit.
### How do you find your subnet IP?
### How do you find your subnet IP? 🤔
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`.
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`
Finally, restart YAMS.
Time to restart YAMS:
```bash
$ yams restart
```
To check if everything is working, you can try by running:
Let's check if everything's working:
```bash
$ docker logs plex
```
If you see something like this:
If you see something like:
```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` is badly formatted. Try to fix it and try again.
It means your `Preferences.xml` needs some fixing - double-check the format and try again!
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/.
**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/).
## Initial configuration
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.
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.
[![plex-1](/pics/plex-1.png)](/pics/plex-1.png)
After logging in, you'll see a modal that says "Plex Pass". You can close that.
After logging in, you'll see a "Plex Pass" modal. You can close that for now - we'll get to the good stuff!
[![plex-2](/pics/plex-2.png)](/pics/plex-2.png)
On the "Name" screen, select a name for your server and click on continue.
Give your server a name and click "Next".
[![plex-3](/pics/plex-3.png)](/pics/plex-3.png)
On the "Sync Your Watch State and Ratings" screen, just click "No".
For "Sync Your Watch State and Ratings", just click "No" - keeping things simple!
[![plex-4](/pics/plex-4.png)](/pics/plex-4.png)
Now on "Media Library", click on "Add Library".
Time to add our media! Click "Add Library" on the "Media Library" screen.
[![plex-5](/pics/plex-5.png)](/pics/plex-5.png)
### Adding Movies
On the "Add Library" modal, select "Movies" and click "Next".
Pick "Movies" as your library type and click "Next".
[![plex-6](/pics/plex-6.png)](/pics/plex-6.png)
Now, click on "Browse For Media Folder".
Click "Browse For Media Folder".
[![plex-7](/pics/plex-7.png)](/pics/plex-7.png)
On the "Add Folder" modal, select the movies path (`/data/movies`) and click on "Add".
Choose the movies path (`/data/movies`) and click "Add".
[![plex-8](/pics/plex-8.png)](/pics/plex-8.png)
Your "Add Library" modal should look like this. Finally, click on "Add Library".
Your screen should look like this. Click "Add Library" to finish up!
[![plex-9](/pics/plex-9.png)](/pics/plex-9.png)
### Adding TV Shows
On "Media Library", click on "Add Library".
Back in "Media Library", click "Add Library" again.
[![plex-10](/pics/plex-10.png)](/pics/plex-10.png)
On the "Add Library" modal, select "TV Shows" and click "Next".
This time pick "TV Shows" and click "Next".
[![plex-11](/pics/plex-11.png)](/pics/plex-11.png)
Now, click on "Browse For Media Folder".
Click "Browse For Media Folder" again.
[![plex-7](/pics/plex-7.png)](/pics/plex-7.png)
On the "Add Folder" modal, select the TV Shows path (`/data/tvshows`) and click on "Add".
Choose the TV Shows path (`/data/tvshows`) and click "Add".
[![plex-12](/pics/plex-12.png)](/pics/plex-12.png)
Your "Add Library" modal should look like this. Finally, click on "Add Library".
Looking good? Click "Add Library"!
[![plex-13](/pics/plex-13.png)](/pics/plex-13.png)
In the end, your "Media Library" screen should look like this. If it's okay, click on "Next".
Your "Media Library" screen should now show both libraries. Click "Next" to continue.
[![plex-14](/pics/plex-14.png)](/pics/plex-14.png)
## Finish
## Finishing up
On the "Finish screen", click on "Done".
Almost there! Click "Done" on the finish screen.
[![plex-15](/pics/plex-15.png)](/pics/plex-15.png)
You should see the Plex dashboard now! On the left side panel, click on "More".
Welcome to your Plex dashboard! 🎉 Click on "More" in the left side panel.
[![plex-16](/pics/plex-16.png)](/pics/plex-16.png)
There, you should find your local "Movies" and "TV Shows".
There they are - your local "Movies" and "TV Shows" libraries!
[![plex-17](/pics/plex-17.png)](/pics/plex-17.png)
## That's all!
## That's all folks! 🎬
YAMS is fully up and running! Now, let's add some content. Move on to [Running everything together](/config/running-everything-together).
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!

View File

@ -12,122 +12,140 @@ 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 are going to use Prowlarr to **search for torrents**, so we can add them to [qBittorrent](/config/qbittorrent) later on.
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! 🔍
## Initial configuration
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
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)
[![prowlarr-1](/pics/prowlarr-1.png)](/pics/prowlarr-1.png)
### Indexers
### Understanding Indexers
On the homepage, click on "Add Nex Indexer"
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!
[![prowlarr-2](/pics/prowlarr-2.png)](/pics/prowlarr-2.png)
Now, select your indexers. For the purposes of this tutorial I'll add 2: YTS (for movies) and eztv (for tv shows).
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!
Look for your indexer and click on it
Find your indexer and click on it:
[![prowlarr-3](/pics/prowlarr-3.png)](/pics/prowlarr-3.png)
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.
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!
[![prowlarr-4](/pics/prowlarr-4.png)](/pics/prowlarr-4.png)
At the bottom, you can click on "Test" and if everything is OK you should see a ✅
Hit that "Test" button at the bottom - if everything's working, you'll see a happy green checkmark!
[![sonarr-10](/pics/sonarr-10.png)](/pics/sonarr-10.png)
[![sonarr-11](/pics/sonarr-11.png)](/pics/sonarr-11.png)
If everything is fine, click on "Save", and you'll be back at the "Add Indexer" modal.
Looking good? Click "Save" and you'll be back at the "Add Indexer" modal.
You can now add more indexers. Add as many as you like!
#### How many indexers should I add? 🤔
#### 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!
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. 📚
When you finish, close the "Add Indexer" modal and you'll see all your indexers on the main page
When you're done adding indexers, close the modal and you'll see all your indexers on the main page:
[![prowlarr-5](/pics/prowlarr-5.png)](/pics/prowlarr-5.png)
### Connecting to Radarr and Sonarr
Now comes the fun part: Connecting Prowlarr to Radarr and Sonarr!
Now comes the fun part - connecting Prowlarr to Radarr and Sonarr! This is where everything starts working together. ✨
#### Radarr
#### Radarr Connection
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.
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".
[![bazarr-17](/pics/bazarr-17.png)](/pics/bazarr-17.png)
For now, just copy it and keep it in a safe location.
Copy that API key and keep it handy!
In "Settings", go to "Apps" and click on the button.
In Prowlarr, go to "Settings", click "Apps" and hit the button.
[![prowlarr-6](/pics/prowlarr-6.png)](/pics/prowlarr-6.png)
On the "Add Application" modal, click on "Radarr"
Click on "Radarr":
[![prowlarr-7](/pics/prowlarr-7.png)](/pics/prowlarr-7.png)
- In "Prowlarr Server", add `http://prowlarr:9696`
- In "Radarr Server", add `http://radarr:7878`
- In "ApiKey", add your Radarr API key.
Fill in these details:
- Prowlarr Server: `http://prowlarr:9696`
- Radarr Server: `http://radarr:7878`
- API Key: paste your Radarr API key here
[![prowlarr-8](/pics/prowlarr-8.png)](/pics/prowlarr-8.png)
At the bottom, you can click on "Test" and if everything is OK you should see a
Test time! Click that "Test" button - hopefully you'll see a green checkmark!
[![sonarr-10](/pics/sonarr-10.png)](/pics/sonarr-10.png)
[![sonarr-11](/pics/sonarr-11.png)](/pics/sonarr-11.png)
To finish, click on "Save". You should see Radarr added to the "Apps" list!
If the test passed, click "Save". You should see Radarr in your Apps list:
[![prowlarr-9](/pics/prowlarr-9.png)](/pics/prowlarr-9.png)
#### Sonarr
#### Sonarr Connection
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.
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.
[![bazarr-14](/pics/bazarr-14.png)](/pics/bazarr-14.png)
For now, just copy it and keep it in a safe location.
Copy that API key for safekeeping!
In "Settings", go to "Apps" and click on the button.
Back in Prowlarr, go to "Settings", "Apps" and click that button again.
[![prowlarr-10](/pics/prowlarr-10.png)](/pics/prowlarr-10.png)
On the "Add Application" modal, click on "Sonarr"
This time click on "Sonarr":
[![prowlarr-11](/pics/prowlarr-11.png)](/pics/prowlarr-11.png)
- In "Prowlarr Server", add `http://prowlarr:9696`
- In "Sonarr Server", add `http://sonarr:8989`
- In "ApiKey", add your Sonarr API key.
Fill in these details:
- Prowlarr Server: `http://prowlarr:9696`
- Sonarr Server: `http://sonarr:8989`
- API Key: paste your Sonarr API key here
[![prowlarr-12](/pics/prowlarr-12.png)](/pics/prowlarr-12.png)
At the bottom, you can click on "Test" and if everything is OK you should see a
One more test! Click "Test" - green checkmark time!
[![sonarr-10](/pics/sonarr-10.png)](/pics/sonarr-10.png)
[![sonarr-11](/pics/sonarr-11.png)](/pics/sonarr-11.png)
To finish, click on "Save". You should see Radarr added to the "Apps" list!
All good? Hit "Save". You should now see both Radarr and Sonarr in your Apps list:
[![prowlarr-13](/pics/prowlarr-13.png)](/pics/prowlarr-13.png)
Finally, click on "Sync App Indexers"
Finally, click on "Sync App Indexers" - this is where the magic happens! 🎩
[![prowlarr-14](/pics/prowlarr-14.png)](/pics/prowlarr-14.png)
Now, if you go back to Sonarr and Radarr, and check their "Indexer" settings, you'll see your indexers added magically!
Want to see something cool? Go check Sonarr and Radarr's "Indexer" settings - your indexers have been automatically added! No copy-pasting needed!
[![prowlarr-15](/pics/prowlarr-15.png)](/pics/prowlarr-15.png)
[![prowlarr-16](/pics/prowlarr-16.png)](/pics/prowlarr-16.png)
## Move forward
## Moving forward! 🚀
Now you can move with the configuration. [Bazarr](/config/bazarr) is next!
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! 🔧

View File

@ -2,7 +2,7 @@
title: "qBittorrent"
date: 2023-01-10T18:02:13-03:00
draft: false
weight: 2
weight: 1
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! 😎
## First, check your VPN!
## Initial configuration
If you configured your VPN correctly, it should be running. To test, run on your terminal:
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.
In your terminal, run:
```bash
$ yams check-vpn
yams check-vpn
```
If everything is working correctly, you should get a message like this:
You should see output like this:
```bash
Getting your qBittorrent IP...
<qBittorrent IP>
@ -35,10 +35,8 @@ 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>
@ -51,48 +49,93 @@ Your local IP country is North Korea
Your IPs are the same! qBittorrent is NOT working! ⚠️
```
**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!
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!**
## Initial configuration
### Setting up qBittorrent
In your browser, go to [http://{your-ip-address}:8080/]() and you'll see qBittorrent's admin page. The default username and password are:
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:
```sh
username: admin
password: adminadmin
password: your-temporary-password-from-the-logs
```
I know, super safe.
[![qbittorrent-1](/pics/qbittorrent-1.png)](/pics/qbittorrent-1.png)
After logging in, you'll see the empty qBittorrent window. Here, you have to click on the gear icon to enter the settings.
After logging in, you'll see the empty qBittorrent window. Click on the gear icon in the top right to enter the settings.
[![qbittorrent-2](/pics/qbittorrent-2.png)](/pics/qbittorrent-2.png)
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
### Configuring BitTorrent Settings
First, go to the "Downloads" tab and set the "Default Save Path" to `/data/downloads/torrents/`.
[![qbittorrent-8](/pics/qbittorrent-8.png)](/pics/qbittorrent-8.png)
Then, go to the "BitTorrent" tab and check the "When ratio reaches" checkbox. Set it to 0.
### Is this a dick move?
Yes.
Yes. 😅
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.
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.
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.
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.**
[![qbittorrent-3](/pics/qbittorrent-3.png)](/pics/qbittorrent-3.png)
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.
### 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.
[![qbittorreft-4](/pics/qbittorrent-4.png)](/pics/qbittorrent-4.png)
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.
While you're here, change that temporary password to something more secure:
[![qbittorreft-7](/pics/qbittorrent-7.png)](/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.
[![qbittorreft-5](/pics/qbittorrent-5.png)](/pics/qbittorrent-5.png)
Finally, go to the bottom of the modal and click "Save".
Finally, scroll to the bottom and click "Save".
[![qbittorreft-6](/pics/qbittorrent-6.png)](/pics/qbittorrent-6.png)
## That's done!
### Port Forwarding 🚀
Excellent! Now we can move forward with [Radarr](/config/radarr).
Want faster downloads? YAMS supports automatic port forwarding! Check out our [Port Forwarding Guide](/advanced/port-forwarding/) to supercharge your download speeds.
[![qbittorrent-ports](/pics/advanced-port-forwarding-1.png)](/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).

View File

@ -12,20 +12,29 @@ 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, etc.
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! 🎬
## Initial configuration
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.
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:
[![radarr-18](/pics/radarr-18.png)](/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!
[![radarr-1](/pics/radarr-1.png)](/pics/radarr-1.png)
### Media management
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})`.
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})`
[![radarr-2](/pics/radarr-2.png)](/pics/radarr-2.png)
@ -33,11 +42,11 @@ At the bottom of the same screen, go to "Root folders" and click on "Add Root Fo
[![radarr-3](/pics/radarr-3.png)](/pics/radarr-3.png)
And add the `/movies/` folder
Now add the `/data/movies/` folder:
[![radarr-4](/pics/radarr-4.png)](/pics/radarr-4.png)
**Note:** This is NOT on your filesystem! The `/movies/` folder exists inside the `docker` environment and maps to your server `/mediafolder/movies/` folder!
**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! ✨
Finally, click on "Save Changes".
@ -45,7 +54,9 @@ Finally, click on "Save Changes".
### Download Clients
Here, you'll add the download clients for Radarr. That's where you'll tie in Radarr with [qBittorrent](/config/qbittorrent).
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
In "Settings", go to "Download Clients" and click on the button.
@ -55,21 +66,55 @@ On the "Add Download Client" screen, scroll down and click on "qBittorrent".
[![radarr-14](/pics/radarr-14.png)](/pics/radarr-14.png)
- 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`.
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
[![radarr-15](/pics/radarr-15.png)](/pics/radarr-15.png)
At the bottom, you can click on "Test" and if everything is OK you should see a ✅
Click that "Test" button at the bottom - if everything's good, you'll see a nice green checkmark! ✅
[![radarr-10](/pics/radarr-10.png)](/pics/radarr-10.png)
[![radarr-11](/pics/radarr-11.png)](/pics/radarr-11.png)
If everything is fine, click on "Save". You should see your download client added to the "Download Clients" page now!
If the test passed, click "Save". Your download client should now show up on the page:
[![radarr-16](/pics/radarr-16.png)](/pics/radarr-16.png)
## Moving forward!
#### SABnzbd Setup
Looking good! Now we can continue with [Sonarr](/config/sonarr).
Back in "Download Clients", click that button again.
[![radarr-13](/pics/radarr-13.png)](/pics/radarr-13.png)
This time, scroll down and pick "SABnzbd".
[![radarr-19](/pics/radarr-19.png)](/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)
[![radarr-20](/pics/radarr-20.png)](/pics/radarr-20.png)
Time for another test! Click that "Test" button - hopefully you'll see another green checkmark! ✅
[![radarr-10](/pics/radarr-10.png)](/pics/radarr-10.png)
[![radarr-11](/pics/radarr-11.png)](/pics/radarr-11.png)
If the test worked, hit "Save". You should now see both download clients on the page:
[![radarr-21](/pics/radarr-21.png)](/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! 🔧

View File

@ -10,10 +10,34 @@ summary: Final recommendations, how to continue?
Everything is working now! Yay! 🎉
To improve the experience, you can:
Here are some cool ways to make your YAMS experience even better:
- **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.
### 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! 😎

View File

@ -3,93 +3,90 @@ 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 seeing everything working together!
summary: So you finally got YAMS running? Let's add some movies and see everything working together!
---
## First, I want to congratulate you 🎉
You did it! You installed and configured YAMS! Give yourself a good pat on your back 🙇🏻
You did it! You installed and configured YAMS! Give yourself a good pat on the back - you've earned it! 🙇‍♂️
[![party](/pics/party.gif)](/pics/party.gif)
Now comes the fun part: Adding your shows/movies and seeing everything working together 😎
Now comes the fun part: Adding your shows/movies and watching everything work together like a well-oiled machine! 😎
## Radarr & Sonarr
These instructions will apply to both Radarr and Sonarr. To keep the tutorial brief, I will only test Radarr.
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!
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!
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.
My recommendation is that you go for a famous movie first, just to confirm everything is working as expected.
Pro tip: For your first test, pick something popular - it'll be easier to find!
[![running-everything-together-1](/pics/running-everything-together-1.png)](/pics/running-everything-together-1.png)
Click on the movie you want to download.
Click on the movie you want to download:
[![running-everything-together-2](/pics/running-everything-together-2.png)](/pics/running-everything-together-2.png)
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.
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?
Finally, click on "Add Movie"
Finally, click "Add Movie"!
[![running-everything-together-3](/pics/running-everything-together-3.png)](/pics/running-everything-together-3.png)
Now, if you go back to "Movies", you'll see the movie(s) you added.
Head back to "Movies" and you'll see your selections:
[![running-everything-together-4](/pics/running-everything-together-4.png)](/pics/running-everything-together-4.png)
If you go to "Activity", you'll see their download status.
Click on "Activity" to watch the magic happen - you can see everything downloading in real-time! 🪄
[![running-everything-together-5](/pics/running-everything-together-5.png)](/pics/running-everything-together-5.png)
## qBittorrent
If you open qBittorrent in [http://{your-ip-address}:8080/](), you'll see your movie(s) downloading!
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!
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.
This means everything is working perfectly! When downloads finish, Radarr will automatically organize them into the right folders.
[![running-everything-together-6](/pics/running-everything-together-6.png)](/pics/running-everything-together-6.png)
## Media service
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.
After your downloads finish, head over to your media service and... ta-da! 🎉 Your movies are right there waiting for you!
Jellyfin:
[![running-everything-together-12](/pics/running-everything-together-12.png)](/pics/running-everything-together-12.png)
Emby:
[![running-everything-together-7](/pics/running-everything-together-7.png)](/pics/running-everything-together-7.png)
Plex:
[![running-everything-together-11](/pics/running-everything-together-11.png)](/pics/running-everything-together-11.png)
If you open the movie, you'll see it even has subtitles! This means [Bazarr](/config/bazarr) is working as well!
Open up a movie and look - subtitles are already there! That's [Bazarr](/config/bazarr) doing its thing! 🎯
[![running-everything-together-8](/pics/running-everything-together-8.png)](/pics/running-everything-together-8.png)
[![running-everything-together-9](/pics/running-everything-together-9.png)](/pics/running-everything-together-9.png)
You can play the movie right from your browser, with subtitles included:
You can even start watching right from your browser, with subtitles and everything:
[![running-everything-together-10](/pics/running-everything-together-10.png)](/pics/running-everything-together-10.png)
## Your filesystem
If you visit your `/mediafolder/movies` folder, you can check how Radarr is managing your library.
Curious about how everything's organized? Check out your `/mediafolder/media/movies` folder:
```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
@ -98,12 +95,12 @@ roger@debian:/srv/media/movies$ tree .
3 directories, 9 files
```
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).
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).
# Final step and conclusions
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.
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.
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.
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.
🙌 Thank you for being here and for following the tutorial! Enjoy the fruit of your labor. You are awesome! 😎
🙌 Thanks for following along with the tutorial! Hope you enjoy your awesome new media server - you've earned it! 😎

64
content/config/sabnzbd.md Normal file
View File

@ -0,0 +1,64 @@
---
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":
[![sabnzbd-1](/pics/sabnzbd-1.png)](/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".
[![sabnzbd-2](/pics/sabnzbd-2.png)](/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".
[![sabnzbd-3](/pics/sabnzbd-3.png)](/pics/sabnzbd-3.png)
Head over to the settings page by clicking on the cog-wheel icon in the top right.
[![sabnzbd-4](/pics/sabnzbd-4.png)](/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"
[![sabnzbd-5](/pics/sabnzbd-5.png)](/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.
[![sabnzbd-4](/pics/sabnzbd-4.png)](/pics/sabnzbd-4.png)
Then, go to "General" and scroll down to "Security". You'll find your API Key right there!
[![sabnzbd-6](/pics/sabnzbd-6.png)](/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! 😄

View File

@ -12,34 +12,45 @@ 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 going to manage all our TV Shows, download them, sort them, etc.
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! 📺
## Initial configuration
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.
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:
[![sonarr-18](/pics/sonarr-18.png)](/pics/sonarr-18.png)
You'll see Sonarr's empty page. Don't mind those 3 system messages - we'll get to them later!
[![sonarr-1](/pics/sonarr-1.png)](/pics/sonarr-1.png)
### Media management
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}`
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}`
[![sonarr-2](/pics/sonarr-2.png)](/pics/sonarr-2.png)
At the bottom of the same screen, go to "Root folders" and click on "Add Root Folder".
Scroll down to "Root Folders" and click on "Add Root Folder".
[![sonarr-3](/pics/sonarr-3.png)](/pics/sonarr-3.png)
And add the `/tv/` folder
Add the `/data/tvshows/` folder:
[![sonarr-4](/pics/sonarr-4.png)](/pics/sonarr-4.png)
**Note:** This is NOT on your filesystem! The `/tv/` folder exists inside the `docker` environment and maps to your server `/mediafolder/tv/` folder!
**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! ✨
Finally, click on "Save Changes".
@ -47,31 +58,67 @@ Finally, click on "Save Changes".
### Download Clients
Here, you'll add the download clients for Sonarr. That's where you'll tie in Sonarr with [qBittorrent](/config/qbittorrent).
Time to connect Sonarr to our download tools! We'll link up with [qBittorrent](/config/qbittorrent) and [SABnzbd](/config/sabnzbd).
#### qBittorrent Setup
In "Settings", go to "Download Clients" and click on the button.
[![sonarr-13](/pics/sonarr-13.png)](/pics/sonarr-13.png)
On the "Add Download Client" screen, click on "qBittorrent".
Find and click on "qBittorrent" in the list.
[![sonarr-14](/pics/sonarr-14.png)](/pics/sonarr-14.png)
- 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`.
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
[![sonarr-15](/pics/sonarr-15.png)](/pics/sonarr-15.png)
At the bottom, you can click on "Test" and if everything is OK you should see a
Hit that "Test" button - if everything's working, you'll see a happy green checkmark!
[![sonarr-10](/pics/sonarr-10.png)](/pics/sonarr-10.png)
[![sonarr-11](/pics/sonarr-11.png)](/pics/sonarr-11.png)
If everything is fine, click on "Save". You should see your download client added to the "Download Clients" page now!
All good? Click "Save". Your download client should now appear on the page:
[![sonarr-16](/pics/sonarr-16.png)](/pics/sonarr-16.png)
## Moving forward!
#### SABnzbd Setup
That's it! Now we can continue with [Prowlarr](/config/prowlarr).
Back in "Download Clients", click that button again.
[![sonarr-13](/pics/sonarr-13.png)](/pics/sonarr-13.png)
This time, let's find and click on "SABnzbd".
[![sonarr-19](/pics/sonarr-19.png)](/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)
[![sonarr-20](/pics/sonarr-20.png)](/pics/sonarr-20.png)
Another test time! Click "Test" - hopefully another green checkmark! ✅
[![sonarr-10](/pics/sonarr-10.png)](/pics/sonarr-10.png)
[![sonarr-11](/pics/sonarr-11.png)](/pics/sonarr-11.png)
If the test passed, hit "Save". You should now see both download clients ready to go:
[![sonarr-21](/pics/sonarr-21.png)](/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! 🔧

View File

@ -5,19 +5,57 @@ draft: false
weight: 100
---
# ![/pics/element.png](/pics/element.png) YAMS has an official Matrix chat!
# Let's Connect! 🤝
You can join us here: [https://matrix.to/#/#yams:chat.rogs.me](https://matrix.to/#/#yams:chat.rogs.me).
Got questions? Suggestions? Just want to say hi? We've got plenty of ways to reach out!
# You can contact me by:
## Community Hangouts 🏡
## Email (preferred)
`[roger at rogs.me]` - Replace `at` with the "at" symbol (fuck you, email bots).
- 💬 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)
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`
## Direct Contact 📧
## My website
- 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)
[rogs.me](https://rogs.me)
## 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! 💖

View File

@ -5,55 +5,48 @@ draft: false
weight: 100
---
## External donations (preferred)
If you **really** wish to donate, first I would like to say thank you from the bottom of my heart! ❤️
# Support the Awesome People Behind YAMS 💖
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.
Let's talk about something important: supporting the incredible projects and people that make YAMS possible! 🚀
- [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).
## Give Love to the Real Heroes 🦸‍♀️🦸‍♂️
Just let them know YAMS sent you there 😎
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!
## 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!**
### Top Projects to Support 🌟
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 😀
Each of these projects is crucial to YAMS. If you appreciate what we've built, show some love to these incredible teams:
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
- [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).
## Special Thanks 🙌
## And finally:
You 🫵, for being such an amazing human being, checking out my project, and (hopefully!) using it on your media server.
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!
# Thank you! 🙇
Remember: The best way to support YAMS is by using it, sharing it, and helping others in our community! 🤝
Happy streaming! 🎬✨

View File

@ -5,23 +5,96 @@ draft: false
weight: 100
---
## Common `docker` permission errors
# Frequently Asked Questions 🤔
If you are getting errors like this when running the installer or running the `yams` cli:
## General Questions
```sh
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock:
```
### 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.
It might mean that you need to reload your user. This is fixed by logging out of your server and logging back in.
### 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:
This happens because your user needs to be part of the `docker` group in order to be able to execute `docker` without `sudo`
- **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
## I don't want to configure YAMS manually, is there a pre-made configuration?
Don't agree with our choices? That's totally fine! You can always use our source code as inspiration for your own setup. 🔧
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).
## Platform Support
## Why did you choose <this_software> instead of <that_software>?
### 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.
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 🔥
### 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.
### 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! 🌟

View File

@ -0,0 +1,235 @@
---
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! 💪

View File

@ -3,47 +3,65 @@ title: "What is YAMS?"
date: 2023-01-10T15:23:19-03:00
draft: false
weight: 1
summary: A brief summary on what YAMS is and its features
summary: Everything you need to know about YAMS and what makes it awesome
---
YAMS is a **highly opinionated** media server.
# Welcome to YAMS! 🎬
With YAMS you'll be able to automate your media gathering, organization, and consumption.
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!
## First, why?
## The Story Behind YAMS 📖
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.
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.
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.
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.
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.
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.
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.
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. 😎
## Features
## What Makes YAMS Special? ✨
In no particular order:
YAMS isn't just another media server - it's your personal Netflix-killer with superpowers! Here's what you get out of the box:
- **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.
### 🤖 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)
### 📱 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 installed with YAMS?
## What's Under the Hood? 🛠️
- [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/).
YAMS combines some of the best open-source media tools out there:
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.
### 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
### 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)!

View File

@ -7,62 +7,90 @@ summary: First steps to install YAMS on your server
## Dependencies
This script only depends on:
YAMS only needs a few things to get started:
- Debian 11 (recommended) or Ubuntu 22.04.
- [docker](https://www.docker.com/).
- [docker-compose](https://docs.docker.com/compose/).
- 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. ⚠️
If you havent installed `docker` and `docker-compose`, dont worry! The script will attempt to run both installations (it only works in Debian and Ubuntu!)
- **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!
## Before running
Before installing, 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 shouldnt use `root` for this user, but Im 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.
Before we dive in, make sure you have:
## To install
- **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
```
### Setup your install location (location is optional, you can choose any other location)
- **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!
The location `/opt/yams` is **recommended**, but you can use whatever you like if your current user has permissions on the directory.
## 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:
```bash
sudo mkdir -p /opt/yams
sudo chown -R $USER:$USER /opt/yams
```
### If you already have docker and docker-compose installed...
### 2. If you already have docker installed...
Make sure you can run `docker` **without** `sudo`!
Make sure you can run `docker` **without** `sudo`! Try this:
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
git clone https://gitlab.com/rogs/yams.git
cd yams
docker run hello-world
```
### Installing 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!):
```bash
./install.sh
git clone --depth=1 https://gitlab.com/rogs/yams.git /tmp/yams
cd /tmp/yams
```
You'll see the following prompt:
### 2. Start the installer
```bash
bash install.sh
```
You'll see this welcome screen:
```bash
====================================================
___ ___ ___
@ -78,117 +106,187 @@ You'll see the following prompt:
\__\/ \__\/ \__\/
====================================================
Welcome to YAMS (Yet Another Media Server)
Instalation process should be really quick
Installation process should be really quick
We just need you to answer some questions
====================================================
Checking prerequisites...
⚠️ docker not found! ⚠️
Do you want YAMS to install docker and docker-compose? IT ONLY WORKS ON DEBIAN AND UBUNTU! [y/N]: y
```
You can choose `y` to install `docker` and `docker-compose` with YAMS or `n` to exit the script.
When docker finishes the installation OR if you already had `docker` and `docker-compose` installed, you should see the following message at the bottom:
### 3. Docker Installation (if needed)
The installer will first check for Docker:
```bash
Checking prerequisites...
docker exists ✅
docker-compose exists ✅
⚠️ Docker not found! ⚠️
Do you want YAMS to install docker and docker-compose? IT ONLY WORKS ON DEBIAN AND UBUNTU! [y/N]: y
```
- If you don't have Docker installed:
+ Type `y` and press Enter to let YAMS handle the Docker installation
+ The script will install both Docker and Docker Compose
+ This only works on Debian and Ubuntu!
- If you already have Docker:
+ You'll see "docker exists ✅" instead
+ The installer will move to the next step
### 4. Choose Installation Location
```bash
Where do you want to install the docker-compose file? [/opt/yams]:
```
You should choose the path where you want YAMS to be installed. Like I said before, the `/opt/yams` directory **is recommended**, but you can use whatever you like if your current user has permissions on the directory. Type the path you'll like to use and press `[ENTER]` to continue.
- Press Enter to use the default `/opt/yams` (recommended)
- Or type a different path if you want to install somewhere else
- Make sure your user has write permissions to this location!
### 5. Select User
```bash
What's the user that is going to own the media server files? [your_current_user]:
```
Now, you have to choose the user that is going to own your media files. **I strongly suggest you don't use `root` for this user**, but you can do whatever you want. The script is going to default to the current `$USER` running the script. Type the user you want to own the files and press `[ENTER]` to continue.
- Press Enter to use your current user (recommended)
- Or type a different username
- Remember: Don't use `root`!
- The user must exist and have sudo privileges
### 6. Set Media Directory
```bash
Please, input your media folder:
Please, input your media directory [/srv/media]:
```
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.
- Press Enter to use the default `/srv/media`
- Or type the path where you want your media stored. This path can also be a SMB/NFS mount in your host OS
- This can be an external drive or different partition
Then confirm your choice:
```bash
Are you sure your media folder is /srv/media? [y/N]:
Are you sure your media directory is "/srv/media"? [y/N]:
```
Select `y` or `n` if you are happy with the folder you selected. Press `[ENTER]` to continue.
- 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
#### Media service
```bash
Time to choose your media service.
Your media service is the one responsible for serving your files to your network.
By default, YAMS support 3 media services:
Your media service is responsible for serving your files to your network.
Supported media services:
- jellyfin (recommended, easier)
- emby
- plex (advanced, always online)
```
It's time to configure the media service!
By default, YAMS supports 3 big media services:
- [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 dont like it that much because its always online, and it has more functionalities than I need. Also, at least in YAMS, its 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]:
Choose your media service [jellyfin]:
```
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.
Pick your streaming service:
- Press Enter for Jellyfin (recommended for beginners)
- Type `emby` for Emby
- Type `plex` for Plex
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!**
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
```bash
What's your VPN service? (with spaces) [mullvad]:
Time to set up the VPN.
Supported VPN providers: https://yams.media/advanced/vpn
Configure VPN? (Y/n) [Default = y]:
```
First, select your VPN provider. You can go to [this list](/advanced/vpn#official-supported-vpns) and verify the name of your VPN.
If you want to use a VPN (strongly recommended):
1. Press Enter or type `y` to configure VPN
2. Enter your VPN provider:
```bash
VPN service? (with spaces) [protonvpn]:
```
- Press Enter for ProtonVPN (recommended)
- Or type your VPN provider's name
The 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
What's your VPN username? (without spaces):
```
Now, just enter your VPN username. If it has spaces, delete them.
Copying docker-compose.example.yaml to /opt/yams/docker-compose.yaml...
docker-compose.example.yaml 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 .env.example to /opt/yams/.env...
.env.example 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...
Copying docker-compose.custom.yaml to /opt/yams/docker-compose.custom.yaml...
docker-compose.custom.yaml was copied successfuly! ✅
Everything installed correctly! 🎉
...
...
...
Running the server...
This is going to take a while...
```
If you get a `docker` permission error, go [here](/faqs/) to fix it.
The installer will now:
1. Copy all necessary configuration files
2. Set up your chosen options
3. Start downloading and configuring Docker containers
After a lot of docker installing, you'll get a message like this at the end:
You'll then see:
```bash
We need your sudo password to install the YAMS CLI and configure permissions...
```
Enter your sudo password to:
- Install the YAMS command-line tool
- Set proper permissions on your media folders
If everything works, you'll see these success messages:
```bash
YAMS CLI installed successfully ✅
Media directory ownership and permissions set successfully ✅
Install directory ownership and permissions set successfully ✅
Configuration folder "/opt/yams/config" exists ✅
Configuration folder ownership and permissions set successfully ✅
```
### 10. Final Success Screen
When everything's done, you'll see this awesome ASCII art:
```bash
========================================================
_____ ___ ___ ___
@ -202,32 +300,54 @@ After a lot of docker installing, you'll get a message like this at the end:
\ \::/ \ \:\/:/ \ \:\ \ \:\/:/
\__\/ \ \::/ \ \:\ \ \::/
\__\/ \__\/ \__\/
========================================================
All done!✅ Enjoy YAMS!
You can check the installation on /opt/yams
========================================================
Everything should be running now! To check everything running, go to:
Prowlarr: http://192.168.0.169:9117/
qBittorrent: http://192.168.0.169:8080/
Radarr: http://192.168.0.169:7878/
Sonarr: http://192.168.0.169:8989/
Bazarr: http://192.168.0.169:6767/
Emby: http://192.168.0.169:8096/
Portainer: http://192.168.0.169:9000/
Lidarr: http://192.168.0.169:8686/
You might need to wait for a couple of minutes while everything gets up and running
All the services location are also saved in ~/yams_services.txt
========================================================
To configure YAMS, check the documentation at
https://yams.media/config
========================================================
```
And that's it!
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/
```
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.
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

View File

@ -3,38 +3,89 @@ title: "Using the CLI"
date: 2023-01-10T17:55:41-03:00
draft: false
weight: 3
summary: YAMS comes with a very handy CLI to manage all your media server. Here's where you'll learn how to use it.
summary: Master YAMS's powerful command-line interface - your Swiss Army knife for managing your media server!
---
YAMS comes with a very handy CLI to manage your media server. Here's where you'll learn how to use it.
# The YAMS Command Line: Your Media Server's Best Friend 🛠️
On your server, you can type:
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:
```bash
yams --help
```
And you'll get the following message:
You'll get a nice overview of all available commands:
```bash
yams - Yet Another Media Server
Usage: yams [--help|restart|stop|start]
options:
--help displays this help message
restart restarts yams services
stop stops all yams services
start starts yams services
destroy destroy yams services so you can start from scratch
check-vpn checks if the VPN is working as expected
Usage: yams [command] [options]
Commands:
--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
```
Everything is very self-explanatory, but I'll go in more detail here:
Let's break down each command and see what magic they can do! ✨
- `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.
## The Command Arsenal 🚀
### `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.
If you get a `docker` permission error trying to use the CLI, go [here](/faqs/) to fix it.
### `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! 🎬

View File

@ -7,17 +7,29 @@
<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/element-small.png"/> <a href="https://matrix.to/#/#yams:chat.rogs.me">#yams:chat.rogs.me</a>
<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>
</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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 777 B

BIN
static/pics/gitea-small.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 992 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 81 KiB

BIN
static/pics/radarr-18.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
static/pics/radarr-19.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

BIN
static/pics/radarr-20.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

BIN
static/pics/radarr-21.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 15 KiB

BIN
static/pics/sabnzbd-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

BIN
static/pics/sabnzbd-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

BIN
static/pics/sabnzbd-3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

BIN
static/pics/sabnzbd-4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

BIN
static/pics/sabnzbd-5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

BIN
static/pics/sabnzbd-6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 81 KiB

BIN
static/pics/sonarr-18.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
static/pics/sonarr-19.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

BIN
static/pics/sonarr-20.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

BIN
static/pics/sonarr-21.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 15 KiB

BIN
static/pics/yams-forum.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -85,3 +85,13 @@ 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;
}

View File

@ -9,13 +9,8 @@
{{ 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 }}
@ -60,11 +55,7 @@
{{ 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>