Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Physical VM controller using D1 mini, mechanical switches and a custom enclosure

Featured Replies

Hiya guys!

I wanted to quickly share a project i've been working on and see if there is any interest in me releasing all the files and maybe writing a build guide for others to use.

 

I love unRAID and the flexibility of the VM system. I quickly replaced the need of having two machines at home by just having a unRAID server that i can game on by passing through my graphics card to a VM.

I'm quite lazy though and having to go into the webUI each time i wanted to start a VM quickly became a big enough hazzle so that i had to do something about it.

 

What i came up with is a small controller using a D1 mini together with some switches for mechanical keyboards (i'm quite addicted to mechanical keyboards and even build my own custom boards).

The D1 mini has one button per VM i want to be able to control plus one button for shutting a VM down and one button for destroying a VM.

The D1 mini connects over Wi-Fi and only needs power over USB. It does not have to be connected to the servers USB ports.

 

I designed the case to be glued together kinda like a puzzle and ordered it from a company here in europe that cut it for free with a lasercutter and they raster engrave the OS icon on the mirrored backside so that i can put a activity led behind it that shines through.

 

The VM is started by pressing the button for the VM which then sends a WOL signal to the server where i've installed the "Virtual Machine Wake On Lan".

There is also a companion docker app running written in ruby which exposes a super simple API that the controller use to find the state of all the VMs but also to issue a shutdown or destroy command to libvirt.

 

When the button is pressed the VM is started and the activity led flashes slowly. If you press a button for a started VM the VM is selected and the activity led flashes in a quicker rate and you can then press either the shutdown or destroy button.

 

All in all the whole project is pretty cheap. The D1 mini i just a couple of bucks on aliexpress. The case is not needed but makes it a bit prettier on your desk. I used the service available at http://cotter.co to cut the case in acrylic. At the time i ordered they offered free cutting time and material in silver mirrored acrylic, but they calculate the price live when you upload your design.

IMG_0341.jpg

IMG_0342.jpg

Great project!!

  • 2 months later...

Hello, great project, I had in mind something similar in mind, will you share your code? can your controler by usb and not wifi? (if router broken down etc ...)

 

sorry for my english level xD

  • 3 months later...

Will be following this for updates. Great project!

This is an amazing project! AND it looks good too!

 

I had a similar idea using adruino using HID emulation, but eventually gave up on the idea. In hindsight, WOL is far superior for this. Amazing idea +1 to releasing the files. Will follow for updates

  • 1 month later...

This looks awsome. Do you mind writing up a bit? Id like to fill in the 5,25 bay on my Maschine with this VM Controller :)

  • 4 weeks later...
  • 2 years later...

@mikegg I built the physical device and everything is working on the electronics, but I can't seem to get the docker created. Can you provide any more detail on what is required to get the serverapp up and running? 

  • Author

I don't have a discord server anymore, but i will do my best to help.

The instructions on the github page has instructions on how to run the container. Have you had a look at the image specifically?

Do you have anymore info on what's not working? Any logs?

It is probably just a lack of education on my part.  When I go to Add the new Docker container, I don't see anything for lisinge/unraid-vm-manager as an option.  I'm guessing it should show up under Default Templates or User Templates.  Is there an additional template repository that I should be adding in order to have your container show up in the list?

It looks like User Templates are at:  /boot/config/plugins/dockerMan/templates-user
Do I need to manually create a file at /boot/config/plugins/dockerMan/templates-user/my-unraid-vm-manager.xml? If so, what would go in it?

I have tried to look through the forum sections for developing containers to draw the connection between the files you have on github and what is needed to create the new docker container and can't quite seem to make the connection--so any help is appreciated.

Looking forward to having this light up the rest of the way. It has been a fun project.  I 3D printed my switch housing and am happy to share those designs for others too once I get it all working.

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.