FsPulse
β οΈ Early Development Notice FsPulse is under active development and is not yet feature-complete. Core functionality is stable, but expect continued evolution and occasional breaking changes. Feedback and issue reports are welcome as we work toward a 1.0 release.
What is FsPulse?
FsPulse is an essential filesystem integrity tool for system administrators, home-lab enthusiasts, and anyone who takes data preservation seriously. It runs as a background service that continuously monitors your critical directories, watching for the silent threats that traditional backup systems miss: bit rot, corruption, and unexpected tampering.
Your files can change without you knowing. Hard drives degrade. Ransomware alters files while preserving timestamps. FsPulse catches these problems early through two powerful detection methods:
- Content Hashing (SHA2): Detects when file contents change even though filesystem metadata stays the sameβthe telltale sign of bit rot or sophisticated tampering
- Format Validation: Uses open-source libraries to read and validate file structures, catching corruption in FLAC audio, JPEG/PNG images, PDFs, and more
Instead of waiting for a file to fail when you need it most, FsPulse gives you continuous awareness. Run manual scans when you want, or let scheduled scans (coming soon) monitor your data automatically. When issues are detected, FsPulse's alert system flags them immediately through an elegant web interface.
Whether you're protecting family photos, managing media libraries, or maintaining production servers, FsPulse provides the peace of mind that comes from knowing your data is actually intactβnot just backed up.
π Key Capabilities
- Dual Interface β Run as a web service with elegant browser UI, or use the full-featured CLI with interactive terminal modes
- Integrity Detection β SHA2 hashing catches content changes even when filesystem metadata stays the same; format validators detect corruption in supported file types
- Change Tracking β Deep directory scanning captures all additions, modifications, and deletions across scan sessions
- Alert System β Suspicious hash changes and validation failures are flagged immediately with status management (Open/Flagged/Dismissed)
- Powerful Query Language β SQL-inspired syntax lets you filter, sort, and analyze your data with precision
- Production Ready β Official Docker images (multi-architecture), comprehensive documentation, and native installers
π Documentation
Quick start instructions are below, but full documentation is available in book form:
Key sections:
- Getting Started β Installation options and first steps
- Docker Deployment β Complete Docker guide with NAS setup
- Scanning β How scans work and what they detect
- Query Syntax β Powerful filtering and data exploration
- Command-Line Interface β All CLI commands and options
- Configuration β Customizing FsPulse behavior
π³ Quick Start with Docker
Access the web UI at http://localhost:8080
The Docker Deployment Guide provides complete coverage including Docker Compose examples, NAS deployments, and detailed configuration options.
β‘ Usage Examples
FsPulse can run in three modes depending on your needs:
Web UI Mode
Start the server and access through your browser:
Open http://127.0.0.1:8080 in your browser to access the full web interface.
Great for: Visual data exploration, managing multiple roots, real-time scan monitoring, continuous awareness
Command-Line Mode
Direct terminal commands for scripting and automation:
# Run a scan
# Query for invalid items
# View recent scans
# Find items with hash changes
Great for: Automation, scripted workflows, CI/CD integration, quick one-off operations
Interactive Terminal Mode
Menu-driven interfaces for guided terminal workflows:
Great for: Terminal users who want visual feedback without leaving the command line
π¦ Installation Options
FsPulse can be installed in several ways depending on your preferences and environment:
Docker Hub (Recommended)
Pull the official image and run:
Multi-architecture support: linux/amd64, linux/arm64
See the Docker Deployment Guide for complete instructions.
Cargo (crates.io)
Install via Rust's package manager:
Requires Rust toolchain installed on your system.
Pre-built Binaries
Download platform-specific binaries from GitHub Releases.
Available for: Linux, macOS, Windows
Build from Source
Clone and build with Cargo:
See the Getting Started Guide for detailed installation instructions for all methods.
π¬ Getting Help
- Report issues: GitHub Issues
- Documentation: FsPulse Book
- Docker Hub: gtunesdev/fspulse
π€ Contributions
FsPulse is under active development, but is not currently accepting external contributions. This may change in the future β see our Development Guide for details.
π License
Released under the MIT License. See LICENSE for details.