# \[Tutorial\] How to create a custom Node-Red Docker Image and conduct Integration Testing using Docker-Compose

**URL:** https://discourse.nodered.org/t/tutorial-how-to-create-a-custom-node-red-docker-image-and-conduct-integration-testing-using-docker-compose/61059
**Category:** Share Your Projects
**Tags:** docker
**Created:** [10 April 2022 11:55 UTC](https://discourse.nodered.org/t/tutorial-how-to-create-a-custom-node-red-docker-image-and-conduct-integration-testing-using-docker-compose/61059 "2022-04-10T11:55:17Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![Shan](https://avatars.discourse-cdn.com/v4/letter/s/7ab992/32.png) [@Shan](https://discourse.nodered.org/u/Shan)
#### Post date: [10 April 2022 11:55 UTC](https://discourse.nodered.org/t/tutorial-how-to-create-a-custom-node-red-docker-image-and-conduct-integration-testing-using-docker-compose/61059/1 "2022-04-10T11:55:17Z")

</div>

So I have been experimenting with Node-Red and have got some good grip on `docker` and `docker-compose`. So what better way than to work something up

I documented:

1. How to build a custom Node-Red image using Docker Multi-Stage Build
2. Create a simple HTTP API called `/health` flow and save it to `flows.json`
3. Use a simple `pytest-docker-compose` example to conduct integration test
4. Provide a CI/CD Pipeline to deploy the custom image to a registry

I have made it very concise and straight to the point.

Write Up

> **[Create a custom Node-Red Container with Integration Testing](https://shantanoo-desai.github.io/posts/technology/node-red-docker/)**
>
> Shan's World

GitHub Repo:

> **[GitHub - shantanoo-desai/node-red-slim: A Slim Node-RED Docker Image with...](https://github.com/shantanoo-desai/node-red-slim)**
>
> A Slim Node-RED Docker Image with Alpine Container using Docker Multistage Builds - GitHub - shantanoo-desai/node-red-slim: A Slim Node-RED Docker Image with Alpine Container using Docker Multistag...

Happy to take some feedback, criticisms, tips from the community
