Giter Club home page Giter Club logo

docker-nedi's Introduction

hub.docker.com/r/bobmel/nedi

Introduction

Dockerfile to build a Nedi container image for Wandboard Quad (armhf architecture). It probably works for other ARM-based computers like the Raspberry Pi but that's not tested.

  • NeDi discovers your network devices and tracks connected end-nodes. Some of its features are:
    • Topology awareness and network maps
    • Traffic graphing
    • Uptime, BGP peer and interface status monitoring
    • Extensive reporting ranging from devices, modules and interfaces
  • This container uses a customized Nginx with Php-FPM which includes s6 overlay enabled for PID 1 Init capabilities, zabbix-agent for individual container monitoring, Cron also installed along with other tools (bash,curl, less, logrotate, mariadb-client, nano, vim) for easier management. It also supports sending to external SMTP servers.

Changelog

Authors

Table of Contents

Prerequisites

This image assumes that you are using a reverse proxy such as jwilder/nginx-proxy and optionally the Let's Encrypt Proxy Companion @ https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion in order to serve your pages. However, it will run just fine on it's own if you map appropriate ports.

Installation

Builds of the image are available on Registry and is the recommended method of installation.

docker pull hub.docker.com/bobmel/nedi:(imagetag)

The following image tags are available:

  • latest - Nedi 1.8C with PHP 7.3.x w/Alpine edge

Quick Start

Configuration

Data-Volumes

When the container starts up for the first time it downloads and installs Nedi in /data/nedi. Nedi's configuration file, /etc/nedi.conf, is a symlink to /data/nedi/nedi.conf. Nginx's default server config /etc/nginx/conf.d/default.conf is a symlink to Nedi's web server configuration file /etc/nginx/conf.d/default.conf/default_nedi.conf.

The following directory is used for configuration and can be mapped for persistent storage.

Directory Description
/data/nedi Data Persistence for Nedi

Additional directories as specified in the Base image, the Nginx Base, and Nginx with Php-FPM can also be mapped to the host for persistent storage.

Database

A separately running MariaDB instance is required. The database to use is set using environment variables. See the Environment Variables section for details.

Environment Variables

Below is a list of available options that can be used to customize your installation.

Parameter Description
DB_HOST Name (or IP) of host/container running MariaDB (default: nedi)
DB_NAME Name of the Nedi database (default: nedi)
DB_USER Username for Nedi to use with MariaDB (default: nedi)
DB_PASS Password for Nedi to use with MariaDB (required)
ROOT_PASS Password for root user on MariaDB host (required)
ENABLE_MONITORING_SERVICE Enable/disable Nedi monitoring service (default: TRUE)
ENABLE_SYSLOG_SERVICE Enable/disable Nedi syslog service (default: FALSE)
ENABLE_NETFLOW_SERVICE Enable/disable Netflow service (default: FALSE)
NEDI_CERT_INFO SSL Certificate data (default: /C=CH/ST=ZH/L=Zurich/O=NeDi Consulting/OU=R&D)
NEDI_SOURCE_URL Nedi source URL (default: http://www.nedi.ch/pub)
NEDI_VERSION Nedi version (default: 1.8C)
PHP_INI_FILE Location of configuration file for php (default: 1/etc/php7/php.ini)

Additional options can be found the Base image, the Nginx Base, and Nginx with Php-FPM.

Networking

The following ports are exposed.

Port Description
80 Nedi HTTP web interface (not enabled by default)
162 UDP Nedi monitoring service
443 Nedi HTTPS web interface
514 UDP Nedi Syslog service

Maintenance

Shell Access

For debugging and maintenance purposes you may want access the containers shell.

docker exec -it (whatever your container name is, e.g., nedi) bash

References

docker-nedi's People

Contributors

bobmel avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.