🚀 Welcome to MDriven Learn –  MDriven is now on Discord!  Don’t miss the latest Release Notes.
Deployment/MDriven Server & MDriven Turnkey On Native MacOs
This page was created by Lydia on 2025-10-21. Last edited by Lydia on 2025-10-21.

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.

  1. Open Terminal and run the following command to install Homebrew
    $ /bin/bash -c"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. 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.

  1. 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.