pxxl.toml is the versioned deployment contract for Pxxl builds and edge routing.
Gateway reads this file during GitHub-backed deployments. It fetches pxxl.toml from the deployment commit SHA. If the project has a base directory, Gateway checks baseDirectory/pxxl.toml first, then falls back to the repository root pxxl.toml.
For local
pxxl deploy, the CLI also reads top-level deploy metadata such as name, domainChoice, and projectId. The Gateway buildpack fields below are the fields applied during server-side builds.version = 1.
Build configuration
Use the[build] table to override the detected language, framework, commands, versions, output directory, base directory, and port.
string
Overrides the detected buildpack language. Known languages include
javascript, html, python, php, go, rust, java, csharp, ruby, and dart.string
Sets the runtime value. If the value is a known buildpack language, Gateway also treats it as the language.
string
Overrides the detected framework, such as
flask, laravel, nextjs, vite, or tanstack-start.string
Overrides the package manager used by the build plan. For JavaScript projects, this also updates the buildpack tag and default package-manager commands when the detected defaults are still in use.
string
Overrides the install command. Alias:
build.install. Maximum length: 400 characters.string
Overrides the build command. Aliases:
build.command, build.build. Maximum length: 400 characters.string
Overrides the runtime start command. Alias:
build.start. Maximum length: 400 characters.string
Sets the entry file. Alias:
build.entry.string
Sets the build output directory. Alias:
build.output.string
Sets the repository subdirectory used for the primary service build.
number
Sets the app port. Gateway accepts ports from
1 through 65535.string
Overrides the buildpack runtime version.
string
Sets the Node.js version stored on the project build settings.
string
Sets the Python version stored on the project build settings.
string
Sets the Go version stored on the project build settings.
string
Sets the Rust version stored on the project build settings.
Routing configuration
Use[routing] and ordered rule tables for static deployments. See Routing, rewrites, and redirects for matching, precedence, security, and migration details.
boolean
Serves
index.html for extensionless application paths after redirects and rewrites are evaluated.boolean
Maps an extensionless path such as
/about to /about.html. When spa is also true, SPA fallback takes precedence.object[]
Rewrites a matching path internally. The browser URL and status do not change. An external destination must be an explicit
https:// URL.object[]
Returns a client redirect.
status must be 301, 302, 307, or 308.object[]
Adds safe response headers to matching paths. Pxxl rejects secret-bearing, platform-owned, and hop-by-hop headers.
System packages
Use[packages] for OS packages needed by the buildpack image.
string[]
Installs packages in the build stage. Use this for compilers, build tools, and native dependency compilation.
string[]
Installs packages in the final runtime image. Use this only for binaries your app needs after it starts.
string[]
Also installs packages in the final runtime image. Gateway merges this with
packages.runtime.80 total packages across global and service-specific package lists.
Environment variables
Use[env] for non-secret build environment defaults.
80 keys. Each value can be up to 8192 characters.
Services
Use[services.<alias>] to override build settings for a saved microservice or monorepo service.
string
Overrides the base directory for that service.
string
Overrides the service language.
string
Overrides the service runtime.
string
Overrides the service framework.
string
Overrides the service package manager.
string
Overrides the service install command. Alias:
install.string
Overrides the service build command. Aliases:
command, build.string
Overrides the service start command. Alias:
start.string
Overrides the service entry file. Alias:
entry.string
Overrides the service output directory. Alias:
output.number
Overrides the service port.
string
Overrides the buildpack runtime version for that service.
string[]
Adds build-stage packages for that service.
string[]
Adds runtime-stage packages for that service.
Native dependency example
This example fixes Python packages that need GNUcp during native wheel compilation.
Complete example
Validation summary
Gateway validatespxxl.toml before applying it.
