Skip to content

Stupid simple, in-memory system monitoring, accessible from the web

License

Notifications You must be signed in to change notification settings

SpikeHD/Procchi

Repository files navigation


Procchi

Stupid simple, in-memory system monitoring, accessible from the web.
https://discord.gg/agQ9mRdHMZ

Table of Contents

Screenshots

Click to expand image image

Installation

  1. Download a release binary from the releases page or from actions, and put it somewhere.

    1a. If you are on a Linux platform, you can move Procchi to /usr/bin to make it available system-wide:

    sudo mv procchi /usr/bin
  2. That's it!

Usage

Run the binary via terminal to view a full list of options:

./procchi -h

Plugins

Certain extra features need to be selectively enabled. For example, to enable the minecraft and docker plugins:

./procchi -e minecraft,docker

Looking for a list of plugins that you can enable? Take a look at this file.

Examples

# Start Procchi on port 7766, with test authentication credentials
./procchi -p 7766 -u test -k test
# (If `-u` and `-k` are not specified, Procchi will prompt for credentials before deploying the web server, which is reccommended)

# Start Procchi on the default port (6565), and have it retain a max of 50 elements in metric history for each metric
./procchi -m 50

# Start Procchi configured to update every 10 seconds (instead of the default of 5 seconds)
./procchi -r 10

# Start procchi with the access address pointing to the external IP address of the machine
./procchi -a <machine IP>

Developing

Prerequisites

  • Node.js (20.x) or Bun (latest)
  • Cargo/Rust (latest)

First time setup

  1. Clone the repository
  2. Install frontend dependencies
    cd frontend
    npm install
    cd ..
  3. That's it!

Develop

To start in dev mode:

# If you have "bun" installed
bun run start:bun

# Otherwise
npm run start

Build

To build a release:

# If you have "bun" installed
bun run build:bun

# Otherwise
npm run build

TODO

  • Better mobile formatting
  • "Plugins" for specific process types
    • Minecraft Server(s)
    • Docker containers
    • Logs (nginx, apache, syslog, etc.)

Contributing

Issues, PRs, etc. are all welcome!