Hey guys,
First of all thanks for creating and maintaining this community, it’s a really exciting project.
After a very frustrating experience upgrading to Ubuntu 24, I’ve been looking around to switch my OS. I came across bluefin on a HN post a while ago, and was immediately sold on the advantages Silverblue offers and the value added by universal blue and the contributors.
I’ve since read a lot of on atomic distros, Silverblue workflows and universal blue docs. Some things are still a bit unclear/new to me and I’d love some feedback.
Current dev setup under Ubuntu:
- a projects directory on my machine that contains all of the repositories I work on
- Some of them use docker compose files, others are node/python apps without a container, but with NVM or pipenv, virtualenv.
- my terminal picks up the .nvmrc file to switch versions
- I manually start docker compose etc
This works fine, but I do spend a lot of time setting everything up when switching machines or stuff just breaks. I’ve just learned about devcontainer.json files and haven’t set them up yet.
New setup via bluefin:
- A Ubuntu box via distrobox, since my prod servers are running Ubuntu
- a mise.toml file per project to manage packages via mise
- I’d enter the box and start vscode from a projects directory
Questions:
- can I manage all of the docker containers that are started from projects inside of a distrobox container from the host? Like running lazydocker docker on the host to kill, exec shells, etc
- how do devcontainers fit into this? Should I use them on a project basis and require mise inside the devcontainers?
- what’s the best way to vscode? Start on the host? Start inside a box?
- in this setup what’s the role of devpod? Is it necessary at all?
Any feedback is much appreciated or an example of your own setup for web development or some links on this topic.