PHPServerMonitor

PHPServerMonitor

Docker app from CorneliousJD's Repository

Overview

PHP Server Monitor checks whether your websites and servers are up and running.Web based user interface where you can manage your checks, users, etc. Email, SMS, Discord, Pushover, Telegram and Jabber notifications. Requires MySQL or MariaDB.

PHP Server Monitor

.. image:: https://badges.gitter.im/Join%20Chat.svg :alt: Join the chat at https://gitter.im/phpservermon/phpservermon :target: https://gitter.im/phpservermon/phpservermon

.. image:: https://img.shields.io/discord/1359923330798456992?logo=discord&logoColor=white&label=Discord&labelColor=%235865F2&link=https%3A%2F%2Fdiscord.gg%2FRv7nRP4HVq :alt: Join the discord at https://discord.gg/Rv7nRP4HVq :target: https://discord.gg/Rv7nRP4HVq

Version 3.6.0.beta2

PHP Server Monitor is a script that checks whether your websites and servers are up and running. It comes with a web based user interface where you can manage your services and websites, and you can manage users for each server with a mobile number and email address.

Features:

  • Monitor services and websites (see below).
  • Email, SMS, Discord, Pushover, Telegram and Jabber notifications.
  • View history graphs of uptime and latency.
  • User authentication with 2 levels (administrator and regular user).
  • Logs of connection errors, outgoing emails and text messages.
  • Easy cronjob implementation to automatically check your servers.

There are two different ways to monitor a server:

  • Service

    A connection will be made to the entered ip or domain, on the given port. This way you can check if certain services on your machine are still running. To check your IMAP service for example, enter port 143.

  • Website

    You can enter a link to a website, it will then use cURL to open the website and check the HTTP status code. If the HTTP status code is in the 4xx/5xx, it means an error occurred and the website is not accessible to the public. You can also set a regular expression to match for content on the page itself. If the regular expression returns no matches, the website is considered down. In both cases the script will return a "status offline", and will start sending out notifications.

Each server has its own settings regarding notification. You can choose for email, text message (SMS), Pushover.net, Telegram and Jabber notifications. The following SMS gateways are currently available:

Please note: for these gateways you will need an account with sufficient credits.

Join the community

.. image:: https://discord.com/api/guilds/1359923330798456992/widget.png?style=banner4 :alt: Join the discord at https://discord.gg/Rv7nRP4HVq :target: https://discord.gg/Rv7nRP4HVq

Download

The latest version can be downloaded from https://github.com/phpservermon/phpservermon/releases.

Requirements

  • Web server

  • MySQL database

  • For PHP5: 5.5.9+

  • For PHP7: 7.0.8+

  • PHP Extensions (modules)

    • ext-curl
    • ext-ctype
    • ext-filter
    • ext-hash
    • ext-json
    • ext-libxml
    • ext-openssl
    • ext-pdo
    • ext-pcre
    • ext-sockets
    • ext-xml

Install

Please see docs/install.rst. In a nutshell: unzip, upload, run install.php, enjoy.

If you have downloaded the source from GitHub (and not a pre-built package), the dependencies are not included. To be able to run an installation from the repo, you need to run the following command to install the dependencies::

 php composer.phar install

If you are familiar with Vagrant (https://www.vagrantup.com)::

 vagrant up

.. and browse to http://localhost:8080/psm/.

Documentation

The documentation is available in the docs folder or https://docs.phpservermonitor.org.

License

PHP Server Monitor is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PHP Server Monitor is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with PHP Server Monitor. If not, see https://www.gnu.org/licenses/.

Docker

PHPServerMonitor is now available on Docker : https://github.com/phpservermon/docker-phpservermonitor

Install PHPServerMonitor on Unraid in a few clicks.

Find PHPServerMonitor in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for PHPServerMonitor Review the template variables and paths Click Install

Requirements

MySQL / MariaDB installed

Download Statistics

678,545
Total Downloads
38
This Month
46
Avg / Month

Total Downloads Over Time

Loading chart...

Related apps

Explore more like this

Explore all

Details

Repository
benoitpodwinski/phpservermon
Last Updated2020-11-18
First Seen2021-03-22

Runtime arguments

Web UI
http://[IP]:[PORT:80]
Network
bridge
Shell
sh
Privileged
false

Template configuration

Web InterfacePorttcp

Container Port: 80

Target
80
Default
7139
Value
7139
PSM_BASE_URLVariable

Leave blank if you're just accessing locally, otherwise enter your full reverse proxy URL (including https://)

PSM_DB_HOSTVariable

Hostname or IP of MySQL or MariaDB.

PSM_DB_PORTVariable

Container Variable: PSM_DB_PORT

Default
3306
Value
3306
PSM_DB_NAMEVariable

Container Variable: PSM_DB_NAME

Default
phpservermon
Value
phpservermon
PSM_DB_USERVariable

Container Variable: PSM_DB_USER

Default
phpservermon
Value
phpservermon
PSM_DB_PASSVariable

Container Variable: PSM_DB_PASS

PHP_TIMEZONEVariable

Container Variable: PHP_TIMEZONE

Default
UTC
Value
UTC
UPDATE_INTERVALVariable

Container Variable: UPDATE_INTERVAL

Default
120
Value
120
PSM_DB_PREFIXVariable

Container Variable: PSM_DB_PREFIX

Default
psm_
Value
psm_
PHP_MEMORY_LIMITVariable

Container Variable: PHP_MEMORY_LIMIT

Default
512M
Value
512M
MAX_UPLOADVariable

Container Variable: MAX_UPLOAD

Default
128M
Value
128M