Compare commits

..

No commits in common. "master" and "add-proxmox-lxc-docs" have entirely different histories.

21 changed files with 31 additions and 294 deletions

View File

@ -1,49 +0,0 @@
name: Hugo Build and Deploy
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
test_build:
name: Build Hugo Site
runs-on: ubuntu-latest
container:
image: klakegg/hugo:0.111.3-ext-alpine-ci
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Check Hugo Version and Build
run: |
hugo version
hugo --minify
deploy:
name: Deploy to Server
runs-on: ubuntu-latest
needs: test_build
if: github.ref == 'refs/heads/master'
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup SSH and Deploy
run: |
eval "$(ssh-agent -s)"
mkdir -p ~/.ssh
echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
chmod 700 ~/.ssh
ssh-keyscan "$SSH_HOST" >> ~/.ssh/known_hosts
chmod 644 ~/.ssh/known_hosts
ssh -p "$SSH_PORT" "$SSH_USER@$SSH_HOST" 'cd repo && git stash && git pull --force origin master && ./build.sh'
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
SSH_USER: ${{ secrets.SSH_USER }}
SSH_HOST: ${{ secrets.SSH_HOST }}
SSH_PORT: ${{ secrets.SSH_PORT }}

3
.gitignore vendored
View File

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

16
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,16 @@
image: alpine:latest
deploy:
stage: deploy
before_script:
- 'command -v ssh-agent >/dev/null || ( apk add --update openssh )'
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- ssh-keyscan $SSH_HOST >> ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
script:
- ssh -p $SSH_PORT $SSH_USER@$SSH_HOST "cd repo && git stash && git pull --force origin master && ./build.sh"
only:
- master

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

View File

