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.