Skip to content

Building from Source

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

How to build Mullion yourself and where the pieces live, for anyone contributing to the project.

Requirements

  • Go (see go.mod in the repository for the version).
  • On macOS, the Xcode Command Line Tools, for building the app and brand assets.

Build the binary

go build -trimpath -o dist/mullion .                                        # this platform
GOOS=windows GOARCH=amd64 go build -trimpath -o dist/mullion.exe .          # Windows
go test ./...

Other build scripts

  • bash macapp/build.sh builds Mullion.app (a Swift/AppKit shell around the panel) as a universal binary and packages it for the Go binary to embed. Rebuild mullion afterwards so mullion app and setup can install it.
  • bash tools/brand/build.sh regenerates every raster brand asset from the SVGs in assets/brand: the panel favicon, the app icon, and the Windows .ico and .syso resources.
  • The binary is deliberately not stripped (-ldflags "-s -w" is not used), because stripped Go executables trip antivirus heuristics more often.
  • The website lives in docs/ in the repository: plain HTML, CSS and JavaScript with no build step, served by GitHub Pages.

Requirements to run Mullion itself

  • macOS 12 or newer, on Apple Silicon or Intel. The 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.

Contributing

Issues and pull requests are welcome on GitHub. Please include mullion doctor output with bug reports.

License

MIT © 2026 Abdelrahman Nabil


See also: CLI Reference · Troubleshooting

Clone this wiki locally