{"id":489,"date":"2021-04-22T07:42:10","date_gmt":"2021-04-22T07:42:10","guid":{"rendered":"https:\/\/yer.ac\/blog\/?p=489"},"modified":"2021-04-22T07:42:12","modified_gmt":"2021-04-22T07:42:12","slug":"using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas","status":"publish","type":"post","link":"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/","title":{"rendered":"Using PodGrab &#038; Docker to backup my favorite podcasts (In this case on a QNAP NAS)"},"content":{"rendered":"\n<p>Whilst it&#8217;s not a certainty that data will removed from the web, it does happen (See \/r\/datahoarder and \/r\/lostmedia). As I get all my podcasts through Spotify these days I have no control if they suddenly pull their account, or stop the show. There are also other use cases, like wanting the offline MP3 to add to another device if you will not have any connectivity. As there are some I enjoy and can see myself listening to again in the future, why not catalog them! <\/p>\n\n\n\n<p>In this post, I am using <a href=\"https:\/\/github.com\/akhilrex\/podgrab\">PodGrab<\/a> in a docker container, running on my QNAP NAS. The container runs in the background and checks provided RSS feeds periodically. It will download any new episodes it finds, as well as any existing ones to a mounted directory. <\/p>\n\n\n\n<p><strong>Note<\/strong>: This guide is in the context of using ContainerStation on a QNAP NAS Device (As these are basically notes to future self on how I set this up!) You can still use this container on a regular docker instance using <code>docker run<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Setting up in Docker and not on a QNAP<\/h2>\n\n\n\n<p>This guide is focused on the QNAP side so this isn&#8217;t the article for you, but otherwise simply run the docker command below or see the official git repo for notes on docker-compose.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"> docker run -d -p 8080:8080 --name=podgrab -v \"\/host\/path\/to\/assets:\/assets\" -v \"\/host\/path\/to\/config:\/config\"  akhilrex\/podgrab<\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Setting up on the QNAP NAS<\/h2>\n\n\n\n<p>Whilst its not a requirement, I recommend setting up a new user for docker to run under which only has access to a new shared folder where you will store the podcasts. This allows the container to be more isolated, and whilst you can run as the admin\/root user, this allows the container carte-blanche access to your system.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Create a new share (optional&#8230;) and create a location to store the podcasts.<\/h4>\n\n\n\n<p>Create a new share, or pick one that you will use. In my example I simply re-use my &#8220;Media&#8221; share.<\/p>\n\n\n\n<p>Then make a new folder which will contain the downloaded data. You will need 2 folders &#8211; &#8220;Assets&#8221;, and &#8220;Config&#8221;. How mine is set up is shown below.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"246\" height=\"169\" data-attachment-id=\"499\" data-permalink=\"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/image-8-4\/\" data-orig-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-8.png?fit=246%2C169&amp;ssl=1\" data-orig-size=\"246,169\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image-8\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-8.png?fit=246%2C169&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-8.png?resize=246%2C169&#038;ssl=1\" alt=\"\" class=\"wp-image-499\"\/><\/figure><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Create a new user<\/h4>\n\n\n\n<p>In the control panel, select Users -> Create.<\/p>\n\n\n\n<p>Give the user a memorable username (we will need it later) and under &#8220;Shared folder permission&#8221;, select &#8220;RW&#8221; permission on the share you will be storing the data in.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"412\" data-attachment-id=\"491\" data-permalink=\"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/image-29\/\" data-orig-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image.png?fit=992%2C584&amp;ssl=1\" data-orig-size=\"992,584\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image.png?fit=700%2C412&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-700x412.png?resize=700%2C412&#038;ssl=1\" alt=\"\" class=\"wp-image-491\" srcset=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image.png?resize=700%2C412&amp;ssl=1 700w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image.png?resize=300%2C177&amp;ssl=1 300w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image.png?resize=768%2C452&amp;ssl=1 768w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image.png?resize=800%2C471&amp;ssl=1 800w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image.png?w=992&amp;ssl=1 992w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><figcaption>Creating a new user in QNAP<\/figcaption><\/figure><\/div>\n\n\n\n<p>Next we need to get the users ID to pass through to Docker. We need to SSH to the server. For this I am using PuTTY (<code>choco install putty<\/code>  or find online). Provide the NAS IP address or name, and leave the port. Press &#8220;Open&#8221; and you should get a new terminal window.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"457\" height=\"185\" data-attachment-id=\"492\" data-permalink=\"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/image-1-9\/\" data-orig-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-1.png?fit=457%2C185&amp;ssl=1\" data-orig-size=\"457,185\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image-1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-1.png?fit=457%2C185&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-1.png?resize=457%2C185&#038;ssl=1\" alt=\"\" class=\"wp-image-492\" srcset=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-1.png?w=457&amp;ssl=1 457w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-1.png?resize=300%2C121&amp;ssl=1 300w\" sizes=\"auto, (max-width: 457px) 100vw, 457px\" \/><\/figure><\/div>\n\n\n\n<p>When prompted, log in to the system as an admin user.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"665\" height=\"125\" data-attachment-id=\"493\" data-permalink=\"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/image-2-9\/\" data-orig-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-2.png?fit=665%2C125&amp;ssl=1\" data-orig-size=\"665,125\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image-2\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-2.png?fit=665%2C125&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-2.png?resize=665%2C125&#038;ssl=1\" alt=\"\" class=\"wp-image-493\" srcset=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-2.png?w=665&amp;ssl=1 665w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-2.png?resize=300%2C56&amp;ssl=1 300w\" sizes=\"auto, (max-width: 665px) 100vw, 665px\" \/><\/figure><\/div>\n\n\n\n<p>If successful you will get to the somewhat helpful &#8220;GUI&#8221;. Press &#8220;Q&#8221; to exit this though, as we just want raw terminal! &#8211; Following the &#8220;yes i am sure i want to quit&#8221; prompts.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"664\" height=\"420\" data-attachment-id=\"494\" data-permalink=\"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/image-3-8\/\" data-orig-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-3.png?fit=664%2C420&amp;ssl=1\" data-orig-size=\"664,420\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image-3\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-3.png?fit=664%2C420&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-3.png?resize=664%2C420&#038;ssl=1\" alt=\"\" class=\"wp-image-494\" srcset=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-3.png?w=664&amp;ssl=1 664w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-3.png?resize=300%2C190&amp;ssl=1 300w\" sizes=\"auto, (max-width: 664px) 100vw, 664px\" \/><\/figure><\/div>\n\n\n\n<p>When you get to the terminal, run <code>id &lt;username><\/code> command to get the IDs for the user you just created. (UID and GID)<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"662\" height=\"91\" data-attachment-id=\"495\" data-permalink=\"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/image-4-7\/\" data-orig-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-4.png?fit=662%2C91&amp;ssl=1\" data-orig-size=\"662,91\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image-4\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-4.png?fit=662%2C91&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-4.png?resize=662%2C91&#038;ssl=1\" alt=\"\" class=\"wp-image-495\" srcset=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-4.png?w=662&amp;ssl=1 662w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-4.png?resize=300%2C41&amp;ssl=1 300w\" sizes=\"auto, (max-width: 662px) 100vw, 662px\" \/><\/figure><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Running PodGrab on ContainerStation<\/h4>\n\n\n\n<p>Go to ContainerStation within the QNAP dashboard, then &#8220;Images&#8221;, then select &#8220;Pull&#8221;. <\/p>\n\n\n\n<p>In the modal dialog, select the Docker Hub registry, provide the image name of <code>akhilrex\/podgrab<\/code> and leave the version as <code>latest<\/code>. Press &#8220;Pull&#8221;.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"219\" data-attachment-id=\"496\" data-permalink=\"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/image-5-6\/\" data-orig-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-5.png?fit=1298%2C406&amp;ssl=1\" data-orig-size=\"1298,406\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image-5\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-5.png?fit=700%2C219&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-5-700x219.png?resize=700%2C219&#038;ssl=1\" alt=\"\" class=\"wp-image-496\" srcset=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-5.png?resize=700%2C219&amp;ssl=1 700w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-5.png?resize=300%2C94&amp;ssl=1 300w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-5.png?resize=768%2C240&amp;ssl=1 768w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-5.png?resize=800%2C250&amp;ssl=1 800w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-5.png?w=1298&amp;ssl=1 1298w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure><\/div>\n\n\n\n<p>Select &#8220;Create container&#8221; on the new image.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"61\" data-attachment-id=\"497\" data-permalink=\"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/image-6-6\/\" data-orig-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-6.png?fit=1037%2C90&amp;ssl=1\" data-orig-size=\"1037,90\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image-6\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-6.png?fit=700%2C61&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-6-700x61.png?resize=700%2C61&#038;ssl=1\" alt=\"\" class=\"wp-image-497\" srcset=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-6.png?resize=700%2C61&amp;ssl=1 700w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-6.png?resize=300%2C26&amp;ssl=1 300w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-6.png?resize=768%2C67&amp;ssl=1 768w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-6.png?resize=800%2C69&amp;ssl=1 800w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-6.png?w=1037&amp;ssl=1 1037w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure><\/div>\n\n\n\n<p>On the next screen, give it a unique name and set any CPU and RAM limitations (It ran more than fine with 256mb, and can probably do even less!). Then select &#8220;Advanced Settings&#8221;,  &#8220;Environment&#8221;, and change the &#8220;UID&#8221; to the UID from the PuTTY window previously. This will limit the container to the permission of the new user.<\/p>\n\n\n\n<p>Next, we need to map the volume. Go to &#8220;Shared Folder&#8221; under advanced settings and under &#8220;Volume From Host&#8221; we need to map 2 directories for PodGrab. Here we select the Location we want the podcasts to be stored to (\/Assets) and the place the config will be stored<em> <\/em>(\/Config).  <em>Technically you don&#8217;t need to map them and can use docker volumes, but this way the data is actually accessible from outside the container.<\/em><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"195\" data-attachment-id=\"498\" data-permalink=\"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/image-7-4\/\" data-orig-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-7.png?fit=756%2C211&amp;ssl=1\" data-orig-size=\"756,211\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image-7\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-7.png?fit=700%2C195&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-7-700x195.png?resize=700%2C195&#038;ssl=1\" alt=\"\" class=\"wp-image-498\" srcset=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-7.png?resize=700%2C195&amp;ssl=1 700w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-7.png?resize=300%2C84&amp;ssl=1 300w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-7.png?w=756&amp;ssl=1 756w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure><\/div>\n\n\n\n<p>Finally, lets forward the port. Select &#8220;network&#8221; and then add a port which will be used to access the GUI. For example in the screenshot below specifying 1234 will make it accessible at  http:\/\/NAS:1234  <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"275\" data-attachment-id=\"500\" data-permalink=\"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/image-9-4\/\" data-orig-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-9.png?fit=723%2C284&amp;ssl=1\" data-orig-size=\"723,284\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image-9\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-9.png?fit=700%2C275&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-9-700x275.png?resize=700%2C275&#038;ssl=1\" alt=\"\" class=\"wp-image-500\" srcset=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-9.png?resize=700%2C275&amp;ssl=1 700w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-9.png?resize=300%2C118&amp;ssl=1 300w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-9.png?w=723&amp;ssl=1 723w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure><\/div>\n\n\n\n<p>Click create and wait. You should see the new container running under the &#8220;overview&#8221; tab of ContainerStation.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Setting up PodGrab<\/h2>\n\n\n\n<p>It&#8217;s quite self-explanatory really, but visit http:\/\/nas:port (as configured above) now and you should see PodGrab.<\/p>\n\n\n\n<p>Simply add a new show using the on-screen prompt from RSS feed and it will display on the home page. You can leave it and have it grab everything from this point onward, or click &#8220;download all&#8221; to get all available ones up front too.<\/p>\n\n\n\n<p>Below is showing the screen, with 2 of my favorite podcasts.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"351\" data-attachment-id=\"501\" data-permalink=\"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/image-10-4\/\" data-orig-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-10.png?fit=1129%2C566&amp;ssl=1\" data-orig-size=\"1129,566\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image-10\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-10.png?fit=700%2C351&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-10-700x351.png?resize=700%2C351&#038;ssl=1\" alt=\"\" class=\"wp-image-501\" srcset=\"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-10.png?resize=700%2C351&amp;ssl=1 700w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-10.png?resize=300%2C150&amp;ssl=1 300w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-10.png?resize=768%2C385&amp;ssl=1 768w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-10.png?resize=800%2C401&amp;ssl=1 800w, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-10.png?w=1129&amp;ssl=1 1129w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n\n\n\n<p>Checking your mapped directory should show you the MP3s under the Assets folder.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Bonus round<\/h2>\n\n\n\n<p>What is also nice about PodGrab is that you can listen to the podcast via the web interface too, on any device on your network. Simply navigate into the show and select an episode which has been downloaded and use the in-built player.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Whilst it&#8217;s not a certainty that data will removed from the web, it does happen (See \/r\/datahoarder and \/r\/lostmedia). As I get all my podcasts through Spotify these days I have no control if they suddenly pull their account, or stop the show. There are also other use cases, like wanting the offline MP3 to &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[37],"tags":[31,40,39,38],"class_list":["post-489","post","type-post","status-publish","format-standard","hentry","category-home-networking-2","tag-docker","tag-podcast","tag-podgrab","tag-qnap"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Using PodGrab &amp; Docker to backup my favorite podcasts (In this case on a QNAP NAS) - yer.ac | Adventures of a developer, and other things.<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using PodGrab &amp; Docker to backup my favorite podcasts (In this case on a QNAP NAS) - yer.ac | Adventures of a developer, and other things.\" \/>\n<meta property=\"og:description\" content=\"Whilst it&#8217;s not a certainty that data will removed from the web, it does happen (See \/r\/datahoarder and \/r\/lostmedia). As I get all my podcasts through Spotify these days I have no control if they suddenly pull their account, or stop the show. There are also other use cases, like wanting the offline MP3 to &hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/\" \/>\n<meta property=\"og:site_name\" content=\"yer.ac | Adventures of a developer, and other things.\" \/>\n<meta property=\"article:published_time\" content=\"2021-04-22T07:42:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-04-22T07:42:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-8.png\" \/>\n<meta name=\"author\" content=\"yer.ac\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"yer.ac\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/2021\\\/04\\\/22\\\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/2021\\\/04\\\/22\\\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\\\/\"},\"author\":{\"name\":\"yer.ac\",\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/#\\\/schema\\\/person\\\/4638b9d868c7d3747bd3bb01fbc8153d\"},\"headline\":\"Using PodGrab &#038; Docker to backup my favorite podcasts (In this case on a QNAP NAS)\",\"datePublished\":\"2021-04-22T07:42:10+00:00\",\"dateModified\":\"2021-04-22T07:42:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/2021\\\/04\\\/22\\\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\\\/\"},\"wordCount\":885,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/#\\\/schema\\\/person\\\/4638b9d868c7d3747bd3bb01fbc8153d\"},\"image\":{\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/2021\\\/04\\\/22\\\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/yer.ac\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/image-8.png\",\"keywords\":[\"docker\",\"podcast\",\"podgrab\",\"QNAP\"],\"articleSection\":[\"Home Networking\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/yer.ac\\\/blog\\\/2021\\\/04\\\/22\\\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/2021\\\/04\\\/22\\\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\\\/\",\"url\":\"https:\\\/\\\/yer.ac\\\/blog\\\/2021\\\/04\\\/22\\\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\\\/\",\"name\":\"Using PodGrab & Docker to backup my favorite podcasts (In this case on a QNAP NAS) - yer.ac | Adventures of a developer, and other things.\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/2021\\\/04\\\/22\\\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/2021\\\/04\\\/22\\\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/yer.ac\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/image-8.png\",\"datePublished\":\"2021-04-22T07:42:10+00:00\",\"dateModified\":\"2021-04-22T07:42:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/2021\\\/04\\\/22\\\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/yer.ac\\\/blog\\\/2021\\\/04\\\/22\\\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/2021\\\/04\\\/22\\\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\\\/#primaryimage\",\"url\":\"https:\\\/\\\/yer.ac\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/image-8.png\",\"contentUrl\":\"https:\\\/\\\/yer.ac\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/image-8.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/2021\\\/04\\\/22\\\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/yer.ac\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Using PodGrab &#038; Docker to backup my favorite podcasts (In this case on a QNAP NAS)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/yer.ac\\\/blog\\\/\",\"name\":\"yer.ac | Adventures of a developer, and other things.\",\"description\":\"Blog to keep track of things I am upto\",\"publisher\":{\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/#\\\/schema\\\/person\\\/4638b9d868c7d3747bd3bb01fbc8153d\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/yer.ac\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/yer.ac\\\/blog\\\/#\\\/schema\\\/person\\\/4638b9d868c7d3747bd3bb01fbc8153d\",\"name\":\"yer.ac\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/67ed010c9cc7986d40647e061c6dcdb06d818776591c7e954055adb629621113?s=96&d=retro&r=pg\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/67ed010c9cc7986d40647e061c6dcdb06d818776591c7e954055adb629621113?s=96&d=retro&r=pg\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/67ed010c9cc7986d40647e061c6dcdb06d818776591c7e954055adb629621113?s=96&d=retro&r=pg\",\"caption\":\"yer.ac\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/67ed010c9cc7986d40647e061c6dcdb06d818776591c7e954055adb629621113?s=96&d=retro&r=pg\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Using PodGrab & Docker to backup my favorite podcasts (In this case on a QNAP NAS) - yer.ac | Adventures of a developer, and other things.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/","og_locale":"en_US","og_type":"article","og_title":"Using PodGrab & Docker to backup my favorite podcasts (In this case on a QNAP NAS) - yer.ac | Adventures of a developer, and other things.","og_description":"Whilst it&#8217;s not a certainty that data will removed from the web, it does happen (See \/r\/datahoarder and \/r\/lostmedia). As I get all my podcasts through Spotify these days I have no control if they suddenly pull their account, or stop the show. There are also other use cases, like wanting the offline MP3 to &hellip;","og_url":"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/","og_site_name":"yer.ac | Adventures of a developer, and other things.","article_published_time":"2021-04-22T07:42:10+00:00","article_modified_time":"2021-04-22T07:42:12+00:00","og_image":[{"url":"https:\/\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-8.png","type":"","width":"","height":""}],"author":"yer.ac","twitter_card":"summary_large_image","twitter_misc":{"Written by":"yer.ac","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/#article","isPartOf":{"@id":"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/"},"author":{"name":"yer.ac","@id":"https:\/\/yer.ac\/blog\/#\/schema\/person\/4638b9d868c7d3747bd3bb01fbc8153d"},"headline":"Using PodGrab &#038; Docker to backup my favorite podcasts (In this case on a QNAP NAS)","datePublished":"2021-04-22T07:42:10+00:00","dateModified":"2021-04-22T07:42:12+00:00","mainEntityOfPage":{"@id":"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/"},"wordCount":885,"commentCount":0,"publisher":{"@id":"https:\/\/yer.ac\/blog\/#\/schema\/person\/4638b9d868c7d3747bd3bb01fbc8153d"},"image":{"@id":"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/#primaryimage"},"thumbnailUrl":"https:\/\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-8.png","keywords":["docker","podcast","podgrab","QNAP"],"articleSection":["Home Networking"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/","url":"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/","name":"Using PodGrab & Docker to backup my favorite podcasts (In this case on a QNAP NAS) - yer.ac | Adventures of a developer, and other things.","isPartOf":{"@id":"https:\/\/yer.ac\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/#primaryimage"},"image":{"@id":"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/#primaryimage"},"thumbnailUrl":"https:\/\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-8.png","datePublished":"2021-04-22T07:42:10+00:00","dateModified":"2021-04-22T07:42:12+00:00","breadcrumb":{"@id":"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/#primaryimage","url":"https:\/\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-8.png","contentUrl":"https:\/\/yer.ac\/blog\/wp-content\/uploads\/2021\/04\/image-8.png"},{"@type":"BreadcrumbList","@id":"https:\/\/yer.ac\/blog\/2021\/04\/22\/using-podgrab-docker-to-backup-my-favorite-podcasts-in-this-case-on-a-qnap-nas\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/yer.ac\/blog\/"},{"@type":"ListItem","position":2,"name":"Using PodGrab &#038; Docker to backup my favorite podcasts (In this case on a QNAP NAS)"}]},{"@type":"WebSite","@id":"https:\/\/yer.ac\/blog\/#website","url":"https:\/\/yer.ac\/blog\/","name":"yer.ac | Adventures of a developer, and other things.","description":"Blog to keep track of things I am upto","publisher":{"@id":"https:\/\/yer.ac\/blog\/#\/schema\/person\/4638b9d868c7d3747bd3bb01fbc8153d"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/yer.ac\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/yer.ac\/blog\/#\/schema\/person\/4638b9d868c7d3747bd3bb01fbc8153d","name":"yer.ac","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/67ed010c9cc7986d40647e061c6dcdb06d818776591c7e954055adb629621113?s=96&d=retro&r=pg","url":"https:\/\/secure.gravatar.com\/avatar\/67ed010c9cc7986d40647e061c6dcdb06d818776591c7e954055adb629621113?s=96&d=retro&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/67ed010c9cc7986d40647e061c6dcdb06d818776591c7e954055adb629621113?s=96&d=retro&r=pg","caption":"yer.ac"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/67ed010c9cc7986d40647e061c6dcdb06d818776591c7e954055adb629621113?s=96&d=retro&r=pg"}}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paP5IW-7T","jetpack-related-posts":[{"id":351,"url":"https:\/\/yer.ac\/blog\/2020\/01\/06\/using-docker-containers-for-easy-local-wordpress-development%f0%9f%90%b3\/","url_meta":{"origin":489,"position":0},"title":"Using Docker Containers for easy local WordPress development\ud83d\udc33","author":"yer.ac","date":"January 6, 2020","format":false,"excerpt":"Creating WordPress development environment using Docker containers.","rel":"","context":"In &quot;Development&quot;","block_context":{"text":"Development","link":"https:\/\/yer.ac\/blog\/category\/development\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2020\/01\/image-1.png?fit=648%2C465&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2020\/01\/image-1.png?fit=648%2C465&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2020\/01\/image-1.png?fit=648%2C465&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":514,"url":"https:\/\/yer.ac\/blog\/2021\/10\/06\/fixing-hostfxr-dll-could-not-be-found-within-windows-docker-container-net-installed-from-dotnet-install-ps1\/","url_meta":{"origin":489,"position":1},"title":"Fixing &#8220;hostfxr.dll could not be found&#8221; within Windows Docker container (.NET installed from dotnet-install.ps1)","author":"yer.ac","date":"October 6, 2021","format":false,"excerpt":"This is here mostly for my own reference for next time I need to fix this, but may be useful to someone else. Installing .NET (5, Core, etc.) via the Microsoft Supplied \"dotnet-install.ps1\"(https:\/\/docs.microsoft.com\/en-us\/dotnet\/core\/tools\/dotnet-install-script) installs the frameworks fine, but then running .net core code within that windows container would sometimes yield\u2026","rel":"","context":"In &quot;Docker&quot;","block_context":{"text":"Docker","link":"https:\/\/yer.ac\/blog\/category\/devops\/docker\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/10\/image.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/10\/image.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2021\/10\/image.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":576,"url":"https:\/\/yer.ac\/blog\/2025\/08\/18\/vibing-in-kiro-to-create-a-self-serve-portainer-wrapper\/","url_meta":{"origin":489,"position":2},"title":"Vibing in Kiro to create a self-serve Portainer wrapper.","author":"yer.ac","date":"August 18, 2025","format":false,"excerpt":"On a Friday afternoon with half an hour to spare, I tested Kiro, Amazon\u2019s new agentic IDE, against a real-world problem: giving my team a simple way to start and stop Docker services in Portainer. With nothing more than a rough prompt, a PowerShell script, and a few \u201cTrust command\u201d\u2026","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/yer.ac\/blog\/category\/development\/ai\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2025\/08\/Untitled-1.png?fit=1200%2C649&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2025\/08\/Untitled-1.png?fit=1200%2C649&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2025\/08\/Untitled-1.png?fit=1200%2C649&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2025\/08\/Untitled-1.png?fit=1200%2C649&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2025\/08\/Untitled-1.png?fit=1200%2C649&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":151,"url":"https:\/\/yer.ac\/blog\/2019\/05\/29\/remote-nlog-logging-with-azure-functions-part-two-persisting-data-into-azure-cosmos-db\/","url_meta":{"origin":489,"position":3},"title":"Remote NLOG logging with Azure Functions (Part two) &#8211; Persisting data into Azure Cosmos DB.","author":"yer.ac","date":"May 29, 2019","format":false,"excerpt":"Last time, I got a very basic C# Azure Function hooked up to accept a request from an NLOG web service target. This time, I will be attempting to persist(insert) the incoming log information into an Azure Cosmos database container, direct from my Azure Function in VS Code. Disclaimer: This\u2026","rel":"","context":"In &quot;Azure&quot;","block_context":{"text":"Azure","link":"https:\/\/yer.ac\/blog\/category\/development\/azure\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/05\/image-12.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/05\/image-12.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/05\/image-12.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/05\/image-12.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/05\/image-12.png?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":181,"url":"https:\/\/yer.ac\/blog\/2019\/06\/21\/using-time-tracking-software-to-your-advantage\/","url_meta":{"origin":489,"position":4},"title":"Using time tracking software to your advantage.","author":"yer.ac","date":"June 21, 2019","format":false,"excerpt":"Ugh, Time tracking! People often convulse when hearing \"Time tracking\" in a work context. Although some companies use this to ensure their pesky workers aren't having any downtime and are constantly little cash cows, I believe it can be used for good and more importantly boost your own productivity. Why\u2026","rel":"","context":"In &quot;Productivity&quot;","block_context":{"text":"Productivity","link":"https:\/\/yer.ac\/blog\/category\/productivity\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/image.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/image.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/image.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/06\/image.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":337,"url":"https:\/\/yer.ac\/blog\/2019\/11\/20\/identifying-nuget-package-references-which-are-using-relative-paths-across-whole-solution\/","url_meta":{"origin":489,"position":5},"title":"Identifying Nuget package references which are using relative paths across whole solution","author":"yer.ac","date":"November 20, 2019","format":false,"excerpt":"Keeping up with a recent binge upgrading projects, including upgrading all my projects in a solution to 4.8, I have been upgrading nuget packages. Whilst this is a relatively simple task, what irks me is that when you add or upgrade a nuget package in Visual Studio, it will often\u2026","rel":"","context":"In &quot;Development&quot;","block_context":{"text":"Development","link":"https:\/\/yer.ac\/blog\/category\/development\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/yer.ac\/blog\/wp-content\/uploads\/2019\/11\/image-2.png?fit=376%2C382&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/yer.ac\/blog\/wp-json\/wp\/v2\/posts\/489","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yer.ac\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yer.ac\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yer.ac\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yer.ac\/blog\/wp-json\/wp\/v2\/comments?post=489"}],"version-history":[{"count":4,"href":"https:\/\/yer.ac\/blog\/wp-json\/wp\/v2\/posts\/489\/revisions"}],"predecessor-version":[{"id":504,"href":"https:\/\/yer.ac\/blog\/wp-json\/wp\/v2\/posts\/489\/revisions\/504"}],"wp:attachment":[{"href":"https:\/\/yer.ac\/blog\/wp-json\/wp\/v2\/media?parent=489"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yer.ac\/blog\/wp-json\/wp\/v2\/categories?post=489"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yer.ac\/blog\/wp-json\/wp\/v2\/tags?post=489"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}