Update README

This commit is contained in:
Zaid Abdulla committed 2017-03-10 16:31:53 -08:00
1 parent 233a1bf903
commit 8aeda16b3b
1 file changed
+42 -32
+42 -32
View File
@@ -1,65 +1,75 @@
# GenieACS # GenieACS
GenieACS is a *blazing fast* TR-069 auto configuration server (ACS) built with Node.js, Redis, and MongoDB. It's technology neutral and configurable to fit any service provider needs. This is the core back end component. Official front end GUI is available at https://github.com/zaidka/genieacs-gui. GenieACS is a fast and lightweight TR-069 auto configuration server (ACS). This
is the core back end component. A GUI front end is available at
https://github.com/zaidka/genieacs-gui.
## Features ## Features
* **Massively concurrent**: Can handle hundreds of thousands of connected devices on a single server even with low inform interval. - **Battle-tested at scale**: Can scale to manage hundreds of thousands and
* **Preset-based configuration**: Define sets of configurations that devices will pick up and apply as needed based on given preconditions. potentially millions of devices
* **Tagging**: Use tags to group devices for more manageable presets. - **Powerful provisioning system**: Scriptable configuration to handle complex
* **Searching**: Query for devices on any parameter (supports all common operators including regular expressions). device provisioning scenarios and other automated operations such as firmware
* **Parameter aliasing**: Define aliases to unify parameter paths from different types of devices. Aliases behave like normal parameters (i.e. can be queried or modified). upgrade
* **Extensive API**: A simple yet rich HTTP-based API allows easy integration with other system. - **Extensive API**: A rich HTTP-based API allows easy integration with other
systems
## Getting started ## Quick Start
Install [Node.js](http://nodejs.org/), [Redis](http://redis.io/), and [MongoDB](http://www.mongodb.org/). Refer to the corresponding documentation for installation guides. Then use NPM to install GenieACS by typing: Install [Node.js](http://nodejs.org/), [Redis](http://redis.io/), and
[MongoDB](http://www.mongodb.org/). Refer to the corresponding documentation for
installation guides. Supported versions are:
- Node.js: 6.x and 7.x (7.x recommended)
- Redis: 2.4 through 3.2
- MongoDB: 2.6 through 3.4
Then install GenieACS using NPM:
npm install -g genieacs npm install -g genieacs
You may need to modify the configuration files under "config" directory (in /lib/node_modules/genieacs/config) depending on your setup.
Alternatively, you can install from source by cloning the git repository: Alternatively, you can install from source by cloning the git repository:
cd /opt git clone https://github.com/zaidka/genieacs.git
git clone https://github.com/zaidka/genieacs.git --branch v1.0
cd genieacs cd genieacs
git checkout $(git tag -l v1.1.* --sort=-v:refname | head -n 1)
npm install npm install
npm run configure
npm run compile npm run compile
Finally, run the following in GNU Screen session or something similar: Finally, run the following (from bin directory if installing from source):
genieacs-cwmp 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. 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.
genieacs-nbi genieacs-nbi
This is the northbound interface module. It exposes a REST API on port 7557 by default. This is needed for the GUI front end to communicate with. 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 genieacs-fs
This is the file server from which the CPEs will download firmware images and other types of files. This is the file server from which the CPEs will download firmware images and
such.
You can use stream redirection to output to log files: Note: For production deployment make sure to run those as background services.
genieacs-cwmp >> /var/log/genieacs-cwmp.log 2>> /var/log/genieacs-cwmp-err.log For further details about installation and configuration, refer to the
genieacs-nbi >> /var/log/genieacs-nbi.log 2>> /var/log/genieacs-nbi-err.log [wiki section](https://github.com/zaidka/genieacs/wiki).
genieacs-fs >> /var/log/genieacs-fs.log 2>> /var/log/genieacs-fs-err.log
For further details about installation and configuration, refer to the [wiki section](https://github.com/zaidka/genieacs/wiki).
You may now proceed with installing [GenieACS GUI front end](https://github.com/zaidka/genieacs-gui).
## Support ## Support
The [Users mailing list](http://lists.genieacs.com) is a good place to get guidance and help from the community. Head on over and join the conversation! In addition, the [wiki](https://github.com/zaidka/genieacs/wiki) provides useful documentation and tips from GenieACS users. The [Users mailing list](http://lists.genieacs.com) is a good place to get
guidance and help from the community. Head on over and join the conversation!
In addition, the [wiki](https://github.com/zaidka/genieacs/wiki) provides useful
documentation and tips from GenieACS users.
You may submit bug reports or feature requests [here](https://github.com/zaidka/genieacs/issues). For device interoperability issues, please consult the mailing list first — it's likely that a workaround already exists. For commercial support options and professional services, please visit
[genieacs.com](https://genieacs.com).
For commercial support options and professional services, please visit [genieacs.com](https://genieacs.com). ## License
## Contributing Copyright 2013-2017 Zaid Abdulla. GenieACS is released under the
[AGPLv3 license terms](https://raw.githubusercontent.com/zaidka/genieacs/master/LICENSE).
Contributions are welcome. Fork this repo and open a pull request and wait for feedback. You can also contribute by enhancing the documentation in the [wiki section](https://github.com/zaidka/genieacs/wiki).