Skip to content

Quick start with Docker

Self-hosters run the same server as syncbins.com — one Node/Fastify process serving the React app, REST API, and WebSocket relay. The web UI is identical; only who runs the box and where blobs live differs.

Best for development or testing on your machine. No .env file required.

From the App repo root:

Terminal window
npm run dev:compose

Open http://localhost:5173. The UI proxies /api and /ws to the server container. Data persists under App/server/data/ (SQLite + blobs/).

Stop with Ctrl+C or npm run dev:compose:down.

For a standard single-user self-hosted box:

TopicDefaultAction
StorageLocal disk (./data/blobs)Nothing — works out of the box
TenancySingle tenantKeep TENANT_MODE=single
Stripe / billingOffIgnore Stripe env vars
R2 / AzureOffOnly if you opt into cloud blobs

You are not expected to paste a wall of env vars into a Settings screen. Production needs domain + secret; cloud storage is an optional appendix.

If local disk isn’t enough, set STORAGE_KIND=r2 or STORAGE_KIND=azure and the credentials from Choosing storage. Restart the container. No UI change required.