🚀 Welcome to MDriven Learn –  MDriven is now on Discord!  Don’t miss the latest Release Notes.
Deploying MDriven Server and Turnkey with Docker
Created by Charles on 2024-11-11 · Last edited by Charles on 2026-01-29.

Docker is a software platform that allows you to build, test, deploy, and share applications quickly. It reduces the time spent on complex setups. Combining Docker with the power of MDriven, app development is faster and more focused on the important parts of your application—that is, the business logic or system gist.

Docker reduces deployment time, increasing productivity and efficiency. Apps are packaged into standardized units called containers that have everything the app needs to run, including libraries, system tools, code, and runtime. It is faster to test, deploy, and scale applications into any environment.

Quick Start: Download Your Configuration

Select your environment and architecture to download the latest pre-configured setup.

Environment Architecture Best For Download Link
Production (Nginx) AMD64 Standard Linux Servers (Ubuntu/Debian) Download (AMD64)
Production (Nginx) ARM64 AWS Graviton / Oracle ARM Cloud Download (ARM64)
Production (Nginx) Musl Alpine Linux / Lightweight Servers Download (Musl)
Local Dev AMD64 Windows/Linux PC (Intel/AMD Chips) Download (AMD64)
Local Dev ARM64 Apple Silicon (M1/M2/M3) Macs Download (ARM64)
Local Dev Musl Alpine Linux Development Download (Musl)

(Not sure which architecture you have? Run uname -m in your terminal. x86_64 is AMD64, aarch64 is ARM64.)

Understanding the Ecosystem

Docker Desktop

Docker Desktop enhances your development experience by offering a powerful, user-friendly platform that lets you manage your containers, applications, and images directly from your machine. Versions are available for both Windows and Linux.

Docker Compose

Docker Compose simplifies the process of managing multi-container applications. You can define and run complex setups with a single configuration file, making it easier to deploy and scale applications.

Linux vs. Windows Containers

Different flavours of the Windows and Linux operating systems are available for use in Docker containers. MDriven Turnkey and MDriven Server have Linux distributions and can be run in Linux containers—making them more portable, easy to share, and run.

  • Lightweight: Linux containers are more lightweight than Windows containers.
  • Open Source: Linux containers are free and open source compared to Windows containers that require licenses.
  • Compatibility: Linux containers are widely supported and compatible with various tools and platforms.

Linux Distributions for MDriven

When deploying, you can choose one of the Linux distributions:

  • Alpine: Extremely lightweight with a minimalist approach. It is ideal for lightweight apps, and environments where efficient resource utilization is critical.
  • Debian: Known for unwavering stability and reliability. It serves as the upstream foundation for Ubuntu and offers a balance between size and compatibility, making it a solid choice for production servers.
  • Ubuntu: Has a larger footprint with more preinstalled packages and tools, ideal for an environment where a wide range of tools and libraries are needed.

Important: Data Persistence & Volumes

When using MDriven's prepared compose files, be aware that Docker volumes persist data even if you stop or remove containers. This means your application state (logs, app files and any changes made to it) will remain between restarts.

  • To reset your data (Fresh Start): You must explicitly remove the volumes. Run this command:
docker compose down --volumes
  • Alternative: If you want to keep the old data but start fresh, you can rename the volumes in your compose.yaml file (e.g., change MDSData to MDSDataV2 and MDTData to MDTDataV2).

Choose Your Path

1. Local Development

For developers running MDriven on their personal machines.

  • Optimized for: Fast iteration and debugging.
  • Includes: MDriven Server, Turnkey.
  • No SSL/Proxy: Runs directly on localhost ports for simplicity.
  • > Go to the Local Development Guide

2. Production Deployment

For deploying to public-facing servers.

  • Optimized for: Security and Stability.
  • Includes: Nginx Reverse Proxy (pre-configured), MDriven Server, Turnkey.
  • Ready for: SSL Certificates and Domain mapping.
  • > Go to the Production Nginx Guide

Advanced: Manual Setup Details

If you are not using our pre-configured compose files and are building your own Docker images or files manually, you must handle the following requirements yourself:

1. Alpine Linux Locales

Alpine Linux only comes with essential packages, which attributes to its lightweight nature. You must install locale packages and set the language to prevent locale errors. MDriven Turnkey uses the Operating System locale settings to determine which locale file to use.

Setup for Dockerfile:

RUN apk add musl-locales
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en

2. Healthchecks & VistaDB

Perform healthchecks on the MDriven Server to prevent the Server from being unavailable when VistaDB locks itself. A health check ensures the MDriven Server restarts each time it is in an unhealthy state.

3. Networking

For local deployment, the MDriven Server and MDriven Turnkey must be on the same network to communicate effectively.