Skip to main content

Introduction

The Exness Trading Platform uses a distributed microservices architecture with Docker Compose for orchestration. This guide will help you deploy the complete platform with all required services.

System Architecture

The platform consists of multiple interconnected services:

Frontend Services

  • Web application (Next.js)
  • Documentation site

Backend Services

  • Backend API
  • Trading Engine
  • WebSocket Server
  • Database Storage

Data Services

  • Price Poller
  • Batch Upload
  • Snap Shotting

Infrastructure

  • PostgreSQL
  • TimescaleDB
  • Redis
  • MongoDB

Prerequisites

Before deploying the Exness Trading Platform, ensure you have the following installed:
1

Install Docker

Docker Engine version 20.10 or higher is required.
docker --version
Download from docker.com
2

Install Docker Compose

Docker Compose V2 is required for the platform.
docker compose version
Typically included with Docker Desktop, or install separately for Linux.
3

System Requirements

Minimum recommended specifications:
  • CPU: 4 cores
  • RAM: 8GB minimum (16GB recommended)
  • Disk: 50GB available space
  • Network: Stable internet connection for market data
4

Install Bun Runtime

Bun 1.2.18 or higher is used as the JavaScript runtime.
curl -fsSL https://bun.sh/install | bash
bun --version

Quick Start

1

Clone the Repository

git clone <repository-url>
cd exness-trading-platform
2

Configure Environment

Copy the example environment file and configure it:
cp .env.example .env
See the Environment Variables guide for detailed configuration.
3

Start the Platform

Launch all services with Docker Compose:
docker compose up -d
This will:
  • Pull all required Docker images
  • Create volumes for data persistence
  • Start all services in the correct order
  • Run database migrations automatically
4

Verify Deployment

Check that all services are running:
docker compose ps
All services should show a “running” or “healthy” status.

Service Endpoints

Once deployed, the following services are available:
Web Application
http://localhost:3001
Main trading platform frontend with real-time market data and order management.
Documentation
http://localhost:3000
Platform documentation and API reference.
Backend API
http://localhost:8000
REST API for trading operations, authentication, and user management.
WebSocket Server
ws://localhost:7070
Real-time data streaming for live market prices and updates.
Prisma Studio
http://localhost:5555
Database management interface for viewing and editing data.

Deployment Checklist

Docker and Docker Compose installed
Environment variables configured
Sufficient system resources available
Port availability verified (3000, 3001, 5432, 5433, 6379, 7070, 8000, 27017)
Network connectivity for Binance WebSocket API

Health Checks

The platform includes built-in health checks for all infrastructure services:
  • PostgreSQL: Checks database connectivity every 10 seconds
  • TimescaleDB: Validates TimescaleDB extension availability
  • Redis: Pings Redis server to ensure cache availability
  • MongoDB: Validates MongoDB connection for snapshot storage
Services automatically wait for their dependencies to be healthy before starting. The db-migrate service ensures database migrations complete before application services start.

Data Persistence

All data is persisted in Docker volumes:
  • postgres_data: User accounts, orders, and transactional data
  • timescaledb_data: Historical market data and candles
  • redis_data: Cache and real-time data streams
  • mongodb_data: Account snapshots and backups
Never delete these volumes in production as they contain all platform data. Always backup volumes before performing maintenance operations.

Next Steps

Docker Compose

Learn about service configuration and orchestration

Environment Variables

Configure all environment variables

Database Setup

Understand database migrations and schema

Build docs developers (and LLMs) love