{"repo":"s0rg/decompose","free":true,"listed":false,"github":"https://github.com/s0rg/decompose","clone":"git clone https://github.com/s0rg/decompose.git","description":"Reverse-engineering tool for docker environments","language":"Go","stars":140,"topics":["docker","docker-compose","reverse-engineering","cli","golang-application","dotviz","structurizr-dsl","developer-tools","diagrams","software-architecture"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"decompose Reverse-engineering tool for docker environments. Takes all network connections from your docker containers and exports them as: - graphviz dot - structurizr dsl - compose yaml - plant uml - pseudographical tree - json stream - statistics - nodes, connections and listen ports counts - CSV with columns: name , listen and outbounds rationale I was in need for a tool to visualize and inspect big (more than 470 containers) dockerized legacy system without any schemes and having a bare minimum of documentation analogs Closest analogs, i can find, that not suit my needs very well: - Red5d/docker-autocompose - produces only compose yaml - justone/dockviz - produces only dot , links and ports are taken from compose configuration ( links and ports sections) directly, therefore can miss some of them - LeoVerto/docker-network-graph - very same as above, in python - weaveworks/scope - deprecated, no cli features - os-independent, it uses different strategies to get container connections: - running on linux as root is the fastest way and it will work with all types of containers (even scratch -based) as it use nsenter - running as non-root or on non-linux OS will attempt to run netsat inside container, if this fails (i.e. for missing netstat binary), no connections for such container will be gathered - single-binary, static-compiled unix-way cli (all output goes to stdout, progress information to stderr) - produces detailed connections graph with ports - save json stream once an","default_branch":null,"files":null,"tree":[],"storefront":"/r/s0rg","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/s0rg/decompose/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}