Every time a team says "we'll Dockerize it later," that later never comes. The blocker is rarely Docker itself — it's deciding on the right base image, build steps, exposed port, and runtime command for a codebase you don't fully remember. Today we're shipping a tool that removes that blocker entirely.
ShipDocs' AI Dockerfile Generator reads any public GitHub, GitLab, or Bitbucket repo and writes a production-ready Dockerfile from the actual source. It detects the language from package.json, go.mod, Cargo.toml, requirements.txt, and 250+ other manifest files, then builds the right multi-stage image with pinned versions, proper layer caching, and a non-root user when possible. No more FROM ubuntu + apt-get install copy-pasta.
What it does
Paste a repo URL at shipdocs.sh/tools/dockerfile and you get:
- Detected runtime — Node 20-alpine, Python 3.12-slim, Go 1.22, Rust 1.75, or whatever the manifest says.
- Multi-stage build — compile in one layer, ship only the binary in a second. No build tools in the final image.
- Pinned base image versions —
node:20-alpine, notnode:alpine. Reproducible builds, no surprise breakages. - Correct build commands —
npm ci,go build,cargo build --release,pip install -r requirements.txt— inferred from the actual manifest, not guessed. - Sensible
EXPOSE— detects the port from the entry point or a config file when possible. - Non-root
USER— runs as an unprivileged user in the final stage when the runtime supports it. - Comments — every non-obvious choice is explained inline so you can tweak it.
Try it on these repos
| Repo | Why it's interesting |
|---|---|
github.com/vercel/next.js | Complex monorepo with Turbopack, TypeScript, multiple build targets |
github.com/kubernetes/kubernetes | Multi-language, custom build scripts, Go modules |
github.com/supabase/supabase | Docker Compose already present — see how the tool handles existing infra |
github.com/t3-oss/create-t3-app | Modern TypeScript stack with Prisma, tRPC, Next.js |
Just paste the URL and hit Generate. No signup, no API key, no credit card. The tool is rate-limited to 5 runs per IP per 10 minutes to keep costs sane.
How it works under the hood
The Dockerfile Generator uses the same repo indexer that powers ShipDocs' documentation engine:
- Clone the repo via
isomorphic-git(public repos only for the free tool). - Filter to source + manifest files — code, configs, build scripts.
- Prioritize the most informative files: the README, root manifest (
package.json,go.mod, etc.), entry points (main.go,app.py,index.ts), and a sample of the actual source. - Send to an LLM with a system prompt that says "you are a senior DevOps engineer writing a Dockerfile. Ground every choice in the source shown to you."
- Return the raw Dockerfile text with no markdown wrapper so you can copy-paste it directly.
The model is Llama 3.1 8B via OpenRouter on the free tier — fast, cheap, and good enough for Dockerfile inference on most stacks. Paid ShipDocs users get the same tool on Claude Sonnet for private repos.
Private repos too
If you connect a private repo to ShipDocs (Starter plan and up), the Dockerfile Generator shows up as a button inside your project's docs page. It reads the already-indexed source files — no re-clone needed — and uses Claude Sonnet instead of Llama for higher-quality output on complex monorepos.
Limitations
Dockerfile generation is not magic. The tool works best when:
- The repo has a recognizable manifest file (
package.json,go.mod,Cargo.toml,pyproject.toml,requirements.txt,pom.xml, etc.) - The entry point is in a standard location or named conventionally (
main.go,app.py,server.ts, etc.) - The build process is documented in the README or the manifest scripts
It will struggle with:
- Projects that require complex external build pipelines (Bazel monorepos with custom rules, for example)
- Projects with heavy native dependencies that need system libraries not available in Alpine
- Highly unusual directory layouts with no manifest at all
In those cases, the generated Dockerfile is still a useful starting point — but you'll need to hand-tune it.
What's next
The Dockerfile Generator is the fourth free tool on ShipDocs, joining the README Generator, Complexity Score, and Explain-in-a-Tweet. The fifth — a Production Readiness Audit that scores any repo on docs, CI, tests, secrets hygiene, and dependency health — ships next week.
Try the Dockerfile Generator now:
→ shipdocs.sh/tools/dockerfile
No signup required. Paste a repo URL, get a Dockerfile.
