Open source Dota 2 data platform
MIT License
curl -sSL https://get.docker.com/ | sh
. If you are on Windows, make sure you shared the working drive with Docker.curl -L "https://github.com/docker/compose/releases/download/1.17.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
. If you are on Windows, docker-compose comes with the msi package.cp .env_example .env
STEAM_API_KEY
You need this in order to access the Steam Web API, which is used to fetch basic match data and player profile data. You can use your main account to obtain the API key; it does not have to match the account used for the STEAM_USER
and STEAM_PASS
options. You can request an API key here: https://steamcommunity.com/dev/apikey
STEAM_USER, STEAM_PASS
A Steam account is required to fetch replay salts. It is recommended to use a new account for this purpose (you won't be able to use the account on two different hosts at the same time, and the account must not have Steam Guard enabled). This is not required if you don't need to download/parse replays.docker-compose up
CONTRIBUTORS.js
file.docker exec -it odota-core bash
pm2
is used to manage the individual services. Each is run as a separate Node.js process. By default, only the web service is launched.
pm2 list
See the currently running services.pm2 start ecosystem.config.js
Start all the servicespm2 start ecosystem.config.js --only web
Starts a specific servicepm2 stop web
Stop a specific servicepm2 stop all
Stop all the servicespm2 logs web
Inspect the output of a servicepm2 kill
Stop pm2 and all the processes if things are stuckdocker system prune
Cleans your system of any stopped containers, images, and volumesdocker-compose build
Rebuilds your containers (e.g. for database schema updates)docker pull odota/parser
You may need to do this if the Java parse server has updated. Remove and recreate the parser container to run the latest code.mocha
framework.
npm test
runs the full test suite.mocha
CLI for more fine-grained control over the tests you want to run.npm run request
pm2 start ecosystem.config.js --only web,retriever,parser
npm run fullhistory
pm2 start ecosystem.config.js --only fullhistory