Create a production-ready Dockerfile and deployment config for any project. Optimized for small image size and security. Use when the user wants to containerize their app or deploy to Fly.io, Railway, or any Docker-based platform.
Create a production-ready Dockerfile and deployment config for any project. Optimized for small image size and security. Use when the user wants to containerize their app or deploy to Fly.io, Railway, or any Docker-based platform.
Ask the user:
"What language and framework? (e.g. Python/FastAPI, Node/Next.js, Go)"
"What platform are you deploying to? (Fly.io, Railway, Cloud Run, self-hosted)"
"Any environment variables the app needs at runtime?"
Then produce:
Dockerfile
# [explanation of each stage]
What this Dockerfile does:
Base image choice and why
Multi-stage build explanation (if used)
How dependencies are cached for fast rebuilds
Non-root user setup (security)
Health check configuration
Platform config (if applicable)
fly.toml (for Fly.io):
# minimal fly.toml
Commands to deploy:
# step-by-step deployment commands
.dockerignore
node_modules/
.env
.env.local
*.log
.git
Security checklist:
App runs as non-root user
No secrets in the image layers
Only production dependencies installed
Health check defined
Image size under [target — e.g. 200MB for Node, 100MB for Python Alpine]
Flag any environment variable that looks like a secret — confirm it's being passed at runtime, not baked into the image.