Flux is available on domains, load balancing the entire Flux network. You can access both UI and API on following main domain
Flux is the frontend UI to the entire Flux Network, it enables Flux operators to manage their Flux Node easily via a simple web interface. Flux enables an operator to perform all tasks such as updating and maintenance from a simple web interface, instead of having to remotely login to their Flux to manage it.
Flux Requires a reasonably new version of Node.js (npm), MongoDB and Docker. It is a MongoDB, Express.js, Vue.js, Node.js (MEVN) application
This application communicates locally with the Flux Daemon (fluxd), Benchmark Daemon (fluxbenchd) and other Flux instances.
Support for Ubuntu 18.04, 20.04, 22.04
Support NodeJS 16, 18, 20
Support for MongoDB 4.2, 4.4, 5.0, 6.0
- Provide communication with daemon, benchmark
- Providing private API, and public API, Flux team API (limited!)
- Listen and handle frontend requests
- Requests signing and authenticity verifying
- Handle communication with other Fluxes
- Manage Flux applications - smart spawning, distributing workload, termination depending of application subscription.
- Provide Explorer solution
- and more!
- Display Flux status information
- Display Flux Network information
- Display Flux network information
- Display Specific application information
- Provide API access
- Login into private API part (frontend part)
- Login into Flux team API part (frontend part)
- Private: Management of Flux
- Private: Management of Flux Damone and Benchmark
- Private: Update, status information
- and more!
This application is open source and distributed under the GNU AGPLv3 licence
Flux needs Daemon to be running, use apt.runonflux.io to install flux daemon
build-essential is a recommended dependency
sudo apt-get install build-essential
Setup Mongodb on Ubuntu 18.04 (LTS):
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
sudo service mongod start
Setup Mongodb on Ubuntu 20.04 (LTS):
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
sudo service mongod start
Setup Mongodb on Red Hat or CentOS:
sudo yum install nano
sudo nano /etc/yum.repos.d/mongodb-org-5.0.repo
# Paste below into the mongodb-org-5.0.repo file
[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc
# exit nano
sudo yum install -y mongodb-org
# Start Mongodb on startup for CentOS 7
sudo systemctl enable mongod.service
# Start Mongodb on startup for CentOS 5/6
sudo chkconfig mongod on
# Start Mongodb on CentOS 7
sudo systemctl start mongod.service
# Start Mongodb on CentOS 5/6
sudo service mongod start
Install Node Version Manager (NVM) and NodeJS 16/18/20 on Ubuntu 18.04/20.04/22.04:
sudo apt-get install curl
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
source ~/.profile
nvm install 20
nvm use 20
Install Node Version Manager (NVM) and NodeJS 20 on Redhat/CentOS:
sudo yum install curl
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash
source ~/.bashrc
nvm install 20
nvm use 20
Install Docker using on Ubuntu 20.04
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
sudo apt-get update
sudo apt install docker-ce
Install Docker using on Ubuntu 18.04
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt-get update
sudo apt install docker-ce
Install Syncthing
sudo curl -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg
echo 'deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable' | sudo tee /etc/apt/sources.list.d/syncthing.list
sudo apt install ca-certificates -y > /dev/null 2>&1
sudo apt-get update -y
sudo apt-get install syncthing -y
Install Netcat
sudo apt install netcat -y
Clone Flux repo (Ubuntu):
sudo apt-get install git
git clone https://github.com/runonflux/flux
Clone Flux repo (Redhat/CentOS):
sudo yum install git
git clone https://github.com/runonflux/flux
Allow Inbound Connections on UFW firewall - default ports (if ufw enabled):
sudo ufw allow 16126
sudo ufw allow 16127
sudo ufw allow 16128
sudo ufw allow 16129
Install Flux dependancies (Ubuntu/CentOS/Redhat):
cd flux
npm install
To run this as Production:
npm start
To run this as Development: Start both solutions with
npm run fluxdev
npm run homedev
THE SETUP ENDS HERE... The following information below provided for brief usage guidelines and/or examples only.
Frontend interface to interact with the Flux network Uses port 16126 by default
# serve with hot reload at localhost:16126
npm run homedev
# build for production with minification
npm run homebuild
# build for production and view the bundle analyzer report
npm run homebuild --report
Backend interface to interact with the Flux Network Uses port 16127 by default
# serve with hot reload at localhost:16126
npm run fluxdev
Made with ❤️ by the Flux Team