{"id":1400,"date":"2024-07-22T12:00:00","date_gmt":"2024-07-22T19:00:00","guid":{"rendered":"https:\/\/letsbuildroboticswithshadow8472.com\/?p=1400"},"modified":"2024-07-22T02:37:36","modified_gmt":"2024-07-22T09:37:36","slug":"joystick-server-reinstall","status":"publish","type":"post","link":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/2024\/07\/22\/joystick-server-reinstall\/","title":{"rendered":"Joystick Server Reinstall"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Good Morning from my Robotics Lab! This is Shadow8472, and today I am rebuilding Joystick, Button Mash\u2019s twin Rocky Linux server. Let\u2019s get started!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Project Goals<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is a revival of my photo scanning project, first and foremost. I need to get it working, and while I will afford myself some time to experiment with doing it right, it\u2019s more important I get it done. Once I have it working better than Button Mash, I can move my production flag over to Joystick and remodel Button Mash \u201cproperly.\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And by \u201cproperly,\u201d I mean rootless Podman access to a network attached storage. I have explored NFS (Network File System) extensively, but Podman does things with userspace that NFS doesn\u2019t support. I may need to be open to an alternative or using root. SSHFS lays a file system over SSH, but<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I did my usual stuff when installing Linux. I remembered ahead of time that Joystick doesn\u2019t work with Ventoy, so I flashed a USB (Balena Etcher) large enough for the full 10 GB image I downloaded. I did a clean install over its previous Rocky Linux installation. I also adjusted Joystick\u2019s boot order so Rocky 9.4 loads by default. The system is dual booted with Linux Mint, where I did an apt update\/upgrade.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Booted to Rocky, I enabled Cockpit web interface for remote management, a feature I selected for installation with the system. I created a limited user for running Podman, enabled lingering on it, got Cockpit logged into it as a \u201cremote host,\u201d and disabled normal password interactions. I pulled Podman containers for Caddy, Nextcloud, MariaDB, Redis, BusyBox, and Vaultwarden, and gave each a directory with a start.sh and a mountpoint. I excluded Pi-Hole and Unbound from my planned lineup because those functions are now handled by our router and would have required messing with special ports.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Troubleshooting<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">NFS fought me hard though. It didn\u2019t help that Cockpit\u2019s terminal kept glitching out on me. I noticed this behavior on ButtonMash\u2019s Cockpit as well. Rebooting and refreshing didn\u2019t do anything, but I found a control by navigating my browser away and back. I eventually got to thinking about what other parts it might be, and I came up with a bad version of Firefox, or Wayland. I ran Firefox over SSH on a machine still running Xorg server; it was Wayland.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And at this point, my workstation had a record bad meltdown, which ate my remaining blog time. Be sure to read about it next week!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Takeaway<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Projects get interrupted. Something comes up and grand plans wait in the background. I\u2019m tired of server doing just that, but it\u2019s happened again.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Final Question<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">My longest enemy remains: Rootless Podman vs. Network Storage. How do I do it? I look forward to hearing from you 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 Shadow8472, and today I am rebuilding Joystick, Button Mash\u2019s twin Rocky Linux server. Let\u2019s get started! Project Goals This is a revival of my photo scanning project, first and foremost. I need to get it working, and while I will afford myself some time to experiment with &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/2024\/07\/22\/joystick-server-reinstall\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Joystick Server Reinstall&#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":[2,195],"tags":[387,167,54,138,305,306],"class_list":["post-1400","post","type-post","status-publish","format-standard","hentry","category-linux","category-server","tag-cockpit","tag-linux-installation","tag-nfs","tag-podman","tag-rocky-linux","tag-rocky-linux-9"],"_links":{"self":[{"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts\/1400","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=1400"}],"version-history":[{"count":1,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts\/1400\/revisions"}],"predecessor-version":[{"id":1401,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts\/1400\/revisions\/1401"}],"wp:attachment":[{"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/media?parent=1400"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/categories?post=1400"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/tags?post=1400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}