Web UI v1 is deprecated. Not recommended for new users. Checkout the page for the react version here.
Related pages
The web UI is enabled by placing the web_server
key in your configuration file. SSL is optional, but it is highly recommended if the UI is exposed to the internet.
Note that web_server
is one of a handful of top-level keys in the configuration file. Do not indent web_server
.
web_server
UsageThis is the simple configuration that uses default values. It will enable the API and web UI at http://0.0.0.0:5050/v1
(IP 0.0.0.0
, port 5050
) by default.
web_server:
run_v1: yes
You can also set a different port using an alternate simple configuration mode.
web_server: 8080
bind
: IP address to bind toport
: Port at which the web UI and API will be accessedssl_certificate
: Path to certificate filessl_private_key
: Path to private key fileweb_ui
: yes|no
Set to no to disable the web UI; only the API will runbase_url
: Set a different base_url; default is /
Fully configured example:
web_server:
bind: 0.0.0.0
port: 3539
ssl_certificate: '/etc/ssl/private/myCert.pem'
ssl_private_key: '/etc/ssl/private/myKey.key'
web_ui: yes
base_url: /flexget
run_v1: yes
Set a password and start FlexGet in daemon mode to start the web server.
$ flexget web passwd <some_password>
$ flexget daemon start --daemonize
Using the full configuration example above, the Flexget Web UI would now be available at http://flexget_ip:3539/flexget/v1
. Full API documentation would be available at http://flexget_ip:3539/flexget/v1/api/
.
Visit the API page for more information about it.
The login username is flexget
and the password is what you set using the web passwd
command above.
You can also use an authorization header to access the API with the following format: Authorization: Token <TOKEN>
You can view or reset the API token using the following CLI commands:
# View token
flexget web showtoken
# Generate new token
flexget web gentoken
Section | Functionality |
---|---|
Log |
|
Execute |
|
Config |
|
History |
|
Series |
|
Movies |
|
Seen |
|
Schedule |
|
Miscellaneous |
|
The UI has a solid base but we need help building the plugins. If you would like to get your hands dirty in AngularJS, CSS or UX Design then please read below and join our chat on Gitter.
To get started you will first need to setup your environment from Git.
$ echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
$ . ~/.bashrc
$ mkdir ~/local
$ mkdir ~/node-latest-install
$ cd ~/node-latest-install
$ curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
$ ./configure --prefix=~/local
$ make install # ok, fine, this step probably takes more than 30 seconds...
$ curl -L https://www.npmjs.org/install.sh | sh
# Alternative NPM installation to virtualenv (untested)
$ curl http://nodejs.org/dist/node-latest.tar.gz | tar xvz
$ cd node-v*
$ ./configure --prefix=$VIRTUAL_ENV
$ make install
# Alternative NPM installation (untested)
# install node wherever.
# use sudo even, it doesn't matter
# we're telling npm to install in a different place.
$ echo prefix = ~/local >> ~/.npmrc
$ curl https://www.npmjs.org/install.sh | sh
root
unless you installed NPM as user with the previous commands.$ npm install -g bower
$ npm install -g gulp
<flexget github folder>/flexget/ui/v1
folder. Running gulp build
will compile all the ui files.$ npm install
$ bower update
$ gulp build
The UI communicates to the FlexGet daemon using the API. When starting the daemon it will make the UI available at http://flexget_ip:port/ui/
.
The daemon will load the compiled UI files if you are not in debug mode. To enable debug mode run:
$ flexget -L debug daemon start
For plugin development, see examples on Github, and also feel free to chat with us on Gitter.
To make development easy we are using browserify, so when you change a file it will be automatically refreshed on your browser. To get this working you will need to start the flexget daemon (as above). Then you can run
#option 1: run ui using local flexget daemon
$ gulp serve
#option 2: run UI against a different flexget server
$ gulp serve --server <flexget_api:port>
We have recently started adding tests to existing parts of the UI. There are about 250 tests currently present. If you modify/add parts of the UI, ensure you also modify/add tests for the relevent changes (at least most of them).
The tests can be run be using a number of commands:
#Option 1: Standard command line
$ karma start
#Option 2: Starting a web browser to run the tests in*
$ gulp serve-specs
#Option 3: Shorthand for the browser command
$ npm test
This gulp task watches for file changes, not file additions. After adding a new test file, this task needs to be restarted.
All of these commands need to be run inside the /flexget/ui
folder.
When using the gulp
task, a browser should open by itself. If it does not, you can navigate to http://localhost:5050
where the tests will be available.
Results of the tests (that are run on the develop branch) can be viewed here: http://ci.flexget.com/job/Test-UI/.
The frameworks currently used for the tests are:
If you have any more questions regarding testing of the different parts and modules of the UI, you can ask them in our Gitter chat.