Skip to main content

VeeamDesigner: Create Veeam Design Diagram & Firewall configurations (POC).

  • July 22, 2026
  • 10 comments
  • 43 views

Ever since I discovered the Magic Ports port-mapping tool, I've had the idea of creating a solution where you simply provide a list of systems (ESXi, vCenter, Veeam Backup & Replication, Veeam Repository, etc.) and assign their roles. From that alone, the tool automatically generates both a graphical and textual representation of the relationships and TCP/IP communication between them. Those relationships are automatically scraped from the Veeam documentation and stored in a SQLite database.

I also created an interactive explorer that lets you navigate and better understand the relationships between the many Veeam roles.

Building on my previous experience generating Draw.io diagrams with Python, I started developing this tool. After overcoming quite a few setbacks, I finally decided to publish this proof of concept (PoC).

The project is still incomplete and currently supports only Veeam Backup & Replication v12, so it isn't fully up to date yet. However, I think it's mature enough to share with the community, gather feedback, and find out whether this idea is worth developing further.

I've published it on GitHub as a public mirror repository:
https://github.com/strangenewcoder/VeeamDesigner-public

The reason it's a mirror is simple: the history of my development repository is... let's just say it's something to be ashamed of. 😄 This is also my first real project using Git, so please be gentle. And my programming skills were definitely very rusty when I started.

If my programming skills are rusty, my writing skills are even worse!

I've also spent a considerable amount of time documenting the project. I believe the walkthrough contains enough information to understand how everything works and even recreate everything from scratch. That said, there's no need to repeat all the steps yourself—most of the heavy lifting has already been done.

That said... remember what I said about my writing skills. 😄 I think all the information is there, but writing good documentation is definitely outside my comfort zone. My recommendation is to start by exploring the sample Draw.io projects and the interactive relationship explorer, then look at one of the sample project (.md) files. That should give you a good feel for what the tool does before diving into the implementation details.

And if you get the impression that parts of the code or the documentation were written with AI... you're absolutely right. After not writing a single line of code for almost 25 years, there is simply no way I could have gone from that to learning Python and building a JavaScript frontend entirely on my own.

No way. 😄

P.S. Compared to some of the amazing tools I've seen shared in this community, this is just a toy. But I hope it's the kind of toy that can eventually grow into something genuinely useful.

P.P.S. I'm posting this almost in incognito mode. It's a personal project that I deliberately keep separate from my day job—probably just me being a little paranoid. 😄

 

10 comments

Chris.Childerhose
Forum|alt.badge.img+22

Are there plans to have v13 supported because many have upgraded and you will get more feedback on the tool if it supports v13.  I don't have v12 anymore and many won't.

Just something to consider as any tool of this nature is a great help for documenting and creating diagrams, etc.


Are there plans to have v13 supported because many have upgraded and you will get more feedback on the tool if it supports v13.  I don't have v12 anymore and many won't.

Just something to consider as any tool of this nature is a great help for documenting and creating diagrams, etc.


At the moment it is a crude POC
 

If the feedback tell me that can be useful in real-world scenarios, I definitely plan to update it for Veeam v13.

At the moment, one of its main limitations is how it models proxies and repositories. Since every proxy can communicate with every repository, the current implementation links all proxies to all repositories. Obviously, that's not always representative of a real deployment. I still need to decide on the best way to handle this—whether by allowing manual exclusions, introducing some form of site awareness, partitioning, or another approach.

Supporting v13 isn't simply a matter of updating a few values. After taking a first look at the Veeam documentation, it seems the scraping logic will need significant changes. I may also need to study the updated Magic Ports database to understand how it models the relationships between components and then verify everything against the official documentation. During development I also found a few inconsistencies in the documentation itself, so I'd like to validate everything before relying on it. Trying to solve all of this before publishing the project would have delayed the release even further.

This is, after all, a personal project. I originally built it to deepen my understanding of Veeam, have some fun experimenting with Python again after many years, and learn how to work effectively with AI-assisted development. However, if the feedback is encouraging and people find the concept useful, I'm more than happy to keep improving it.

For now, my main goal is to understand whether the concept itself is worth investing more time in. If the answer is yes, I'd like to expand it considerably. At the moment, the implementation focuses primarily on VMware environments and covers only part of the Veeam ecosystem, so there's still plenty of room to grow.


coolsport00
Forum|alt.badge.img+23
  • Veeam Legend
  • July 23, 2026

I’d be interested to check this out ​@strangenewcoder . When will it be available?

Thanks for sharing with the Community!


It is available on github 

https://github.com/strangenewcoder/VeeamDesigner-public

Cutting and pasting must have somewhat “disabled” the link and is not visible on original post.

To do a first look, go to the samples\sample folders open the cdp1.drawio files firing up https://app.diagrams.net, move the icon over the icons to display the tooltips and open the text file sample.vd and take a cursory look at the rows containing the cdp1 text (it is already a bit complicated.. there a lot of system for a first look..) then i hope that the rabbit hole will suck you in 8-)))

Then for the next step you can run the Ports Explore webapp, but it require a bit of work: If you have a bit of practices with phython running in a Windows command line, the initial setup will take 30 minutes top.

--- here a TLDR of setup… the walkthrough is already too much for the beginning, but if it is the first time dealing with python it can be a bit of an hassle, especially if you do not use Windows (the instruction are a bit Windows specific, sorry about that)

