NetworkMaps
Try it NowFeaturesSource CodeDocs

Installation.

Basic Instalation for Ubuntu (and other Linux distros).
  1. Install Node.js. Version 10.15.1 or higher. Check this link for instructions: GITHUB Node Installation.
  2. Clone the repository.
    git clone https://github.com/pablomarle/networkmaps.git
  3. Create the configuration file. The configuration file uses JSON format. The most basic configuration file would look like this:
    {
        "socket": {
            "address": "<ip>",
            "port": <port>
        },
        "sendmail": {
            "server": "<smtp_server>",
            "port": <smtp_port>,
            "is_secured": <smtp_is_secured>,
            "user": "<smtp_user>",
            "password": "<smtp_password>",
            "from": "<email_from>"
        }
    }
    • <address>: string containing the ip address where the server will be listening. By default will be localhost.
    • <port>: port number where the server will be listening. By default will be 3000.
    • <smtp_server>: smtp server used to send emails to users.
    • <smtp_port>: smtp port where the smtp server is listening.
    • <smtp_is_secured>: true or false depending on whether we use a secured smtp connection (TLS) or not.
    • <smtp_user>: username to authenticate to smtp server.
    • <smtp_password>: password.
    • <email_from>: email address we will be sending emails from.

    Networkmaps expects the configuration file to be in: /etc/networkmaps/config.json. The parameter --config can override this path.

  4. Create the directories where the user file, diagrams and emails will be stored and make sure you have permissions to read and write on them. If not changed on the configuration file, these will default to:
    • User files: /var/lib/networkmaps/users
    • Diagrams: /var/lib/networkmaps/diagrams
    • Email queue: /var/lib/networkmaps/sendmail/queue
    • Emails sent: /var/lib/networkmaps/sendmail/sent
  5. Run the server. From the Networkmaps directory, run ./server.js. If you want the server to take the config file from a different path, you can do so using the parameter --config <path to config file >
  6. Run the email server. From the Networkmaps directory, run ./smtp_daemon.js
  7. That is all. If you have any question, send me an email: pablo@networkmaps.org.
Installation other OS (windows, mac).
Although we haven't tested these options, it should be possible to run Networkmaps on windows or mac.
Running with HTTPS.
To run the service as https, you will have to do three things:
  1. Enable SSL on the socket.
  2. Enable https on the url.
  3. Provide a certificate and it's key.
  4. Configure the fqdn of the server (and the port).
All these actions are done on the config file. Here is an example:
{
    "use_ssl_socket": true,
    "use_ssl": true,
    "server": {
        "hostname": "<fqdn>",
        "port": <client_port>
    },
    "socket": {
        "address": "<ip>",
        "port": <port>,
        "cert": "<cert_path>",
        "key": "<cert_key>"
    },
    "sendmail": {
        "server": "<smtp_server>",
        "port": <smtp_port>,
        "is_secured": <smtp_is_secured>,
        "user": "<smtp_user>",
        "password": "<smtp_password>",
        "from": "<email_from>"
    }
}
Running static content on a separated http server.
It's possible to configure Networkmaps to serve it's static content from a different web server (or a CDN). Here is a sample config file. Please note that static content has to be served using the same protocol running on the server (http or https).
{
    "server": {
        "hostname": "<fqdn>",
        "port": <client_port>
    },
    "staticserver": {
        "hostname": "<static_fqdn>",
        "port": <static_port>        
    },
    "socket": {
        "address": "<ip>",
        "port": <port>,
        "cert": "<cert_path>",
        "key": "<cert_key>"
    },
    "sendmail": {
        "server": "<smtp_server>",
        "port": <smtp_port>,
        "is_secured": <smtp_is_secured>,
        "user": "<smtp_user>",
        "password": "<smtp_password>",
        "from": "<email_from>"
    }
}
Recomendations.
TODO