Welcome to your journey in utilizing Middleware, an open-source engineering management tool that turns the spotlight on how effectively your software teams operate through insightful DORA metrics. Let’s dive into how to set up Middleware and leverage its powerful features!
Table of Contents
- Introduction
- Features
- Quick Start
- Developer Setup
- Usage
- How We Calculate DORA
- Roadmap
- Contributing Guidelines
- Developer Automations
- Security Guidelines
- License
Introduction
Middleware is an open-source tool aimed at engineering leaders to measure and analyze their teams’ effectiveness using the DORA metrics. These four crucial values allow organizations to gauge their software delivery performance and operational efficiency.
Features
- Integration with various CI/CD tools
- Automated collection and analysis of DORA metrics
- Visualization of key performance indicators
- Customizable reports and dashboards
- Integration with popular project management platforms
Quick Start
Installing Middleware
To install Middleware, follow these steps:
- Ensure that you have Docker installed and running.
- Open the terminal and run the following commands:
- Wait for the services to initialize. The app will be available at localhost:3333.
docker volume create middleware_postgres_data
docker volume create middleware_keys
docker run --name middleware \
-p 3333:3333 \
-p 9696:9696 \
-p 9697:9697 \
-v middleware_postgres_data:/var/lib/postgresql/data \
-v middleware_keys:/app/keys \
-d middlewareeng/middleware:latest
docker logs -f middleware
Troubleshooting
Here are some common issues you might face and their resolutions:
- If you want to stop the container, run:
- To fetch the latest version from remote, use these commands:
- If you encounter an error indicating name conflict, use:
- To delete all data saved in the container, run:
docker stop middleware
docker pull middlewareeng/middleware:latest
docker rm -f middleware
docker run --name middleware \
-p 3333:3333 \
-v middleware_postgres_data:/var/lib/postgresql/data \
-v middleware_keys:/app/keys \
-d middlewareeng/middleware:latest
docker logs -f middleware
docker rm -f middleware
docker volume rm middleware_postgres_data middleware_keys
For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
Developer Setup
For those who want to go deeper into middleware development, follow these setups:
Using GitPod
- Click the button below to open this project in Gitpod.
- A fully configured workspace with all necessary dependencies will open in your browser.
- Access the server at port 3333 of the Gitpod instance.
Using Docker
It’s recommended to have a minimum of 16GB RAM while developing locally:
- Clone the repository:
- Navigate to the project directory:
- Run the dev script:
- Access the application at localhost:3333.
git clone https://github.com/middlewarehq/middleware
cd middleware
.dev.sh
Manual Setup
- Clone the repository and navigate to the project directory as described above.
- Run Redis and Postgres containers using Docker (or install them manually if preferred).
- Generate encryption keys.
- Set up the backend server and web server.
- Access the application as mentioned earlier.
Usage
After setup, you can generate and add your PAT token from your code provider, create a team, and select repositories for better DORA metrics insights!
How We Calculate DORA
Middleware uses GitHub data exclusively to derive the DORA metrics such as Deployment Frequency, Lead Time for Changes, Mean Time to Recover (MTTR), and Change Failure Rate (CFR). Understanding these metrics helps you grasp your team’s developmental agility:
- Lead Time for Changes: Time taken from the first commit to deployment.
- Deployment Frequency: Regularity of code changes hitting production.
- Mean Time to Recover: Speed of service restoration following incidents.
- Change Failure Rate: Frequency of deployments leading to failures or require a rollback.
Roadmap
Coming Soon!
Contributing Guidelines
Looking to contribute? Check out our CONTRIBUTING.md for detailed guidelines.
Developer Automations
Middleware includes automation scripts for boilerplate code generation to expedite development. For instance, adding new settings can now be accomplished easily through a simple script that handles all necessary updates.
Security Guidelines
To contribute towards Middleware’s security, please consult our SECURITY.md.
License
This project is licensed under the Apache 2.0 License.
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

