Installing MDriven Server and MDriven Turnkey on MacOS (Native)
This guide provides a detailed, step-by-step process for installing and running MDriven Server and MDriven Turnkey directly on macOS. This native setup relies on the .NET Core runtime and avoids the need for a separate web server like Apache.
Prerequisites
Before you begin, ensure you have the following installed:
- macOS (Ventura or later recommended)
- Terminal access
- The correct .NET SDK installed for your processor (x64 for Intel, ARM64 for Apple Silicon).
Step 1: Install Homebrew
Homebrew is a package manager that simplifies installing necessary tools on macOS.
- Open Terminal and run the following command to install Homebrew
$ /bin/bash -c"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Verify the installation:
$ brew --version
Step 2: Install .NET SDK 8.0
Use Homebrew to install the .NET SDK:
brew install --cask dotnet-sdk@8
Verify installation:
dotnet --list-runtimes
Step 3: Download and Set Up MDriven Server
Download the MDriven Server package, extract the files, and prepare them to run.
- Download and Unzip the latest MDriven Server package into your ~/Downloads directory:
$ wget https://www.mdriven.net/PublicDownloads/MDrivenServerCoreOsxX64_20251020.zip
$ unzip MDrivenServerCoreOsxX64_20251020.zip -d ~/Downloads/MDrivenServer
Fix macOS Quarantine Restriction (Gatekeeper)
MacOS Gatekeeper may prevent the extracted binaries from running. You must remove the quarantine attribute before launching the server:
$ sudo xattr -r -d com.apple.quarantine ~/Downloads/MDrivenServer
Run MDriven Server
Launch the Server directly using the dotnet runtime, specifying the port and disabling HTTPS (which can be configured later).
$ dotnet ~/Downloads/MDrivenServer/AppCompleteGenericCore.dll -port=5010 --nohttps
Expected Output: You should see confirmation that the server has started and is listening on port 5010:
This is MDriven Server
Leave this window open to keep the server running
http://localhost:5010
useIIS: False
Step 4: Download and Set Up MDriven Turnkey
The Turnkey application connects to the running MDriven Server to provide the web UI.
- Download and Unzip the latest MDriven Turnkey package into your ~/Downloads directory:
$ wget https://www.mdriven.net/PublicDownloads/MDrivenTurnkeyCoreOsxX64_20251020.zip
$ unzip MDrivenTurnkeyCoreOsxX64_20251020.zip -d ~/Downloads/MDrivenTurnkey
- Note: The name of the resulting directory in the example output suggests a version specific folder, so you may need to adjust the path below if your unzipped folder name is different.
Fix macOS Quarantine Restriction (Gatekeeper)
Remove the quarantine flag from the Turnkey binaries:
$ sudo xattr -r -d com.apple.quarantine ~/Downloads/MDrivenTurnkey
Run MDriven Turnkey
Launch the Turnkey application. It will automatically attempt to connect to the Server running on port 5010.
Bash
$ dotnet ~/Downloads/MDrivenTurnkey/StreaminAppCoreWebApp.dll
Expected Output: The output will confirm the application started and successfully recognized the Server URL:
This is MDriven Turnkey, 2025-10-20 17:52
Leave this window open to keep the server running
http://localhost:5020...
Started with MDrivenServerUrl: http://localhost:5010/...Now listening on: http://localhost:5020
Step 5: Verify Installation and Access
With both servers running (in separate Terminal windows), you can verify access via your web browser or using curl.
Application | URL | Verification Command |
MDriven Server | http://localhost:5010 | curl -vk http://localhost:5010 |
MDriven Turnkey | http://localhost:5020 | curl -vk http://localhost:5020 |
Important Notes
- Keep Windows Open: Both Terminal windows must remain open for the Server and Turnkey processes to stay running. Closing a window will shut down the corresponding application.
- Backgrounding: For persistent use without leaving windows open, you must create a launch daemon or use a process manager like Supervisor or PM2 (not covered in this guide).
- Port Numbers: If ports 5010 or 5020 are already in use, the Server or Turnkey may fail to start. You can change the ports using the -port=XXXX argument in the dotnet command.