🧙 Installation Wizard
Monitron SaaS includes a beautiful, step-by-step installation wizard that makes setup a breeze. No manual .env editing needed!
🚀 Accessing the Wizard
Navigate to your domain:
https://your-domain.com/install
Can't see the wizard? Make sure:
- Your web server points to the
public/directory - The
.envfile exists (even if empty — copy from.env.example) - File permissions are set correctly (see File Permissions)
Step 1 of 6: 👋 Welcome
The welcome screen gives you an overview of what the wizard will do. Nothing to configure here — just click "Let's Get Started" to continue.
Step 2 of 6: ✅ Requirements Check
The wizard automatically checks your server for all required PHP extensions and settings.
What Gets Checked
| Check | Why It's Needed |
|---|---|
| PHP >= 8.2 | Monitron requires modern PHP |
| BCMath extension | Math calculations for uptime percentages |
| Ctype extension | String validation |
| cURL extension | Making HTTP requests to your monitored services |
| DOM extension | Parsing HTML/XML responses |
| Fileinfo extension | Detecting file types for uploads |
| JSON extension | API communication and config storage |
| Mbstring extension | Multi-byte string support (Unicode) |
| OpenSSL extension | SSL certificate checking and HTTPS |
| PDO extension | Database connections |
| Tokenizer extension | PHP code processing |
| XML extension | XML response parsing |
| GD or Imagick | Image processing for avatars and logos |
storage/ writable | Cache, logs, uploads |
bootstrap/cache/ writable | Framework cache |
✅ All Green?
Great! Click "Continue" to proceed.
❌ Something Red?
The wizard shows exactly which requirement failed. Here's how to fix common ones:
Missing PHP extension (e.g., php-curl):
# Ubuntu/Debian
sudo apt install php8.3-curl
sudo systemctl restart php8.3-fpm
# CentOS/RHEL
sudo yum install php-curl
sudo systemctl restart php-fpm
Directory not writable:
sudo chown -R www-data:www-data /var/www/monitron/storage
sudo chmod -R 775 /var/www/monitron/storage
sudo chown -R www-data:www-data /var/www/monitron/bootstrap/cache
sudo chmod -R 775 /var/www/monitron/bootstrap/cache
Step 3 of 6: 💾 Database Setup
Here you'll configure your database connection. The wizard supports three database engines:
🐬 MySQL (Recommended)
| Field | Example Value | Notes |
|---|---|---|
| Host | 127.0.0.1 | Use IP, not localhost (avoids socket issues) |
| Port | 3306 | Default MySQL port |
| Database | monitron | Must already exist |
| Username | monitron_user | Database user |
| Password | your_password | Database password |
Before running the wizard, create the database and user:
-- Log in to MySQL
mysql -u root -p
-- Create database
CREATE DATABASE monitron CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- Create user and grant permissions
CREATE USER 'monitron_user'@'localhost' IDENTIFIED BY 'your_secure_password';
GRANT ALL PRIVILEGES ON monitron.* TO 'monitron_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Important: Always use utf8mb4 charset! This ensures proper support for emojis and special characters in monitor names, incident descriptions, etc.
🐘 PostgreSQL
| Field | Example Value |
|---|---|
| Host | 127.0.0.1 |
| Port | 5432 |
| Database | monitron |
| Username | monitron_user |
| Password | your_password |
Create the database first:
-- Log in to PostgreSQL
sudo -u postgres psql
-- Create user and database
CREATE USER monitron_user WITH PASSWORD 'your_secure_password';
CREATE DATABASE monitron OWNER monitron_user;
\q
📄 SQLite
Select SQLite and the wizard creates the database file automatically at database/database.sqlite. No configuration needed!
SQLite is for testing only. It doesn't handle concurrent writes well, which means monitoring checks can fail under load. Use MySQL or PostgreSQL for production.
🧪 Test Connection
Click "Test Connection" before proceeding. The wizard will:
- Try to connect to your database
- Show a ✅ success message or a ❌ error with details
- Only let you proceed if the connection is successful
Step 4 of 6: 👤 Admin Account
Create your first administrator account:
| Поле | Описание |
|---|---|
| Name | Your display name (e.g., "John Smith") |
| Your email address (used to log in) | |
| Password | At least 8 characters. Make it strong! |
| Confirm Password | Type it again to make sure |
This account will be the super admin with full access to everything. You can create more users and teams later from the dashboard.
Tip: Use a real email address! Monitron can send you email notifications about your monitors. You can always change it later in your profile settings.
Step 5 of 6: 🖥️ Server Configuration
This step shows you the configuration files you need for your specific web server. The wizard provides ready-to-copy configs for:
Web Server Configs
Click the tab for your web server to see the config:
- 🟢 Nginx — Copy to
/etc/nginx/sites-available/monitron - 🟠 Apache — Copy to your VirtualHost config
- ⚡ LiteSpeed — Configuration instructions
- 🟡 Caddy — Copy to your Caddyfile
- 🔵 IIS — Web.config for Windows/IIS
Each config is customized with your domain name and file paths!
⏰ Cron Job
The wizard shows you the exact cron entry to add:
* * * * * cd /var/www/monitron && php artisan schedule:run >> /dev/null 2>&1
🔄 Supervisor Config
For queue workers, copy the Supervisor configuration shown.
Don't skip this step! Even though you can click through, you NEED to set up the cron job and queue workers for Monitron to actually perform monitoring checks.
Step 6 of 6: 🎉 Complete!
That's it! The wizard has:
- ✅ Written your
.envconfiguration file - ✅ Run all database migrations (created 14+ tables)
- ✅ Seeded default application settings
- ✅ Created your admin account and default team
- ✅ Created the
storage/installed.lockfile
Click the "Go to Dashboard" button to start using Monitron SaaS!
🔒 After Installation
Once the wizard completes, it creates a storage/installed.lock file. This file:
- Prevents anyone from running the wizard again
- Redirects
/installrequests to the dashboard - Protects your installation from being reconfigured
Never delete storage/installed.lock unless you need to completely reconfigure your installation! Deleting it will expose the setup wizard to anyone who visits /install.
🔄 Running the Wizard Again
If you absolutely need to run the wizard again (e.g., database corrupted):
# Remove the lock file
rm /var/www/monitron/storage/installed.lock
# Then visit /install in your browser
Warning: Running the wizard again will overwrite your .env file, re-run migrations, and create a new admin account. Back up your database first!