Skip to Content
Container Requirements

Container Requirements

NeoRun automatically generates Dockerfiles using AI analysis, but understanding the container environment helps you build more reliable deployments.

How It Works

  1. Clone: NeoRun clones your repo into a build container
  2. Analyze: Gemini AI scans your project structure, package.json, requirements.txt, Dockerfile, etc.
  3. Plan: AI generates build steps (install deps, build, configure entry point)
  4. Build: Docker image is built layer by layer with caching
  5. 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:

FrameworkDefault Port
Next.js3000
React (Vite)5173
FastAPI / Uvicorn8000
Flask5000
Express.js3000
Django8000
Streamlit8501
Gradio7860
Jupyter8888

Tip: Set the PORT environment variable or bind to 0.0.0.0 — NeoRun injects the PORT env var automatically.

Resource Limits

ResourceCPU ContainerGPU Container
Memory4 GB8 GB
CPU2 cores4 cores
Shared MemoryDefault2 GB
DiskBuild-time onlyBuild-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=noninteractive

User 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 CMD or ENTRYPOINT for the main process
  • Support the PORT environment 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.

Last updated on