I just found out about devcontainers thanks to bluefin, and it’s very cool! Can’t believe I’ve never seen it.
There is one thing I’m concerned about though. I’m guessing the expectation is to run separate devcontainers for each project as opposed to reusing a single one. While this provides better isolation between projects, I’m finding it a little frustrating that I need separate containers for projects with similar (or the same) dependencies/requirements, and also that I need to perform some initial setup repeatedly on each container (setting up some aliases/plugins on fish, logging in via firebase cli, etc). It might be possible to automate these steps and include them in each devcontainer.json, but I can’t help but think that it could be simpler. I suppose devcontainers are really aimed at projects where a devcontainer.json is already set up, rather than for what I’m used to, which is installing dependencies and doing configurations once in a distrobox container and then using that one container in most cases, kind of mimicking how one would work traditionally without containers.
But this then makes me confused on what’s the best/preferred way to use the default VS code instance on bluefin-dx without relying on devcontainers? Do I just distrobox enter ... my preferred container whenever I open a VS code terminal? Or should I install a separate VS code instance in the container and use that instead? All in all, I think I might be misunderstanding the expected workflow(s) a little bit, so any wisdom on this would be appreciated!
TL;DR: keep a devcontainer.json and Containerfile (Dockerfile) in a folder above those containing your similar projects and run Dev Containers: Open Folder in Container… from the Command Palette (F1). Once your Dev Container is up and running, open your desired project folder.
Hey, that seems like a good solution! Thanks for pointing it out. It would be even nicer if it was possible to simply open any folder, regardless of where the container.json resides. I found this page which explains a way to do it but I think it’s a bit of a complicated way to do what I want.
That was a great video, gives a lot more clarity to all those moving peaces… Do you know Craig?
So in Bluefin we have Devpod as a local opensource alternative to github spaces and podman instead of Docker.
So to experiment with Devpod and a project - like this one GitHub - Anjok07/ultimatevocalremovergui: GUI for a Vocal Remover that uses Deep Neural Networks. - I should create a devcontainer.json file for this project right ? I’m looking into it.
It could really solve so much of those versions problems I’m always having when trying to mess with some python projects…