Installation
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
Mullion installs through Scoop, a package manager for Windows. Open PowerShell (a normal window, not "Run as administrator") and check whether you already have it:
> scoop --version
If it says scoop is not recognized, install Scoop first, then close PowerShell and open a new window:
> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
> Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
> scoop install git # Scoop needs Git to add buckets
Then install Mullion:
> scoop bucket add mullion https://github.com/anabiiil/scoop-bucket
> scoop install mullion
> mullion setup
Update later with scoop update followed by scoop update mullion.
Scoop problems and their fixes
| You see | Do this |
|---|---|
scoop : The term 'scoop' is not recognized | Scoop isn't installed, or this window was open before it was. Install it as above, then open a new PowerShell window. |
running scripts is disabled on this system | Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser, then retry. |
Running the installer as administrator is disabled by default | You opened PowerShell as administrator. Open a normal window and run the installer again. (Only if your account must be an administrator: iex "& {$(irm get.scoop.sh)} -RunAsAdmin".) |
Git is required for buckets | scoop install git, then run scoop bucket add … again. |
bucket 'mullion' already exists | It's already added — go on with scoop install mullion. |
Couldn't find manifest for 'mullion' | The bucket is missing or stale: scoop bucket add mullion https://github.com/anabiiil/scoop-bucket, or scoop update, then install again. |
mullion : The term 'mullion' is not recognized after installing | Open a new terminal so it picks up the updated PATH. |
| An old version after a release | scoop update, then scoop update mullion. |
Single .exe
Download mullion.exe (or the windows-amd64.zip) from Releases. Then either:
- double-click
mullion.exeand answer Run setup now? with Y, or - run
mullion.exe setupin a terminal.
Setup asks for administrator rights once, with a single UAC prompt.
Windows SmartScreen may warn about the unsigned exe the first time it runs. Click More info → Run anyway.
What setup does
- Creates the install folder and puts
mullionon yourPATH. - Downloads Caddy.
- Installs the latest PHP and makes it the default, then installs Composer.
- Installs the latest Node LTS, with npm.
- Installs MySQL (8.4 LTS), initializes it, and starts it on
127.0.0.1:3306as userrootwith no password. - Serves phpMyAdmin at
https://phpmyadmin.test. - Trusts the local certificate authority, so browsers show a padlock.
- Installs Mullion.app into
/Applicationson macOS, or creates a desktop shortcut on Windows. - 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 setuponce 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.jsonunderuiinstead 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.