Skip to main content

Prerequisites

Before you begin, install the following: Refer to each project’s documentation for installation instructions.

Install GenieACS

Install GenieACS globally from npm:
sudo npm install -g genieacs

Start the services

GenieACS consists of four independent services. Start each one in a separate terminal session.
1

Start genieacs-cwmp (port 7547)

This is the TR-069 protocol server that CPE devices connect to. Configure your devices to use this as the ACS URL.
genieacs-cwmp
2

Start genieacs-nbi (port 7557)

This is the Northbound Interface, a REST API for external systems integrating with GenieACS.
genieacs-nbi
3

Start genieacs-fs (port 7567)

This is the file server from which CPE devices download firmware images and configuration files.
genieacs-fs
4

Start genieacs-ui (port 3000)

This serves the web-based user interface.
The --ui-jwt-secret flag is required. In production, use a secure random value instead of secret.
genieacs-ui --ui-jwt-secret secret
Open http://localhost:3000 in your browser to access the UI.

Initialize the database

When you first open the GenieACS UI in a browser, you will be greeted with a database initialization wizard. Follow the on-screen steps to populate the initial configuration.
All four services share a single MongoDB instance. Make sure MongoDB is running before starting any GenieACS service.

Test without a real device

If you don’t have a CPE device available, you can use genieacs-sim as a dummy TR-069 simulator to test your GenieACS setup.
genieacs-sim lets you simulate one or more CPE devices connecting to the CWMP service so you can develop and test provisioning scripts without physical hardware.

Next steps

Production installation

Set up GenieACS for production with systemd, a dedicated system user, and logrotate.

Environment variables

Configure ports, TLS, logging, and other options for each service.