# FAQ (/docs/compute/faq)

> For the complete Prisma documentation index, see [llms.txt](https://www.prisma.io/docs/llms.txt). A markdown version of any docs page is available by appending `.md` to its URL.

Quick answers to common questions about Prisma Compute.

Location: Compute > FAQ

## Which package do I install? [#which-package-do-i-install]

Compute is part of the unified Prisma CLI, published as `prisma@latest`. The quickest way to run it without installing anything is:

  

#### bun

```bash
bunx prisma@latest service show
```

#### pnpm

```bash
pnpm dlx prisma@latest service show
```

#### yarn

```bash
yarn dlx prisma@latest service show
```

#### npm

```bash
npx prisma@latest service show
```

## How do I deploy? [#how-do-i-deploy]

Deployments come from a git push, the [Console](https://pris.ly/pdp), or the [`deploy` command](https://www.prisma.io/docs/cli/deploy) for a [Prisma Composer](https://www.prisma.io/docs/composer) app. [Connect a GitHub repository](https://www.prisma.io/docs/compute/github) and push, or declare the app with Composer and run `npx prisma@latest deploy module.ts` for CLI-driven deploys.

## What's the difference between a project and an app? [#whats-the-difference-between-a-project-and-an-app]

A project groups the resources for one product or codebase. An app is a single HTTP service inside a project's branch. The full hierarchy:

<ConceptAnimation name="compute-model" />

## What's a branch? [#whats-a-branch]

A branch is an isolated environment for one line of work. It usually matches a Git branch name, but in Prisma it is a real resource that owns its own apps and databases. To learn more, see the [Branching docs](https://www.prisma.io/docs/compute/branching).

## Does `git connect` deploy my app? [#does-git-connect-deploy-my-app]

No, it links a project to a GitHub repository and turns on automation for future branch and push events. It does not deploy anything by itself. Push a commit to trigger the first build. To set the connection up, see the [GitHub integration docs](https://www.prisma.io/docs/compute/github).

## What does a GitHub push do? [#what-does-a-github-push-do]

When a project is connected to GitHub, each push creates or resolves the matching branch and builds the pushed commit.

## Why can't I read my environment variable values back? [#why-cant-i-read-my-environment-variable-values-back]

Variable values are encrypted and never returned by any surface. `project env list` shows only the keys and their metadata, so keep your own copy of each value in a secret manager. To learn more, see [Values are write-only](https://www.prisma.io/docs/compute/environment-variables#values-are-write-only).

## How do I rotate a secret? [#how-do-i-rotate-a-secret]

Update the value, then redeploy production. To redeploy, push to your default branch, or promote a version, which rebuilds with production environment variables:

  

#### bun

```bash
bunx prisma@latest project env update DATABASE_URL=postgresql://new --role production
```

#### pnpm

```bash
pnpm dlx prisma@latest project env update DATABASE_URL=postgresql://new --role production
```

#### yarn

```bash
yarn dlx prisma@latest project env update DATABASE_URL=postgresql://new --role production
```

#### npm

```bash
npx prisma@latest project env update DATABASE_URL=postgresql://new --role production
```

## Does changing a variable redeploy my app? [#does-changing-a-variable-redeploy-my-app]

No. Variables resolve at deploy time, so you need to redeploy for the app to pick up a new value.

## How do I run the CLI from CI? [#how-do-i-run-the-cli-from-ci]

Use a service token and explicit targets:

```bash
PRISMA_SERVICE_TOKEN=... npx prisma@latest service show \
  --project my-app \
  --service web \
  --json \
  --no-interactive
```

Passing every target explicitly keeps the run self-contained. `--json` makes the result parseable, and `--no-interactive` turns any prompt into a structured error.

## Why `SERVICE.PROJECT_SETUP_REQUIRED`? [#why-serviceproject_setup_required]

The current directory isn't linked to a project, and the CLI won't guess one from package or directory names. Create or link a project first with `project create` or `project link`, or name one directly on the command with `--project`.

## How do I add a custom domain? [#how-do-i-add-a-custom-domain]

Once the service has a running production version:

  

#### bun

```bash
bunx prisma@latest service domain add shop.acme.com --service web
bunx prisma@latest service domain wait shop.acme.com --service web
```

#### pnpm

```bash
pnpm dlx prisma@latest service domain add shop.acme.com --service web
pnpm dlx prisma@latest service domain wait shop.acme.com --service web
```

#### yarn

```bash
yarn dlx prisma@latest service domain add shop.acme.com --service web
yarn dlx prisma@latest service domain wait shop.acme.com --service web
```

#### npm

```bash
npx prisma@latest service domain add shop.acme.com --service web
npx prisma@latest service domain wait shop.acme.com --service web
```

Add the CNAME record the command returns at your DNS provider. To learn more, see the [Domains docs](https://www.prisma.io/docs/compute/domains).

## Can preview branches have custom domains? [#can-preview-branches-have-custom-domains]

No. Custom domains are production-only, so they cannot be attached to preview branches.

## Does Prisma clone my production database for previews? [#does-prisma-clone-my-production-database-for-previews]

You should not assume it does. These docs cover app deployment and runtime configuration only, so pass database URLs through [environment variables](https://www.prisma.io/docs/compute/environment-variables) and manage data and migrations yourself.

## Do I need Prisma Postgres to use Compute? [#do-i-need-prisma-postgres-to-use-compute]

No. Your app connects to a database through a connection string you set as an environment variable, such as `DATABASE_URL`. Running [Prisma Postgres](https://www.prisma.io/docs/postgres) with Compute keeps your app next to your database.

## Can I use the Console instead? [#can-i-use-the-console-instead]

Yes. Use it to inspect projects, branches, services, deployments, integrations, environment variable names, and domain status.

## Is Prisma Compute free? [#is-prisma-compute-free]

You can run apps for free: each month, the Free plan includes 1M requests, 360 GB-hours of provisioned memory, 4 active vCPU-hours, and 10 GB of outbound bandwidth, with no usage billing. Paid plans include from 5M to 100M requests a month, then bill `$1 per million`; provisioned memory, active CPU, and outbound bandwidth are billed per use. See [Pricing](https://pris.ly/pricing-compute) for the rates, included usage by plan, worked examples, and what is not billed separately. For how those rates compare to Vercel's for the same workload, see [Prisma Compute vs Vercel pricing](https://www.prisma.io/blog/prisma-compute-vs-vercel-pricing?utm_source=docs).

## Why does my service return `504 Gateway Time-out` from openresty? [#why-does-my-service-return-504-gateway-time-out-from-openresty]

Your service took more than 60 seconds to start responding, so Compute's ingress answered the client and cancelled the request. Your service is not crashing. The cancellation happens outside it, so no timeout appears in your logs, though the Console does report the 504. Start responding within 60 seconds and move the rest of the work into the background or a queue. See [Request timeout](https://www.prisma.io/docs/compute/request-timeout).

## What are the current limits? [#what-are-the-current-limits]

See [Known limitations](https://www.prisma.io/docs/compute/limitations) for what Compute can and can't do.

## Related pages

- [`Alchemy`](https://www.prisma.io/docs/compute/alchemy): Provision Prisma Postgres and deploy applications to Prisma Compute in one TypeScript stack.
- [`Branching`](https://www.prisma.io/docs/compute/branching): Branches are isolated environments that map to your Git branches, so preview work never touches production.
- [`Deploy Button`](https://www.prisma.io/docs/compute/deploy-button): Add a Deploy with Prisma button that copies a public Composer repository and starts a Composer-managed deployment.
- [`Deploy on push`](https://www.prisma.io/docs/compute/deploy-on-push): Graduate a Composer app from manual deploys to a Git workflow, with production deploys on push and an isolated preview environment per branch.
- [`Deployments`](https://www.prisma.io/docs/compute/deployments): How deploys create service versions on Prisma Compute, and how to inspect, promote, roll back, start, and stop them.