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.