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.

Post 6.0-beta4 addon design discussion

Featured Replies

As far as i can tell with the exception of Limetech LLC no one has released a 6.0-beta4 natively compatible addon yet... sorry extension... eh no a plugin. :P

 

Naming convention confusion aside I thought it sensible to start a thread as a general Q&A area and to capture questions in one place.

 

So far this is the only info I have:

 

/usr/local/sbin/plugin install 2>&1

Process plugin files.

 

Usage: plugin install [file]

install plugin [file]

 

[file] is a plugin definition XML file with ".plg" extension.

 

This command will process all FILE elements in [file] which are tagged with the "install" method.

Upon success we copy [file] to /boot/config/plugins/ and create a symlink to it in /var/log/plugins/

where is obtained from the name attribute of the plugin [file].

 

[file] can be a local file, or a URL. If a URL, the plugin file is first downloaded to /tmp/plugins.

 

Usage: plugin remove [name]

remove a plugin

 

This command will process all FILE elements in [name] which are tagged with the "remove"

method. Upon success we delete /boot/config/plugins/[name] and /var/log/plugins/[name]

 

Usage: plugin check [name]

check and output the latest version of [name]

 

We exract the pluginURL attribute from [name] and use it to download (presumably the latest

version of) the plugin file to /tmp/plugins/ directory, and then output the version string.

 

Usage: plugin update [name]

update the plugin

 

We look for the new plugin in /tmp/plugins/ directory. If found then we first execute the "install"

method of each FILE in the new plugin. (If necessary, a plugin can detect that this is an

"update" by checking for the existence of /var/log/plugins/plugin_name.) If successful, we

delete the "old" plugin file from /boot/config/plugins/, copy the "new" plugin file from

/tmp/plugins/ to /boot/config/plugins/, and finally create the new symlink.

 

Note: to support `plugin check` and `plugin update` the plugin file must contain both "pluginURL" and

"version" attributes.

 

Usage: plugin [attribute name] [file]

 

Any method which is not one of the actions listed above is assumed to be the name of an attribute of

the tag within [file]. If the attribute exists, its value (a string) is output and the command

exit status is 0. If the attribute does not exist, command exit status is 1.

 

The plugin manager recognizes this set of attributes for the tag:

 

name - MANDATORY plugin name, e.g., "myplugin" or "my-plugin" etc.

This tag defines the name of the plugin. The name should omit embedded information such as architecture,

version, author, etc.

 

The plugin should create a directory under `/usr/local/emhttp/plugins` named after

the plugin, e.g., `/usr/local/emhttp/plugins/myplugin`. Any webGui pages, icons, README files, etc, should

be created inside this directory.

 

The plugin should also create a directory under `/boot/config/plugins` named after the plugin, e.g.,

`/boot/config/plugins/myplugin`. Here is where you store plugin-specific files such as a configuration

file and icon file. Note that this directory exists on the users USB Flash device and writes should be

minimized.

 

Upon successful installation, the plugin manager will copy the input plugin file to `/boot/config/plugins`

on the users USB Flash device, and create a symlink in `/var/log/plugins` also named after the plugin,

e.g., `/var/log/plugins/myplugin`. Each time the unRaid server is re-booted, all plugins stored

in `/boot/config/plugins` are automatically installed; plugin authors should be aware of this behavior.

 

author - OPTIONAL

Whatever you put here will show up under the **Author** column in the Plugin List. If this attribute

is omitted we display "anonymous".

 

version - OPTIONAL but MANDATORY if you want "check for updates" to work with your plugin

Use a string suitable for comparison to determine if one version is older/same/newer than another version.

Any format is acceptable but LimeTech uses "YYYY.MM.DD", e.g., "2014.02.18" (if multiple versions happen

to get posted on the same day we add a letter suffix, e.g., "2014.02.18a").

 

pluginURL - OPTIONAL but MANDATORY if you want "check for updates" to work with your plugin

This is the URL of the plugin file to download and extract the **version** attribute from to determine if

this is a new version.

 

configfile - MUST BE OMITTED for ordinary plugins and MANDATORY for virtual machine appliance plugins.

This is the absolute file name of where the Xen configuration file will end up in the unRAID server.

 

More attributes may be defined in the future.

 

Here is the set of directories and files used by the plugin system:

 

/boot/config/plugins/

This directory contains the plugin files for plugins to be (re)installed at boot-time. Upon

successful `plugin install`, the plugin file is copied here (if not here already). Upon successful

`plugin remove`, the plugin file is deleted from here.

 

/var/log/plugins/

This directory contains a symlink named after the plugin name (not the plugin file name) which points to

the actual plugin file used to install the plugin. The existence of this file indicates successful

install of the plugin.

 

/tmp/plugins/

This directory is used as a target for downloaded plugin files. The `plugin check` operation

downloads the plugin file here and the `plugin update` operation looks for the plugin to update here.

 

  • Author

RESERVED

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.