| Crates.io | fspulse |
| lib.rs | fspulse |
| version | 0.3.3 |
| created_at | 2025-04-22 23:15:24.531274+00 |
| updated_at | 2025-11-29 15:57:12.72669+00 |
| description | FsPulse is a fast, cross-platform filesystem scanner and change tracker. |
| homepage | https://github.com/gtunes-dev/fspulse |
| repository | https://github.com/gtunes-dev/fspulse |
| max_upload_size | |
| id | 1644797 |
| size | 2,086,749 |
β οΈ 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.
π FsPulse has comprehensive documentation. Jump straight to the docs β
Read-Only Guarantee. FsPulse never modifies your files. It requires only read access to the directories you configure for scanning. Write access is required only for FsPulse's own database, configuration files, and logs β never for your data.
Local-Only Guarantee. FsPulse makes no outbound network requests. All functionality runs entirely on your local system, with no external dependencies or telemetry.
FsPulse is a comprehensive filesystem monitoring and integrity tool that gives you complete visibility into your critical directories. Track your data as it grows and changes over time, detect unexpected modifications, and catch silent threats like bit rot and corruption before they become disasters. FsPulse provides continuous awareness through automated scanning, historical trend analysis, and intelligent alerting.
Your filesystem is constantly evolvingβfiles are added, modified, and deleted. Storage grows. But invisible problems hide beneath the surface: bit rot silently corrupts data, ransomware alters files while preserving timestamps, and you don't realize directories have bloated.
FsPulse gives you continuous awareness of both the visible and invisible:
Monitor Change & Growth:
Detect Integrity Issues:
Whether you're managing storage capacity, tracking project evolution, or ensuring data integrity, FsPulse provides the visibility and peace of mind that comes from truly knowing the state of your data.
Web UI showing real-time scan progress with live statistics
Quick start instructions are below, but full documentation is available in book form:
Key sections:
docker run -d \
--name fspulse \
-p 8080:8080 \
-v fspulse-data:/data \
-v ~/Documents:/roots/documents:ro \
gtunesdev/fspulse:latest
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.
Start the FsPulse server:
fspulse
Or explicitly:
fspulse serve
Open http://127.0.0.1:8080 in your browser to access the web interface.
All functionality is available through the web UI:
FsPulse is configured through environment variables or a config file:
# Example: Change port and enable debug logging
export FSPULSE_SERVER_PORT=9090
export FSPULSE_LOGGING_FSPULSE=debug
fspulse
See the Configuration Guide for all available settings.
The interface provides powerful visual tools for monitoring and exploring your data:
Monitor page showing scheduled scans and queue management
Browse page showing filesystem hierarchy navigation
Item detail panel showing metadata, validation status, and change history
Insights page with interactive charts for historical trend analysis
FsPulse can be installed in several ways depending on your preferences and environment:
Pull the official image and run:
docker pull gtunesdev/fspulse:latest
docker run -d --name fspulse -p 8080:8080 -v fspulse-data:/data gtunesdev/fspulse:latest
Multi-architecture support: linux/amd64, linux/arm64
See the Docker Deployment Guide for complete instructions.
Install via Rust's package manager:
cargo install fspulse
Requires Rust toolchain installed on your system.
Download platform-specific binaries from GitHub Releases.
Available for: Linux, macOS, Windows
macOS builds include both Intel (x86_64) and Apple Silicon (ARM64) binaries.
Note: All web UI assets are embedded in the binaryβno external files or dependencies required.
Clone the repository and use the build script:
git clone https://github.com/gtunes-dev/fspulse.git
cd fspulse
./scripts/build.sh
./target/release/fspulse --help
Prerequisites: Node.js (with npm) and Rust (via rustup) must be installed.
See the Building from Source Guide for detailed build instructions including manual steps and troubleshooting.
FsPulse is under active development, but is not currently accepting external contributions. This may change in the future β see our Development Guide for details.
Released under the MIT License. See LICENSE for details.