This is the project for the Angular.io WebUI for TrueNAS CORE & TrueNAS SCALE.
You can download and test running the latest version of the TrueNAS WebUI anytime using pre-built docker images.
Images only require the environment variable TNIP to be set to the IP or Hostname of your local TrueNAS instance.
Example:
# docker container run -it -e TNIP=192.168.0.30 -p 8080:80 ixsystems/truenas-webui:latest
This would allow you to access the running WebUI on http://localhost:8080
NOTE: Pull requests are also generated as Docker images and can be used for testing by replacing the ":latest" tag with the pull-request ID. I.E. "ixsystems/truenas-webui:5010"
- yarn >= 1.12
- Node.js >= 8.9
- Running TrueNAS CORE or TrueNAS SCALE Nightly Machine (VM is fine)
Install the development requirements (FreeBSD 11 or later):
# pkg install yarn
Checkout TrueNAS git repository:
$ git clone https://github.com/truenas/webui.git
$ cd webui
Install yarn packages:
$ yarn install
Run the environment configuration script (if your ip address changes later you may repeat this step)
$ ./setup_env.js -i <ip address or FQDN of the server where TrueNAS is running>
To start run
yarn start
This runs a local webserver with the new WebUI, by default at http://localhost:4200. If this webserver is kept running, changes to the project will be rebuilt incrementally.
To test AOT in dev mode run
yarn run start:dev:aot
To run the production build, run
yarn run build:prod:aot
Getting errors about missing packages?
yarn install
Getting permission errors or Failed messages when trying to run yarn start
?
From the webui repo
rm -rf node_modules (may need root)
rm yarn.lock
yarn cache clean --force
yarn install
This should bring the yarn environment back to a useable state.
All JSON files for translating TrueNAS's web interface are included in this repository under src/assets/i18n.
These can be edited using your editor of choice or directly via the GitHub Web based code editing system.
Some strings may use ICU Message Format for pluralization.
You can move tokens around and adjust them for your language.
For example:
Deleted {n, plural, one {# snapshot} other {# snapshots}}
can be translated in Russian as:
{n, plural, =1 {Снимок удален} few{# снимка удалено} other {# снимков удалено}}
You can test your strings in an online editor.
Stock images used on the dashboard UI are courtesy of Pixabay.com and are subject to the Simplified Pixabay License. Full license details can be found at https://pixabay.com/service/license/.