This project provides a minimal Docker image for serving the composerize
、 decomposerize
and composeverter
websites. The image is built using a multi-stage Docker build process and leverages the smallest possible base image for serving static files.
- Multi-stage build: Separately builds the static websites for
composerize
,decomposerize
, andcomposeverter
. - Minimal image size: Uses
lipanski/docker-static-website
as the final base image, resulting in an image size of just ~7MB (including the size of the static files). - Easy to use: Automates the build process using the provided
Makefile
orbuild.sh
script. - Multi-arch support: now supporting
linux/amd64
,linux/arm64/v8
, andlinux/arm/v7
docker images.
$ tree -L 2 .
.
├── compose.dev.yaml
├── compose.yaml
├── Dockerfile
├── Makefile
├── README.md
└── submodules
├── composerize
├── composeverter
└── decomposerize
4 directories, 5 files
To use the pre-built oaklight/composerize
image from Docker Hub, use the compose.yaml
file:
docker compose -f compose.yaml up
Access the websites:
- Composerize: http://localhost:8080
- Decomposerize: http://localhost:8080/decomposerize
- Composeverter: http://localhost:8080/composeverter
To make customizations to the Docker image or the static websites, modify the Dockerfile
or the respective submodules ( composerize
, decomposerize
, composeverter
). Then, build using:
make build
This project is inspired by:
Special thanks to:
- sharevb for maintaining the repositories for composerize/composerize.