Deployment

Run Nanosync as a single binary, Docker container, or in production with a Postgres state store.

Nanosync is a single statically-linked binary with no runtime dependencies. It stores checkpoint and schema state in either SQLite (dev) or Postgres (production).

Run locally

nanosync start dev

State is stored in ~/.nanosync/data/nanosync.db by default. To use a different location:

nanosync start dev --db-data-dir ./data

Or run with Docker:

docker pull ghcr.io/nanosyncorg/nanosync:latest

docker run -d \
  --name nanosync \
  -p 7600:7600 \
  ghcr.io/nanosyncorg/nanosync:latest \
  start dev

Run in production

Postgres is recommended for production — it supports concurrent access, proper backups, and won’t lock under load.

Nanosync uses two separate files:

Server config (nanosync.yaml)

database:
  type: postgres
  dsn: "postgres://nanosync:${env:NS_DB_PASSWORD}@localhost:5432/nanosync"

Start the server:

nanosync start server --config nanosync.yaml

Apply pipelines

Once the server is running, apply your connections and pipelines:

nanosync apply --file pipeline.yaml

See the Postgres → BigQuery guide for a full pipeline.yaml example.


Updating

nanosync update

Fetches and installs the latest release. Schema migrations run automatically on the next startup.


Running nanosync on Kubernetes? Enterprise deployment includes Helm charts, HA mode, and Terraform modules for GCP and AWS. Contact us →