{"id":1184,"date":"2023-03-06T12:00:00","date_gmt":"2023-03-06T20:00:00","guid":{"rendered":"https:\/\/letsbuildroboticswithshadow8472.com\/?p=1184"},"modified":"2023-03-06T10:55:04","modified_gmt":"2023-03-06T18:55:04","slug":"i-studied-podman-volumes","status":"publish","type":"post","link":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/2023\/03\/06\/i-studied-podman-volumes\/","title":{"rendered":"I Studied Podman Volumes"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Good Morning from my Robotics Lab! This is Shadow_8472 with a side project of the week. Let\u2019s get started!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nextcloud has been a wish list item since I gave up using Google\u2019s ecosystem (Drive, Calendar, Office, etc.). This open source almost-drag-and-drop alternative proved above my skill level at first, but I\u2019ve learned a lot about server management and running OCI \u201cDocker\u201d containers in Podman in the years since.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Demo of Nextcloud<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nextcloud was relatively simple to demo: one non-privileged port forwarded. During my self-guided tour, I was amazed at the potential power there. In addition to its calendar, office, and file storage functions I expected, its recommended suite apps include email, chat, and contacts servers \u2013 with more apps available for download.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As much as I can see myself moving in right now, it\u2019s important that I master how its persistent data is stored. Ideally, everything would live on GoldenOakLibry, my home network storage configured with RAID 5. But I hate waiting for HDD spin-up. If it had an SSD out the back (it has two USB ports), I could mount a directory there from a Nextcloud container and back it up to deep storage on a weekly or monthly basis. At the same time, I may want the capacity of the main disks if Nextcloud turns out to be good for hosting the family\u2019s photo archive.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The solution: use two \u201cvolume\u201d structures like I started looking at last week. They work similarly to directly mounting directories as I\u2019ve been doing in theory, but are abstracted similar to containers. See my Tangent heading later on for more information.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<p class=\"wp-block-paragraph\">With this purpose in mind, we ordered a USB\u2013SATA adapter and dug up our MineOS SSD from once upon a time. I archived around 411 GB worth of Minecraft worlds to free up space. I got the poor idea to try compressing it to both .tar.gz and .zip, two widely used compression formats which turn out to be implementations of the same algorithm. GoldenOakLibry had ZIP, but not TAR, so I tarballed\/compressed it to 393.5 GB over an hour vs the NAS struggled to produce a 393.77 GB .zip over a full day. With a savings that small, I\u2019m probably best off curating it uncompressed \u2013 especially if I have family members interested in seeing it again.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<p class=\"wp-block-paragraph\">RAID 5: A hard drive redundancy scheme resistant to a single drive failure. In my case: four matching disks with three drives\u2019 worth of usable space.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">TAR: Tape ARchive: An early archive tool often paired with the GNU Zip compression program.<\/p>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">To Do List<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Regretfully, I have to split this topic just as it\u2019s getting good. I was running a test to see if GoldenOakLibry can respond on the USB share without spinning up, but creating new network shares is not a skill I can perform reliably yet. I had it working once, rebooted, and now it won\u2019t re-connect like the proven ones. If for whatever reason I can\u2019t get GoldenOakLibry to share from MineOS\u2019s SSD without spinning up, I\u2019ll have to mount it internally to ButtonMash and play the BIOS game to disable booting to it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Even if I was making good enough time with the USB share, I\u2019d still need to study up on databases. The lightweight one included with the Nextcloud container I\u2019m working with is meant for browser traffic only, and I want to try out its clients.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tangent<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I started with the working theory that volumes needed to be started and stopped like containers, and I would therefore need one of Podman\u2019s signature pods to manage them alongside Nextcloud\u2019s. It\u2019s basically a container for organizing and running containers on a homelab scale. I rigged up a script to automate my attempts with it, but eventually realized that volumes are passive, and I had just learned the wrong tool for the job. I\u2019m sure I\u2019ll make use of it eventually.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Final Question<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I\u2019d like to open up the discussion. Two big choices remain: Where do I host my fast Nextcloud SSD (GoldenOakLibry or ButtonMash), and how do I host my archive pictures (Nextcloud, Mediawiki, something else)?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I look forward hearing your answers in the comments below or on my <a href=\"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/discord-invite\/\" target=\"_blank\" rel=\"noreferrer noopener\">Socials<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Good Morning from my Robotics Lab! This is Shadow_8472 with a side project of the week. Let\u2019s get started! Nextcloud has been a wish list item since I gave up using Google\u2019s ecosystem (Drive, Calendar, Office, etc.). This open source almost-drag-and-drop alternative proved above my skill level at first, but I\u2019ve learned a lot about &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/2023\/03\/06\/i-studied-podman-volumes\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;I Studied Podman Volumes&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[90],"tags":[211,138,210],"class_list":["post-1184","post","type-post","status-publish","format-standard","hentry","category-red-hat-server","tag-nextcloud","tag-podman","tag-volumes"],"_links":{"self":[{"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts\/1184","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/comments?post=1184"}],"version-history":[{"count":1,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts\/1184\/revisions"}],"predecessor-version":[{"id":1185,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts\/1184\/revisions\/1185"}],"wp:attachment":[{"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/media?parent=1184"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/categories?post=1184"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/tags?post=1184"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}