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

Linux Prepper

Living Cartoon Company

Approaching Docker, Containers, and Compose for curious Self-hosters

JAN 26, 202643 MIN
Linux Prepper

Approaching Docker, Containers, and Compose for curious Self-hosters

JAN 26, 202643 MIN

Description

<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>