If you want to use MDCMS in your own project (not contribute to the MDCMS
codebase), see the Quick Start instead.
Prerequisites
Before you begin, install the following tools:- macOS
- Linux
The repository includes a
.bun-version file that pins Bun to 1.3.11. If you
use a version manager like mise or proto, it will pick this up
automatically.Clone & Install
1
Clone the repository
bash git clone git@github.com:mdcms-ai/mdcms.git && cd mdcms 2
Install dependencies
bash bun install This also sets up the pre-push git hook that runs CI
checks before every push.3
Copy environment file
bash cp .env.example .env Edit .env to override any defaults for
your local setup. See the environment variables section below.Environment Variables
Required
These must be set for the server to start.Server
Studio
Auth Providers (optional)
Demo
Start Development
- Docker Compose (recommended)
- Manual
The simplest way to get everything running:This starts all services together:
- PostgreSQL 16 — primary database
- Redis 7 — sessions and caching
- MinIO — S3-compatible object storage
- Mailhog — email capture for development
- Server — Elysia API with watch mode (auto-reloads on changes)
- Studio Example — Next.js demo app
Service Endpoints
Once running, these services are available:Demo Credentials
The dev seed data creates a demo user you can use to log in to Studio:Available Commands
These scripts are defined in the rootpackage.json and orchestrated by Nx: