Skip to content
Docs

Inquir Compute documentation

Inquir Compute runs container applications — web services, APIs, background workers and databases built from your Dockerfile — and functions in Node.js, Python and Go behind an API gateway, with pipelines and scheduled jobs. Pick a topic on the left, or follow the quick start below to deploy your first application.

From a folder with a Dockerfile to a production address in five steps:

  1. Choose a plan first. A new account starts without a plan, so nothing can be created or deployed yet. In the console, open Plan & billing and pay for Simple or Pro, or press Request free access: the Free plan is granted on request. One plan covers all the workspaces you own.
  2. Install the CLI and sign in (Node.js 22 or newer): npm install -g @inquir/compute-cli@latest, then inquir login and inquir use <workspace-slug>.
  3. Create the application and deploy it. In the folder with your Dockerfile, inquir apps create web --port 3000 registers an HTTP service, and inquir apps deploy web builds the image on the platform, starts a new release and waits until it passes its health check. A new application is private: check the release with inquir apps status web and inquir apps logs web --tail 100.
  4. Take it to production. inquir apps promote <releaseId> (the deploy output prints the exact command) moves production to the release; workspace owners and admins can promote. inquir apps update web --ingress public then gives the service a public HTTPS address.
  5. Prefer the console? Open Projects, create a project with New project, and add a service on its canvas with Create. The service panel has the same actions: Deploy → New release or Build from source, and Promote on the Deployments tab.
terminalbash
# Once: install the CLI (Node.js 22+), sign in, pick the workspace
npm install -g @inquir/compute-cli@latest
inquir login
inquir use <workspace-slug>

# In a folder with a Dockerfile: an HTTP service on port 3000
inquir apps create web --port 3000

# Build the Dockerfile on the platform and start a preview release;
# the command waits for the health check and prints the preview URL
inquir apps deploy web

# Production (owner or admin), then a public HTTPS address
inquir apps promote <releaseId>
inquir apps update web --ingress public

The application tutorial adds variables, a Postgres, a custom domain and rollback; Node.js with Postgres builds a service with migrations and a private helper next to it.

Functions: event-driven code without a server of your own#

Functions run your handler in Node.js, Python or Go for each request, job or scheduled run, behind the API gateway. They need a plan too. To try one in the browser:

Platform architecture: clients call the API gateway over HTTPS; the gateway routes to warm function containers for Node.js, Python and Go; the job queue and pipelines, including scheduled runs, trigger the same containers; observability collects logs, traces and run history
How a request reaches a function: one gateway in front, per-function containers behind it, and the same functions reused by jobs and pipelines with schedules.
  1. Open Functions in the console and click New function.
  2. Enter a name (for example, hello-world) and click Create. The editor opens with a default handler; edit it or keep it as is.
  3. Click Run in the test panel to invoke the function.
  4. The result and logs appear in the right panel. Its Traces tab lists recent runs of this function, and Runs in the sidebar shows runs across all functions.
index.jsjs
// Gateway HTTP: POST JSON is in event.body (string). Editor Run: the JSON you type is the whole event root.
const payload = typeof event.body === 'string' ? JSON.parse(event.body || '{}') : (event || {});

exports.handler = async (event, context) => {
  // Example: const { name } = payload;
  return {
    statusCode: 200,
    body: JSON.stringify({ message: "Hello from Inquir Compute!" }),
  };
};

Deploy at the foot of the editor's sidebar warms up a container, so the next calls skip the cold start: a warm invocation reuses a running container instead of creating one, booting the runtime and loading your handler. Extra warm containers stop after 5 minutes without calls and the last one after 10 minutes, to free resources.

Explore the docs

Every section, grouped the way the product is built: start, applications, functions, pipelines, the platform around them.