# FAQ (/docs/compute/faq)

Location: Compute > FAQ

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

You install [`@prisma/cli`](/compute/getting-started), which provides an executable called `prisma-cli`. The quickest way to run it without installing anything is:

  

#### bun

```bash
bunx --bun @prisma/cli@latest app deploy
```

#### pnpm

```bash
pnpm dlx @prisma/cli@latest app deploy
```

#### yarn

```bash
yarn dlx @prisma/cli@latest app deploy
```

#### npm

```bash
npx @prisma/cli@latest app deploy
```

Why prisma-cli and not prisma? [#why-prisma-cli-and-not-prisma]

It avoids shadowing the `prisma` binary from [Prisma ORM](/orm), which many projects already have installed. To set up a shorter command, add your own package script; see [A shorter command](/compute/getting-started#a-shorter-command) in the getting started guide.

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](/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, so if you want to ship right now, run `app deploy`. To set the connection up, see the [GitHub integration 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]

In beta, 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](/compute/environment-variables#values-are-write-only).

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

Update it, then redeploy to production:

  

#### bun

```bash
bunx --bun @prisma/cli@latest project env update DATABASE_URL=postgresql://new --role production
bunx --bun @prisma/cli@latest app deploy --prod --yes
```

#### pnpm

```bash
pnpm dlx @prisma/cli@latest project env update DATABASE_URL=postgresql://new --role production
pnpm dlx @prisma/cli@latest app deploy --prod --yes
```

#### yarn

```bash
yarn dlx @prisma/cli@latest project env update DATABASE_URL=postgresql://new --role production
yarn dlx @prisma/cli@latest app deploy --prod --yes
```

#### npm

```bash
npx @prisma/cli@latest project env update DATABASE_URL=postgresql://new --role production
npx @prisma/cli@latest app deploy --prod --yes
```

`--prod` signals intent to deploy to production, and `--yes` accepts the confirmation up front.

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 deploy from CI? [#how-do-i-deploy-from-ci]

Use a service token and explicit targets:

```bash
PRISMA_SERVICE_TOKEN=... npx @prisma/cli@latest app deploy \
  --project my-app \
  --app web \
  --branch "$GITHUB_HEAD_REF" \
  --json \
  --no-interactive
```

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

Why did my production deploy fail with PROD_DEPLOY_REQUIRES_FLAG? [#why-did-my-production-deploy-fail-with-prod_deploy_requires_flag]

Your first deploy is promoted to production automatically. After that, deploying to the production branch needs an explicit `--prod` flag. Re-run with `npx @prisma/cli@latest app deploy --prod`, or deploy from a preview branch instead.

Why did my production deploy fail with CONFIRMATION_REQUIRED? [#why-did-my-production-deploy-fail-with-confirmation_required]

A `--prod` deploy asks you to confirm before replacing the live deployment, and that prompt can't run in non-interactive mode. Pass both flags, `--prod --yes`, to accept the confirmation up front. (`app remove` uses the same `--yes` confirmation.)

Why PROJECT_SETUP_REQUIRED? [#why-project_setup_required]

This means the CLI couldn't work out which project to deploy to, because the current directory isn't linked to one yet. Create or link a project first with `project create` or `project link`, or name one directly on the command with `--project` or `--create-project`.

Why APP_AMBIGUOUS? [#why-app_ambiguous]

This means your project holds more than one app, so the CLI can't tell which one you meant. Tell it explicitly by passing `--app <name>` with the name of the app you want to deploy.

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

Promote a production app, then:

  

#### bun

```bash
bunx --bun @prisma/cli@latest app domain add shop.acme.com --app web
bunx --bun @prisma/cli@latest app domain wait shop.acme.com --app web
```

#### pnpm

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

#### yarn

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

#### npm

```bash
npx @prisma/cli@latest app domain add shop.acme.com --app web
npx @prisma/cli@latest app domain wait shop.acme.com --app web
```

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

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

No. In beta, 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](/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`. Compute and [Prisma Postgres](/postgres) are designed to work well together, and running both 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, apps, deployments, integrations, env var names, and domain status.

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

Yes, Compute is free during public beta. We've published the rates we expect to charge once we enable production billing, so you can estimate future usage now. See [Pricing](https://pris.ly/pricing-compute) for the rates, worked examples, and what is not billed separately.

What does Public Beta mean for Compute? [#what-does-public-beta-mean-for-compute]

The core model and documented happy paths are stable enough for evaluation, staging, internal tools, and low-risk apps; details like limits, pricing, and some CLI, API, and Console behavior can still change before general availability. See [Public Beta](/console/more/feature-maturity#public-beta) on the feature maturity page.

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

See [Known limitations](/compute/limitations) for what the beta can and can't do.

## Related pages

- [`@prisma/cli`](https://www.prisma.io/docs/compute/getting-started): Deploy your first app to Prisma Compute with the @prisma/cli beta package, then learn the variations you'll need next.
- [`Branching`](https://www.prisma.io/docs/compute/branching): Branches are isolated environments that map to your Git branches, so preview work never touches production.
- [`CLI reference`](https://www.prisma.io/docs/compute/cli-reference): Every @prisma/cli command, flag, environment variable, and error code for Prisma Compute.
- [`Configuration`](https://www.prisma.io/docs/compute/configuration): Declare your deployable app in a typed prisma.compute.ts file so deploys are reproducible and monorepos work, without re-passing flags every time.
- [`Deployments`](https://www.prisma.io/docs/compute/deployments): Build, deploy, inspect, promote, and roll back app deployments on Prisma Compute.