# Qortal Project UI

[](https://github.com/Qortal/qortal-ui/releases/latest)
[](https://opensource.org/licenses/GPL-3.0)
[](https://discord.com/invite/54UyhB7)
Decentralizing The World
Building and Running Qortal UI Server from source:
----------------------------------------------------
Follow the steps below to download, install, build and run Qortal UI locally on Linux.
Installation
------------
Packages required:
- Node.js
- npm
- yarn
Easiest way to install the lastest required packages on Linux is via nvm.
``` sudo apt update && sudo apt install curl -y ```
``` sudo rm -rf ~/.nvm ``` (Only for update node version)
``` curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash ```
``` source ~/.profile ``` (For Debian based distro)
``` source ~/.bashrc ``` (For Fedora / CentOS)
``` nvm ls-remote ``` (Fetch list of available versions)
``` nvm install v16.17.1 ``` (LTS: Gallium supported by Electron)
``` npm --location=global install yarn@1.22.19 ```
``` npm --location=global install npm@9.2.0 ```
On BSD do a ``` pkg_add node followed by npm install -g yarn ```
Adding via binary package mirror will only work if you have set the package path. You can do a node or java build via ports instead by downloading ports with portsnap fetch method.
Verify your installtion with node --version
- ``` If you have an older installation of npm, please do not forget to update that with npm update -g. ```
Clone the main UI repo
- ``` git clone https://github.com/Qortal/qortal-ui.git ```
Installation and linking
------------------------
In `qortal-ui/` install_link:all
Build UI server and files
-------------------------
In `qortal-ui` directory, run:
```
yarn run build
```
Start UI Server ( preferred way )
---------------
```
yarn run server &
```
The "&" at the end puts the UI server in the background.
Run UI using electron
---------------------
```
yarn run start-electron
```
Build script (unix-like systems only)
-------------------------------------
To automate the above process, run ./build.sh, optionally specifying the following options:
`-s`: run UI server after completing the build
`-e`: run electron server after completing the build
`-f`: force relink and reinstall dependencies
`-h`: show help
Example command to build and run the UI server:
```
./build.sh -s
```