Then install python and a virtual environment (to keep python install clean) install the 3 modules (beautifulsoup4 flask n2g) and configure the env.cmd to match the path where you unzip the files.
Then skip to the point where you start Ports Explorer, the web app, and start clicking around 8-))) i think that can be enough to give a taste of the tool.



 


Chris.Childerhose
Forum|alt.badge.img+22

Are there plans to have v13 supported because many have upgraded and you will get more feedback on the tool if it supports v13.  I don't have v12 anymore and many won't.

Just something to consider as any tool of this nature is a great help for documenting and creating diagrams, etc.


At the moment it is a crude POC
 

If the feedback tell me that can be useful in real-world scenarios, I definitely plan to update it for Veeam v13.

At the moment, one of its main limitations is how it models proxies and repositories. Since every proxy can communicate with every repository, the current implementation links all proxies to all repositories. Obviously, that's not always representative of a real deployment. I still need to decide on the best way to handle this—whether by allowing manual exclusions, introducing some form of site awareness, partitioning, or another approach.

Supporting v13 isn't simply a matter of updating a few values. After taking a first look at the Veeam documentation, it seems the scraping logic will need significant changes. I may also need to study the updated Magic Ports database to understand how it models the relationships between components and then verify everything against the official documentation. During development I also found a few inconsistencies in the documentation itself, so I'd like to validate everything before relying on it. Trying to solve all of this before publishing the project would have delayed the release even further.

This is, after all, a personal project. I originally built it to deepen my understanding of Veeam, have some fun experimenting with Python again after many years, and learn how to work effectively with AI-assisted development. However, if the feedback is encouraging and people find the concept useful, I'm more than happy to keep improving it.

For now, my main goal is to understand whether the concept itself is worth investing more time in. If the answer is yes, I'd like to expand it considerably. At the moment, the implementation focuses primarily on VMware environments and covers only part of the Veeam ecosystem, so there's still plenty of room to grow.

Ok.  I will see if I can find a v12 install to test on, but we might need to rely on others as I am at v13 in my homelab and at all our sites, so why my v13 question.


another thing i’ve mentioned the styles folder, where you can configure the icons.
The styles already provided are blank… it it a last minute decision to not provide the one i’ve used because of possible copyright.. the shapes can be easily configured, are text files and to use a desired shape it is simple ad open a empty drawio, using the desired shape to create an object, right click on the object, Edit Style, it appear the style as text, copy/paste in the file with the corrispondent name and that it.

this procedure was in the doc but at some point gost lost in the keyboard: my writing skill are baaad in my native language, and it is not english.

If someone god-like being in Veeam can confirm that the Veeam Shapes provided with Drawio can be scraped end utilized by my tool 8-)))) the last thing i need is to deal with these issues…
 


Are there plans to have v13 supported because many have upgraded and you will get more feedback on the tool if it supports v13.  I don't have v12 anymore and many won't.

Just something to consider as any tool of this nature is a great help for documenting and creating diagrams, etc.

 

Ok.  I will see if I can find a v12 install to test on, but we might need to rely on others as I am at v13 in my homelab and at all our sites, so why my v13 question.


There is NO need to install a v12 test lab, there is no need to have a lab 8-))

the output is simply a clickable draw like this where you can , for example , that the VBRBACKUPSERVER01 need to communicate with the vCenter VC01 with port 443 and that is obtained declaring VBRBACKUPSERVER01 as VBRBACKUPSERVER and VC01 as VMWAREVCENTER

2 rows of text
all,veeam,repo1,repo2,cdp1;VBRBACKUPSERVER01;192.168.207.100;VBRBACKUPSERVER;1
all,repo2,cdp1;VC01;192.168.209.100;VMWAREVCENTER;1

the relation is then obtained from the db constructed from the v12 doc

and adding this, to declare that VC01 ia a VCENTER where is is implemented VMWARE CDP

all,cdp1;VC01;;VMWAREVCENTERCDP;0

it add the info that VC01 deend to communicate with VC01 for CDP purpoese.
​​​​

and the output will be something like that (it is a clip of a more complex project)

 

Sorry for the misundestanding, for a moment i forgot that 1 image can replace a thousand words sometimes.. 

th v13 issue is that maybe some thing are changed between v12 and v13, so the info can be not so accurates.
 


and the beauty of the approach i’ve used is that if you move around the obtject and add something on the project, it will  read the previous drawio version and keep the position of a system (until the name change) so the draw can be an iterative process.. 


I’d be interested to check this out ​@strangenewcoder . When will it be available?

Thanks for sharing with the Community!

Thanks to you for the VMCE exam material 8-))) this is a tool that i’ve cobbled up during the study and the network setup of Veeam is one of things tha, if done right, can be time consuming, and providing something like this (and the list of rules in firewall-speak when implemented, now is really a stub) for the networks guys can be very nice, and i’m talking as someone who sometime is also the networks guy…

In a crazy attempt i’ve implemented a lab where EVERY SYSTEM was in a separate network, logged everything and verified every port requirements against the actual logs.. but at some point the work interfered with the play 8-))) but it was fun and educational..


coolsport00
Forum|alt.badge.img+23
  • Veeam Legend
  • July 23, 2026

Thank you ​@strangenewcoder . And no problem about the VMCE+. Chris and I were a part of the development of the new exam. Was a laborious, but worthy & rewarding project to be a part of 😊