<p>This is a bonus Linux Prepper podcast, available as a detailed companion to “<a href="https://podcast.james.network/@linuxprepper/episodes/a-great-year-for-linux">A Great Year for Linux</a>”. This is a discussion with HB, <a href="https://lemmy.world/post/36414259">stemming from this post on Lemmy learning from admins who avoid container technology</a>. We discuss our experiences with containers, who they are for, and the contexts in which we find them useful. If you are self-hosting, and are container curious, this one is for you!</p>
<p>(00:00)</p>
<p>Welcome to <a href="podcast.james.network">Linux Prepper Podcast</a></p>
<p>(00:19)</p>
<p>Bonus episode connected to <a href="https://podcast.james.network/@linuxprepper/episodes/a-great-year-for-linux">Season 1 Episode 1: A Great Year for Linux</a>. Time to get technical!</p>
<p>(01:29)</p>
<p>This discussion will not cover <a href="https://linuxhandbook.com/linux-file-permissions/">Permissions</a>, File Systems, or Backups.</p>
<p>(02:32)</p>
<p><a href="https://lemmy.world/post/36414259">Lemmy Discussion - What is keeping people away from Containers</a></p>
<p>(02:47)</p>
<p>Ameridroid Sponsor: LINUXPREPPER code</p>
<p>(03:16)</p>
<p>What are Containers for?</p>
<p>(04:05)</p>
<p>HB describes making a text adventure game (in Docker)</p>
<p>(04:42)</p>
<p><a href="https://archive.org/details/mag-pi-118_202309">MagPi Magazine</a></p>
<p>(05:09)</p>
<p><a href="https://github.com/tsl0922/ttyd">TTYD: Share your Terminal on the Web</a></p>
<p>(06:12)</p>
<p>Why containerize TTYD?</p>
<p>(07:05)</p>
<p>Managing multiple iterations through containers</p>
<p>(07:47)</p>
<p>Use of containers, as opposed to Python virtual environments</p>
<p>(08:53)</p>
<p>When does it make sense for someone to consider containers?</p>
<p>(10:30)</p>
<p><a href="https://docs.docker.com/reference/cli/docker/container/run/">Docker run commands</a>. similar to bash scripting</p>
<p>(12:30)</p>
<p><a href="https://docs.docker.com/compose/">Compose Files</a>, migrating from docker run commands</p>
<p>(13:03)</p>
<p><a href="https://github.com/portainer/portainer">Portainer</a> - WebUI Management for Docker services (HB)</p>
<p>(13:16)</p>
<p><a href="https://docs.docker.com/reference/cli/docker/container/ls/">docker ps</a> - Management from the terminal (James)</p>
<p>(13:34)</p>
<p>James using Docker to test for NextcloudPi and write documentation</p>
<p>(14:41)</p>
<p>Using containers in order to define your own image</p>
<p>(15:50)</p>
<p>Running a fleet of AI services through Compose: “Ultimate Bacon Cheeseburger”</p>
<p>(17:17)</p>
<p>James migrating to Compose files to manage variables across many services</p>
<p>(18:54)</p>
<p><a href="https://www.composerize.com/">Composerize</a> - Turn run commands into compose files</p>
<p>(18:58)</p>
<p>Storing compose files to avoid confusion</p>
<p>(20:21)</p>
<p><a href="https://www.noisebridge.net/wiki/Unicorn">Noisebridge Unicorn</a> services run via compose files on a VPS</p>
<p>(26:34)</p>
<p><a href="https://docs.docker.com/engine/network/">Docker Networks</a> - connecting services internally, even to a reverse proxy</p>
<p>(27:46)</p>
<p><a href="https://github.com/aria2/aria2">Aria Download Protocol</a></p>
<p>(28:04)</p>
<p>HB describes using multiple, simulateous networks in isolation</p>
<p>(30:00)</p>
<p>James describes complexity of modular tools like Nextcloud</p>
<p>(31:37)</p>
<p>Testing Locally</p>
<p>(32:30)</p>
<p><a href="https://www.bleepingcomputer.com/news/security/over-10-000-docker-hub-images-found-leaking-credentials-auth-keys/">People leaking their private credentials in their Docker images on the web</a></p>
<p>(33:09)</p>
<p><a href="https://docs.docker.com/engine/swarm/secrets/">Docker Secrets</a></p>
<p>(33:42)</p>
<p><a href="https://docs.docker.com/compose/how-tos/environment-variables/set-environment-variables/">HB suggests storing environment variables as files</a></p>
<p>(34:52)</p>
<p><a href="https://docs.github.com/en/get-started/git-basics/ignoring-files">Understanding git.ignore files for people hosting files on public repos</a></p>
<p>(35:32)</p>
<p>Using public sharing to learn, share and problem solve</p>
<p>(36:31)</p>
<p><a href="https://lemmy.world/post/36414259">Lemmy comments of those opting out of containers</a></p>
<p>(38:03)</p>
<p>There is nothing wrong with running services directly, aka “bare metal”</p>
<p>(43:20)</p>
<p><a href="https://github.com/hungry-bogart">HB’s Github</a></p>
<footer><h2>Ways to Support the Show!</h2>
<ul>
<li>Share it with others!</li>
<li><a href="https://ko-fi.com/livingcartoon/tiers">Enroll in Linux Prepper Premium</a> as a Patron of Living Cartoon Company to support the show! Gets you access to more content.</li>
<li>Join <a href="https://matrix.to/#/#linuxprepper:matrix.org">#linuxprepper:matrix.org</a> chat on Matrix!</li>
<li><a href="https://podcast.james.network/@linuxprepper/follow">Follow from the Fediverse: Mastodon, etc.</a>
<ul>
<li>@<a href="mailto:
[email protected]">
[email protected]</a></li>
<li><a href="https://discuss.online/c/linuxprepperpodcast">Lemmy community</a>, which x-posts across the Fediverse.</li>
</ul>
</li>
<li><a href="https://cloud.disroot.org/apps/forms/s/Lzai4d2A79iNsapnpbGbBGcH">Send in anonymous feedback with one click!</a></li>
<li>See <a href="https://discuss.james.network">more detailed notes and info at the forum</a></li>
</ul>
<p>Email feedback to <a href="mailto:
[email protected]">
[email protected]</a></p>
<p>I do not promise to respond, but I promise to read your words!</p>
</footer>