@ -2,7 +2,7 @@
title: "Adding your own containers to YAMS"
date: 2023-10-21T21:41:29-03:00
draft: false
weight: 20
weight: 2
summary: A complete guide to expanding YAMS with your own Docker containers
---
@ -26,7 +26,7 @@ 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:
YAMS provides some handy environment variables you can use in your custom containers:
```yaml
PUID: Your user ID
@ -102,7 +102,7 @@ Want your custom container to use YAMS's VPN? Add this to your container config:
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.
You can access any environment variable from YAMS's `.env` file in your custom containers. Just use the `${VARIABLE_NAME}` syntax!
## Common Gotchas 🚨

View File

@ -2,7 +2,7 @@
title: "Backups"
date: 2023-01-17T19:38:39-03:00
draft: false
weight: 80
weight: 7
summary: Everything you need to know about backing up and restoring your YAMS setup
---

View File

@ -1,68 +0,0 @@
---
title: "Your Environment File (.env)"
weight: 30
description: "Get to know the handy .env file that helps configure YAMS."
summary: Learn about the central .env file used for YAMS configuration variables like paths and user IDs.
---
## Your Environment File (`.env`) - The YAMS Settings Hub!
Think of the `.env` file as the central control panel for some of YAMS's key settings. It's a simple text file living right where you installed YAMS (remember specifying that location during the [install steps]({{< relref "/install/steps" >}})? The default spot is `/opt/yams`).
### So, What Does It Do?
At its heart, the `.env` file holds **environment variables**. That sounds technical, but it's just a fancy way of saying "named settings". You give a setting a name, set its value, and then you can easily reuse that name elsewhere.
It looks like this inside:
```env
# Lines starting with # are comments (ignored)
PUID=1000
PGID=100
MEDIA_DIRECTORY=/srv/media
# You might add your own later!
# MY_API_KEY=supersecret123
```
See? Just `SETTING_NAME=some_value` on each line. Easy peasy!
### How YAMS Uses It (The Magic Part!)
Now, where do these settings get used? Primarily in your `docker-compose.yaml` and `docker-compose-custom.yaml` files. These files tell Docker how to run all the YAMS services (like Radarr, Sonarr, Plex, etc.).
Instead of writing the same path or ID over and over again in those files, we can just use the *name* of the setting from `.env`, but with a dollar sign (`$`) in front. Like this:
```yaml
# Inside a service definition in docker-compose.yaml...
environment:
- PUID=$PUID # Aha! Use the PUID value from .env
- PGID=$PGID # And the PGID value too!
volumes:
- $MEDIA_DIRECTORY:/data # Map the media folder defined in .env
```
When Docker starts the container, it automatically swaps `$PUID` with `1000` (or whatever you set in `.env`), `$MEDIA_DIRECTORY` with `/srv/media`, and so on. Neat, right?
### Why Bother With `.env`? (Spoiler: It Makes Life Easier!)
Okay, why the extra step? It actually helps you out in a few great ways:
* **Keep Secrets Secret:** Got API keys or passwords? Pop them in your `.env` file. This way, you can share your `docker-compose.yaml` file if you need help, without accidentally giving away sensitive info! **Super Important:** Make sure you add `.env` to your `.gitignore` file so you don't accidentally upload your secrets to Git! (We've already suggested adding this for you).
* **Change Once, Update Everywhere:** Imagine you move your media library. Instead of editing the path in *every single service* in your `docker-compose.yaml`, you just change the `MEDIA_DIRECTORY` line in your `.env` file once. Done!
* **Easy Tweaks:** It keeps your main `docker-compose.yaml` cleaner and lets you adjust core settings without digging through complex files.
### The Defaults YAMS Gives You
When you first set up YAMS, your `.env` file comes pre-filled with a few essentials:
* `PUID` and `PGID`: These numbers tell the containers which user on your computer "owns" the files they create. This is super important for permissions (making sure Radarr can actually save files to your media folder!). You usually *don't* need to change the defaults (often `1000` for both) unless you know you need to run things as a different specific user.
* `MEDIA_DIRECTORY`: This is the main folder on your computer where all your media lives (or will live!). The default is `/srv/media`. Feel free to change it to wherever you keep your stuff, just make sure the user from `PUID`/`PGID` can read and write there! **Heads Up:** For smooth sailing and efficient hardlinking (which saves disk space!), try to keep all your media (movies, TV, music, books) in *subfolders* under this *one* main directory.
* `INSTALL_DIRECTORY`: This tells YAMS where its own configuration files for each service should live. Default is `/opt/yams`. You set this during install and probably won't touch it again.
### What About VPN Stuff?
Good question! Some VPN setups also rely on settings you might put in your `.env` file. For the specifics on that, head over to the [Torrenting with VPN guide]({{< relref "/advanced/torrenting" >}}).
---
*Thanks to Airwreck on Discord for contributing to this guide!*

View File

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

@ -2,7 +2,7 @@
title: "Port Forwarding"
date: 2024-12-30T10:14:29-03:00
draft: false
weight: 50
weight: 4
summary: Everything you need to know about configuring and using a VPN with YAMS
---
@ -11,8 +11,6 @@ Port forwarding helps you get better download speeds by allowing incoming connec
## 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
@ -53,8 +51,6 @@ You should see an output similar to this:
## 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 ✅

View File

@ -2,7 +2,7 @@
title: "Portainer"
date: 2023-01-30T15:46:05-03:00
draft: false
weight: 90
weight: 8
summary: Your visual control center for all YAMS containers
---

View File

@ -2,7 +2,7 @@
title: "Running Prowlarr Behind the VPN"
date: 2024-09-27T16:44:00-03:00
draft: false
weight: 60
weight: 5
summary: A complete guide to routing Prowlarr's traffic through your VPN for extra privacy
---

View File

@ -2,7 +2,7 @@
title: "Proxmox LXC Prerequisites"
date: 2025-03-29T10:00:00-03:00
draft: false
weight: 10
weight: 1
summary: Required steps before installing YAMS in a Proxmox LXC container.
---

View File

@ -2,7 +2,7 @@
title: "Readarr"
date: 2023-01-31T13:52:34-03:00
draft: false
weight: 110
weight: 10
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,7 +2,7 @@
title: "Torrenting"
date: 2023-01-16T14:48:14-03:00
draft: false
weight: 70
weight: 6
summary: Everything you need to know about safe and effective torrenting with YAMS
---

View File

@ -2,7 +2,7 @@
title: "VPN"
date: 2023-01-15T21:16:29-03:00
draft: false
weight: 40
weight: 3
summary: Everything you need to know about configuring and using a VPN with YAMS
---
@ -131,16 +131,6 @@ If you get an error, double-check all your settings and make sure they're correc
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:

View File

@ -1,137 +0,0 @@
---
title: "Switching Gluetun to WireGuard"
date: 2025-04-05T12:00:00-03:00
draft: false
weight: 55
summary: Learn how to switch your Gluetun VPN configuration from OpenVPN to WireGuard for faster and more reliable connections.
---
Want faster VPN speeds and quicker connection times? It's time to switch from OpenVPN to **WireGuard**! This guide will walk you through updating your Gluetun configuration to use WireGuard — with a focus on **ProtonVPN**.
> ✅ **Why switch?** WireGuard is a modern VPN protocol 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

@ -14,8 +14,6 @@ From their [website](https://www.plex.tv/):
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
Before we dive in, we need to do a bit of setup magic to let Plex work its charms. First, stop YAMS:

View File

@ -189,7 +189,7 @@ Pick your streaming service:
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
- **Plex**: Most polished, but requires online account and is more complex to configure
### 8. VPN Configuration

View File

@ -7,15 +7,9 @@
<li class="zerostatic">
<img src="/pics/yams-small.png"/> <a href="https://yams.media">yams.media</a>
</li>
<li class="zerostatic">
<img src="/pics/gitea-small.png"/> <a href="https://git.rogs.me/rogs/yams">git.rogs.me/rogs/yams</a>
</li>
<li class="zerostatic">
<img src="/pics/gitlab-small.png"/> <a href="https://gitlab.com/rogs/yams">gitlab.com/rogs/yams</a>
</li>
<li class="zerostatic">
<img src="/pics/github-small.png"/> <a href="https://github.com/rogsme/yams">github.com/rogsme/yams</a>
</li>
<li class="zerostatic">
<img src="/pics/discord-small.png"/> <a href="https://discord.gg/Gwae3tNMST">Discord</a>
</li>
@ -28,7 +22,7 @@
</li>
{{ end }}
<li class="zerostatic">
<a href="https://www.buymeacoffee.com/rogs">🍕 Support YAMS! 🤑</a>
<a href="https://www.buymeacoffee.com/rogs"><img src="https://img.buymeacoffee.com/button-api/?text=Support YAMS&emoji=\U0001f355&slug=rogs&button_colour=40DCA5&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
</li>
</ul>
</div>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 411 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 351 B