![](https://feddit.uk/pictrs/image/5d293428-9697-45e8-9cc4-f7b2b9c16462.png)
![](https://beehaw.org/pictrs/image/fed50129-04e7-4dbc-8f54-4ba5bae58370.png)
I was going to do an origin character as a solo play-through and a custom character for a group play-through with my mates, but now I might do it the other way around… which means hours in the character creator! Ha.
I was going to do an origin character as a solo play-through and a custom character for a group play-through with my mates, but now I might do it the other way around… which means hours in the character creator! Ha.
If I’m okay with the software (not just trying it out) am I missing out by not using dockers?
No, I think in your use case you’re good. A lot of the key features of containers, such as immutability, reproduceability, scaling, portability, etc. don’t really apply to your use case.
If you reach a point where you find you want a stand-alone linux server, or an auto-reconfiguring reverse proxy to map domains to your services, or something like that - then it starts to have some additional benefit and I’d recommend it.
In fact, using native builds of this software on Windows is probably much more performant.
Containers can be based on operating systems that are different to your computer.
Containers utilise the host’s kernel - which is why there needs to be some hoops to run Linux container on Windows (VM/WSL).
That’s one of the most key differences between VMs and containers. VMs virtualise all the hardware, so you can have a totally different guest and host operating systems; whereas because a container is using the host kernel, it must use the same kind of operating system and accesses the host’s hardware through the kernel.
The big advantage of that approach, over VMs, is that containers are much more lightweight and performant because they don’t have a virtual kernel/hardware/etc. I find its best to think of them as a process wrapper, kind of like chroot for a specific application - you’re just giving the application you’re running a box to run in - but the host OS is still doing the heavy lifting.
I was using file merging, but one issue I found was that arrays don’t get merged - and since switching to use Traefik (which is great) there are a lot of arrays in the config! And I’ve since started using labels for my own tooling too.
I was recently helping someone working on a mini-project to do a bit of parsing of docker compose files, when I discovered that the docker compose spec is published as JSON Schema here.
I converted that into TypeScript types using JSON Schema to TypeScript. So I can create docker compose config in code and then just export it as yaml - I have a build/deploy script that does this at the end.
But now the great thing is that I can export/import that config, share it between projects, extend configs, mix-in, and so on. I’ve just started doing it and it’s been really nice so far, when I get a chance and it’s stabilised a bit I’m going to tidy it up and share it. But there’s not much I’ve added beyond the above at the moment (just some bits to mix-in arrays, which was what set me off on this whole thing!)
I just have a static page that I randomly change - you can see mine here. In this case I was testing the idea of having text within an SVG for better scaling from mobile to desktop, and also I’m loving orange and purple at the moment for some reason! Oh, and I was testing automated deployments from CI/CD, so I always use my own base domain with those first tests!
“Out of the frying pan, into the fire”
Definitely give Ruthless a go, I love it… reminds me of early game ARPG’s on higher difficulties. Positioning really matters, you have to adapt based on what you get. It seems to have been the proving ground for PoE2’s new tempo.