New Web Based Container Manager 🔥

I have been working on this project for the last year, and finally opened it up for beta.

This is not another front end, this uses LXD in the backend, and makes things just so much more easy.

Nuber makes adjustments to hosts lxd settings where needed to provide a more standard interface when working between different storage drivers.

Lots of processes are programmed so things just work with a simple point and click, which normally would require multiple commands from the command line, if you remember.

In the documentation every section has sceenshots showing what you can do etc, so you don’t need to install to get an idea. If you have the time, and can setup a VM with ubuntu server, with a custom ZFS partition, and then install this, you get an idea, not impressed? create a second one and start moving container around using different network settings.

Changes made to the LXD host are outlined below.

Visit the Nuber website for more information, the documentation section includes setup instructions using custom ZFS or BTRFS partitions.

Please, if you like this project, or are interested in it, can you give me a star on github, its both rewarding and motivating.

I have tested with BTRFS and ZFS storage drivers, but I have not tested CEPH, nor have I tested with clustering yet.

Big thanks for everybody on here for all support, guidance that I have got from this community directly and indirectly (the amount of posts I have read).

Changes made to host when you install:

  1. During installation it will ask if you want to setup bridge networking, if you choose yes then it will create a connection called nuberbr1 with nmcli, however it will NOT stop your existing connection or switch to the new one - which is required to start the bridge networking. Quite frankly Macvlan is working brilliantly on both my home linux server and even inside VMs on my Mac.
  2. Each time you add a host to Nuber, it will:
    • Create various profiles all prefixed with nuber-
    • Create a nuberbr0 network
    • It may adjust settings, depending upon the storage driver, for example ZFS it will change volume.zfs.remove_snapshots to true and zfs.clone_copy to false.

Please feel free to DM me.

4 Likes

Looks good.

Any plans to add VM’s as option and remote backup server(s) (with zfs send/rcv) ?

  1. If people want it, I could do it - I am not sure if should be doing it, its fairly easy. There are some difference in behaviours, i think for example you cant mount a volume if the VM is running, CPU changes etc, this was off putting, but i just thought that maybe create these behavior rules for VMs, rather than change for the containers then it could be interesting.

  2. Right now you can use the migrate function , and click on COPY instead of move and that copies to a remote server. Is that what you meant? https://www.nuber.io/docs/instances/migration/

@Jimbo nice work!

@amarc No one can zfs send/rcv without installing custom software on the LXD host because its not exposed via the LXD API, its not a hard restriction its just nobody’s added the requirement to install additional software on each LXD host before.

@turtle0x1 thank you so much, so kind, you have made my day!!!

@Jimbo thanks for explanation

Additional: I usually use LXD with IPv6 subnet(s). Is there IPv6 “managament” integrated ? For example, If I, durring lxd init, add both IPv4 and v6 subnets, will Nuber create instance with both and “display” them both in UI ?

Currently it will display up to two IP 4 addresses, e.g Virtual Network and Macvlan/Bridged.

I have some of the work done on the IPV6, I will add that next.

Hi there! OP, please, describe full process of installing, because script makes few thing… Not understand, security reasons

This is the install script, so you can see what changes are made on the LXD HOST.
https://www.nuber.io/install.sh. This creates the container, and then runs https://www.nuber.io/container-setup.sh inside the container, again it shows what it is installing.

You are correct, the install script just does enough to setup the container, forward traffic from host ports 3000 and 8080 to the container, and offer to configure bridged networking. Everything else is handled via the API. This a web application which runs inside the container, apart from the API it has no access to the host. But through the API it can speak to containers.

Remember each time you add a host, it will make some changes (ZFS settings - see above) and create some profiles and the network nuberbr0
LxdSetupHost.php

It installs nuber inside a container, it uses HTTPS on port 3000 and a web socket server on 8080.

I would suggest to create a VM, install LXD using ZFS (As per our website), and use that to play around an explore what it does. Using the standard lxc commands you can identify nuber stuff.

I am currently working on the next version which no longer uses profiles, offers virtual network customisation and displays IPV6 addresses, and fixes a bug with forcing people out after 4 minutes of inactivity (now 10 minutes) etc, this will be released this week.

Ok, i understand. But i have configured bridge and port 8080 is busy other my container. Just make choosing port in install script. And add setup dialog - its make it so clear for user. And in this time, my traffic goes over NAT to container, then i setting iptables to forward port 3000, right?

You will need port 3000 open on your host, my bad re 8080 it no longer needs to be open.

Bro, all open. If you want i can show my iptables settings

Just released 0.2.0 of the beta, if you have already installed Nuber, then you will need to run the updater and it will take care of everything for you.

  • Fixed inactivity timeout, it was throwing people out after 4 minutes, this is now 10 minutes.
  • Now displays IPv6 addresses
  • Added Networks, so you can set IPv4 and IPv6 ranges with CIDR notation.

Quick preview

This is very nice I like it.
A boolean option to add privileged option to creating the container might be nice.

1 Like

Thanks for the suggestion, will look into this.

Released 0.3.0, to upgrade an existing installation run the application updater

  • Added CPU usage
  • Added monitor like behavior
  • Added MAC address settings for each network interface to allow users to modify the MAC address if required by cloud provider
  • Fixed issues with calculating disk space size in Alpine

monitoring

2 Likes

Awesome Jimbo, i’ll check it out tonight. It looks good and minimalistic.

Thanks, I got a new release coming soon. If you have any questions feel free to DM me.

Released 0.4.0, to upgrade an existing installation run the application updater . All users should update as dependencies also have various fixes and improvements.

  • Added LXD Virtual Machine support
  • Improved OS selection screen
  • Port forwarding now allows you to use different protocols (previously was just TCP)
  • Improved LXD API call debug log to show warning sign when call was successful but API returned an error.
  • Changed password validation rule (min 8 chars, at least 1 lower, 1 uppercase and 1 digit, max 32 chars) rules (See notes below)
  • Improved installation script
    • Exit script if no internet
    • instruction to setup IP tables on how to only allow access to the web interface from trusted IP addresses.
    • Self signed certs are now 10 years in length

Notes for existing users with existing installations:

  • If you already have installed Nuber and are updating and your password does match the validation criteria, you will need to reset the password which can be done by running a simple command.
  • Installation now provides an IP Tables rule to only allow access to the web interface from trusted IP addresses. Replace x.x.x.x with your home or work connection IP address. sudo iptables -I INPUT -p tcp ! -s x.x.x.x --dport $port -j REJECT (If anybody has suggestion on improving this, let me know).

Have a nice weekend.

3 Likes

That OS selection screen is quite fancy!

1 Like