References

Installation

GenieACS core

GenieACS is built with Node.js and uses MongoDB as its database. The supported versions are:

  • Node.js: 6.x and 8.x (8.x recommended)
  • MongoDB: 2.6 through 3.4

Refer to their corresponding documentation for installation instructions.

Install build tools and libxml2 development files from your system’s package manager.

Then install GenieACS using NPM:

npm install -g genieacs

Alternatively, you can install from source by cloning the git repository:

git clone https://github.com/zaidka/genieacs.git
cd genieacs
git checkout $(git tag -l v1.1.* --sort=-v:refname | head -n 1)
npm install
npm run compile

Before proceeding, find and review the file “config.json” in “config” directory where GenieACS is downloaded.

Finally, run the following (from bin directory if installing from source):

genieacs-cwmp

This is the service that the CPEs will communicate with. It listens to port 7547 by default (see config/config.json). Configure the ACS URL of your devices accordingly (e.g. http://acs.example.com:7547/).

genieacs-nbi

This is the northbound interface module. It exposes a REST API on port 7557 by default. This must be running for the GUI front end to work.

genieacs-fs

This is the file server from which the CPEs will download firmware images and such. Make sure to set the config option FS_HOSTNAME to your server’s hostname or IP.

Note: For production deployment it’s advised to run those as background services.

For further details about installation and configuration, refer to the wiki.

GenieACS GUI

The front end component (genieacs-gui) is built with Ruby on Rails. Install Ruby (2.2.2 or newer) and Bundler.

Clone the git repository:

git clone https://github.com/zaidka/genieacs-gui.git

Once that is done, create configuration files by copying the provided templates.

cd genieacs-gui
cp config/graphs-sample.json.erb config/graphs.json.erb
cp config/index_parameters-sample.yml config/index_parameters.yml
cp config/summary_parameters-sample.yml config/summary_parameters.yml
cp config/parameters_edit-sample.yml config/parameters_edit.yml
cp config/parameter_renderers-sample.yml config/parameter_renderers.yml
cp config/roles-sample.yml config/roles.yml
cp config/users-sample.yml config/users.yml

Now install the required gems by typing (while in the project directory):

bundle

You’re now good to go. Start the application server:

rails s

Make sure the back end is running as the GUI depends on it.

See genieacs-gui’s wiki for more details.