A lightweight Go CLI that auto-detects any project's stack and generates a production-ready Dockerfile — then builds and runs the container with one command. No Docker knowledge required.
Architecture
deploybox init <dir>
│ Scan: pom.xml→Java, requirements.txt→Python, package.json→Node, ...
│ Load: deploy.yaml overrides (name, port, env, volumes, command)
│ Generate: multi-stage Dockerfile with layer caching
▼
Dockerfile
deploybox up <dir>
│ docker build -t deploybox-<name>
│ docker run -d --rm (or docker compose up for depends_on)
▼
Container running ✓
Key Features
- Auto-detection — scans directory for
pom.xml, requirements.txt, package.json, Cargo.toml, or go.mod and picks the right base image
- Multi-stage builds — every Dockerfile uses layer caching; dependencies installed before source so code changes skip full rebuilds
- Optional deploy.yaml — override name, port, environment variables, volume mounts, and startup command without touching the Dockerfile
- Multi-service support —
depends_on in deploy.yaml generates docker-compose.yml to wire containers together
host.docker.internal — containers reach host services (Ollama, databases) through Docker Desktop's built-in DNS
- Cross-project consistency — all generated Dockerfiles follow identical conventions; audit one, trust all
Verified Against
- OCR Translate (Python) — built image, ran batch translation, connected to Windows Ollama via
host.docker.internal
- MouseFlow Tracker (Java/Maven) — built multi-stage image, resolved JNA + JavaFX + JNativeHook, compiled successfully