# system migration
URL: https://synquic.tech/docs/cli/reference/system/migration.md

Commands, arguments, and options for synq system migration.

See the [workflow guide](/docs/cli/self-host) for examples. Global flags such as `--json` go before the command; see [global options](/docs/cli/reference#global-options).

## synq system migration

Team-mode migration lifecycle

```text
synq system migration [options] [command]
```

| Subcommand | Purpose |
| --- | --- |
| [`preflight [options]`](/docs/cli/reference/system/migration#synq-system-migration-preflight) | Read-only readiness check for the own-server migration |
| [`start [options]`](/docs/cli/reference/system/migration#synq-system-migration-start) | Migrate this instance onto your own server |
| [`start-cloud [options]`](/docs/cli/reference/system/migration#synq-system-migration-start-cloud) | Migrate this instance to Synq Cloud |
| [`start-tunnel [options]`](/docs/cli/reference/system/migration#synq-system-migration-start-tunnel) | Expose this instance via an edge tunnel |
| [`switch-back [options]`](/docs/cli/reference/system/migration#synq-system-migration-switch-back) | Reverse migration back to single-user (teammates lose access) |

## synq system migration preflight

Read-only readiness check for the own-server migration

```text
synq system migration preflight [options]
```

| Option | Meaning |
| --- | --- |
| `--server-id <id>` | Target server id |
| `--hostname <host>` | Custom domain pointing at the server |
| `--slug <slug>` | Hosted-cloud free-subdomain slug (not available in Synq; use --hostname) |

## synq system migration start

Migrate this instance onto your own server

```text
synq system migration start [options]
```

| Option | Meaning |
| --- | --- |
| `--server-id <id>` | Target server id |
| `--hostname <host>` | Custom domain pointing at the server |
| `--slug <slug>` | Hosted-cloud free-subdomain slug (not available in Synq; use --hostname) |

## synq system migration start-cloud

Migrate this instance to Synq Cloud

```text
synq system migration start-cloud [options]
```

| Option | Meaning |
| --- | --- |
| `--allow-non-empty-target` | Proceed even if the cloud org already has projects |

## synq system migration start-tunnel

Expose this instance via an edge tunnel

```text
synq system migration start-tunnel [options]
```

| Option | Meaning |
| --- | --- |
| `--slug <slug>` | Tunnel slug |

## synq system migration switch-back

Reverse migration back to single-user (teammates lose access)

```text
synq system migration switch-back [options]
```

| Option | Meaning |
| --- | --- |
| `--abandon-remote` | Skip pulling remote data; keep the local DB as-is |
| `-y, --yes` | Skip the confirmation prompt |
