Disk Monitor

See the health, temperature, sleep state and activity of every disk in your ZimaOS box.

  • ghcr.io/hsinghhira/disk-monitor:latest
  • Others
Disk Monitor screenshot 1: DashboardDisk Monitor screenshot 2: Drive detailsDisk Monitor screenshot 3: USB drive in standbyDisk Monitor screenshot 4: SMART checkDisk Monitor screenshot 5: Advanced SMART dataDisk Monitor screenshot 6: SMART history

A dashboard for every disk in your ZimaOS box: SMART health, temperature, standby state, activity and RAID, with email alerts. It tries hard not to wake sleeping hard drives.

Features

  • Finds your HDDs, SSDs, NVMe and supported USB drives, with used and free space and mount points
  • SMART health, temperature and detailed SMART values, with history charts
  • Shows which disks are asleep and since when, and works with the ZimaOS standby timer
  • Automatic SMART checks (off, 1, 2 or 3 times a day) that don't wake sleeping hard drives
  • Email alerts for SMART problems, missing drives, RAID and temperature, plus scheduled status reports
  • RAID overview with safe standby controls
  • English, German, French, Portuguese and Spanish

How to use

  1. Open Disk Monitor from your dashboard, or go to http://[ZIMAOS-IP-ADDRESS]:6170.
  2. Sign in as admin (or your DISK_MONITOR_USERNAME). The password is in /DATA/AppData/disk-monitor/cache/password.txt (open it with the Files app) and in the app log, unless you typed your own in DISK_MONITOR_PASSWORD.
  3. Wait for the first full SMART check to finish. It runs once, on the first start only.
  4. Set up email alerts, temperature warnings and automatic SMART checks in the settings. Email (SMTP) is set up in the app, not with variables.
  5. For a USB hard drive, enter how long its enclosure takes to go to sleep in the USB auto-standby setting, so the sleep state shown is right.

Before you install

Leave DISK_MONITOR_PASSWORD blank and the app makes its own random password on first start, saved in password.txt in the app's cache folder and shown in the app log; or type your own with at least 12 characters (shorter ones stop the app from starting). The session secret is made for you too. On the very first start the app checks every disk once, which wakes sleeping hard drives; after that it leaves them asleep. The app uses host networking and privileged mode because it reads SMART data and sends standby commands straight to your disks, so treat it like full access to your server: use it on your home network and don't open port 6170 to the internet. It runs on amd64 (Intel/AMD) only. Two more settings are in the Variables tab and are added in the app settings.

The settings in the first table are already in the app settings. To use any other one, open the app settings, add the variable with your value, save, and the app restarts with it. A setting you leave out uses its default.

In the app settings

VariableDefault valueDescription
TZ$TZYour time zone. ZimaOS fills this in for you.
DISK_MONITOR_USERNAMEadminThe username for the Disk Monitor login screen. admin is fine, or pick your own.
DISK_MONITOR_PASSWORD—The password for the Disk Monitor login screen. Leave it blank and the app makes a random one on first start. Find it in /DATA/AppData/disk-monitor/cache/password.txt (open it with the Files app) or in the app log. Or type your own here: at least 12 characters, or the app won't start.

Security

VariableDefault valueDescription
DISK_MONITOR_SESSION_SECRET—The secret that keeps you signed in. It is made on first start and saved as .session_secret in the cache folder. Only set it if you want your own (at least 32 characters). Changing it signs everyone out.
DISK_MONITOR_SESSION_HTTPS_ONLYfalseSet to true only when you open Disk Monitor through HTTPS (a reverse proxy). With true, sign-in won't work over plain http.
docker-compose.yml
name: disk-monitor

services:
  disk-monitor:
    image: ghcr.io/hsinghhira/disk-monitor:latest
    container_name: disk-monitor
    hostname: disk-monitor
    restart: unless-stopped
    stop_grace_period: 15s
    init: true
    network_mode: host
    privileged: true
    read_only: true
    tmpfs:
      - /tmp:size=64m,mode=1777
    environment:
      - TZ=$TZ
      - DISK_MONITOR_USERNAME=admin
      - DISK_MONITOR_PASSWORD=
    volumes:
      - type: bind
        source: /DATA/AppData/$AppID/cache
        target: /app/cache
        bind:
          create_host_path: true
      - type: bind
        source: /sys
        target: /host/sys
        read_only: true
      - type: bind
        source: /proc
        target: /host/proc
        read_only: true
      - type: bind
        source: /dev
        target: /dev
    healthcheck:
      test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:6170/api/auth/status', timeout=3).read()"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 30s
    logging:
      driver: json-file
      options:
        max-size: "10m"
        max-file: "3"
    deploy:
      resources:
        limits:
          cpus: "1.00"
          memory: 512M
        reservations:
          cpus: "0.00"
          memory: 64M
    labels:
      icon: https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/disk-monitor/icon.png
    x-casaos:
      id: com.icestore.disk-monitor
      envs:
        - container: TZ
          description:
            en_US: Your time zone. ZimaOS fills this in for you.
        - container: DISK_MONITOR_USERNAME
          description:
            en_US: The username for the Disk Monitor login screen. admin is fine, or pick your own.
        - container: DISK_MONITOR_PASSWORD
          description:
            en_US: >-
              The password for the Disk Monitor login screen. Leave it blank
              and the app makes a random one on first start. Find it in
              /DATA/AppData/disk-monitor/cache/password.txt (open it with the
              Files app) or in the app log. Or type your own here: at least 12
              characters, or the app won't start.
      volumes:
        - container: /app/cache
          description:
            en_US: >-
              Disk Monitor's saved data: SMART history, settings, email
              settings, the login password file (password.txt) and the session
              secret (.session_secret). Back this folder up.
        - container: /host/sys
          description:
            en_US: The host's /sys, read-only, so the app can see your disks.
        - container: /host/proc
          description:
            en_US: The host's /proc, read-only, for mount points and disk activity.
        - container: /dev
          description:
            en_US: The host's devices, for reading SMART data and sending standby commands.

