{"id":926,"date":"2021-11-22T12:00:00","date_gmt":"2021-11-22T20:00:00","guid":{"rendered":"https:\/\/letsbuildroboticswithshadow8472.com\/?p=926"},"modified":"2021-11-22T02:31:15","modified_gmt":"2021-11-22T10:31:15","slug":"im-learning-vaultwarden-and-podman","status":"publish","type":"post","link":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/2021\/11\/22\/im-learning-vaultwarden-and-podman\/","title":{"rendered":"I&#8217;m Learning Vaultwarden and Podman!"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Good Morning from my Robotics Lab! This is Shadow_8472, and today \u2013with a heap of luck\u2013 I\u2019ll be putting a Bitwarden server on ButtonMash (or getting so close I can&#8217;t help but finish next week). Let\u2019s get started.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Vaultwarden<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I\u2019ve already talked about the importance of password strength before. Longer is better, but a unique password per login is more important in case one gets compromised. But who has the attention span to remembering fifty passwords across every obscure site, app, or game he\u2019s ever interacted with? A good password manager solves this by organizing your passwords so you can easily access them from a client, but anyone without your key can\u2019t.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I started researching for this project by revisiting the first time I switched to using Bitwarden and I decided to self-host a server from a Raspberry Pi [1] following a straightforward tutorial by censiCLICK [2]. My SD card corrupted one day, and I\u2019ve been out a password server ever since, despite efforts to repair it. I\u2019ve been covering my exploration of Rocky Linux, a RHEL family OS, on my ButtonMash server\/workstation, and now I\u2019m ready to start putting it to work.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The tutorial by censiCLICK was well presented. It takes you from Raspberry Pi 3B+ and layers on Raspberry Pi OS, Docker, and finally Bitwarden_RS all while giving basic introductions to skills you\u2019ll need along the way like SSH and security certificates. It is unfortunately out of date. Around six weeks after I started using it, the project leader announced that there was some confusion over trademark[3] so he was renaming it to Vaultwarden\u2026<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Odd\u2026 Looking through my posts shortly after the name change, I was already having issues with my Bitwarden server. It could still have been card corruption or me trying to play with Git. I guess I\u2019ll never know\u2026<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2026In any case, ButtonMash is ready for the next step.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Docker or Something Else?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Docker is a technology I still haven\u2019t fully visualized. While researching instructions to install it on Red Hat systems, I stumbled across a mention of Podman. Online hosting solution Liquid Web provided a decently clear explanation [4]: containerization essentially makes single-purpose VM\u2019s without the overhead of full operating systems. Docker has a master process that runs Docker containers. Podman runs containers separately, doesn\u2019t require root, but requires a separate piece of software called Buildah to create containers to run and doesn\u2019t have available professional support.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Further research confirms that RHEL now endorses Podman over Docker, so Podman I will use. Even so, I had to install it separately along with a Cockpit plugin to manage it. From there, I made just a few well-researched clicks to download Vaultwarden. The Docker-Podman plugin had a lot of fields I didn\u2019t recognize, so I installed the Docker HelloWorld container to play with. I had to run it from terminal, but it appeared to work. I expect running a Vaultwarden container will be my side project next week.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Side Project<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Last week for my side project, I set up a Wi-Fi gaming router to hopefully reduce downtime on my Wi-Fi catcher Pi. This week, I made the two get along. First, I thought it might be Wi-Fi drivers, so I updated, getting myself into a tedious cycle of incomplete updates failing when the file system flipped to read-only against the background of Wi-Fi dropouts. I had to flip the power switch because the reboot command broke and reconfigure packages to clean things out before continuing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">My real problem was the static IP landing outside the router\u2019s 192.168.X.X range. Attempts to manually change IP kept failing, so I backed up a known good config file on top of the file I actually needed to go back to dynamic IP and spent many hours piecing it back together. In the end, I was finally able to connect.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Takeaway<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">PPolished computer tutorials are great for catapulting students of tech over barriers of entry, but they\u2019re each anchored to a fixed point in time: lessons of the recent past compiled for the near future. As much of an accomplishment making a definitive guide to subject X might be, it will only be but a single focus point for future users to look back on when compiling their own procedures.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Final Question<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Have you ever gone back to old project notes for insights for follow up projects?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Works Cited<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">[1] Shadow_8472, \u201cBitWarden: My New Password Manager,\u201d <em>Let\u2019s Build Robotics With Shadow8472<\/em>, March 15, 2021. [Online]. Available: <a href=\"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/2021\/03\/15\/bitwarden-my-new-password-manager\/\">https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/2021\/03\/15\/bitwarden-my-new-password-manager\/<\/a> [Accessed Nov. 22, 2021].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[2] censiCLICK, \u201cFull Guide to Self-hosting Password Manager Bitwarden on Raspberry Pi,\u201d on <em>YouTube<\/em>,Nov 15, 2020. [Online video]. Available: <a href=\"https:\/\/www.youtube.com\/watch?v=eCJA1F72izc\">https:\/\/www.youtube.com\/watch?v=eCJA1F72izc<\/a> [Accessed Nov. 22, 2021].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[3] d. garcia, \u201c1.21.0 release and project rename to vaultwarden #1642\u201d on<em> GitHub<\/em>, Apr. 19, 2021. [Online forum]. Available: <a href=\"https:\/\/github.com\/dani-garcia\/vaultwarden\/discussions\/1642\">https:\/\/github.com\/dani-garcia\/vaultwarden\/discussions\/1642<\/a> [Accessed Nov. 22, 2021].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[4] Liquid Web, \u201cPodman vs Docker: A Comparison,\u201d<em> Liquid Web<\/em>, Sept. 10, 2021.[Online]. Available: <a href=\"https:\/\/www.liquidweb.com\/kb\/podman-vs-docker\/\">https:\/\/www.liquidweb.com\/kb\/podman-vs-docker\/<\/a> [Accessed Nov. 22, 2021].<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Good Morning from my Robotics Lab! This is Shadow_8472, and today \u2013with a heap of luck\u2013 I\u2019ll be putting a Bitwarden server on ButtonMash (or getting so close I can&#8217;t help but finish next week). Let\u2019s get started. Vaultwarden I\u2019ve already talked about the importance of password strength before. Longer is better, but a unique &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/2021\/11\/22\/im-learning-vaultwarden-and-podman\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;I&#8217;m Learning Vaultwarden and Podman!&#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":[3,2,90],"tags":[],"class_list":["post-926","post","type-post","status-publish","format-standard","hentry","category-computer-maintenance-and-repair","category-linux","category-red-hat-server"],"_links":{"self":[{"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts\/926","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=926"}],"version-history":[{"count":3,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts\/926\/revisions"}],"predecessor-version":[{"id":930,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts\/926\/revisions\/930"}],"wp:attachment":[{"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/media?parent=926"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/categories?post=926"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/tags?post=926"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}