The Order Execution System is a project that allows users to interact with various trading operations, such as placing orders, fetching order books, modifying orders, subscribing to symbols, Real-time market data streaming and more. The system is containerized using Docker and Docker Compose, making it easy to set up and run on any machine.
This README provides all the steps needed to clone, set up, build, and run the project using Docker.
To run this project, make sure you have the following installed:
- Docker: For containerization.
- Docker Compose: For managing multi-container Docker applications.
- WSL (For Windows Users): If you are running Windows, make sure WSL 2 is installed and enabled to allow Docker to run Linux containers.
Ensure that it's located in your local directory. Then go to base directory of project(path/to/OrderExecSys).
This project uses environment variables to configure sensitive information such as client IDs, secrets.
-
Create a
.envfile in the base directory of the project if it doesn't exist already.You can create this file using a text editor or by running:
touch .env -
Set the following variables in the .env file.
DERIBIT_CLIENT_ID=<your_deribit_client_id> DERIBIT_CLIENT_SECRET=<your_deribit_client_secret>
Run the following command in the terminal (base directory of the project: path/to/OrderExecSys) to build the Docker image and run the application interactively in the terminal:
docker compose run app
Note: Rebuilding After Code Changes : If you done some changes in the code and want to rebuild it then run following command then above command to run application :
docker compose build
- Container Name Conflict: If you encounter a container name conflict, you may need to remove the conflicting container first using:
docker rm <container_id>