/genieacs

A fast and lightweight TR-069 Auto Configuration Server (ACS)

Primary LanguageTypeScriptGNU Affero General Public License v3.0AGPL-3.0

GenieACS

GenieACS is a high performance Auto Configuration Server (ACS) for remote management of TR-069 enabled devices. It utilizes a declarative and fault tolerant configuration engine for automating complex provisioning scenarios at scale. It's battle-tested to handle hundreds of thousands and potentially millions of concurrent devices.

Quick Start

Important: This is a pre-release branch. Use v1.1 for production deployments.

Install Node.js and MongoDB. Refer to their corresponding documentation for installation instructions. The supported versions are:

  • Node.js: 10.x through 12.x
  • MongoDB: 2.6 through 4.1

Clone this repo or download the source archive then cd into the source directory and install the required dependencies:

npm install

Now build:

npm run build

Finally, run the following services from the build that's generated under 'dist' directory:

genieacs-cwmp

This is the service that the CPEs will communicate with. It listens on port 7547 by default. Configure the ACS URL in your devices accordingly.

./dist/bin/genieacs-cwmp

You may optionally use genieacs-sim as a dummy TR-069 simulator if you don't have a CPE at hand.

genieacs-nbi

This is the northbound interface module. It exposes a REST API on port 7557 by default. This one is only required if you have an external system integrating with GenieACS using this API.

./dist/bin/genieacs-nbi

genieacs-fs

This is the file server from which the CPEs will download firmware images and such.

./dist/bin/genieacs-fs

genieacs-ui

This serves the web based user interface. It listens on port 3000 by default.

./dist/bin/genieacs-ui --ui-jwt-secret secret

The argument --ui-jwt-secret supplies the key used for signing browser cookies.

The UI has plenty of configuration options. When you open GenieACS's UI in a browser you'll be greeted with a database initialization wizard to help you populate some initial configuration.

Support

The forum is a good place to get guidance and help from the community. Head on over and join the conversation! In addition, the wiki provides useful documentation and tips from GenieACS users.

For commercial support options and professional services, please visit genieacs.com.

License

Copyright 2013-2019 GenieACS Inc. GenieACS is released under the AGPLv3 license terms.