Skip to content

Releases: dmitry575/srvmon

srvmon 1.1.0

Choose a tag to compare

@github-actions github-actions released this 19 Sep 07:44

Installation stopped being the hard part. Before this, getting the dashboard
onto a fresh VPS meant cloning a repository, setting up nginx, obtaining a
certificate and only then seeing a page — which is more ceremony than a small
server deserves.

Added

  • One-command install. curl … | sudo bash fetches the latest release,
    creates a user with a generated password, installs both units and prints the
    address to open. Nothing else to type.
  • HTTPS without a reverse proxy. The server can terminate TLS itself, and
    the installer generates a self-signed certificate issued for the machine's
    own address, so the browser warns about the issuer rather than the name.
  • A refusal that matters: binding to a public address without TLS is now
    an error rather than an option. A password typed into a page reachable from
    the internet should not travel in the clear.
  • --local for anyone who would rather keep it on 127.0.0.1 and reach it
    through an SSH tunnel; the port is opened in ufw when it is active.
  • CONTRIBUTING, SECURITY and issue templates; the README now says plainly what
    the dashboard is not, which saves everyone time.

Install

curl -fsSL https://github.com/dmitry575/srvmon/releases/download/v1.1.0/srvmon-1.1.0.tar.gz -o srvmon.tar.gz
tar xzf srvmon.tar.gz && cd srvmon-1.1.0
sudo ./install.sh

Or clone the repository and run sudo ./install.sh there.

srvmon 1.0.1

Choose a tag to compare

@github-actions github-actions released this 16 Sep 13:14

Fixes found by adding a third site to a dashboard that was already running.
Nobody had done that before: every earlier domain was there from the first
start, so the paths that handle a late arrival had never been exercised.

Fixed

  • The first chart point was a lie. On its first encounter with an access
    log the parser read half a megabyte of tail and counted it as fresh traffic,
    so a whole day of requests landed in a single minute of the chart. It now
    records where the file ends and returns nothing; the past is rebuilt
    separately and spread across its own timestamps. On the site that exposed
    this, one false spike of 2072 requests became 219 truthful points.
  • A site added later never got its history. Rebuilding from logs happened
    only while the traffic table was empty as a whole, and by then the ongoing
    collection had already written a row. The check is now per domain and looks
    for points older than an hour.
  • A new site looked half empty for hours. Certificates refresh hourly,
    WHOIS every twelve hours, directory sizes every fifteen minutes — a domain
    added a minute ago had to wait all of that out. The collector now notices
    domains appearing in the configuration and runs those tasks at once. The
    WHOIS freshness check became per domain for the same reason, so one recent
    answer no longer holds back a lookup for a different domain.
  • The self-test no longer assumes a fixed number of domains.

Install

curl -fsSL https://github.com/dmitry575/srvmon/releases/download/v1.0.1/srvmon-1.0.1.tar.gz -o srvmon.tar.gz
tar xzf srvmon.tar.gz && cd srvmon-1.0.1
sudo ./install.sh

Or clone the repository and run sudo ./install.sh there.