---
title: "CLI deploy command"
description: "The `trigger.dev deploy` command can be used to manually deploy."
---

You run the command like this:

<CodeGroup>

```bash npm
npx trigger.dev@beta deploy
```

```bash pnpm
pnpm dlx trigger.dev@beta deploy
```

```bash yarn
yarn dlx trigger.dev@beta deploy
```

</CodeGroup>

<Warning>Will fail in CI if any version mismatches are detected. Ensure everything runs locally first using the [dev](/v3/cli-dev) command and don't bypass the version checks!</Warning>

It performs a few steps to deploy:

1. Optionally updates packages when running locally.
2. Typechecks the code.
3. Compiles and bundles the code.
4. Checks that [environment variables](/v3/deploy-environment-variables) are set.
5. Deploys the code to the cloud.
6. Registers the tasks as a new version in the environment (prod by default).

## Options

### Environment `--env` or `-e`

Defaults to `prod` but you can specify `staging`.

### Skip typecheck `--skip-typecheck` or `-T`

Skips the pre-build typecheck step.

### Build platform `--build-platform`

The platform to build the deployment image for. Defaults to `linux/amd64`.

### Log level `--log-level` or `-l`

The log level to use (debug, info, log, warn, error, none). Defaults to `log`.

### Set config filename `--config` or `-c`

The name of the config file, found where the command is run from. Defaults to `trigger.config.ts`.

### Set the projectRef `--project-ref` or `-p`

The project ref. Required if there is no config file.

### Self-hosted options

These options are usually only relevant to self-hosters or for local development.

#### Skip deploying the image `--skip-deploy` or `-D`

Load the built image into your local docker.

#### Self-hosted (builds locally) `--self-hosted`

Builds and loads the image using your local docker. Use the `--registry` option to specify the registry to push the image to when using `--self-hosted`, or just use `--push` to push to the default registry.

#### Registry `--registry`

<Snippet file="coming-soon-slim.mdx" />

The registry to push the image to when using --self-hosted.

#### Push image `--push`

When using the --self-hosted flag, push the image to the default registry. (defaults to false when not using --registry)

#### Tag the image `--tag`

<Snippet file="coming-soon-slim.mdx" />

Specify the tag to use when pushing the image to the registry.

{/* todo add options, remove the reference docs */}
