tidemarq documentation
tidemarq is a self-hosted directory sync tool with a browser-based UI. It runs as a Docker Compose stack with no external cloud dependencies.
What's in these docs
These pages walk through installing and configuring tidemarq, then cover each feature
in enough depth to use it confidently. For the full configuration reference, see
tidemarq.example.yaml in the repository — every option is documented there.
Quick navigation
Getting started
- Installation — prerequisites, Docker Compose setup, first login
- Configuration — the config file, key settings, environment variable overrides
Features
- Sync Jobs — creating jobs, sync modes, triggers, bandwidth limits
- Mounts — SMB and SFTP mount setup
- Conflicts — detection, auto-resolution strategies, manual review
- Version History — snapshots, quarantine, restoring files
- Audit Log — searching, filtering, exporting
Architecture in brief
tidemarq is a Go binary that serves a React SPA. State lives in a SQLite database in the configured data directory. File integrity uses BLAKE3 by default (SHA-256 is available per-job for compatibility). Local syncs use a rolling Adler-32 + BLAKE3 delta algorithm so only changed byte regions are written. Network mounts (SMB, SFTP) fall back to full streaming copies.
The backend exposes a REST API under /api/v1/ and a WebSocket endpoint at
/ws for live progress streaming. All endpoints except /health
require a valid JWT.
tidemarq is built for linux/amd64 and linux/arm64 (including Raspberry Pi).
The pure-Go build has no CGO dependency.