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:
nanosync.yaml— server config (database, secrets, notifications). Passed tonanosync start server.pipeline.yaml— connections and pipelines. Applied withnanosync apply.
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 →