{"id":13472478,"url":"https://github.com/RunOnFlux/flux","last_synced_at":"2025-03-26T15:32:27.725Z","repository":{"id":37030954,"uuid":"199980228","full_name":"RunOnFlux/flux","owner":"RunOnFlux","description":"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","archived":false,"fork":false,"pushed_at":"2024-10-29T11:10:16.000Z","size":81907,"stargazers_count":233,"open_issues_count":17,"forks_count":309,"subscribers_count":25,"default_branch":"master","last_synced_at":"2024-10-29T13:11:55.797Z","etag":null,"topics":["cloud","computing","decentralized","flux","server","web3"],"latest_commit_sha":null,"homepage":"https://home.runonflux.io","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RunOnFlux.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-01T05:02:39.000Z","updated_at":"2024-10-22T14:52:34.000Z","dependencies_parsed_at":"2023-12-26T04:22:59.065Z","dependency_job_id":"d6005de1-ce53-4630-b064-bdbcf848e643","html_url":"https://github.com/RunOnFlux/flux","commit_stats":null,"previous_names":[],"tags_count":218,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RunOnFlux%2Fflux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RunOnFlux%2Fflux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RunOnFlux%2Fflux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RunOnFlux%2Fflux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RunOnFlux","download_url":"https://codeload.github.com/RunOnFlux/flux/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245681487,"owners_count":20655206,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud","computing","decentralized","flux","server","web3"],"created_at":"2024-07-31T16:00:54.985Z","updated_at":"2025-03-26T15:32:27.719Z","avatar_url":"https://github.com/RunOnFlux.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","web3"],"sub_categories":[],"readme":"# Flux\n\n![Flux.png](flux_banner.png)\n\n[![DeepScan grade](https://deepscan.io/api/teams/6436/projects/8442/branches/100920/badge/grade.svg)](https://deepscan.io/dashboard#view=project\u0026tid=6436\u0026pid=8442\u0026bid=100920)[![CodeFactor](https://www.codefactor.io/repository/github/runonflux/flux/badge)](https://www.codefactor.io/repository/github/runonflux/flux)[![Total alerts](https://img.shields.io/lgtm/alerts/g/RunOnFlux/flux.svg?logo=lgtm\u0026logoWidth=18)](https://lgtm.com/projects/g/RunOnFlux/flux/alerts/)[![Language grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/RunOnFlux/flux.svg?logo=lgtm\u0026logoWidth=18)](https://lgtm.com/projects/g/RunOnFlux/flux/context:javascript)[![codecov](https://codecov.io/gh/RunOnFlux/flux/branch/development/graph/badge.svg?token=N31OUPUWZJ)](https://codecov.io/gh/RunOnFlux/flux)\n\nFlux is available on domains, load balancing the entire Flux network. You can access both UI and API on following main domain\n\n[Flux](https://home.runonflux.io)\n\n\n[API](https://api.runonflux.io)\n\n## API Documentation\n\n[API documentation](https://docs.runonflux.io)\n\n## Source code Documentation\n\n[Source Code documentation](https://source.runonflux.io)\n\n## The gateway to the Flux Network\n\nFlux 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.\n\nFlux Requires a reasonably new version of Node.js (npm), MongoDB and Docker. It is a MongoDB, Express.js, Vue.js, Node.js (MEVN) application\n\nThis application communicates locally with the Flux Daemon (fluxd), Benchmark Daemon (fluxbenchd) and other Flux instances.\n\nSupport for Ubuntu 18.04, 20.04, 22.04\n\nSupport NodeJS 16, 18, 20\n\nSupport for MongoDB 4.2, 4.4, 5.0, 6.0\n\n\n## Application Overview\n\n### Backend Solution - Flux\n\n- Provide communication with daemon, benchmark\n- Providing private API, and public API, Flux team API (limited!)\n- Listen and handle frontend requests\n- Requests signing and authenticity verifying\n- Handle communication with other Fluxes\n- Manage Flux applications - smart spawning, distributing workload, termination depending of application subscription.\n- Provide Explorer solution\n- and more!\n\n### Frontend Solution - Home\n\n- Display Flux status information\n- Display Flux Network information\n- Display Flux network information\n- Display Specific application information\n- Provide API access\n- Login into private API part (frontend part)\n- Login into Flux team API part (frontend part)\n- Private: Management of Flux\n- Private: Management of Flux Damone and Benchmark\n- Private: Update, status information\n- and more!\n\nThis application is open source and distributed under the GNU AGPLv3 licence\n\n## Start Flux\n\nFlux needs Daemon to be running, use apt.runonflux.io to install flux daemon\n\nbuild-essential is a recommended dependency\n\n```bash\n\nsudo apt-get install build-essential\n```\n\nSetup Mongodb on Ubuntu 18.04 (LTS):\n\n```bash\nwget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -\n\necho \"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\n\nsudo apt-get update\n\nsudo apt-get install -y mongodb-org\n\nsudo service mongod start\n```\n\nSetup Mongodb on Ubuntu 20.04 (LTS):\n\n```bash\nwget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -\n\necho \"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\n\nsudo apt-get update\n\nsudo apt-get install -y mongodb-org\n\nsudo service mongod start\n```\n\nSetup Mongodb on Red Hat or CentOS:\n\n```bash\nsudo yum install nano\n\nsudo nano /etc/yum.repos.d/mongodb-org-5.0.repo\n\n# Paste below into the mongodb-org-5.0.repo file\n\n[mongodb-org-5.0]\nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/\ngpgcheck=1\nenabled=1\ngpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc\n\n\n# exit nano\n\nsudo yum install -y mongodb-org\n\n# Start Mongodb on startup for CentOS 7\nsudo systemctl enable mongod.service\n\n# Start Mongodb on startup for CentOS 5/6\nsudo chkconfig mongod on\n\n# Start Mongodb on CentOS 7\nsudo systemctl start mongod.service\n\n# Start Mongodb on CentOS 5/6\nsudo service mongod start\n```\n\nInstall Node Version Manager (NVM) and NodeJS 16/18/20 on Ubuntu 18.04/20.04/22.04:\n\n```bash\nsudo apt-get install curl\n\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash\n\nsource ~/.profile\n\nnvm install 20\n\nnvm use 20\n```\n\nInstall Node Version Manager (NVM) and NodeJS 20 on Redhat/CentOS:\n\n```bash\nsudo yum install curl\n\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash\n\nsource ~/.bashrc\n\nnvm install 20\n\nnvm use 20\n```\n\nInstall Docker using on Ubuntu 20.04\n\n```bash\nsudo apt install apt-transport-https ca-certificates curl software-properties-common\ncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -\nsudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable\"\nsudo apt-get update\nsudo apt install docker-ce\n```\n\nInstall Docker using on Ubuntu 18.04\n\n```bash\nsudo apt install apt-transport-https ca-certificates curl software-properties-common\ncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -\nsudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable\"\nsudo apt-get update\nsudo apt install docker-ce\n```\n\nInstall Syncthing\n\n```bash\nsudo curl -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg\necho '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\nsudo apt install ca-certificates -y \u003e /dev/null 2\u003e\u00261\nsudo apt-get update -y\nsudo apt-get install syncthing -y\n```\n\nInstall Netcat\n\n```bash\nsudo apt install netcat -y\n```\n\nClone Flux repo (Ubuntu):\n\n```bash\nsudo apt-get install git\n\ngit clone https://github.com/runonflux/flux\n```\n\nClone Flux repo (Redhat/CentOS):\n\n```bash\nsudo yum install git\n\ngit clone https://github.com/runonflux/flux\n```\n\nAllow Inbound Connections on UFW firewall - default ports (if ufw enabled):\n\n```bash\nsudo ufw allow 16126\nsudo ufw allow 16127\nsudo ufw allow 16128\nsudo ufw allow 16129\n```\n\nInstall Flux dependancies (Ubuntu/CentOS/Redhat):\n\n```bash\ncd flux\n\nnpm install\n```\n\nTo run this as Production:\n\n```bash\nnpm start\n```\n\nTo run this as Development: Start both solutions with\n\n```bash\nnpm run fluxdev\nnpm run homedev\n```\n\nTHE SETUP ENDS HERE...\nThe following information below provided for brief usage guidelines and/or examples only.\n\n## Flux Home Information\n\n\u003e Frontend interface to interact with the Flux network\n\u003e Uses port 16126 by default\n\n## Build Setup\n\n```bash\n# serve with hot reload at localhost:16126\nnpm run homedev\n\n# build for production with minification\nnpm run homebuild\n\n# build for production and view the bundle analyzer report\nnpm run homebuild --report\n```\n\n## Flux Information\n\n\u003e Backend interface to interact with the Flux Network\n\u003e Uses port 16127 by default\n\n## Continued Build Setup\n\n```bash\n# serve with hot reload at localhost:16126\nnpm run fluxdev\n```\n\nMade with ❤️ by the Flux Team\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRunOnFlux%2Fflux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRunOnFlux%2Fflux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRunOnFlux%2Fflux/lists"}