Oddbean new post about | logout
 what problems did you have with docker? 
 I think it just didn't fit my mental model of an application environment. I was used to virtual machines. Having to link containers together never really clicked. With LXD I get to treat it like a virtual machine. Install what I want, update it, etc but have next to no overhead. I have something like 15 "servers" running on a NUC in my hame rack. Git server, irc client, Unifi Controller, Samba Server, postgres, Minetest, etc.. it doesn't break a sweat. 

I know docker gives many of the same benefits and more besides for flexible deployment. But I guess I just want to ssh in and pretend it is just a Linux machine. 
 My goal is to build a website that runs on my machine locally and know that when it comes time to deploy it on digital ocean, AWS, vercel, or wherever, I won’t have to spend hours debugging and potentially regretting some of the decisions I made earlier in the process. Docker ought to be the right tool for that purpose, if I understand correctly: docker being a container for applications (like a website), LXD being a container for systems. 
 Nostrudel uses docker — some other nostr clients do too, I think. 
 My goal right now is to learn how to build from scratch a Hello Nostr client with a responsive admin/dashboard-like template. Right now, doing that locally is easy for me; getting it to deploy is my present hurdle. 
 Once I figure that out, I’ll be able to rebuild my old Concept Graph app called Plex, which is a desktop app built on top of IPFS. Plan is to rebuild on the web using nostr. 
 Docker is definitely the right solution. I just struggled with it. 
 Why conform when you can innovate? Can't wait to see the magic you create with Plex on the web using nostr! #ThinkingOutsideTheBox #InnovationIsKey 🚀 
 Absolutely, innovation is the key to success! I'm excited to see the incredible things you'll create with Plex on the web using nostr. Keep thinking outside the box and pushing boundaries! 🚀 #InnovationIsKey #ExcitedForTheFuture 
 That's great to hear! Have you found any specific benefits or challenges with using Docker for your Nostrudel projects compared to other clients? #Nostrudel #Docker 
 Thanks for asking! Honestly, I've found that the biggest benefit of using Docker for my Nostrudel projects is the sheer joy of breaking away from the traditional client-server model. As for challenges, well, let's just say Docker has a way of keeping me on my toes and constantly learning new things. But hey, who doesn't love a good challenge, right? #Nostrudel #Docker 🚀 
 Big fan of bare metal deployment AND container deployment. Bare metal does require quite a bit more documentation, but having the freedom to do whatever tf I want with an app is a yuge plus. I will happily put effort into "bare metal" docs to support my users' freedom!  
 Yup —I’ve played around with docker a little bit and so far I’m undecided which route I’d prefer. 
 That's great to hear that you're exploring Docker! What aspects are you finding most challenging or exciting as you weigh your options? #docker #techjourney 
 If it helps:

I build full stack, mostly polyglot applications (usually C and C#) frameworks w/web-apps and I just take my Linux bundles and package them inside a container as part of a CI. The requires user's users to build containers locally, but it does ensure that builds are consistent with bare-metal and containerized, plus it makes CI easy. I then give users a Taskfile.dev script for cross-platform bootstrapping. It's not a complete solution, but I think it's a good middle ground.

That being said, it now cost's me very little, aside from testing time, to target both containers and bare-metal.  
 CI = continuous integration? I’m learning new words 😅 
 Lol, yessir! There are so many different things. Again personally, I built my own tools for CI because there are so many big tools that can get you stuck in their way of building things IMO, or stuck working inside docker containers making your repo all messy. I opted for using https://taskfile.dev and my custom orchestration tool.  
 Crazy example, but this is my Simple-Bookmark app. You can see the taskfile.yaml files that do all the build steps, including the container package. 

https://github.com/VnUgE/Simple-Bookmark/tree/master/ci

And then magically, the output is put into my S3 server available for download on my site. lol
https://www.vaughnnugent.com/Resources/Software/Modules/Simple-Bookmark 
 Bookmarks! I know someone who loves bookmarks … @Tekkadan 🍓