Home Servers Linux: Manual install and config client app

Linux: Manual install and config client app

Last updated on Jan 30, 2025

Automated Installation

For an easy installation, we provide an auto-install Bash script. You can find it at the top of the server dashboard by pressing the Install Client button. This script simplifies the setup process and ensures that all necessary dependencies are installed.

Manual Installation

If you prefer to install PingMoni manually, follow the steps below:

System Requirements

  • The system must have Linux Kernel 4.18+.

  • Most supported Linux distributions will work

    *****OpenSUSE is known to be incompatible.

Dependencies

Ensure the following dependencies are installed: Smart Tools, Tar

Debian/Ubuntu:

sudo apt update && sudo apt install -y smartmontools tar

RHEL/CentOS:

sudo yum install -y smartmontools tar

Download and Extract

Download the latest PingMoni client from our website and extract the archive. The exact download link is not currently available, so please refer to the server dashboard for updates.

tar -xvf pingmoni-latest.tar.gz

Choosing the Correct Binary

Inside the extracted folder, you will find three architecture-specific subfolders:

  • x86 for standard 64-bit systems

  • arm32 for 32-bit ARM devices

  • arm64 for 64-bit ARM devices

Navigate to the appropriate folder and locate the following binaries:

  • pingmoni-client

  • pingmoni-updater

Installation Steps

  1. Move the binaries to the default installation directory:

    sudo mkdir -p /opt/pingmoni
    sudo mv pingmoni-client pingmoni-updater /opt/pingmoni/
    
  2. Grant execution permissions:

    sudo chmod +x /opt/pingmoni/pingmoni-client /opt/pingmoni/pingmoni-updater
    
  3. Run the configuration setup:

    cd /opt/pingmoni
    ./pingmoni-client -create-config
    
  4. During configuration, you will be prompted to enter your server key and enable/disable auto-update. If enabling auto-update, ensure pingmoni-updater is present.

  5. The configuration file will be created at:

    /opt/pingmoni/config.json
    

Verifying Configuration

After installation, you can check the setup with:

/opt/pingmoni/pingmoni-client -check-config
/opt/pingmoni/pingmoni-client -check-connection

Running PingMoni as a System Service

To run PingMoni persistently, set it up as a service. While various init systems can be used, here's an example using systemd:

sudo nano /etc/systemd/system/pingmoni.service

Paste the following configuration:

[Unit]
Description=PingMoni Client
After=network.target

[Service]
Type=simple
ExecStart=/opt/pingmoni/pingmoni-client
Restart=on-failure
RestartSec=60
User=root
Group=root
StandardOutput=journal
StandardError=journal
SyslogIdentifier=pingmoni
WorkingDirectory=/opt/pingmoni/

[Install]
WantedBy=multi-user.target

Save the file and reload systemd:

sudo systemctl daemon-reload
sudo systemctl enable --now pingmoni.service

Setting Up Auto-Update

If you enabled auto-update, you need to schedule the updater to run periodically.

Create a service for the updater:

sudo nano /etc/systemd/system/pingmoni-updater.service

Paste the following:

[Unit]
Description=PingMoni Updater Service
After=network.target

[Service]
Type=oneshot
ExecStart=/opt/pingmoni/pingmoni-updater
User=root
Group=root
StandardOutput=journal
StandardError=journal
SyslogIdentifier=pingmoni-updater

Save and close the file.

Next, create a timer to run the updater daily:

sudo nano /etc/systemd/system/pingmoni-updater.timer

Paste the following:

[Unit]
Description=Runs PingMoni Updater Daily

[Timer]
OnCalendar=daily
Persistent=true

[Install]
WantedBy=timers.target

Save and close the file, then enable the timer:

sudo systemctl daemon-reload
sudo systemctl enable --now pingmoni-updater.timer

Final Verification

After starting PingMoni, wait one minute and refresh the dashboard to confirm the client is working correctly.

This completes the installation and setup of the PingMoni client. If you encounter any issues, refer to the server dashboard for troubleshooting assistance.