LaraMonster documentation

What LaraMonster is, what it includes, and how the pieces fit together.

LaraMonster is a local PHP and Laravel development environment for macOS, Windows and Linux. One app gives you PHP, a web server, databases, a mail inbox and trusted HTTPS, so every project in your projects folder is live at its own address the moment you create it.

It works in the spirit of Laravel Herd: no Docker, no virtual machine, no nginx to configure. LaraMonster runs everything as normal programs on your computer, so sites are fast, files are yours, and nothing needs sudo day to day.

What's included

Everything below is free. You don't need an account to use it.

  • Sites

    Park a folder and every subfolder becomes folder.localhost. Laravel's public/ folder is detected.

  • Built-in web server

    Caddy runs inside LaraMonster and reloads on every change.

  • Several PHP versions

    One-click installs, a default version and a version per site.

  • PHP settings & extensions

    Change php.ini values for all versions, one version or one site, without editing files.

  • HTTPS

    A local certificate authority and a valid padlock for every site.

  • Services

    MySQL/MariaDB, PostgreSQL, Redis/Valkey, Mailpit and Meilisearch, each with ready-made .env values.

  • Mail inbox

    Every email your apps send, in the dashboard.

  • Debugger

    Requests, dump() calls, queries, logs and exceptions, plus Xdebug per site.

  • Public links

    Share a site at a public https:// address, with an optional password.

  • New-project wizard

    Starter kit, database, packages (AI ones too), migrations and a first Git commit.

And with LaraMonster Pro

LaraMonster Pro adds tools for understanding Laravel apps: Activity traces, Events, Jobs & queues, Webhooks and Performance. Pages about Pro features carry a PRO label.

How it works

LaraMonster has one long-running part, the engine, and three ways to talk to it: the desktop app, the laramonster command and an optional browser dashboard. The engine runs the web server, one PHP pool per PHP version, your services and (for .test domains) a small DNS server.

 desktop app ─────────┐                          β”Œβ”€β”€ Caddy (built in) ── *.localhost / *.test
 laramonster (CLI) ───┼── local socket ── engine ─┼── a PHP pool per PHP version
 browser dashboard β”€β”€β”€β”˜                           β”œβ”€β”€ MySQL, PostgreSQL, Redis, Mailpit, Meilisearch
                                                  └── DNS server for *.test

When you open the app it starts the engine; if the engine is already running (because you started it at login or from a terminal), the app connects to it instead. Closing the window keeps LaraMonster in the tray, so your sites stay up.

Where your sites live

Project folderAddress
~/Code/bloghttp://blog.localhost:8080
~/Code/blog, securedhttps://blog.localhost:8443
~/Code/shop with .testhttp://shop.test:8080

LaraMonster uses ports 8080 (HTTP) and 8443 (HTTPS) by default, so it never needs administrator rights and never clashes with a web server already on 80 and 443. You can change both; see Ports.

Where its files live

Everything LaraMonster downloads or creates stays in one home folder, so removing it leaves nothing behind:

SystemFolder
Linux~/.config/laramonster
macOS~/Library/Application Support/laramonster
Windows%AppData%\laramonster

Inside it: config.json, PHP versions in php/, services and their data in services/, certificates in data/, logs in logs/ and the php/composer shims in bin/. Set the LARAMONSTER_HOME environment variable to use another folder.

Next steps

  1. Install LaraMonster

    macOS, Windows (also from the Microsoft Store) or Linux.

  2. Run the first-run setup

    It checks the ports, installs PHP and trusts HTTPS.

  3. Create a project

    Or drop an existing one into your projects folder.