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.