x-casaos:
  id: com.icestore.disk-monitor
  architectures:
    - amd64
  main: disk-monitor
  author: HSinghHira
  category: Others
  developer: isanto1306
  icon: https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/disk-monitor/icon.png
  thumbnail: https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/disk-monitor/screenshot-1.webp
  screenshot_link:
    - https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/disk-monitor/screenshot-1.webp
    - https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/disk-monitor/screenshot-2.webp
    - https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/disk-monitor/screenshot-3.webp
    - https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/disk-monitor/screenshot-4.webp
    - https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/disk-monitor/screenshot-5.webp
    - https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/disk-monitor/screenshot-6.webp
  title:
    en_US: Disk Monitor
  tagline:
    en_US: See the health, temperature, sleep state and activity of every disk in your ZimaOS box.
  description:
    en_US: >-
      Visit: [https://icestore.hsinghhira.me/app/disk-monitor/](https://icestore.hsinghhira.me/app/disk-monitor/) for full details


      A dashboard for every disk in your ZimaOS box: SMART health,
      temperature, standby state, activity and RAID, with email alerts. It
      tries hard not to wake sleeping hard drives.


      **Features**


      - Finds your HDDs, SSDs, NVMe and supported USB drives, with used and
        free space and mount points

      - SMART health, temperature and detailed SMART values, with history
        charts

      - Shows which disks are asleep and since when, and works with the
        ZimaOS standby timer

      - Automatic SMART checks (off, 1, 2 or 3 times a day) that don't wake
        sleeping hard drives

      - Email alerts for SMART problems, missing drives, RAID and
        temperature, plus scheduled status reports

      - RAID overview with safe standby controls

      - English, German, French, Portuguese and Spanish


      **How to use?**


      1. Open Disk Monitor from the Zima OS dashboard.


      2. Sign in as admin (or your DISK_MONITOR_USERNAME). The password is
         in /DATA/AppData/disk-monitor/cache/password.txt, unless you typed
         your own in DISK_MONITOR_PASSWORD.


      3. Wait for the first full SMART check to finish. It runs once, on the
         first start only.


      4. Set up email alerts and automatic SMART checks in the settings.


      This app needs full access to your hardware (host network and
      privileged mode). Use it on your home network only and don't open its
      port to the internet.
  tips:
    before_install:
      en_US: >-
        1. Leave DISK_MONITOR_PASSWORD blank to get a random password, or type
           your own with at least 12 characters.


        2. Start the installation.


        3. On the very first start, the app checks every disk once. Sleeping
           hard drives will wake up for this. This is normal.


        4. Open Disk Monitor from the Zima OS dashboard, or go to
           http://[ZIMAOS-IP-ADDRESS]:6170 from another device.


        5. Sign in as admin. The password is in
           /DATA/AppData/disk-monitor/cache/password.txt (open it with the
           Files app) and in the app log.


        6. Don't open port 6170 to the internet. This app has full access to
           your hardware.


        More settings are listed on the Disk Monitor page at
        https://icestore.hsinghhira.me/app/disk-monitor/ (Variables tab). You
        can add them now or later in the app settings.
  index: /
  port_map: "6170"
  scheme: http
  is_uncontrolled: false
  version: "0.32.104"
  update_at: "2026-10-27"
  release_notes:
    en_US: |-
      - Initial IceStore version, built on ghcr.io/isanto1306/disk-monitor 0.32.104.
      - Runs on port 6170 instead of 8999.
      - Each install makes its own session secret and, when DISK_MONITOR_PASSWORD is blank, its own random login password on first start, instead of CHANGE_ME values.
      - The start script is now in the image (ghcr.io/hsinghhira/disk-monitor), not in the compose file, so it no longer fails with "can't create .tmp: Read-only file system".
  repo: "https://github.com/isanto1306/Disk-Monitor"
  support: "https://github.com/isanto1306/Disk-Monitor/issues"
  docs: "https://github.com/isanto1306/Disk-Monitor#readme"