Module directory for official modules

I installed minimal webmin from the tar package, as I don’t want to clutter my installation with modules I won’t be using.

However, there are some I need.

Is there a way to browse the official modules from within the Webmin panel? All I can do is to provide a direct URL to the wbm file, or upload it. There is a Third party module from field that shows directory of third-party modules, but not the official ones.

Am I missing something?

The minimal installation is generally intended for folks who are building a custom installation package or image containing everything they need. e.g. for router/NAS/etc. manufacturers and the like. So, ease of use, in terms of GUI support, has never been a focus. I would never use the minimal install for a single system, I’d only use it if I had to ship thousands of something, and needed a very custom/focused Webmin experience (maybe that doesn’t even look like Webmin). The cost of using a tarball with a custom set of modules is very high from a maintenance perspective (which ends up being a cost for security). Packages are just a better choice for a production deployment.

Is 44MB for the full package really a problem? Modules for packages that aren’t installed will be hidden away in Un-used modules, and you can use Webmin Users to disappear everything you don’t use just by unchecking a box.

1 Like

Indeed, I’m building a custom installation for my NAS solution. This is the first time I’ll be using webmin and all the modules that come in default are introducing confusing clutter. The NAS will be an LXC container, I only need Samba, user management and maybe fail2ban, so there’s a lot in webmin that’s unnecessary for this type of deployment.

The 44MB which what I assume is a disk space is not that big of a problem, I was more worried by unnecessary software processes running on the NAS and a general rule to not run stuff I never intend to use (for security and maintenance reasons),

I was looking into turnkey-fileserver that is almost perfect for me (I’d remove the modules responsible for low-level storage management, as ZFS storage is handled by hypervisor). However, the current turnkey runs year-old version of webmin, so I’m trying to find an easy way to build my own flavour.

I was really hoping to achieve a solution in which I install a minimal installation from package manager, and ideally apt install only the modules I actually use. If there’s no way to achieve this, I guess using Webmin Users to hide clutter will be the way to go…

Adding modules to Webmin does not add more processes. Webmin modules are not the service they manage, and they don’t install or start the service they manage. A Webmin minimal installation requires the same resources (except disk space) as a full Webmin installation. It’s all web pages, and the web server processes are the only thing Webmin starts.

The only thing I can think of that might alter that assertion would be the dashboard, and the scheduled jobs it runs to gather info about software updates and system stats. It’s been many years since I’ve looked at what’s in the minimal tarball, so I don’t know if it has those features by default, probably not since I think a lot of them are Authentic Theme related, and I don’t guess Authentic is in the minimal package. Those are pretty light, though, and don’t have security implications for any case I can think of.

That probably would be useful, but it’d need a lot of work to make happen. The way Debian used to package Webmin, when it was available in the standard repos, was basically this, but they didn’t deal with dependencies in any reasonable way and expected users to just know which modules depended on others, and it led to a horrible user experience. Splitting up Webmin this way would require spending quite a bit of time figuring all that out (module.info usually includes that information and our module packaging tools try to accommodate that for third-party modules, but not for standard modules since standard modules are expected to be there). In short, that’s not a terrible idea, but no one has ever had the time to invest in it. It wouldn’t be a one-time cost, either, it’d require ongoing maintenance, and we’re quite short of time, as it is.

If people who use Webmin for that purpose (for custom UIs for NAS/routers/whatever) wanted to contribute to Webmin development, that would be an area where they’d be welcomed and I’d be inclined to lend whatever assistance I could provide, in terms of guidance for how it should work.

1 Like

Thank you for such detailed answer.

I just have one thing on my mind - some of the modules are inter-connected, as in - when I create a user, it will automatically crease a samba user. And the option to sync from users to samba users is only visible in the samba module.

My worry is that I’ll be operating module A, and module B, which I never intended do use, will introduce unexpected changes to the system.

Is there a way to find out about such inter-connections, when I never open module B?

(albeit, from what I see now at least for samba, the sync is disabled by default, can I safely assume this is the case for every module?)

Yes. Webmin does exactly what you tell it, and only what you tell it, in the vast majority of cases. (Virtualmin, on the other hand, is quite opinionated and does a lot of stuff automatically by default.)

This topic was automatically closed 8 days after the last reply. New replies are no longer allowed.