NetworkMonitor (nmap, socket) + RestAPI (flask, flasgger) + DB (MySQL)
834
Installation in using docker-compose:
Create a new file named docker-compose.yml with the following content:
services:
app:
image: dekimasc/networkmonitor:latest
restart: always
volumes:
- ./app:/app
depends_on:
- db
ports:
- "5000:5000"
environment:
NETWORK: 192.168.1.0/24
PORTS: 22,443,80
INTERVAL: 1.0
DB_HOST: db
DB_USER: root
DB_PASSWORD: mysecretpassword
DB_NAME: network_monitoring
FLASK_HOST: 0.0.0.0
FLASK_PORT: 5000
FLASK_DEBUG: True
SPD_TEST: True
db:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: mysecretpassword
MYSQL_DATABASE: network_monitoring
volumes:
- db_data:/var/lib/mysql
- ./base.sql:/docker-entrypoint-initdb.d/base.sql
volumes:
db_data:
Replace the values of NETWORK, PORTS, INTERVAL, etc. with yours
Run docker-compose up -d (or docker compose up -d if you use docker-compose-plugin for Docker CE) to start the containers.
docker run
You can use the following command to run the container:
Run MySQL container:
docker run -d \
--name network_monitor_db \
--restart always \
-e MYSQL_ROOT_PASSWORD=mysecretpassword \
-e MYSQL_DATABASE=network_monitoring \
-v db_data:/var/lib/mysql \
-v $(pwd)/base.sql:/docker-entrypoint-initdb.d/base.sql \
mysql:5.7
Run app container:
docker run -d \
--name network_monitor_app \
--restart always \
-p 5000:5000 \
-e NETWORK=192.168.1.0/24 \
-e PORTS=22,443,80 \
-e INTERVAL=1.0 \
-e DB_HOST=db \
-e DB_USER=root \
-e DB_PASSWORD=mysecretpassword \
-e DB_NAME=network_monitoring \
-e FLASK_HOST=0.0.0.0 \
-e FLASK_PORT=5000 \
-e FLASK_DEBUG=True \
-e SPD_TEST=True \
--link network_monitor_db:db \
-v $(pwd)/app:/app \
dekimasc/networkmonitor:latest
Replace the values of NETWORK, PORTS, INTERVAL, etc. with yours
Content type
Image
Digest
sha256:095a26cb8…
Size
82.8 MB
Last updated
over 1 year ago
docker pull dekimasc/networkmonitor