# Synq CLI
URL: https://synquic.tech/docs/cli.md

Deploy applications and manage Synq from your terminal.

Use the CLI to deploy code, inspect releases, manage services, and operate a self-hosted installation.

## Install

The CLI comes with your server: the installer (see [Install on a new server](/docs/getting-started/install-on-a-server))
puts `synq` in `/usr/local/bin`, at the same version as the panel, and every upgrade updates it. Synq runs as root,
so run it with `sudo` on the server:

```bash
sudo synq status
sudo synq --help
```

It isn't published to npm or offered as a separate download. The reference follows the current release; use
`--help` to check the version on your server.

## Connect and deploy

Manage the [installation on this machine](/docs/cli/run), or connect to an existing one:

```bash
synq login \
  --api-url https://app.example.com \
  --dashboard-url https://app.example.com \
  --context production

synq project list
synq init --project proj_123
synq deploy --watch
```

`login` opens the token settings page and asks for a personal access token. `init` links the current
directory to a project. `deploy --watch` submits a deployment and follows its progress.

## Choose a workflow

Use `synq job` (alias `jobs`) to manage [scheduled jobs](/docs/guides/jobs), manual runs, and logs.

<Cards>
  <Card title="Connect and authenticate" href="/docs/cli/access" description="Manage contexts, tokens, and direct HTTP requests." />
  <Card title="Deploy and inspect releases" href="/docs/cli/deploy" description="Deploy folders or Git projects, read logs, and roll back." />
  <Card title="Manage applications" href="/docs/cli/projects" description="Work with projects, services, domains, and catalog apps." />
  <Card title="Operate infrastructure" href="/docs/cli/self-host" description="Manage servers, backups, mail, and installation settings." />
  <Card title="Use native SDK mode" href="/docs/cli/native" description="Run supported commands against an explicitly configured native installation." />
  <Card title="Complete command reference" href="/docs/cli/reference" description="Every command, subcommand, argument, and option, grouped by task." />
</Cards>

## Scripts and application code

Use `synq --json project list` for machine-readable command output. See [automation](/docs/cli/automation)
for CI setup and exit handling. To call the same operations directly from JavaScript or TypeScript,
use the [Node.js SDK](/docs/api/sdk).
