August 23, 20169 yr Hi, I have a feature request for some form of unraid API. I have been using Unraid for along time now and was using with with esxi. Since v6 it has taken over as my host machine and I am doing more with it than ever. I did notice there was a previous request for this in December 2014, Link, for an API but this was highlighted as not a priority at the time and given that unraid v6 was still in early beta stages this makes sense. At the moment almost all the control requires ssh/telnet or web console access. This to me poses a potential security risk and think that an API might be able to provide access to some of the commonly used functions without providing access to all the system functions of unraid. Some of the features that I would like to see in this this API are below: Access token to bypass the basic authentication for API. Possible multiple tokens with different access. example tokens, Global, Docker only, VM only, System only, Docker and VMs only, Plugins.... This could be managed via a webpage with automatically generated token but be able to be manually set or regenerated. Some form of system/docker/vm overview that is easily obtained. I use Zeron's jsonvars plugin to provide me with information about the server for some of my home automation applications and monitoring. I also use SNMP and each has there own advantages. Potentially make the API available for plugins to publish information. Docker remote control. Ability to start/stop/restart containers would be the starting point. I am sure there would be other things that people might like to see. VM remote control. Ability to start/stop/restart vm's would be the starting point. This might be a work around the physical power button problem that has been requested, for example an arduino, home automation system or even IFTTT could be used to send commands. Unraid system control. Starting, stopping, powerdown, restart, start parity, spinup, spindown check etc. This should probably should be limited to non destructive system functions as to limit malicious/accidental control. This may make it easier for third-parties to develop monitoring plugins or integration into automation systems. There could be an option to provide some form of share control. I have recently become more Ransom-ware aware and have put in processes to try an limit damage in the event of an attack. Some of the suggestions on this forum are to change the user share from read-only to write when needed. An API could potentially change a share from read/write status of a share. The control of this could handled by the user in the form of a script or webpage etc. Possibility to run command-line command/scripts. This goes against my non-destructive comment above but could be useful for anything not covered by the API. It probably should have it own API token. There is the possibility that this may be able to be done as a plugin. It might be a good starting location but I still think an API should be part of the core unraid functionality. I have noticed a few businesses/enterprises these days embracing API strategies, (example Telstra Australia) and they usually cite the collaboration, efficiency and development benefits. I have seen first-hand what having everybody developing their own backdoor/link to systems can have, especially on the inability to control system load and when trying to upgrade/change systems. The development and documentation of an API is no small task but I think it might unlock some key development/features for the future of unraid.
December 4, 20169 yr Been wondering when a mobile unraid admin app would be coming out. An API fits the bill! Perhaps a built-in OpenVPN plugin or extension for a synergic experience. +++ Sent from my iPhone using Tapatalk
December 5, 20169 yr Have a look at ControlR. Available on playstore and appstore. Should fit the bill Sent from my LG-H815 using Tapatalk
December 5, 20169 yr Just installed. Nice app for management but needs improvement. I will share my thoughts under ControlR forum. Thanks! Sent from my iPhone using Tapatalk
April 3, 20179 yr +1 on the request for a way to interface unraid to IFTTT - Then you could have Alexa/Echo or Google Home fire up a VM by voice control. I cannot use ControlR as my phone is a "managed" device and my employers have blocked app purchases....
June 2, 20179 yr There must be some sort of API already, otherwise how does Margarita , available for macOS, do this? Hadn't heard about ControlR, will check out.
March 3, 20188 yr I know this is old, but a potential explanation for the solutions out there now is that they are simply screen-scraping. The login process is fairly simplistic using basic auth so it's not too much trouble to pull data from pages you know the structure of. I haven't personally looked at the DOM for unRaids web UI, but I'm willing to wager that if no official API exists, then this must be happening. My own take on the law of parsimony there.. I would still be very interested in an official API - I roll my own dashboard bringing together monitoring information from various restful web services and since moving to unraid, would like to continue the same.
March 11, 20188 yr On 03/03/2018 at 12:12 AM, Saldash said: I would still be very interested in an official API - I roll my own dashboard bringing together monitoring information from various restful web services and since moving to unraid, would like to continue the same. +1, I also do this, REST API for unRAID would be great if it was available.
June 16, 20188 yr +1 I'd like to control a series of unraid servers. Starting and stopping VMs/Dockers would be a start.
March 11, 20206 yr Author There is some work being done on this by the Home Assistant community. Might be worth seeing what they have done. https://community.home-assistant.io/t/unraid-api-connect-and-control-unraid-servers-through-home-assistant-via-mqtt/154198 https://community.home-assistant.io/t/unraid-monitoring/53775
March 12, 20206 yr this one works well https://community.home-assistant.io/t/unraid-api-connect-and-control-unraid-servers-through-home-assistant-via-mqtt/154198 docker container publishing unraid info and control to mqtt.
April 15, 20206 yr What types of things would people like to see supported in an API, even if a 3rd party plugin?
May 8, 20206 yr There are a few things I can think of that would be quite beneficial to have API integrations in unRAID for Docker and VMs. Docker Features Some sort of docker-compose.yml ingestion would be nice. Start/stop/restart/edit/status/check for update/update containers VM Features Create/Delete VMs/Disks Start/Stop/Restart/Status/Edit VMs ARP-Scan/Ping to get interface addresses for VMs This would allow us to automate VM creation and subsequent automation of the VM configuration post creation. Someone could easily tie in a set of curl requests into an Ansible module for unRAID, which would increase exposure for unRAID as well.
August 30, 20205 yr +1 for an official API but it does NOT need to be a web based interface, the underlying individual software functions can easily use any suitable programming language. I'd love to see unRAID move to a completely open source support model, similar to how CentOS compares to RHEL, then I'd willingly contribute more time to the product and pay for a reasonable yearly support subscription. Perhaps there are other professional developers and testers out there that feel the same way? If so, maybe a crowdfunding effort to kick-start an official open unRAID fork is a viable option, as long as Limetech formally approve of course, as owners of the brand.
September 20, 20205 yr I'm new to Unraid, I quite like it and will continue using it, however the lack of an API did surprise me I have to say. Would be highly welcome if this could be officially added.
February 16, 20215 yr +1 An API would be fantastic and most surely benefit unRAID's great community. Edited February 16, 20215 yr by Mann
April 3, 20215 yr I am very interested in this. I would like the APi to have a nice TCP/IP interface or a REST interface. IIRC an earlier version of unraid (way back in time) had the ability to do things using TCP/IP and GET. I used that to spin up/down disks asynchronously when I started my home theater so that I would have the wait on first access when a movies stored on the unraid NAS was selected.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.