Skip to content

SuitDeer/SyncWatch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SyncWatch

SyncWatch Logo

Real-time volume sync monitor for Docker Swarm

Displays sync status across all nodes with a live web dashboard. Detects discrepancies in replicated volumes instantly.

demo

How it works

  1. Writer node (lowest IP) writes a test file (.consistency_test.json) at a configurable interval (default 30s)
  2. All nodes read the test file and report their view via API
  3. Dashboard aggregates all nodes and shows sync status in real-time

Requirement

  • Initialized Docker Swarm (docker swarm init)

Quick Start

Run only on one node

!!! Please change /var/syncthing/data path in the docker-compose.yml to match your setup !!!

# Clone the repository
git clone https://github.com/SuitDeer/SyncWatch.git
cd SyncWatch

# Deploy to Swarm
sudo docker stack deploy -c docker-compose.yml syncwatch

Open http://<any-node-ip>:8081 in your browser to see dashboard.

File Usage

File Purpose
.consistency_test.json Test file written by writer node
.syncwatch_config.json Shared configuration

Development

Run on each node:

# Clone the repository
git clone https://github.com/SuitDeer/SyncWatch.git
cd SyncWatch/dev

# Build image
sudo docker build -t syncwatch:local .

Run only on one node:

# Deploy to Swarm
sudo docker stack deploy -c docker-compose.yml syncwatch

sudo docker service logs syncwatch_syncwatch -f

sudo docker service logs syncwatch_dashboard -f

## Testing ...

sudo docker stack rm syncwatch

Run on each node:

# Remove dev image from local image repository
sudo docker image rm syncwatch:local

About

Displays sync status across all nodes with a live web dashboard. Detects discrepancies in replicated volumes instantly

Topics

Resources

License

Stars

Watchers

Forks

Contributors