Running Dsynct
Learn how to run Enterpise Dsynct with Docker containers
Core Components
Dsynct is able to leverage an existing Temporal instance, if you're already using it in your organization.
Otherwise, you start the Temporal development server on a VM. It can be reused across different migrations and dsynct executions.
For optimal performance, we recommend provisioning a dedicated disk for the Temporal database with the following configuration or better: 50 GB / 3000 IOPS / 125 MBps.
We recommend provisioning a 4 vCPU, 8 GiB memory VM for Temporal development server.
Networking

Instructions
Provision VMs or containers. If you're using Azure Marketplace images for migrations to Cosmos DB vCore or Cosmos DB NoSQL, they come with all the software components preinstalled already. You can also use Kubernetes (native, AKS, or others) - see instructions here. We recommend provisioning at least two VMs - one for Temporal and SigNoz, and another one (or more) to run the Runner and Dsynct workers. Ubuntu on x64 is a common choice for VM.
[Optional if using Marketplace images] Install Docker You can follow the official instructions here.
[Optional if using Marketplace images] Install Temporal and SigNoz
brew install temporal git clone -b main https://github.com/SigNoz/signoz.git
[Optional] Get most recent Docker image versions
sudo docker pull markadiom/dsynct
Start Temporal and SigNoz When placing the Temporal database on a dedicated disk (we recommend doing that), adjust the --db-filename parameter to point at the mount point (e.g. /mnt/data.db) and ensure that the current user has write access to that folder.
screen -dmS Temporal temporal server start-dev --db-filename data.db --ip 0.0.0.0 --dynamic-config-value limit.numPendingActivities.error=10000 --dynamic-config-value frontend.activityAPIsEnabled=true cd signoz/deploy/docker sudo docker compose up -d --remove-orphans
Start Dsynct worker(s) For testing purposes, you can use
/dev/fakesource
as the source, and/dev/null
as the destination.nohup docker run --name dsyncworker \ -e 'OTEL_EXPORTER_OTLP_ENDPOINT=http://<SIGNOZ_HOSTNAME>:4317' \ markadiom/dsynct worker --flow-name <FLOW_NAME> \ <OPTIONAL PARAMETERS> \ <SOURCE> \ <DESTINATION> temporal --host-port <TEMPORAL_HOSTNAME>:7233 \ app --otel 2>&1 > /tmp/dsynct-worker.log &
Start the workflow
docker run --name dsyncrunner \ -p 8080:8080 \ -e 'OTEL_EXPORTER_OTLP_ENDPOINT=http://<SIGNOZ_HOSTNAME>:4317' \ markadiom/dsynct run --flow-name <FLOW_NAME> \ temporal --host-port <TEMPORAL_HOSTNAME>:7233 \ app --otel --host-port 0.0.0.0:8080
Monitor migration progress
The Web Progress dashboard is served on the port
8080
on the host where you ran thedsynct run
commandTemporal workflow can be observed by connecting to
<TEMPORAL_HOSTNAME>:8233
You can view detailed logs and metrics in SigNoz by connecting to
<SIGNOZ_HOSTNAME>:8080
You can import one of our pre-configured dashboards by following the instructions here.
Last updated