features
AI Dockerfile Generation
How Runix uses AI to automatically generate optimized Dockerfiles for your projects.
AI Dockerfile Generation#
You do not need to know Docker to use Runix. When you deploy, Runix analyzes your code and generates an optimized Dockerfile automatically using Claude AI. No configuration needed.
Most users never need to see or touch a Dockerfile. Runix handles everything behind the scenes.
How it works#
Runtime detection
Runix scans your repository for telltale files — package.json (Node.js), requirements.txt (Python), go.mod (Go), Cargo.toml (Rust), pom.xml (Java), or index.html (static site).
AI analysis
Runix sends your project structure and key config files to Claude AI, which generates a production-ready Dockerfile tailored to your project. It picks the right base image, installs dependencies, sets up the build step, and configures the runtime.
Docker image build
Runix builds the Docker image using the generated Dockerfile. You can watch the build logs in real time from the dashboard or CLI.
Container starts
The built image is deployed as a container with your environment variables injected at runtime.
Supported runtimes#
| Runtime | Detected by | Example frameworks |
|---|---|---|
| Node.js | package.json | Express, Next.js, Fastify, Remix, Astro |
| Python | requirements.txt, pyproject.toml, Pipfile | Django, Flask, FastAPI |
| Go | go.mod | Gin, Echo, Fiber, standard library |
| Rust | Cargo.toml | Axum, Actix, Rocket |
| Java | pom.xml, build.gradle | Spring Boot, Quarkus |
| Static Site | index.html (no backend files) | HTML/CSS/JS, Vite, Create React App |
What the AI optimizes#
- Multi-stage builds to keep final images small
- Correct base images (e.g., node:20-slim, python:3.12-slim)
- Dependency caching for faster rebuilds
- Proper EXPOSE and CMD directives
- Security best practices (non-root user, minimal packages)
Using your own Dockerfile#
If you want full control, just put a Dockerfile in your repository root. Runix will use it instead of generating one.
Example: custom Dockerfile
FROM node:20-slim
WORKDIR /app
COPY package*.json ./
RUN npm ci --production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]When using a custom Dockerfile, make sure your app listens on the PORT environment variable. Runix injects this at runtime.
Viewing the generated Dockerfile#
Want to see what Runix generated? Check the build logs in your dashboard — the generated Dockerfile is shown at the start of every build. You can also copy it into your repo if you want to customize it.