Quick Installation

PingPanther can be installed on a fresh Ubuntu 24.04 LTS server with a single command.

Requirements

  • • Ubuntu 24.04 LTS (fresh installation recommended)
  • • Minimum: 2GB RAM, 1 CPU core
  • • Recommended: 4GB RAM, 2 CPU cores
  • • Root access (sudo is not enough)
  • • A domain name pointing to your server (optional, for SSL)

Installation Command

SSH into your server and run the following command:

bash <(curl -sSL https://raw.githubusercontent.com/paramientos/pingpantherio/main/install.sh)

The installer will interactively prompt you for:

  • • Domain name (or it will use your server IP)
  • • Admin email address
  • • Password will be auto-generated securely

What Gets Installed

The installer automatically sets up:

  • • PHP 8.4 with FPM and required extensions
  • • Nginx web server
  • • PostgreSQL database
  • • Redis for caching and queues
  • • Laravel Horizon for queue management
  • • Let's Encrypt SSL certificates (if domain provided)
  • • Systemd services for auto-restart
  • • Production optimizations (OPcache, route caching)

First Login

After installation completes, access your dashboard at https://yourdomain.com

Your Credentials:

At the end of installation, the script will display your admin credentials.

  • • Email: The email you provided during installation
  • • Password: Auto-generated secure password (save it!)

💡 Make sure to save these credentials immediately!

Try Live Demo

Want to try PingPanther before installing? Access our demo instance with pre-filled credentials.

Access Demo Dashboard

Post-Installation Configuration

After installation, you may want to configure additional settings for your production environment.

Email Settings

To receive email alerts, update your .env file located at /var/www/pingpanther/.env

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=your_username
MAIL_PASSWORD=your_password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="alerts@yourdomain.com"
MAIL_FROM_NAME="PingPanther Alerts"

After updating, clear the cache:

php artisan config:cache

Laravel Horizon

Horizon provides a dashboard for your Redis queues at /horizon

To restart Horizon after code changes:

sudo systemctl restart pingpanther-horizon

Updating PingPanther

To update to the latest version:

cd /var/www/pingpanther
git pull origin main
composer install --no-dev --optimize-autoloader
yarn install && yarn build
php artisan migrate --force
php artisan optimize
sudo systemctl restart pingpanther-horizon

Reset User Password

If you forgot your password or need to reset a user's password, use the built-in command:

cd /var/www/pingpanther
php artisan pp:reset-password

The command will interactively prompt you for:

  • • User email address
  • • New password (hidden input)

💡 The password will be securely hashed before saving to the database.

Firewall Configuration

The installer configures UFW to allow HTTP and HTTPS. Check status:

sudo ufw status

Data Retention Policy

By default, PingPanther automatically prunes old monitoring data to keep your database size manageable.

Default Behavior:

The system runs a daily scheduled task that removes monitoring data older than 30 days. This helps maintain optimal database performance.

$schedule->command(PruneOldData::class)->daily();

Disable Auto-Pruning:

If you want to keep all historical data indefinitely, you can disable this feature:

  1. 1. Edit the bootstrap file: /var/www/pingpanther/bootstrap/app.php
  2. 2. Find the withSchedule section
  3. 3. Comment out or remove this line: $schedule->command(PruneOldData::class)->daily();
  4. 4. No restart required - changes take effect on next schedule run

⚠️ Warning: Disabling auto-pruning will cause your database to grow continuously. Monitor disk space regularly.

Getting Started

Learn how to create monitors, set up alerts, and manage your infrastructure monitoring.

Creating Your First Monitor

  1. 1. Navigate to Monitors in the sidebar
  2. 2. Click Create Monitor
  3. 3. Choose monitor type (HTTP, Ping, Port, etc.)
  4. 4. Enter your service URL or IP address
  5. 5. Set check interval (30s, 1m, 5m, etc.)
  6. 6. Click Save

Monitor Types

HTTP/HTTPS

Monitor websites and APIs. Checks for 2xx status codes.

TCP Port

Check if a specific port is open and accepting connections.

Ping (ICMP)

Simple ping check to verify server is reachable.

Keyword Check

Verify specific text appears on a webpage.

Push/Heartbeat

Monitor cron jobs and scheduled tasks.

Setting Up Alerts

Configure how you want to be notified when incidents occur:

  • • Navigate to Settings → Notification Channels
  • • Add Email, Slack, Discord, or Webhook channels
  • • Create Escalation Policies for multi-tier alerts
  • • Assign policies to your monitors

Status Pages

Create public status pages for your customers:

  • • Go to Status Pages
  • • Click Create Status Page
  • • Select which monitors to display
  • • Customize branding and colors
  • • Share the public URL with your users

API Documentation

PingPanther provides a RESTful API for programmatic access to all features.

Developer API

COMING SOON

We are working on a comprehensive REST API to allow you to manage monitors, retrieve stats, and integrate PingPanther with your own tools programmatically.

Planned Endpoints

GET /api/monitors POST /api/monitors GET /api/incidents GET /api/stats