Skip to content

drawthenet.io draws network diagrams dynamically from a text file describing the placement, layout and icons. Given a yaml file describing the hierarchy of the network and it's connections, a resulting diagram will be created.

License

Notifications You must be signed in to change notification settings

remygrandin/drawthenet.io

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DrawTheNet.IO : Diagrams as code for engineers.

Logo

DrawTheNet.IO draws network diagrams dynamically from a text file describing the placement, layout and icons.

See in live : https://drawthenet.io

Given a yaml file describing the hierarchy of the network and it's connections, a resulting diagram will be created.

screenshot

Motivation

Complex network diagrams typically involve specific placement of icons, connections and labels using a tool like Visio or OmniGraffle, using a mouse, and constantly zooming in and out for single pixel placement.

The goal behind drawthenet.io is to be able to describe the digram in a text file and have it rendered in SVG in the browser.

Also, being able to store a diagram as text makes it easy to version control and share.

Quick start

Go to https://drawthenet.io and start creating diagrams.

More Info

You can find a detailed help guide, including a full list of availalble properties integrated into the app by using the ? button in the top left corner of it, or here

Vendors Icons

The follwing vendors are available by default:

You also have access to all the icons from Iconify

Privacy notice

Tha app was designed to be used in a browser and does not require any installation. No diagram are stored anywhere but locally to your PC.

Build Instruction

Docker Build (Prefered)

You can easily build the tool to host locally with the provided docker file:

cd ./tools/
docker build -t local/drawthenet.io .

It will build the docker image from scratch, including downloading the icons from all vendor specified above. It will run the app with nginx, listening on port 80.

Local Build

You need libvisio2svg and powershell installed and available in you path for the full build to work. If not, some icons set (Cisco, Fortinet) will not be generated and available. You can find the build script in the tools folder

cd ./tools/
pwsh ./build.ps1

Additional arguments can be passed to the script to only run parts of the build process, refer to the script for more information.

The result will be created in the ./dist/ folder.

As it is a fully static website, you can host it on any webserver.

Built with great open source software

Contributing

Please do.

Versioning

1.0 Initial release. 2.0 Updated frameworks & added new saves and icons features.

Authors

  • Bradley Thornton - 2016-2022 Initial work - cidrblock
  • Rémy Grandin - 2023-Today Rework & modernization - remygrandin

License

This project is licensed under the MIT License. (see LISENCE.TXT)

The logo of the project is licensed under the Apache 2.0 (https://github.com/bytedance/IconPark/blob/master/LICENSE)

About

drawthenet.io draws network diagrams dynamically from a text file describing the placement, layout and icons. Given a yaml file describing the hierarchy of the network and it's connections, a resulting diagram will be created.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages

  • HTML 59.3%
  • JavaScript 26.5%
  • PowerShell 13.6%
  • CSS 0.6%