# Deploy

## Deployment Models

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdLS29eJSXXWWgj7w9JfiEYDRCkArttTJhSA4wEA7N_A8iqINlfkwVZ2DpJuCf5QAYSPZj0vApGiqzTgHwCijR9N9zpoDozSYxLA-3fOE1RdieqmgrVj4ZgROUAMEth0rcNVj0JKO1fyQX4H8hyApxYuaKj?key=NXvGYsx3SvupoNtVZEc8VA" alt=""><figcaption><p>Example dataflow between Cosmos DB and MongoDB</p></figcaption></figure>

### Single binary

Dsync will run wherever there's CPU and RAM. This can be a laptop, VM or a docker container.

You can install dsync with any of the following methods:

* Run as a docker container: `docker run markadiom/dsync`
* Build from the [source](https://github.com/adiom-data/dsync)
* Download the latest release in [GitHub](https://github.com/adiom-data/dsync/releases).

Azure users can also leverage marketplace offerings for [Cosmos DB vCore](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/adiom.adiom_dsync_vm?tab=Overview) and [Cosmos DB NoSQL migrations](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/adiom.adiom_dsync_vm_dynamo?tab=Overview).

{% hint style="info" %}
You can use Homebrew to easily install Dsync on your Mac:

```
brew install adiom-data/homebrew-tap/dsync
```

{% endhint %}

### Multi-worker

For large migrations where vertical scaling of dsync VM isn't feasible, and for data platforms requiring on-demand data mobility and continuous data replication, we support a horizontally scalable deployment of dsync with external Coordinator. Read more about it here: [Scalable Deployment](/enterprise/scalable-deployment.md)

## Infrastructure Requirements

Dsync doesn't store any in-transit data on-disk (only logs). As such CPU, RAM and network bandwidth are the core requirements.

For small scale testing and development, 1 or 2 CPU with 2GB RAM is more than sufficient. For larger use cases, we recommend dedicating 4 CPU and 16 GB RAM, or 8 CPU and 32 GB RAM for a dsync instance, whether running as a single binary or in a multi-worker configuration.

However dsync is deployed, it must have direct network access to both the source and the destination.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.adiom.io/basics/deploy.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
