Courier MFT

Documentation

Everything you need to get started with Courier MFT, understand its architecture, and deploy it in production.

Getting Started

Install and run Courier MFT locally with Docker and Aspire in minutes.

Executive Summary

What Courier MFT is, the problems it solves, and why it exists.

Architecture Overview

System architecture, deployment units, and dependency layers for Courier MFT.

Tech Stack & Key Libraries

Technologies and libraries used in Courier MFT — .NET, PostgreSQL, Next.js, and more.

Domain Model

Entities, value objects, enums, and relationships in Courier's domain model.

Job Engine Design

Multi-step job pipelines — define, schedule, and execute file transfer workflows.

Connection & Protocol Layer

Manage SFTP, FTP, local filesystem, and Azure Function connections securely.

Cryptography & Key Store

AES-256-GCM envelope encryption, PGP key management, and Azure Key Vault integration.

File Operations

File copy, move, compression, and transformation operations within job pipelines.

File Monitor System

Watch directories and trigger jobs automatically when files arrive.

API Design

RESTful API for managing jobs, connections, keys, and system configuration.

Frontend Architecture

Next.js dashboard for managing all file transfer operations through a modern UI.

Security

Authentication, authorization, RBAC, encryption at rest, and audit logging.

Database Schema

PostgreSQL schema design — tables, indexes, and migration strategy.

Deployment & Infrastructure

Deploy Courier with Docker, Aspire, or bare metal. CI/CD pipeline configuration.

Contributing

How to contribute to Courier MFT — bug reports, feature requests, and pull requests.