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.
- Writer node (lowest IP) writes a test file (
.consistency_test.json) at a configurable interval (default 30s) - All nodes read the test file and report their view via API
- Dashboard aggregates all nodes and shows sync status in real-time
- Initialized Docker Swarm (
docker swarm init)
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 syncwatchOpen http://<any-node-ip>:8081 in your browser to see dashboard.
| File | Purpose |
|---|---|
.consistency_test.json |
Test file written by writer node |
.syncwatch_config.json |
Shared configuration |
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 syncwatchRun on each node:
# Remove dev image from local image repository
sudo docker image rm syncwatch:local