fargone / docs / nixpacks

How builds work

Fargone uses nixpacks to turn your source into a runnable Docker image, the same technology Railway uses.

Detection

During a build Fargone runs:

nixpacks build <source> --name <image>

Nixpacks inspects your project for signals — package.json, requirements.txt, go.mod, Cargo.toml, pom.xml, Gemfile, composer.json, deno.json, pixi.toml, and more — and picks an appropriate plan. No Dockerfile required.

Customising

If automatic detection isn't right, drop a nixpacks.json (or nixpacks.toml) in your repo root:

{
  "variables": { "NODE_ENV": "production" },
  "providers": ["node"],
  "build": { "commands": ["npm ci"] },
  "start": { "cmd": "node server.js" }
}

See the nixpacks docs for the full schema.

The pipeline

  1. Source — zip extracted, or repo cloned
  2. Build — nixpacks produces a Docker image; output is streamed to your build logs
  3. Run — the container starts on the platform network with your env vars and limits
  4. Serve — the app is exposed at {app}.platform.fargone.sh and on a local port

Limits

Builds run within your quota — concurrent build slots, CPU, memory and upload size. Request more from Settings → Quota.