DOCUMENTATION / v1.0.0

Six ways to run your app

A native runtime for familiar apps, Compose for custom stacks.

Web and Worker support

Service typeSupported runtimesReadiness
Web/APINode.js, Bun, Go, Python, PHP, ComposeApplication port and configured HTTP checks; optional project domain
WorkerNode.js, Bun, Go, Python scriptHost process stability; no Portal port or HTTP probe

The runtime matrix below describes Web execution. Worker preparation never starts the candidate consumer. PHP, Compose, Python ASGI/WSGI and one-shot Workers are unsupported.

Runtime contracts

RuntimeConfigureExecution
Node.jsPackage scripts + Node 20/22/24/26Dependencies, optional build, candidate HTTP, systemd.
BunPackage scriptsBun install, optional build, candidate HTTP, systemd.
Gogo.mod + main packageCompile a binary, candidate HTTP, systemd.
PythonScript / ASGI / WSGI + dependency sourcePer-release venv installed by the host helper.
PHPArtisan / Spark / PHP server + document rootOptional Composer install as project user; helper activation.
Docker ComposeCompose file + web service + portValidated Compose build/start and host health check.

Node and Bun dependencies

Node selects npm or pnpm from packageManager and the lockfile. npm uses npm ci; Bun uses bun install --frozen-lockfile. npm/Bun can retry a stale lockfile with an isolated unlocked install; pnpm fails on a stale frozen lockfile. The synced checkout is not rewritten. Prisma preparation follows dependency installation, before the optional build. Native Web apps must honor the assigned port; Workers have no Portal-assigned port.

Set up pnpm · Prepare Prisma and fix deployment errors

Trusted Compose projects

This is separate from running Portal itself in Docker. Install Docker Engine + Compose through Setup when needed. Choose a repository-relative YAML and a web service that publishes the configured project port. The helper rejects privileged containers, host network/PID/IPC and host bind mounts. Builds occur during host activation. These policies are guardrails, not hostile-code isolation.

Last audited: 2026-10-15
Published source · v1.0.0