composerize-minimal icon indicating copy to clipboard operation
composerize-minimal copied to clipboard

composerize suite self-hosted, minimalistically dockerized ~7MB

Minimal Composerize Docker Image

中文版

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.

Features

  • Multi-stage build: Separately builds the static websites for composerize, decomposerize, and composeverter.
  • 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 or build.sh script.
  • Multi-arch support: now supporting linux/amd64, linux/arm64/v8, and linux/arm/v7 docker images.

Repository Structure

$ tree -L 2 .
.
├── compose.dev.yaml
├── compose.yaml
├── Dockerfile
├── Makefile
├── README.md
└── submodules
    ├── composerize
    ├── composeverter
    └── decomposerize

4 directories, 5 files

Production Docker Compose

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

Customization / Build Locally

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

Acknowledgments

This project is inspired by:

Special thanks to: