<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Plex on kunat.dev</title>
    <link>https://kunat.dev/tags/plex/</link>
    <description>Recent content in Plex on kunat.dev</description>
    <generator>Hugo -- 0.147.5</generator>
    <language>en-us</language>
    <copyright>2025 kunat.dev</copyright>
    <lastBuildDate>Tue, 12 Aug 2025 18:42:06 +0200</lastBuildDate>
    <atom:link href="https://kunat.dev/tags/plex/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Fix Plex 401 Unauthorized Error in Homarr Dashboard</title>
      <link>https://kunat.dev/notes/homarr-plex-unauthorized/</link>
      <pubDate>Tue, 12 Aug 2025 18:42:06 +0200</pubDate>
      <guid>https://kunat.dev/notes/homarr-plex-unauthorized/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://kunat.dev/notes/images/homarr-plex-unauthorized/homarr-plex-unauthorized-header.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;Seeing a red dot with &amp;ldquo;401 unauthorized&amp;rdquo; status for Plex in your Homarr dashboard, even though your Plex server runs perfectly fine? The issue is likely your URL format.&lt;/p&gt;
&lt;p&gt;Instead of using the standard IP:PORT format like other containers, Plex requires the full web interface path.&lt;/p&gt;
&lt;h2 id=&#34;the-fix&#34;&gt;The Fix&lt;/h2&gt;
&lt;p&gt;Change your Plex internal address from:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;192.168.1.100:32400
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;192.168.1.100:32400/web/index.html#!/
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;why-this-path-is-required&#34;&gt;Why This Path is Required&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Plex&amp;rsquo;s web interface uses a single-page application architecture with hash-based routing. The &lt;code&gt;/web/index.html#!/&lt;/code&gt; path serves as the entry point to the bundled Plex Web App. This specific URL structure is how Plex handles authentication and routing for external integrations like Homarr.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><img loading="lazy" src="/notes/images/homarr-plex-unauthorized/homarr-plex-unauthorized-header.png"></p>
<p>Seeing a red dot with &ldquo;401 unauthorized&rdquo; status for Plex in your Homarr dashboard, even though your Plex server runs perfectly fine? The issue is likely your URL format.</p>
<p>Instead of using the standard IP:PORT format like other containers, Plex requires the full web interface path.</p>
<h2 id="the-fix">The Fix</h2>
<p>Change your Plex internal address from:</p>
<pre tabindex="0"><code>192.168.1.100:32400
</code></pre><p>To:</p>
<pre tabindex="0"><code>192.168.1.100:32400/web/index.html#!/
</code></pre><h2 id="why-this-path-is-required">Why This Path is Required</h2>
<blockquote>
<p>Plex&rsquo;s web interface uses a single-page application architecture with hash-based routing. The <code>/web/index.html#!/</code> path serves as the entry point to the bundled Plex Web App. This specific URL structure is how Plex handles authentication and routing for external integrations like Homarr.</p></blockquote>
<blockquote>
<p>Unlike other services that expose simple API endpoints at their base URL, Plex requires access through its web application interface to properly authenticate and respond to status checks.</p></blockquote>
<ul>
<li><a href="https://github.com/ajnart/homarr/discussions/1407" target="_blank" >Homarr Plex 401 Discussion</a></li>
<li><a href="https://support.plex.tv/articles/201638786-plex-media-server-url-commands/" target="_blank" >Plex Media Server URL Commands | Plex Support</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Automate YouTube Downloads on Synology with MeTube and Docker</title>
      <link>https://kunat.dev/notes/metube-synology-setup/</link>
      <pubDate>Thu, 05 Jun 2025 18:38:36 +0200</pubDate>
      <guid>https://kunat.dev/notes/metube-synology-setup/</guid>
      <description>Learn how to install MeTube, a web GUI for youtube-dl, on your Synology NAS using Docker. Follow this step-by-step guide to automate downloading YouTube videos directly to your Plex media library.</description>
      <content:encoded><![CDATA[<p><img alt="hello there" loading="lazy" src="/notes/images/metube-synology-setup-header.jpg"></p>
<blockquote>
<p><strong><a href="https://github.com/alexta69/metube" target="_blank" >MeTube</a></strong> is a web GUI for <code>youtube-dl</code>, a command-line tool for downloading videos from YouTube and several hundred other sites.</p></blockquote>
<p>My goal for this project was to set up automation for downloading YouTube videos directly to my Plex library.</p>
<p>The primary reason is that I can&rsquo;t trust myself with YouTube Shorts. Once I open YouTube, I&rsquo;m likely to spend at least a few minutes browsing through them. The simplest solution was to add friction to the process: I removed the YouTube app from all my devices and blocked the domain using my local DNS server.</p>
<p>This worked like a charm. Now, I only visit YouTube every few days to add content that interests me to my Plex library.</p>
<blockquote>
<p>You can read more about setting up your own DNS server <a href="/notes/adguard-home-synology-tailscale/" >here</a>.</p></blockquote>
<h2 id="prerequisites">Prerequisites</h2>
<ul>
<li>‼️ Docker must be installed and set up on your system by following the <a href="https://trash-guides.info/File-and-Folder-Structure/How-to-set-up/Synology/" target="_blank" >TrashGuides setup for Synology</a>.</li>
</ul>
<blockquote>
<p>This guide assumes you have configured common environment variables like <code>PUID</code>, <code>PGID</code>, <code>TZ</code>, <code>DOCKERSTORAGEDIR</code>, and <code>DOCKERCONFDIR</code> as outlined in the TrashGuides.</p></blockquote>
<h2 id="installation-steps">Installation Steps</h2>
<h3 id="1-create-required-directories">1. Create Required Directories</h3>
<p>First, we need to create folders for MeTube&rsquo;s configuration and downloads. One folder will store MeTube&rsquo;s application data, and the other will be the destination for your downloaded videos.</p>
<p>SSH into your Synology NAS and execute the following commands:</p>
<blockquote>
<p>The commands below assume you&rsquo;ve followed the linked guide exactly. Adjust paths like <code>/volume1/data/media/youtube</code> and <code>/volume1/docker/appdata/metube</code> if your storage volume or directory structure differs.</p></blockquote>
<ul>
<li><strong>Folder for video downloads (e.g., your Plex library):</strong>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>sudo mkdir -p /volume1/data/media/youtube
</span></span></code></pre></div></li>
<li><strong>Folder for the MeTube container&rsquo;s configuration:</strong>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>sudo mkdir -p /volume1/docker/appdata/metube
</span></span></code></pre></div></li>
</ul>
<h3 id="2-set-permissions">2. Set Permissions</h3>
<p>Next, execute the following commands via SSH to configure the correct permissions for the newly created directories:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>sudo chown -R docker:users /volume1/data/media/youtube /volume1/docker/appdata/metube
</span></span><span style="display:flex;"><span>sudo chmod -R a<span style="color:#f92672">=</span>,a+rX,u+w,g+w /volume1/data/media/youtube /volume1/docker/appdata/metube
</span></span></code></pre></div><p>This command ensures the <code>docker</code> user has the necessary ownership and read/write permissions.</p>
<h3 id="3-configure-docker-compose">3. Configure Docker Compose</h3>
<p>Append the following service configuration to your main <code>docker-compose.yml</code> file. If you followed the TrashGuides setup, this file is located at <code>/volume1/docker/</code>.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#f92672">services</span>:
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">metube</span>:
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">container_name</span>: <span style="color:#ae81ff">metube</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">image</span>: <span style="color:#ae81ff">ghcr.io/alexta69/metube:latest</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">restart</span>: <span style="color:#ae81ff">unless-stopped</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">logging</span>:
</span></span><span style="display:flex;"><span>      <span style="color:#f92672">driver</span>: <span style="color:#ae81ff">json-file</span>
</span></span><span style="display:flex;"><span>      <span style="color:#f92672">options</span>:
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">max-file</span>: <span style="color:#ae81ff">${DOCKERLOGGING_MAXFILE:-10}</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">max-size</span>: <span style="color:#ae81ff">${DOCKERLOGGING_MAXSIZE:-200m}</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">ports</span>:
</span></span><span style="display:flex;"><span>      - <span style="color:#e6db74">&#34;8081:8081&#34;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">environment</span>:
</span></span><span style="display:flex;"><span>      - <span style="color:#ae81ff">PUID=${PUID}</span>
</span></span><span style="display:flex;"><span>      - <span style="color:#ae81ff">PGID=${PGID}</span>
</span></span><span style="display:flex;"><span>      - <span style="color:#ae81ff">TZ=${TZ}</span>
</span></span><span style="display:flex;"><span>      - <span style="color:#ae81ff">UMASK=002</span>
</span></span><span style="display:flex;"><span>      - <span style="color:#ae81ff">DOWNLOAD_DIR=/downloads</span>
</span></span><span style="display:flex;"><span>      - <span style="color:#ae81ff">AUDIO_DOWNLOAD_DIR=/downloads</span>
</span></span><span style="display:flex;"><span>      - <span style="color:#ae81ff">STATE_DIR=/config/.metube</span>
</span></span><span style="display:flex;"><span>      - <span style="color:#ae81ff">TEMP_DIR=/downloads/.temp</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">volumes</span>:
</span></span><span style="display:flex;"><span>      - <span style="color:#ae81ff">/etc/localtime:/etc/localtime:ro</span>
</span></span><span style="display:flex;"><span>      - <span style="color:#ae81ff">${DOCKERSTORAGEDIR}/media/youtube:/downloads</span>
</span></span><span style="display:flex;"><span>      - <span style="color:#ae81ff">${DOCKERCONFDIR}/metube:/config</span>
</span></span></code></pre></div><p><strong>Note on Environment Variables and Volumes:</strong></p>
<ul>
<li><code>${DOCKERSTORAGEDIR}/media/youtube</code> maps your Synology&rsquo;s media download folder to the <code>/downloads</code> directory inside the container. Ensure <code>DOCKERSTORAGEDIR</code> is correctly defined (e.g., <code>DOCKERSTORAGEDIR=/volume1/data</code>).</li>
<li><code>${DOCKERCONFDIR}/metube</code> maps your Synology&rsquo;s MeTube appdata folder to the <code>/config</code> directory inside the container. Ensure <code>DOCKERCONFDIR</code> is correctly defined (e.g., <code>DOCKERCONFDIR=/volume1/docker/appdata</code>).</li>
</ul>
<h3 id="4-start-the-container">4. Start the Container</h3>
<p>Navigate to the directory containing your <code>docker-compose.yml</code> file via SSH and run the following command:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>docker compose up -d metube
</span></span></code></pre></div><p>The container will now download the image and start. You can then access the MeTube web interface by navigating to <code>http://&lt;your-synology-ip&gt;:8081</code> in a web browser.</p>
<p>Check out MeTube&rsquo;s <a href="https://github.com/alexta69/metube?tab=readme-ov-file#ios-shortcut" target="_blank" >README</a> for a handy iOS shortcut that allows you share video URLs without opening MeTube!</p>
<h2 id="troubleshooting">Troubleshooting</h2>
<ul>
<li><strong>Port Conflicts:</strong> If port <code>8081</code> is already in use, change the host port in the <code>ports</code> section of your <code>docker-compose.yml</code>. For example, to use port <code>8082</code>, modify the line to <code>- &quot;8082:8081&quot;</code>.</li>
<li><strong>Permission Issues:</strong> If MeTube reports that it cannot write to the download or config directories, double-check the permissions set in Step 2. Also, verify that the <code>PUID</code> and <code>PGID</code> environment variables correspond to a user with write access to those folders.</li>
<li><strong>Container Logs:</strong> If the container fails to start or you encounter other issues, check its logs with this command:
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>docker compose logs metube
</span></span></code></pre></div></li>
</ul>
<h2 id="resources">Resources</h2>
<ul>
<li><a href="https://github.com/alexta69/metube" target="_blank" >MeTube GitHub Repository</a></li>
<li><a href="https://trash-guides.info/File-and-Folder-Structure/How-to-set-up/Synology/" target="_blank" >TrashGuides for Synology Docker Setup</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>My Synology Setup</title>
      <link>https://kunat.dev/notes/my-synology-setup/</link>
      <pubDate>Wed, 09 Oct 2024 18:13:32 +0200</pubDate>
      <guid>https://kunat.dev/notes/my-synology-setup/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been using Synology for the past year, and during this time it&amp;rsquo;s become the center of my home computing. I&amp;rsquo;m still discovering new use cases, so I&amp;rsquo;ll keep this post updated. Today, I want to share how I ended up with this setup - the how and why. Here are the main things I use my NAS for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Media Server&lt;/strong&gt; - My Synology stores and serves my entire collection of movies, TV shows, and music. Using Plex, I can stream this content to any device, creating a personalized Netflix-like experience.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Usenet / Torrent Client&lt;/strong&gt; - I have the standard *ARR stack setup for managing my media library. I can’t recommend it enough. This suite of apps is a crown jewel of the entire setup.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HomeBridge&lt;/strong&gt; - HomeBridge allows me to integrate non-HomeKit devices into my Apple HomeKit setup.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Time Machine Backup Destination&lt;/strong&gt; - My Synology serves as a Time Machine backup destination for all my Macs. This is a major improvement over manually connecting external HDDs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DNS Server&lt;/strong&gt; - I run AdGuard Home on my Synology as a DNS server. Similar to Pi-hole, it blocks ads across all devices on my network. You can read more about it &lt;a href=&#34;https://kunat.dev/notes/adguard-home-synology-tailscale/#heading-id&#34; &gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Personal Cloud Storage&lt;/strong&gt; - While I use iCloud for critical documents, my Synology acts as a personal cloud for miscellaneous files. It&amp;rsquo;s a great way to keep less important documents accessible without cluttering my primary cloud storage.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In the following sections, I&amp;rsquo;ll dive deeper into this setup, providing a high-level overview and sharing useful resources that have helped me create this system.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I&rsquo;ve been using Synology for the past year, and during this time it&rsquo;s become the center of my home computing. I&rsquo;m still discovering new use cases, so I&rsquo;ll keep this post updated. Today, I want to share how I ended up with this setup - the how and why. Here are the main things I use my NAS for:</p>
<ul>
<li><strong>Media Server</strong> - My Synology stores and serves my entire collection of movies, TV shows, and music. Using Plex, I can stream this content to any device, creating a personalized Netflix-like experience.</li>
<li><strong>Usenet / Torrent Client</strong> - I have the standard *ARR stack setup for managing my media library. I can’t recommend it enough. This suite of apps is a crown jewel of the entire setup.</li>
<li><strong>HomeBridge</strong> - HomeBridge allows me to integrate non-HomeKit devices into my Apple HomeKit setup.</li>
<li><strong>Time Machine Backup Destination</strong> - My Synology serves as a Time Machine backup destination for all my Macs. This is a major improvement over manually connecting external HDDs.</li>
<li><strong>DNS Server</strong> - I run AdGuard Home on my Synology as a DNS server. Similar to Pi-hole, it blocks ads across all devices on my network. You can read more about it <a href="/notes/adguard-home-synology-tailscale/#heading-id" >here</a>.</li>
<li><strong>Personal Cloud Storage</strong> - While I use iCloud for critical documents, my Synology acts as a personal cloud for miscellaneous files. It&rsquo;s a great way to keep less important documents accessible without cluttering my primary cloud storage.</li>
</ul>
<p>In the following sections, I&rsquo;ll dive deeper into this setup, providing a high-level overview and sharing useful resources that have helped me create this system.</p>
<h2 id="the-initial-setup">The Initial Setup</h2>
<h3 id="storage-pools--shares--volumes">Storage Pools / Shares / Volumes</h3>
<p>The first question I asked myself when setting up the system was &ldquo;What volume structure should I use?&rdquo; Initially, I aimed for complete separation between documents, media, and backups. This approach would have resulted in a single storage pool with three separate volumes.</p>
<p>However, I learned that creating separate volumes doesn&rsquo;t offer significant advantages in this case (if any). It doesn&rsquo;t provide any real security benefits. Instead, having separate shared folders with properly set up permissions is more than sufficient. So, unless you have a compelling reason to do otherwise, you should default to a single storage pool with a single volume.</p>
<blockquote>
<p>95% of users should use a single SHR pool, with a single BTRFS volume. If you need something else, you&rsquo;re an advanced user with an unusual use case (or just a big nerd who likes to tinker, even when it&rsquo;s slightly harmful).</p>
<p>Some people make multiple pools for different RAID levels for different uses, or making a separate pool with surveillance-class drives for their cameras. IMO, it&rsquo;s not worth that level of control, but it&rsquo;s available. You must make separate pools for HDDs and SSDs.</p>
<p>There&rsquo;s even less reason to use multiple volumes on the same pool. All of the backup, permissions, quota, etc. management is done at the shared folder level, so there just isn&rsquo;t much benefit to multiple volumes, unless you&rsquo;re hitting the 108TB limit and are forced to.</p>
<p><a href="https://www.reddit.com/r/synology/comments/11c1hu4/practical_reasons_for_having_multiple_storage/" target="_blank" >From the synology community on Reddit</a></p></blockquote>
<h3 id="access-control">Access Control</h3>
<p>All of my shared folders use the default permissions, except for <code>docker</code>. The permissions for this directory are described in detail <a href="https://trash-guides.info/Hardlinks/How-to-setup-for/Synology/" target="_blank" >here</a>. The gist of this setup is that the &ldquo;docker&rdquo; user has full access to the &ldquo;docker&rdquo; shared folder and nothing else. All other users can access anything except the docker folder.</p>
<p>I have three accounts in total:</p>
<ul>
<li>An admin account that I only use when I need to make changes to Synology.</li>
<li>My personal account, which I use day-to-day. All of my client devices use it to access documents, media, and backups.</li>
<li>The docker account I mentioned earlier.</li>
</ul>
<h3 id="setting-up-time-machine">Setting up Time Machine</h3>
<p>Use <a href="https://www.youtube.com/watch?v=yQFuJJqqWbc" target="_blank" >this video</a> and you should be good to go.</p>
<h3 id="docker">Docker</h3>
<p>I started my Docker setup with <a href="https://trash-guides.info/Hardlinks/How-to-setup-for/Synology/" target="_blank" >this guide</a> as part of setting up the *ARR stack. It goes into detail on how to set it up from the ground up. Once you&rsquo;re done, it should be fairly easy to build on top of it.</p>
<blockquote>
<p>I still haven&rsquo;t gotten around to setting up automation for updating the containers, so I can&rsquo;t speak on pullio, the solution suggested in the guide above.</p></blockquote>
<h2 id="remote-access">Remote Access</h2>
<p>With the initial setup done, it&rsquo;s time to decide how to access your Synology outside of your home network. In my setup, I wanted to balance security and convenience. That&rsquo;s why I decided against Synology&rsquo;s Quick Connect and went with Tailscale. The free tier is more than enough for my needs, and this setup is beautifully simple to configure.</p>
<p>I wrote <a href="/notes/synology-plex-tailscale/#heading-id" >a separate article</a> on how to set up Plex to work with Tailscale. If you want to learn more about the available options for remote access, <a href="https://www.youtube.com/watch?v=o2ck1g3_k3o" target="_blank" >this video</a> covers the most popular choices.</p>
<h2 id="backup">Backup</h2>
<p>I backup my entire system using the built-in Hyper Backup solution. <a href="https://www.youtube.com/watch?v=W43G5DSZ-Ik" target="_blank" >Here&rsquo;s a tutorial</a> on how to set it up.</p>
<blockquote>
<p>I don&rsquo;t backup media to save space. In the worst-case scenario of two subsequent disk failures, I&rsquo;ll still have all of my most important documents intact. The media library should be fairly simple to rebuild.</p></blockquote>
<p>I have a monthly reminder to connect the external HDD and make a backup. You can configure it so that the external disk will be unmounted when the backup is finished. This makes the process easy and hassle-free. I connect the drive, initiate the backup, and detach it the next morning. You could keep it connected, but I prefer to keep my backup offsite. It&rsquo;s my final safety net when everything else fails.</p>
<h2 id="resources">Resources</h2>
<ul>
<li><a href="https://www.reddit.com/r/synology/comments/11c1hu4/practical_reasons_for_having_multiple_storage/" target="_blank" >Practical reasons for having multiple storage pools and volumes : r/synology</a></li>
<li><a href="/notes/adguard-home-synology-tailscale/#heading-id" >Setting up AdGuard Home on Synology NAS with Tailscale | kunat.dev</a></li>
<li><a href="https://trash-guides.info/Hardlinks/How-to-setup-for/Synology/" target="_blank" >Synology - TRaSH Guides</a></li>
<li><a href="https://www.youtube.com/watch?v=yQFuJJqqWbc" target="_blank" >How to Backup MacOS to Synology NAS using Time Machine (easy) - YouTube</a></li>
<li><a href="/notes/synology-plex-tailscale/#heading-id" >Secure Remote Access to Your Synology Plex Server via Tailscale | kunat.dev</a></li>
<li><a href="https://www.youtube.com/watch?v=o2ck1g3_k3o" target="_blank" >The Complete Guide to Remotely Access Synology NAS - All 5 Options Explained - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=W43G5DSZ-Ik" target="_blank" >Do this FIRST - How to Backup Synology NAS to USB Hard Drive (Hyperbackup) - YouTube</a></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>Secure Remote Access to Your Synology Plex Server via Tailscale</title>
      <link>https://kunat.dev/notes/synology-plex-tailscale/</link>
      <pubDate>Wed, 03 Jul 2024 14:40:04 +0200</pubDate>
      <guid>https://kunat.dev/notes/synology-plex-tailscale/</guid>
      <description>&lt;p&gt;In this article, I’ll describe how to set up your Plex server so you can access it remotely through Tailscale, with Remote Access completely disabled in Plex server settings.&lt;/p&gt;
&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Have a Plex server running as a Docker container using &lt;a href=&#34;https://trash-guides.info/Hardlinks/How-to-setup-for/Synology/&#34; target=&#34;_blank&#34; &gt;this guide&lt;/a&gt;. When you’re done, you should have a &lt;code&gt;docker-compose.yml&lt;/code&gt; and a &lt;code&gt;.env&lt;/code&gt; file with all your environment variables.&lt;/li&gt;
&lt;li&gt;Have Tailscale set up and running on your Synology. You can use &lt;a href=&#34;https://www.youtube.com/watch?v=qulWDpzdY1E&#34; target=&#34;_blank&#34; &gt;this guide&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Make sure to disable the expiry for the IP address assigned to your Synology NAS in the Tailscale dashboard.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In this article, I’ll describe how to set up your Plex server so you can access it remotely through Tailscale, with Remote Access completely disabled in Plex server settings.</p>
<h2 id="prerequisites">Prerequisites</h2>
<ul>
<li>Have a Plex server running as a Docker container using <a href="https://trash-guides.info/Hardlinks/How-to-setup-for/Synology/" target="_blank" >this guide</a>. When you’re done, you should have a <code>docker-compose.yml</code> and a <code>.env</code> file with all your environment variables.</li>
<li>Have Tailscale set up and running on your Synology. You can use <a href="https://www.youtube.com/watch?v=qulWDpzdY1E" target="_blank" >this guide</a>.</li>
</ul>
<blockquote>
<p>Make sure to disable the expiry for the IP address assigned to your Synology NAS in the Tailscale dashboard.</p></blockquote>
<h2 id="steps">Steps</h2>
<ol>
<li>Set <code>PLEX_ADVERTISE_URL</code> (in the <code>.env</code> file) to your Synology IP address in the Tailscale dashboard and your local network IP address:</li>
</ol>
<pre tabindex="0"><code>## PLEX
# ... other keys
PLEX_ADVERTISE_URL=&#34;http://ds1512p:32400,http://192.168.0.186:32400&#34;
</code></pre><blockquote>
<p>Remember to include port numbers in both IP addresses!</p></blockquote>
<ol start="2">
<li>Restart the Plex container using the latest changes:</li>
</ol>
<pre tabindex="0"><code>sudo docker-compose up --force-recreate plex
</code></pre><ol start="3">
<li>Check if the changes have been applied successfully. “Custom server access URLs” should be set to <code>$PLEX_ADVERTISE_URL</code>.</li>
</ol>
<p><img alt="Plex Server dashboard" loading="lazy" src="/notes/images/synology-plex-tailscale.png"></p>
<h2 id="summary">Summary</h2>
<p>That’s it! With the above setup, you should be able to connect to your Plex server from your local network as well as from anywhere, as long as you’re connected to Tailscale.</p>
<h2 id="resources">Resources</h2>
<ul>
<li><a href="https://community.umbrel.com/t/how-to-run-plex-through-tailscale/14595" target="_blank" >How to run Plex through Tailscale</a></li>
</ul>
]]></content:encoded>
    </item>
  </channel>
</rss>
