# Installation

# Prerequisite

  • Ubuntu >=20.04 and MacOS
  • Python 3.7 / 3.8 / 3.9
  • node/npm

# Quick Start

EasyDispatch relies on Postgres DB, Redis and Kafka. Those three components can be started by docker (opens new window) and compose (opens new window) or provisioned seperately. You also should have npm and node (opens new window) for frontend development.

  1. To run easydispatch locally, first install it by:
git clone https://github.com/alibaba/easydispatch.git && cd easydispatch
pip install -e .
  1. Then copy and modify env file from $easydisaptch/etc/dev_env_sample to $easydisaptch/dev.env . Start the database, redis and kafka by docker composer.
docker-compose -f kafka-redis-postgres-compose.yml -p easy up
  1. Open another terminal, populate some sample data and run the frontend:
python -m dispatch.cli database init
python -m dispatch.cli server start --port 8000 dispatch.main:app 
  1. Visit the page at : http://localhost:8000/login

login_page

# Recommended Deployment Architecture

We recommend having three environments for production deployment:

  • test : you can follow above steps to install composite&docker based single VM instance.
  • staging: use kubernetes cluster to deploy minimal instance.
  • production: use kubernetes cluster to deploy instance according to production workload.

The following architecture diagram is one example for production deployment in kubernetes:

deploy_arch

Last Updated: 8/10/2021, 8:42:27 PM