An open API service indexing awesome lists of open source software.

https://github.com/justus0405/diskcord

🔍 Drive health check daemon with discord integration
https://github.com/justus0405/diskcord

alert background-service bash daemon discord discord-webhook disk-health drive drive-health homelab homelabbing homeserver lightweight linux monitoring nvme smartmontools ssd ssd-health-monitor webhook

Last synced: about 1 month ago
JSON representation

🔍 Drive health check daemon with discord integration

Awesome Lists containing this project

README

          













# Diskcord

Diskcord is a lightweight daemon written in bash that monitors the health of your drives and sends periodic updates to a Discord channel via webhook. It checks S.M.A.R.T. data to provide detailed insights about your storage devices, helping you stay ahead of potential failures.

## Features

- Lightweight: The script is written in just a few hundret lines of bash code.
- Background Service: Runs continuously as a daemon to keep your drives under watch.
- S.M.A.R.T Monitoring: Checks various drive statistics.
- Discord Integration: Sends formatted notifications to your Discord webhook.
- Customizable: Select which drives to monitor and how often to check them.

## Notes

The check interval must be formatted as:

- 60s for seconds
- 60m for minutes
- 12h for hours
- 1d for days
- empty, run only once at boot

This allows Diskcord to schedule health checks at the desired frequency.

# Examples

Either run yourself once:

```shell
./diskcord
```

Or run in the background every 1h:

```shell
./diskcord install 1h
```
## Preview

| Passed | Failed |
| ------ | ------ |
| passed | failed |

## Dependencies

```plaintext
jq
curl
smartmontools
nvme-cli
```

## Installation

1. Clone the repository:

```shell
git clone https://github.com/Justus0405/Diskcord.git
```

2. Navigate to the directory:

```shell
cd Diskcord
```

3. Make the script executable:

```shell
chmod +x diskcord
```

4. Edit the script to configure for which drives to check, webhook url and optionally a user id for pings:

```shell
nano diskcord
```

5. Run the script with the install and either a period argument or without:

```shell
./diskcord install 1d
```

## Usage

```plaintext
usage: diskcord [...]
arguments:
install 60s, 60m, 12h, or 1d, for seconds, minutes, hours, days.
uninstall
60s, 60m, 12h, or 1d, for seconds, minutes, hours, days.
help
version
```

#


Copyright © 2025-present Justus0405