Area: Digital Experience Engineering


Problem: Every developer eventually has to turn a docker run command into a Compose file. Doing it by hand is error-prone once volumes, networks, and environment variables are involved, and the mistakes surface at deploy time.

Approach: We built a full-stack app: a SvelteKit frontend and an Express.js backend. Paste a docker run command and get Compose YAML back. The interface has three levels (Simple, Normal, Advanced) so a beginner is not shown every option. The backend uses the composerize library plus its own security validation, rate limiting, and audit logging.

Technical details:

  • SvelteKit v5 frontend with Tailwind CSS and a Vite build
  • Express.js backend with Helmet CSP headers and CORS configuration
  • composerize for the YAML conversion
  • Three interface levels: Simple, Normal, Advanced
  • Three security modes: Safe, Default, Unsafe, with credential detection
  • Multi-service support for larger Compose stacks
  • A library of common Docker commands to load and edit
  • Rate limiting, request validation, and audit logging
  • Unit and integration tests
  • Separate development and production Compose configurations
  • User guides, API reference, and deployment guides

Live site: dockerhelper.npc-it.co.uk

Outcome: A live tool that returns clean Compose YAML from a pasted command, flags credentials and unsafe settings, and documents itself.

Stack: SvelteKit, Express.js, TypeScript, Tailwind CSS, Vite, Docker Compose, Helmet

Sandboxed plugin ran for projects/docker-helper and read “Docker Run to Compose Converter” through the mediated API.