Container configuration tool?

Hey all!
I’ve been using LXD to do a lot of building recently, and I’ve had to memorize and write down a bunch of config commands and options and what not, and this got me thinking: Is there a tool out there that can enable you to graphically configure your LXD containers?

What I was thinking of was an ncurses tool that could present you with a list of config options and a brief description of each, and allow you to apply them to your container either through a config file or through CLI commands.

Does anything like that exist, and if not, would creating such a tool be useful to anybody?

1 Like

What kind of configuration are you interested in? Would it include creating users, adding packages, adding devices, adding LXD profiles?

This may not be what you’re looking for, although you may find it interesting, Juju and JAAS:

Setting that aside, it would be pretty cool to have a GUI management console, web UI dashboard, or basically something that would be capable of doing all of the things that we can do with LXD now via commands only without requiring the command line.

It would be better if such a tool had a terminal built into it to retain the ability to go directly into the command line interface at any time.

This is just a guess, I am unaware of if anything is in the works, but it seems like efforts toward building such a tool - at least one specialized for LXD - might currently be a lower priority, considering how commonplace it is to use the commands. Even if that is the case, it would still be great to have the tool. :sunglasses:

1 Like

I write this project (obvious self promo)

There are some other web management portals as well like

1 Like

Neat! I was looking more for a terminal-based solution that would supplement the lxc command, but these are definitely worth looking into. Thanks!

Nothing quite that complex. I’m primarily concerned with cli config options like security.privileged. It might be nice to have a tool that could allow you to configure all possible config options graphically, that would also describe what each config option actually does.

lxc config set snappyboi security.privileged true
lxc config set snappyboi raw.lxc "lxc.apparmor.profile=unconfined"

I’m sure the other solutions in this thread have that handled.

I’d like to mention my non-graphical configuration tool: https://github.com/melato/lxdops
It is written in Go, and uses the LXD Go API, and the “lxc” and “zfs” command lines.
There is no pre-built version. It requires Go to build.

It focuses on rebuilding containers reproducibly, via a Yaml configuration file per container.
It also manages ZFS filesystems and disk devices per container, where you can put container data that you want to preserve across rebuilds.