{"id":36881,"date":"2026-10-23T07:26:03","date_gmt":"2026-10-23T14:26:03","guid":{"rendered":"https:\/\/www.podfeet.com\/blog\/?p=36881"},"modified":"2026-10-23T07:26:03","modified_gmt":"2026-10-23T14:26:03","slug":"blip-linux-synology","status":"publish","type":"post","link":"https:\/\/www.podfeet.com\/blog\/2026\/10\/blip-linux-synology\/","title":{"rendered":"Nobody Asked Me to Run Linux on My NAS, and Yet Here We Are"},"content":{"rendered":"<p>You know the phrase, &#8220;Just because you <em>can<\/em> do something, that doesn&#8217;t mean you <em>should<\/em>&#8220;? I think there needs to be another phrase, something like, &#8220;Just because you might be able to do something, you should try.&#8221;<\/p>\n<p>That&#8217;s the way I feel about the nearly two and a half hours I spent over the weekend trying to install an application on Linux in a really difficult environment. Let the record show that I didn&#8217;t <em>need<\/em> to do this. But every step of the way, I really felt that success was right around the corner. I knew that my time could easily have been better spent, but I couldn&#8217;t stop myself from trying even when the level of effort became absurd.<\/p>\n<h2>The Problem to Be Solved<\/h2>\n<p>In a desperate attempt to justify the time I spent, let me see if I can come up with a believable problem to be solved. I&#8217;m working on a ScreenCastsONLINE video tutorial that will include teaching how to use the menu bar app, Blip, from <a href=\"https:\/\/blip.net\">blip.net<\/a>. Blip, as I explained in my article from 2025, <a href=\"https:\/\/www.podfeet.com\/blog\/2025\/02\/blip\/\">Fast Point-to-Point File Transfer with Blip<\/a> is an AirDrop-like application that works across macOS, iOS\/iPadOS, Android, and Windows. I noted in the article that Linux was &#8220;coming soon&#8221;, which is normally French for &#8220;Don&#8217;t hold your breath.&#8221;<\/p>\n<p>And yet, when I started working on a script for my tutorial, I discovered that Blip is now available on Linux! Even though the ScreenCastsONLINE audience is primarily Apple-biased, I knew that if I could demonstrate how even Linux gets to play, it would cement the concept that Blip is truly cross-platform.<\/p>\n<p>I put out the call for help in the Podfeet Slack <a href=\"https:\/\/podfeet.com\/slack\">podfeet.com\/slack<\/a> in hopes of finding someone running Linux who could help me demonstrate the experience. The awesome and delightful Eddie Tonkoi said he&#8217;d be glad to help. The only problem is that we are 14 time zones apart, so creating a video of both sides at the same time would be impossible.<\/p>\n<p>Eddie did end up making the final video for the tutorial by recording on his end, but let&#8217;s not muddy up the story with the relatively simple solution, shall we?<\/p>\n<h2>Linux on Synology<\/h2>\n<p>The story starts at 1:45 PM where I had a few hours to myself during naptime of the grandchild I was managing in Texas.<\/p>\n<p>I don&#8217;t have a Linux box, nor do I have an old machine that could be repurposed for the task. What I do have is a Synology at home. I can see the Synology desktop from a web browser like Safari on my Mac due to the magic of Tailscale. So we have a Mac using Tailscale to open a web browser to view the Synology.<\/p>\n<p>On a Synology, you can create Docker containers. I won&#8217;t go into the full, technical explanation of Docker containers, but it&#8217;s ok to think of them as being sort of like virtual machines with significant benefits.<\/p>\n<p>If you want to understand how they&#8217;re different and why they&#8217;re cooler, I highly recommend you take a read and\/or listen to <a href=\"https:\/\/pbs.bartificer.net\/tidbit17\">Helma van der Linden explain the advantages of Docker containers in Programming By Stealth Tidbit 17<\/a>. For this exercise, you only need to know that Docker containers can provide a full operating system, such as Linux.<\/p>\n<p>Ok, my goal is then to have a Mac running Safari viewing the desktop of a Synology over Tailscale running a Docker container running Linux.  The final step would be to install Blip.<\/p>\n<p>To summarize again, I want Blip running on Linux running in a container running on a Synology being viewed in Safari via Tailscale on macOS. Should be simple, right?<\/p>\n<figure style=\"float: center; margin: 10px\"><img decoding=\"async\" src=\"https:\/\/www.podfeet.com\/blog\/wp-content\/uploads\/2026\/10\/Diagram-Blip-on-Linux-Synology.png\" alt=\"iagram of embedded boxes graphically showing what I just described in text\"  title=\"Diagram Blip on Linux Synology.png\" width=\"600 \" height=\"646\"><figcaption style=\"text-align:center\">Looks Easy, Right?<\/figcaption><\/figure>\n<h2>Installing a Linux Container on Synology<\/h2>\n<p>I know my way around the Container Manager app on Synology&#8217;s DiskStation Manager (DSM), so I knew where to start. If you&#8217;re a super geek like Helma (or learned from Helma), you know how to build your own Docker containers. But if you&#8217;re a bit less nerdy, you can use the Registry tab to look for pre-built images, which will then build the Docker container.<\/p>\n<figure style=\"float: center; margin: 10px\"><img decoding=\"async\" src=\"https:\/\/www.podfeet.com\/blog\/wp-content\/uploads\/2026\/10\/Container-Manager-in-Synology-DSM-showing-registry-and-linuxserver-webtop-selected.png\" alt=\"Container Manager in Synology DSM showing registry and linuxserver-webtop selected.\"  title=\"Container Manager in Synology DSM showing registry and linuxserver-webtop selected.png\" width=\"799 \" height=\"415\"><figcaption style=\"text-align:center\">Container Manager in Synology Disk Station Manager<\/figcaption><\/figure>\n<p>I asked my able assistant, Siri AI, for a recommendation of a &#8220;nice and light&#8221; version of Linux, and it suggested Alpine Linux. I succeeded with the installation inside the Docker container, but when they say &#8220;light&#8221;, they mean really light. Remember how we used to joke about how Spirit Airlines kept the prices low because you have to pay extra for a seat? Alpine is like that.<\/p>\n<figure style=\"float: center; margin: 10px\"><img decoding=\"async\" src=\"https:\/\/www.podfeet.com\/blog\/wp-content\/uploads\/2026\/10\/Alpine-Linux-on-the-Synology.png\" alt=\"Alpine Linux on the Synology. a little mouse running across the screen and three minuscule icons in the upper left and unreadably small text in the upper right\"  title=\"Alpine Linux on the Synology.png\" width=\"799 \" height=\"481\"><figcaption style=\"text-align:center\">Alpine Linux is Definitely Light<\/figcaption><\/figure>\n<p>There wasn&#8217;t even an applications folder! I finally discovered that by right-clicking on the desktop, I could launch Terminal, but that was it. Time to abandon <em>that<\/em> whole path!<\/p>\n<p>I downloaded the image again for linuxserver\/webtop, and this time asked for a version of Ubuntu. That sounded pretty mainstream.<\/p>\n<p>But get this. In the middle of following Siri AI&#8217;s instructions on how to install the Ubuntu container on my Synology, Siri AI <em>ended the conversation<\/em>!  Say what??? You don&#8217;t get to just <em>leave<\/em>. Were you bored? Had more fun things to do? Where did you <em>go<\/em>?<\/p>\n<p>With Claude, you can ask it to absorb a previous conversation, but Siri AI said, &#8220;Naw, no can do, man.&#8221;  I may have said a non-Girlscout-safe word.<\/p>\n<p>I gave it some context in a new conversation, and it successfully helped me install Ubuntu. When I went to the URL of my Synology on my Tailscale with the correct port, I was greeted with a very pretty desktop <em>and<\/em> an actual applications folder. I found what it called &#8220;Web browser&#8221; with no branding, but I saw it defaulted to DuckDuckGo for searching, so I knew I was in a happy place.<\/p>\n<figure style=\"float: center; margin: 10px\"><img decoding=\"async\" src=\"https:\/\/www.podfeet.com\/blog\/wp-content\/uploads\/2026\/10\/Ubuntu-Linux-on-the-Synology.png\" alt=\"Ubuntu Linux on the Synology with a browser open with the DuckDuckGo logo\"  title=\"Ubuntu Linux on the Synology.png\" width=\"799 \" height=\"457\"><figcaption style=\"text-align:center\">Ubuntu for the Win<\/figcaption><\/figure>\n<p>At this point, I sent a note to the <a href=\"https:\/\/podfeet.com\/slack\">Podfeet community in our Slack<\/a> saying, &#8220;I HAVE MADE FIRE!&#8221;  Now all I had to do was install Blip by going to <a href=\"https:\/\/blip.net\">blip.net<\/a>. Easy peasy, right?<\/p>\n<h2>Seventh Circle of Hell<\/h2>\n<p>At blip.net, if you select Linux as your operating system, you see two shiny buttons to run the installer from a GUI: &#8220;Get it on Flathub&#8221; and &#8220;Get it from the Snap Store&#8221;.  Below that are three tabs: Arch, Nix, and Other. <\/p>\n<figure style=\"float: center; margin: 10px\"><img decoding=\"async\" src=\"https:\/\/www.podfeet.com\/blog\/wp-content\/uploads\/2026\/10\/Install-options-for-Blip-on-Linux.png\" alt=\"Install options for Blip on Linux as I just described\"  title=\"Install options for Blip on Linux.png\" width=\"799 \" height=\"730\"><figcaption style=\"text-align:center\">Install Options for Blip on Linux<\/figcaption><\/figure>\n<p>I asked Siri AI to explain the options. I learned that Flathub is a community-driven store that is the preferred choice for non-Ubuntu distros. Snap Store is developed by Canonical (the company behind Ubuntu). That Snap Store option sounds dandy.<\/p>\n<p>But dandy it was not.  When I tried to install Blip from the Snap Store, I was greeted by an alert that said, &#8220;The specified location is not supported. snap:\/\/blip&#8221; with no options but to close.  How rude!<\/p>\n<figure style=\"float: center; margin: 10px\"><img decoding=\"async\" src=\"https:\/\/www.podfeet.com\/blog\/wp-content\/uploads\/2026\/10\/Failed-Snap-Store-installation-of-Blip.png\" alt=\"Failed Snap Store installation of Blip.\"  title=\"Failed Snap Store installation of Blip.png\" width=\"694 \" height=\"338\"><figcaption style=\"text-align:center\">Fail Store!<\/figcaption><\/figure>\n<p>Siri AI suggested I try installing Blip from the Snap Store, but this time from the command line.  It gave me the very easy command: <code>snap install blip<\/code>. But this threw an error: &#8220;snap: command not found&#8221;. Silly goose, everyone knows that you have to install snapd with <code>apt install snapd<\/code> first. Now, can I install Blip with the snap command? Nope. Long, gloppy error telling me it can&#8217;t be done.<\/p>\n<blockquote><p>\n  error: cannot communicate with server: Post &#8220;http:\/\/localhost\/v2\/snaps\/blip&#8221;: dial unix \/run\/snapd.socket: connect: no such file or directory\n<\/p><\/blockquote>\n<p>At this point, Siri AI confessed that installing from the Snap Store will never succeed because I&#8217;m working in a containerized environment. As my friend Pat Dengler likes to say, &#8220;Le sigh.&#8221;<\/p>\n<p>But remember those three tabs I mentioned: Arch, Nix, and Other?  Each of those has a command line method of installation for different Linux distros. Evidently, Ubuntu is considered &#8220;Other&#8221;. In that tab was a relatively familiar <code>curl<\/code> command to fetch and run a shell script to install Blip.<\/p>\n<p><code>curl -fsSL https:\/\/static.blip.net\/linux\/install.sh | bash<\/code><\/p>\n<p>That threw an error, &#8220;Function not implemented&#8221;, which Siri AI told me was an error during the tar extraction (like opening a zip file). Guess what? It&#8217;s not supported by the underlying file system in my container.  Cool cool.<\/p>\n<p>At this point, would you have stopped and given up?  Absolutely, and I would have supported your decision. But I still had that Flathub button I could try for the installation, so I soldiered on.<\/p>\n<p>I was not to be rewarded for my tenacity. Clicking the Flathub button returned:<\/p>\n<p><code>flatpak remote-add  command not found<\/code>.<\/p>\n<p>Eventually Claude explained that this is a &#8220;known issue when trying to run modern sandboxed applications (like Flatpaks) inside older or incompatible container environments.&#8221; Now where have I heard that before?<\/p>\n<h3>Sidebar to talk about Selkies Clipboard Manager<\/h3>\n<p>I&#8217;m going to take an interlude from the main plot to explain something really interesting about this installation of Ubuntu. Remember that I&#8217;m working almost entirely on the advice of an AI, which means I need to copy and paste error messages and new commands back and forth between macOS and Ubuntu. Any hopes of doing \u2318C and \u2318V between them were quickly dashed.<\/p>\n<p>Siri AI told me to look for a short, vertical red line on the left edge of the screen. This opened a set of options in a vertical column with the name Selkies at the top. The helpful section was entitled Clipboard.<\/p>\n<p>This little window would accept a paste using the standard \u2318V from the Mac side. Once I pasted a command in there, I could use \u2303\u21e7V to paste into the Terminal in Ubuntu. To copy and paste in the other direction, I had to use \u2303\u21e7C in Ubuntu, \u2303\u21e7V to paste into the clipboard manager, and then \u2318V on the Mac.<\/p>\n<p>It was certainly clumsy and very easy to get your brain broken remembering which OS I was talking to, but it was easier and less error-prone than typing in arcane commands.<\/p>\n<figure style=\"float: center; margin: 10px\"><img decoding=\"async\" src=\"https:\/\/www.podfeet.com\/blog\/wp-content\/uploads\/2026\/10\/clipboard-manager-into-Ubuntu-with-Selkies.png\" alt=\"Clipboard manager into Ubuntu with Selkies. It&#39;s very tall iwth lots of sections and the Clipboard section is open showing a pasted command\"  title=\"clipboard manager into Ubuntu with Selkies.png\" width=\"272 \" height=\"800\"><figcaption style=\"text-align:center\">Selkies Clipboard Manager<\/figcaption><\/figure>\n<p>I don&#8217;t actually know what Selkies <em>is<\/em>, but I know it gives me a clipboard manager so that&#8217;s cool.<\/p>\n<h2>Back on Topic<\/h2>\n<p>Ok, where were we? Snap Store didn&#8217;t work, Flatpak didn&#8217;t work, Curl didn&#8217;t work &#8230; and then Siri ended the conversation <em>again<\/em>.<\/p>\n<figure style=\"float: center; margin: 10px\"><img decoding=\"async\" src=\"https:\/\/www.podfeet.com\/blog\/wp-content\/uploads\/2026\/10\/Siri-ends-the-conversation.png\" alt=\"screenshot showing a discussion in siri that says that Siri ended the conversation.\"  title=\"Siri ends the conversation.png\" width=\"799 \" height=\"439\"><figcaption style=\"text-align:center\">Siri Took Her Ball and Went Home<\/figcaption><\/figure>\n<p>Siri AI does a great job &#8230; until it doesn&#8217;t.<\/p>\n<p>I started this whole exercise at 1:45 PM. Other than taking a 15-minute break to watch my grandson practice hitting a baseball off of a T he got for his birthday, I&#8217;d been working on this pretty much non-stop.<\/p>\n<p>It was 4:04 PM when I switched to Claude. I gave it some context, and it wanted to try all of the same paths I&#8217;d tried before.  But it did have one idea. It explained that the errors I was running into could be eliminated if I just flipped a little switch for the container: &#8220;Execute container using high privilege&#8221;.<\/p>\n<p>This is where I used my one superpower dealing with AI. When it tells you to do something you don&#8217;t understand, ask it what could go wrong, or if it&#8217;s dangerous.<\/p>\n<p>When it suggested I give the container high privilege, I said, &#8220;That sounds like I&#8217;d be circumventing a safety measure&#8221;. Claude answered:<\/p>\n<blockquote><p>\n  You\u2019re right. Privileged mode gives the container broad access to the NAS, so I wouldn\u2019t use it for this. Skip that.\n<\/p><\/blockquote>\n<p>Sheesh.<\/p>\n<p>But then it finally came up with an answer. Remember I had used the <code>curl<\/code> command to download a tarball, but it wouldn&#8217;t unzip?  Claude said,<\/p>\n<blockquote><p>\n  GNU tar is the likely culprit, since it uses newer syscalls your container blocks. Python\u2019s tarfile uses older, plainer calls.\n<\/p><\/blockquote>\n<p>And then gave me the command to open the tarball and extract all.<\/p>\n<p><code>mkdir -p \/config\/blip-py &amp;&amp; python3 -c \"import tarfile; tarfile.open('\/config\/Desktop\/blip-1.2.6-linux-amd64.tar.gz').extractall('\/config\/blip-py')\" &amp;&amp; ls \/config\/blip-py\/blip-1.2.6\/bin<\/code><\/p>\n<p>When that command did <em>not<\/em> throw an error, it said to launch Blip with the command:<\/p>\n<p><code>\/config\/blip-py\/blip-1.2.6\/bin\/blip<\/code><\/p>\n<p>AND IT WORKED! I did a happy dance, for sure. I asked it to write me an alias so I could just use the command <code>blip<\/code> instead of all that glop.<\/p>\n<p>Technically, my shiny new Blip works, but it&#8217;s not exactly elegant. First of all, I&#8217;m launching it from the command line, and it also glops incomprehensible text all over the terminal before launching. I did enjoy that it wrote BLIP in ASCII text for me in the middle of all that glop.<\/p>\n<figure style=\"float: center; margin: 10px\"><img decoding=\"async\" src=\"https:\/\/www.podfeet.com\/blog\/wp-content\/uploads\/2026\/10\/blip-running-in-terminal.png\" alt=\"Blip running in terminal. Lots of text but BLIP written in ASCII\"  title=\"blip running in terminal.png\" width=\"799 \" height=\"750\"><figcaption style=\"text-align:center\">Blip Launching in Ubuntu<\/figcaption><\/figure>\n<p>After that, I was rewarded with the Blip GUI, where I was able to send a file from Linux on the Synology over to my MacBook Air.<\/p>\n<figure style=\"float: center; margin: 10px\"><img decoding=\"async\" src=\"https:\/\/www.podfeet.com\/blog\/wp-content\/uploads\/2026\/10\/Success-Blipped-from-Linux-to-macOS-blurred.png\" alt=\"Standard Blip window showing a sent file inside the browsr version of Linux with an overlay of the successfully accepted file on the Mac side\"  title=\"Success Blipped from Linux to macOS blurred.png\" width=\"800 \" height=\"520\"><figcaption style=\"text-align:center\">Success!<\/figcaption><\/figure>\n<p>The time was 4:17 PM.  Subtracting out the T-ball practice, that&#8217;s two hours and fifteen minutes from concept to success. For something entirely unnecessary. But boy, was I proud of myself.<\/p>\n<h2>Epilogue<\/h2>\n<p>After we returned home, while drinking my morning coffee, I was noodling how nerdy this whole path was, and wondered if there wasn&#8217;t a container that was more like &#8220;real&#8221; Ubuntu, not this linuxserver\/webtop thingy. It&#8217;s really pretty janky with tiny icons and itty-bitty close buttons on the windows and all this command line glop. I asked Claude whether there was an easier way.<\/p>\n<p>It suggested I just use a Virtual Machine, not a Docker container! Synology has an app called Virtual Machine Manager, and in about 15 minutes I had a much cleaner, &#8220;real&#8221; version of Ubuntu running on my Synology. And most importantly, it had something called App Center, which accesses the Snap Store, and it had a one-click install of Blip!<\/p>\n<figure style=\"float: center; margin: 10px\"><img decoding=\"async\" src=\"https:\/\/www.podfeet.com\/blog\/wp-content\/uploads\/2026\/10\/Ubuntu-in-a-VM-on-Synology-with-App-Center-finding-Blip.png\" alt=\"Ubuntu in a VM on Synology with App Center finding Blip.\"  title=\"Ubuntu in a VM on Synology with App Center finding Blip.png\" width=\"799 \" height=\"601\"><figcaption style=\"text-align:center\">Real Ubuntu<\/figcaption><\/figure>\n<p>I mentioned to Toma\u017e, the developer of Blip, what I had attempted to do and he told me they&#8217;re working on creating a pre-built container for Blip just for NAS devices. Isn&#8217;t that amazing?<\/p>\n<h2>Bottom Line<\/h2>\n<p>I don&#8217;t regret the adventure at all, because I had a lot of fun. Did I need to do any of this? Nope. Would I do something like it again in the future? Absolutely, I would.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>You know the phrase, &#8220;Just because you can do something, that doesn&#8217;t mean you should&#8220;? I think there needs to be another phrase, something like, &#8220;Just because you might be able to do something, you should try.&#8221; That&#8217;s the way I feel about the nearly two and a half hours I spent over the weekend [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":36889,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[147],"tags":[8447,8445,2653,8446,2041,8448,2662],"class_list":["post-36881","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-posts","tag-alpine-linux","tag-blip","tag-containers","tag-docker-container","tag-ubuntu","tag-ubuntu-linux","tag-virtual-machine"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/www.podfeet.com\/blog\/wp-content\/uploads\/2026\/10\/BLIP-ASCII-1040x520-1.png","_links":{"self":[{"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/posts\/36881","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/comments?post=36881"}],"version-history":[{"count":2,"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/posts\/36881\/revisions"}],"predecessor-version":[{"id":36888,"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/posts\/36881\/revisions\/36888"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/media\/36889"}],"wp:attachment":[{"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/media?parent=36881"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/categories?post=36881"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.podfeet.com\/blog\/wp-json\/wp\/v2\/tags?post=36881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}