Git Product home page Git Product logo

jimaek / flux Goto Github PK

View Code? Open in Web Editor NEW

This project forked from runonflux/flux

0.0 1.0 0.0 74.05 MB

Flux, Your Gateway to a Decentralized World. https://home.runonflux.io https://api.runonflux.io https://docs.runonflux.io https://source.runonflux.io https://wiki.runonflux.io

Home Page: https://home.runonflux.io

License: GNU Affero General Public License v3.0

Shell 0.29% JavaScript 59.50% CSS 0.29% HTML 0.08% Vue 27.38% SCSS 12.46%

flux's Introduction

Flux

Flux.png

DeepScan gradeCodeFactorTotal alertsLanguage grade: JavaScriptcodecov

Flux is available on domains, load balancing the entire Flux network. You can access both UI and API on following main domain

Flux

API

API Documentation

API documentation

Source code Documentation

Source Code documentation

The gateway to the Flux Network

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

Application Overview

Backend Solution - Flux

  • 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!

Frontend Solution - Home

  • 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

Start Flux

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.

Flux Home Information

Frontend interface to interact with the Flux network Uses port 16126 by default

Build Setup

# 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

Flux Information

Backend interface to interact with the Flux Network Uses port 16127 by default

Continued Build Setup

# serve with hot reload at localhost:16126
npm run fluxdev

Made with ❤️ by the Flux Team

flux's People

Contributors

thetrunk avatar cabecinha84 avatar sygem avatar jacekadamczyk avatar xk4milx avatar kyuubi2709 avatar sikbik avatar alihm avatar johnhanlon86 avatar flikites avatar daz-williams avatar kyuubi-2709 avatar dk808 avatar honsontran avatar veralidity avatar fegauthier avatar gorgarp avatar champ8644 avatar fallengravity avatar ilbertt avatar techdufus avatar kadefi avatar mauricio503 avatar max1ne avatar piraces avatar cmdntd avatar dependabot-preview[bot] avatar theraw avatar motailab avatar mengkychen-ezpizee avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.