Laradeck app icon

Stop juggling terminals.
Start shipping.

Laradeck is a native macOS control panel for Laravel. Run server, queues, scheduler, Vite, Horizon and custom scripts — manage Sail or plain Docker Compose, inspect project health at a glance, and control everything from the menu bar.

Free · 1.0.5 · macOS 14+ · GitHub

Laradeck project dashboard with Laravel insights, Docker Compose services and process list

Before

$ php artisan serve
$ php artisan queue:work
$ php artisan schedule:work
$ docker compose up -d
$ npm run dev
# × 4 projects, 12 terminals

After

One app. Every project.

Laradeck remembers the commands, the ports and the folders. Start All brings up Compose stacks and processes in order. It doesn't replace Laravel, Docker or your editor — it orchestrates them.

Sequences

Nest builds, watches and publishes.

Attach dependents under a parent so Start and Stop stay in sync. Drop a Folder Watch on a file or directory, nest one-shots underneath, and Laradeck runs them when the content settles — ideal for Vite builds that rewrite a manifest, then trigger artisan publish.

  • Attach queue, scheduler and Reverb under the web server
  • Folder Watch on folders or single files, with configurable debounce
  • Nested commands fire after the watch settles — no double publishes
  • Other commands stay out of Start All until you play them
Laradeck process list with Web Server dependents attached, plus Build Nitrogen nesting a Folder Watch on manifest.json and Publish Nitrogen underneath
Laradeck Port conflicts dialog listing occupied Mailpit, database and Redis ports with suggested .env overrides and Copy to Clipboard

Multi-project

Catch port collisions before Compose fails.

Two Sail stacks fighting over 3306 or Vite on 5173 is a classic trap. Before Start All or Compose Up, Laradeck checks host ports against other projects and whatever is already listening on your Mac — then suggests .env overrides you can copy in one click.

  • Reads Sail forwards from compose and .env (APP_PORT, DB, Redis, Mailpit, Vite…)
  • Flags conflicts with other Laradeck projects and system listeners
  • Suggested offsets ready to paste — or Start Anyway if you know better

On your network

Share a .env without Slack DMs.

Hand a project .env to a teammate on the same Wi‑Fi or LAN. Laradeck advertises a short-lived share, shows a PIN, and transfers the file encrypted — nothing is uploaded to the internet.

  • Bonjour discovery — pick the Mac and project by name, with LAN host and IP
  • Six-digit PIN + ChaChaPoly encryption end to end
  • Replace the local file, or merge key by key in the main window
  • Pair with a commit-safe .laradeck team config for processes and startup order

Built like a Mac app should be.

  • Add a project in seconds

    Drag a Laravel folder in, or scan ~/Development. Laradeck detects Native vs Sail, npm/pnpm/yarn, Horizon and Reverb — then proposes the processes to run.

  • Sail & Docker Compose

    Not just Sail: any project with a compose.yml gets Compose Up/Down, live pull/build output, per-container logs, shell access and port badges — no vendor/bin/sail required.

  • Port conflict assist

    Before Start All or Compose Up, Laradeck warns when app, database, Redis, Mailpit or Vite ports are already taken — and offers copy-paste .env offsets so a second Sail project can run alongside the first.

  • Laravel insights

    Badges for APP_ENV, storage link, pending migrations and more. Run migrate, storage:link and common artisan tasks from a commands menu next to Open Terminal.

  • Smart project health

    Sidebar dots reflect real state: all processes running, containers up without Laradeck processes, errors, or stopped. Compose stacks are scanned on launch — no need to open each project first.

  • Startup sequences

    Drag to reorder Start All. Nest processes under a parent, insert pauses, attach via orange drop targets or right-click Detach. One-shots and shortcuts run on demand with a pulsing status dot.

  • Folder Watch

    Watch a folder or a single file. When content settles, Laradeck runs the nested commands — for example Vite rewriting a manifest, then php artisan …:publish. Debounce and suppress overlapping runs are built in.

  • Every process, one panel

    Web server, queue worker, scheduler, Horizon, Reverb, Vite, npm/composer scripts, Folder Watch and custom commands — grouped into Pre-start, Post-start, Other commands and your own folders.

  • Logs without tail -f

    A SwiftTerm viewer for each process, storage/logs, Docker Compose output and container logs. Pick a source, clear it, keep working.

  • Share .env on LAN

    Encrypted handoff to another Laradeck on the same network — PIN-gated, no cloud. Replace or merge into the local file when you receive it.

  • Team .laradeck config

    Commit portable process lists and startup sequences (no secrets, no absolute paths). Drop a project folder in and skip the wizard when a profile is present.

  • Environment at a glance

    Sidebar footer shows your global PHP version, Laravel Installer (laravel new) and Docker daemon status — so you know the machine is ready before you hit Start.

Laradeck integrated log viewer showing process output

Integrated log viewer — processes, laravel.log and container output.

  1. 01

    Add a project

    Drag a folder in or scan a directory. Sail, Compose or native PHP — detected automatically.

  2. 02

    Review & sequence

    Keep the proposed processes, tune startup order, attach dependencies, add Folder Watch chains and your scripts.

  3. 03

    Start from anywhere

    Start All from the dashboard or the menu bar. Containers and processes come up together.