Compare commits
31 Commits
add-github
...
master
Author | SHA1 | Date | |
---|---|---|---|
fd86c86d6b | |||
d5b6cf585c | |||
ccc36c4326 | |||
cdb360dc3e | |||
0812dbeef1 | |||
a55f74bdd2 | |||
1672e76eca | |||
|
dc6c8ce332 | ||
|
e54c665574 | ||
|
085909b1d2 | ||
4a1979bad5 | |||
38dcee41c2 | |||
ea0932b895 | |||
ec868c768e | |||
ef2075668a | |||
658581e147 | |||
e1f022c42f | |||
c218948b5f | |||
61389a9ca8 | |||
db958da6e8 | |||
2249d5613b | |||
fea482b762 | |||
cb560afc06 | |||
fd3c2fc8cd | |||
da86d2fdf5 | |||
edc4449154 | |||
96fd4b7c23 | |||
0af2ad729a | |||
bf45e00d95 | |||
a75613f560 | |||
16d3753f15 |
49
.gitea/workflows/deploy.yml
Normal file
49
.gitea/workflows/deploy.yml
Normal 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
3
.gitignore
vendored
@ -18,3 +18,6 @@ hugo.linux
|
||||
# Temporary lock file while building
|
||||
/.hugo_build.lock
|
||||
*.webp
|
||||
|
||||
# Aider
|
||||
.aider*
|
||||
|
@ -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
|
2
build.sh
2
build.sh
@ -2,4 +2,4 @@
|
||||
|
||||
find ./ -type f -name '*.png' -not -path '*/.git/*' -exec sh -c 'cwebp -lossless $1 -o "${1%.png}.webp"' _ {} \;
|
||||
find . -type f -not -path '*/.git/*' -exec sed -i -e 's/\.png/\.webp/g' {} \;
|
||||
hugo -s . -d /var/www/yams.media/ --minify --cleanDestinationDir --gc --verbose
|
||||
hugo -s . -d /var/www/yams.media/ --minify --cleanDestinationDir --gc --verbose --cacheDir $PWD/hugo-cache
|
||||
|
@ -67,9 +67,14 @@ summaryLength = 30
|
||||
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 = "Gitlab"
|
||||
url = "https://gitlab.com/rogs/yams"
|
||||
name = "🇫🇷 FR"
|
||||
url = "https://fr.yams.media"
|
||||
weight = 100
|
||||
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: "Adding your own containers to YAMS"
|
||||
date: 2023-10-21T21:41:29-03:00
|
||||
draft: false
|
||||
weight: 1
|
||||
weight: 20
|
||||
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:
|
||||
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
|
||||
@ -46,10 +46,10 @@ Let's walk through an example by adding [Overseerr](https://overseerr.dev/) - a
|
||||
nano docker-compose.custom.yaml
|
||||
```
|
||||
|
||||
2. If this is your first custom container, you'll need to uncomment the `services:` line. Your file should start like this:
|
||||
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!
|
||||
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:
|
||||
@ -102,13 +102,14 @@ 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 from YAMS's `.env` file in your custom containers. Just use the `${VARIABLE_NAME}` syntax!
|
||||
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. **Container Names**: Make sure your custom container names don't conflict with YAMS's built-in containers.
|
||||
2. **Port Conflicts**: Double-check that your new containers don't try to use ports that are already taken.
|
||||
3. **Permissions**: If your container needs to access media files, remember to use `PUID` and `PGID`!
|
||||
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? 💡
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: "Backups"
|
||||
date: 2023-01-17T19:38:39-03:00
|
||||
draft: false
|
||||
weight: 6
|
||||
weight: 80
|
||||
summary: Everything you need to know about backing up and restoring your YAMS setup
|
||||
---
|
||||
|
||||
|
68
content/advanced/env-file.md
Normal file
68
content/advanced/env-file.md
Normal 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!*
|
@ -2,7 +2,7 @@
|
||||
title: "Lidarr"
|
||||
date: 2023-01-31T11:20:14-03:00
|
||||
draft: false
|
||||
weight: 8
|
||||
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.
|
||||
|
||||
---
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: "Port Forwarding"
|
||||
date: 2024-12-30T10:14:29-03:00
|
||||
draft: false
|
||||
weight: 3
|
||||
weight: 50
|
||||
summary: Everything you need to know about configuring and using a VPN with YAMS
|
||||
---
|
||||
|
||||
@ -11,6 +11,8 @@ 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
|
||||
@ -51,6 +53,8 @@ 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 ✅
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: "Portainer"
|
||||
date: 2023-01-30T15:46:05-03:00
|
||||
draft: false
|
||||
weight: 7
|
||||
weight: 90
|
||||
summary: Your visual control center for all YAMS containers
|
||||
---
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: "Running Prowlarr Behind the VPN"
|
||||
date: 2024-09-27T16:44:00-03:00
|
||||
draft: false
|
||||
weight: 4
|
||||
weight: 60
|
||||
summary: A complete guide to routing Prowlarr's traffic through your VPN for extra privacy
|
||||
---
|
||||
|
||||
|
46
content/advanced/proxmox-lxc-prerequisites.md
Normal file
46
content/advanced/proxmox-lxc-prerequisites.md
Normal 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:
|
||||
[](/pics/proxmox-lxc-config.png)
|
||||
|
||||
4. **Save and Close:** Save the changes to the configuration file and exit the editor.
|
||||
|
||||
5. **Restart the LXC Container:** For the changes to take effect, you must restart the LXC container. You can do this via the Proxmox web UI or using the following commands on the Proxmox host:
|
||||
```bash
|
||||
pct stop <container-ID>
|
||||
pct start <container-ID>
|
||||
```
|
||||
|
||||
## Next Steps
|
||||
|
||||
After completing these prerequisites and restarting the LXC container, you can now log into the LXC container's console and proceed with the standard YAMS installation as described in the [Installation Guide](/install/steps/).
|
@ -2,7 +2,7 @@
|
||||
title: "Readarr"
|
||||
date: 2023-01-31T13:52:34-03:00
|
||||
draft: false
|
||||
weight: 9
|
||||
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.
|
||||
|
||||
---
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: "Torrenting"
|
||||
date: 2023-01-16T14:48:14-03:00
|
||||
draft: false
|
||||
weight: 5
|
||||
weight: 70
|
||||
summary: Everything you need to know about safe and effective torrenting with YAMS
|
||||
---
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: "VPN"
|
||||
date: 2023-01-15T21:16:29-03:00
|
||||
draft: false
|
||||
weight: 2
|
||||
weight: 40
|
||||
summary: Everything you need to know about configuring and using a VPN with YAMS
|
||||
---
|
||||
|
||||
@ -131,6 +131,16 @@ 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 we’ve written a full guide to help you switch:
|
||||
|
||||
👉 [Switching Gluetun to WireGuard](/advanced/wireguard/)
|
||||
|
||||
> 💡 If you store your WireGuard private key in the `.env` file, make sure to read the [Environment File Guide](/advanced/env-file/) to learn how to manage secrets securely.
|
||||
|
||||
## Troubleshooting 🔧
|
||||
|
||||
### Common Issues:
|
||||
|
137
content/advanced/wireguard.md
Normal file
137
content/advanced/wireguard.md
Normal 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 that’s faster, more efficient, and easier to configure than OpenVPN.
|
||||
|
||||
---
|
||||
|
||||
## For ProtonVPN Users 🚀
|
||||
|
||||
ProtonVPN makes it easy to use WireGuard with Gluetun. Here's how to update your configuration.
|
||||
|
||||
### Step 1: Get Your WireGuard Private Key 🔑
|
||||
|
||||
1. Go to [ProtonVPN WireGuard Config Generator](https://account.proton.me/u/0/vpn/WireGuard)
|
||||
2. Select a server and enable **Port Forwarding** and **Moderate NAT** (optional)
|
||||
3. Click **Download** to get the `.conf` file
|
||||
4. Open the file and copy the value of `PrivateKey`
|
||||
|
||||
It will look something like this:
|
||||
```
|
||||
PrivateKey = wOEI9rqqbDwnN8/Bpp22sVz48T71vJ4fYmFWujulwUU=
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 2: Update Your `.env` File 🛠️
|
||||
|
||||
Open your `.env` file and remove the OpenVPN credentials:
|
||||
|
||||
```bash
|
||||
nano /opt/yams/.env
|
||||
```
|
||||
|
||||
Remove or comment out:
|
||||
```env
|
||||
VPN_USER=your-username
|
||||
VPN_PASSWORD=your-password
|
||||
```
|
||||
|
||||
You can also remove `VPN_SERVICE=protonvpn` if you want to hardcode it in the compose file (see below), or leave it — both work.
|
||||
|
||||
> 💡 Not sure how the `.env` file works? Check out our [Environment File Guide](/advanced/env-file/) to learn how to manage variables like `WIREGUARD_PRIVATE_KEY` securely.
|
||||
|
||||
---
|
||||
|
||||
### Step 3: Update `docker-compose.yaml` 🐳
|
||||
|
||||
Find the `gluetun` service and replace the `environment:` section with the following:
|
||||
|
||||
```yaml
|
||||
environment:
|
||||
- VPN_SERVICE_PROVIDER=protonvpn
|
||||
- VPN_TYPE=wireguard
|
||||
- WIREGUARD_PRIVATE_KEY=wOEI9rqqbDwnN8/Bpp22sVz48T71vJ4fYmFWujulwUU=
|
||||
- VPN_PORT_FORWARDING=on
|
||||
- VPN_PORT_FORWARDING_PROVIDER=protonvpn
|
||||
- PORT_FORWARD_ONLY=on
|
||||
```
|
||||
|
||||
> 🧠 **Tip:** You can still use `${VARIABLE}` syntax if you prefer to keep the private key in your `.env` file. See the [Environment File Guide](/advanced/env-file/) for more info.
|
||||
|
||||
---
|
||||
|
||||
### Step 4: Restart YAMS 🔄
|
||||
|
||||
Apply the changes:
|
||||
|
||||
```bash
|
||||
yams restart
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 5: Verify It’s Working ✅
|
||||
|
||||
Run the VPN check:
|
||||
|
||||
```bash
|
||||
yams check-vpn
|
||||
```
|
||||
|
||||
You should see your qBittorrent IP is different from your local IP — and located in the country you selected in ProtonVPN.
|
||||
|
||||
You can also check the Gluetun logs:
|
||||
|
||||
```bash
|
||||
docker logs gluetun
|
||||
```
|
||||
|
||||
Look for lines like:
|
||||
```
|
||||
Using VPN provider: protonvpn
|
||||
VPN type: wireguard
|
||||
Port forwarding is enabled
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## For Other VPN Providers 🌐
|
||||
|
||||
WireGuard support varies by provider. Here’s what to do:
|
||||
|
||||
1. Visit the [Gluetun Provider Docs](https://github.com/qdm12/gluetun-wiki/tree/main/setup/providers)
|
||||
2. Find your VPN provider and follow their WireGuard instructions
|
||||
3. Replace the `gluetun` environment variables in your `docker-compose.yaml` accordingly
|
||||
|
||||
> ⚠️ Not all providers support WireGuard or port forwarding. Check their documentation carefully.
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting 🔧
|
||||
|
||||
### Gluetun won’t start?
|
||||
- Double-check your `WIREGUARD_PRIVATE_KEY`
|
||||
- Make sure `VPN_TYPE=wireguard` is set
|
||||
- Check for typos in your `docker-compose.yaml`
|
||||
|
||||
### Port forwarding not working?
|
||||
- Ensure `VPN_PORT_FORWARDING=on` and `PORT_FORWARD_ONLY=on` are set
|
||||
- Verify that port forwarding is enabled in your ProtonVPN config
|
||||
- Check Gluetun logs for forwarded port info
|
||||
|
||||
---
|
||||
|
||||
## Need Help? 🆘
|
||||
|
||||
If you're stuck:
|
||||
- Visit our [Common Issues](/faqs/common-errors/) page
|
||||
- Join our [Discord](https://discord.gg/Gwae3tNMST) or [Matrix](https://matrix.to/#/#yams-space:rogs.me) chat
|
||||
- Or ask in the [YAMS Forum](https://forum.yams.media)
|
@ -14,6 +14,8 @@ 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:
|
||||
@ -76,6 +78,8 @@ It means your `Preferences.xml` needs some fixing - double-check the format and
|
||||
|
||||
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.
|
||||
|
||||
[](/pics/plex-1.png)
|
||||
|
||||
After logging in, you'll see a "Plex Pass" modal. You can close that for now - we'll get to the good stuff!
|
||||
|
@ -33,6 +33,7 @@ Okay, so you REALLY want to support YAMS? First, thank you! But honestly, I'm no
|
||||
|
||||
### Donation Methods 💸
|
||||
|
||||
- BuyMeACoffee: https://buymeacoffee.com/rogs
|
||||
- Paypal: https://paypal.me/rogsme21
|
||||
- BTC: [`bc1qn092rw6q5nwha093qau6xryk6u3g9uwvy4tgdu`](/pics/btc.png)
|
||||
- XMR: [`8B2QC3RPEqEhbUKKL96CGzZBqoDq8kjzd5uUVCTHvyG8fACh5up3Svz4iNKiGEoZTqUXt4cJHqC4EeaTmrbVVHXfRrrRcBq`](/pics/xmr.png)
|
||||
|
@ -9,7 +9,7 @@ summary: First steps to install YAMS on your server
|
||||
|
||||
YAMS only needs a few things to get started:
|
||||
|
||||
- Debian 12 (recommended) or Ubuntu 24.04. If your OS isn't ready yet, check out these guides:
|
||||
- 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:
|
||||
@ -20,45 +20,50 @@ YAMS only needs a few things to get started:
|
||||
$ which docker
|
||||
/snap/bin/docker
|
||||
```
|
||||
You **won't** be able to install YAMS. ⚠️
|
||||
You **won't** be able to install YAMS. ⚠️
|
||||
|
||||
Don't worry if you don't have `docker` and `docker-compose` installed - the script can handle that for you on 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 we dive in, make sure you have:
|
||||
|
||||
### An installation location
|
||||
The script defaults to `/opt/yams` but you can use any location as long as your user has write permissions. If you want to use the default location (recommended), set it up like this:
|
||||
- **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
|
||||
```
|
||||
|
||||
- **An installation location:** The script defaults to `/opt/yams` but hey, you do you! Just make sure your user can write to wherever you choose.
|
||||
- **A media folder:** This is where all your stuff will live. For example, if you pick `/srv/media`, the script will create:
|
||||
+ `/srv/media/tv`: For your TV shows
|
||||
+ `/srv/media/movies`: For your movies
|
||||
+ `/srv/media/music`: For your tunes
|
||||
+ `/srv/media/books`: For your books
|
||||
+ `/srv/media/downloads`: For your downloads
|
||||
+ `/srv/media/blackhole`: For your torrent blackhole
|
||||
- **A regular user to run and own the media files:** Don't use `root` (I mean, I can't stop you, but come on! 😅)
|
||||
- **A VPN service (optional but STRONGLY recommended):** Choose one from [this list](/advanced/vpn#official-supported-vpns). I always recommend [ProtonVPN](https://protonvpn.com/) because it's super easy to set up!
|
||||
|
||||
## Installation Steps
|
||||
|
||||
### 1. Setup your install location
|
||||
|
||||
The `/opt/yams` location is **recommended**, but you can be a rebel and use whatever you like if your user has permissions:
|
||||
|
||||
```bash
|
||||
sudo mkdir -p /opt/yams
|
||||
sudo chown -R $USER:$USER /opt/yams
|
||||
```
|
||||
|
||||
### A media folder
|
||||
This is where all your content will live. For example, if you pick `/srv/media`, the script will create:
|
||||
+ `/srv/media/tvshows`: For your TV shows
|
||||
+ `/srv/media/movies`: For your movies
|
||||
+ `/srv/media/music`: For your music library
|
||||
+ `/srv/media/books`: For your ebook collection
|
||||
+ `/srv/media/downloads`: For your downloads
|
||||
+ `/srv/media/blackhole`: For your torrent blackhole directory
|
||||
|
||||
### A regular user to run YAMS
|
||||
+ Don't use `root` (I mean it! 😅)
|
||||
+ This user will own all the media files
|
||||
+ Must have sudo privileges for the initial setup
|
||||
|
||||
### A VPN service (optional but STRONGLY recommended)
|
||||
+ Choose one from [this list](/advanced/vpn#official-supported-vpns)
|
||||
+ We recommend ProtonVPN because:
|
||||
- Easy to configure
|
||||
- Built-in port forwarding support
|
||||
- Privacy-focused
|
||||
- Reasonable pricing
|
||||
|
||||
### If you already have Docker installed...
|
||||
### 2. If you already have docker installed...
|
||||
|
||||
Make sure you can run `docker` **without** `sudo`! Try this:
|
||||
|
||||
@ -184,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
|
||||
- **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
|
||||
|
||||
|
@ -7,9 +7,15 @@
|
||||
<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>
|
||||
@ -21,6 +27,9 @@
|
||||
<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>
|
||||
|
BIN
static/pics/gitea-small.png
Normal file
BIN
static/pics/gitea-small.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 411 B |
BIN
static/pics/github-small.png
Normal file
BIN
static/pics/github-small.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 351 B |
BIN
static/pics/proxmox-lxc-config.png
Normal file
BIN
static/pics/proxmox-lxc-config.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
Loading…
x
Reference in New Issue
Block a user