Skip to content

Installation

Abd El-Rahman Nabil edited this page Sep 25, 2026 · 2 revisions

Homebrew or a one-line script on macOS, Scoop or a single .exe on Windows. Then one command sets up the whole stack.

Requirements

  • macOS 12 or newer, on Apple Silicon or Intel. The Xcode Command Line Tools are needed only to build PHP's LDAP extension.
  • Windows 10 or 11, 64-bit. Setup installs the Microsoft VC++ runtime if it's missing.
  • Administrator rights once during setup, to edit the hosts file and trust the local certificate.

macOS

Homebrew

$ brew tap anabiiil/tap
$ brew trust anabiiil/tap   # newer Homebrew asks for this once for third-party taps
$ brew install mullion
$ mullion setup

Upgrades arrive through brew upgrade. A copy of the binary in ~/.mullion/bin hands off to the Homebrew one, so an upgrade takes effect right away.

Install script

This downloads the right binary for your Mac from the latest release and starts setup:

$ curl -fsSL https://raw.githubusercontent.com/anabiiil/mullion/main/install.sh | sh

Manual download

From Releases, download mullion-<version>-darwin-arm64.tar.gz (Apple Silicon) or -darwin-amd64.tar.gz (Intel), then run:

$ tar -xzf mullion-*-darwin-*.tar.gz
$ xattr -c ./mullion   # clear the Gatekeeper quarantine flag
$ ./mullion setup

Windows

Scoop

> scoop bucket add mullion https://github.com/anabiiil/scoop-bucket
> scoop install mullion
> mullion setup

Single .exe

Download mullion.exe (or the windows-amd64.zip) from Releases. Then either:

  • double-click mullion.exe and answer Run setup now? with Y, or
  • run mullion.exe setup in a terminal.

Setup asks for administrator rights once, with a single UAC prompt.

Note: Windows SmartScreen may warn about the unsigned exe the first time it runs. Click More info → Run anyway.

What setup does

  1. Creates the install folder and puts mullion on your PATH.
  2. Downloads Caddy.
  3. Installs the latest PHP and makes it the default, then installs Composer.
  4. Installs the latest Node LTS, with npm.
  5. Installs MySQL (8.4 LTS), initializes it, and starts it on 127.0.0.1:3306 as user root with no password.
  6. Serves phpMyAdmin at https://phpmyadmin.test.
  7. Trusts the local certificate authority, so browsers show a padlock.
  8. Installs Mullion.app into /Applications on macOS, or creates a desktop shortcut on Windows.
  9. Asks whether Mullion should start when you sign in.

If setup finds another stack (Laragon, XAMPP, a Homebrew service) holding ports 80, 443 or 3306, it lists it and offers to take over. It imports that stack's databases before touching anything. Every finished step is skipped on a re-run, so running mullion setup again is always safe.

Mullion.app (macOS)

Mullion.app is a small native AppKit window around the control panel. It has real windows for terminals and projects, and they merge into macOS window tabs if you prefer tabs. Setup and self-updates install it. To reinstall it by hand:

$ mullion app

Upgrading from 1.x

  • Run mullion setup once after upgrading. It's idempotent, and on macOS it installs Mullion.app.
  • Panel preferences (theme, open project tabs, terminal placement, favorite commands) now live in config.json under ui instead of the browser's storage. The panel runs on a random local port each launch, and anything the browser saved for one launch was lost on the next. Your preferences start fresh once.
  • Sites, PHP and Node versions, and MySQL data carry over unchanged.

Uninstall

$ mullion uninstall

This stops every service and removes the install folder, the hosts-file entries, the PATH entries, the trusted root certificate, the autostart entry and Mullion.app. First it offers to export every database to a backup folder that is kept (--backup / --no-backup / --yes skip the questions). Your project folders are not touched. Finally, remove the package itself with brew uninstall mullion or scoop uninstall mullion.


← Previous: Getting Started · Next: Sites and Domains →

Clone this wiki locally