Container Requirements
NeoRun automatically generates Dockerfiles using AI analysis, but understanding the container environment helps you build more reliable deployments.
How It Works
- Clone: NeoRun clones your repo into a build container
- Analyze: Gemini AI scans your project structure,
package.json,requirements.txt,Dockerfile, etc. - Plan: AI generates build steps (install deps, build, configure entry point)
- Build: Docker image is built layer by layer with caching
- Verify: Health checks confirm the service is responding on the expected port
Port Exposure
NeoRun looks for the primary port your application listens on. Common defaults:
| Framework | Default Port |
|---|---|
| Next.js | 3000 |
| React (Vite) | 5173 |
| FastAPI / Uvicorn | 8000 |
| Flask | 5000 |
| Express.js | 3000 |
| Django | 8000 |
| Streamlit | 8501 |
| Gradio | 7860 |
| Jupyter | 8888 |
Tip: Set the PORT environment variable or bind to 0.0.0.0 — NeoRun injects the PORT env var automatically.
Resource Limits
| Resource | CPU Container | GPU Container |
|---|---|---|
| Memory | 4 GB | 8 GB |
| CPU | 2 cores | 4 cores |
| Shared Memory | Default | 2 GB |
| Disk | Build-time only | Build-time only |
Working Directory
All containers use /app as the working directory. Your repo is cloned into /app.
Environment Variables
NeoRun injects these environment variables automatically:
PORT=<detected_port>
GIT_TERMINAL_PROMPT=0
DEBIAN_FRONTEND=noninteractiveUser Secrets
You can add custom environment variables (API keys, database URLs) via:
- Dashboard: Settings → Secrets
- CLI:
Deploy-NeoRunProject -Secrets @{MY_KEY="value"}
Secrets are stored encrypted in Supabase Vault and injected at container runtime.
Custom Dockerfile
If your repo contains a Dockerfile, NeoRun will detect and use it directly — skipping AI analysis.
This gives you full control over the build process.
Requirements for custom Dockerfiles:
- Expose at least one port
- Use
CMDorENTRYPOINTfor the main process - Support the
PORTenvironment variable if possible
Supported Languages & Frameworks
NeoRun’s AI agents can analyze and build most common stacks:
- JavaScript/TypeScript: Node.js, Next.js, React, Vue, Angular, Svelte, Express, Fastify
- Python: FastAPI, Flask, Django, Streamlit, Gradio, Jupyter, PyTorch, TensorFlow
- Go: Standard library, Gin, Echo, Fiber
- Rust: Cargo projects, Actix, Axum, Rocket
- Java/Kotlin: Spring Boot, Gradle, Maven
- Ruby: Rails, Sinatra
- PHP: Laravel, Symfony
Network Isolation
Each pod runs in its own Docker network. Containers from different users/pods cannot communicate with each other. Only explicitly mapped ports are accessible through the Traefik reverse proxy.