GithubHelp home page GithubHelp logo

dockumentor's Introduction

Dockumentor: Docker Compose Documentation Generator

Dockumentor is a tool designed to automatically generate comprehensive documentation for Docker Compose configurations.

Features:

  • Mermaid Diagram Generation: Automatically generate Mermaid diagrams that visually map the service relationships and network configurations.
  • Sankey Diagrams for Network and Dependency Insights: Visualize network ports and service dependencies through Sankey diagrams to better understand internal and external bindings and service interactions.
  • Template-based Documentation: Customize documentation output using Jinja2 templates, allowing for flexibility in how information is presented.
  • CLI Support: Comes with a command-line interface to easily generate and update documentation directly from the terminal.
  • Configurable: Easily adaptable to include more detailed information such as volume mappings, environment variables, and custom commands through a simple YAML configuration.

Ideal for:

  • Developers looking to automate the documentation of their Docker environments.
  • Teams requiring consistent and updated documentation for development, testing, and production setups.
  • Educators and trainers who provide tutorials or workshops on Docker and need clear, visual representations of complex configurations.

By simplifying the documentation process, Dockumentor helps you focus more on development and less on the manual effort of maintaining up-to-date documentation of your Docker setups.

Installation

To install Dockumentor, you can use pip, the Python package manager. Make sure you have Python and pip installed on your system. Then run the following command:

pip install dockumentor

Usage

Once installed, you can use the Dockumentor CLI to generate a README for your project with Docker Compose.

Generating Documentation

To generate a README for a project with a Docker Compose configuration, navigate to your project directory and run the following command:

dockumentor --compose-file path/to/docker-compose.yml --output README.md
  • --compose-file: Specify the path to your docker-compose.yml file.
  • --output: Specify the path to the output file (e.g., README.md). This is where the generated documentation will be written.

Example Command

dockumentor --compose-file ./docker-compose.yml --output ./README.md

Appending to Existing Documentation

If you want to append the generated documentation to an existing README file, use the --append option:

dockumentor --compose-file ./docker-compose.yml --output ./README.md --append

This will insert the generated documentation within specific markers in the existing README file, ensuring that the new content is added without overwriting the existing content.

Customizing the Template

Dockumentor uses Jinja2 templates to format the generated documentation. You can customize the template to match your project's documentation style. Create a custom template file and specify its path using the --template option.

Example Command with Custom Template

dockumentor --compose-file ./docker-compose.yml --template ./templates/dockumentor_compose.md --output ./README.md

This command specifies a custom template for generating the documentation. If you don't specify a template, Dockumentor will use a default template.

Author

dockumentor's People

Contributors

exaluc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  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.