Awesome
<p align="center"> <a href="https://leagueofreplays.co/"> <img src="https://raw.githubusercontent.com/mrdotb/leagueofreplays/main/priv/static/images/logo.svg" width="140px" alt="League of Replays" /> </a> <h3 align="center">League of Replays</h3> <p align="center"> Record and replay league of legends game. <br /> <a href="https://youtu.be/vXCb2LyK_gg">Youtube demo</a> . <a href="https://github.com/mrdotb/leagueofreplays/issues">Report Bug</a> · <a href="https://github.com/mrdotb/leagueofreplays/issues">Request Feature</a> </p> </p>Built With
Leagueofreplay is proudly powered by Phoenix and Elixir.
Getting Started
Watching the youtube demo is a good way to understand how the project works and how you can setup it locally. To get a local copy up and running follow these simple example steps.
Running locally using Docker Compose
A Docker Compose reference file is provided in the repository. You can use it to run leagueofreplays with Docker Compose.
git clone https://github.com/mrdotb/leagueofreplays.git
cd leagueofreplays
cp .env.sample .env
Get your riot token on developer.riotgames.com.
Add the token to the .env
file on RIOT_TOKEN
docker compose --env-file .env up
You can now access the leagueofreplays on localhost:4000 The admin is on localhost:4000/admin
Running on a server using Docker Compose
Follow the step to run the project locally.
If you use a firewall you have to expose the port 4000, 3000 and 9000.
Be careful if you are not using a firewall these ports will be exposed to the world 5432, 9000, 9090, 3000, 4000.
Edit .env
HOST=your_domain
POSTGRES_PASSWORD= # a hard password
MINIO_ROOT_PASSWORD= # a hard password
S3_ACCESS_KEY= # cat /dev/urandom | tr -dc '[:alnum:]' | head -c 16
S3_SECRET_KEY= # cat /dev/urandom | tr -dc '[:alnum:]' | head -c 32
SECRET_KEY_BASE= # cat /dev/urandom | tr -dc '[:alnum:]' | head -c 64
ADMIN_PASSWORD= # cat /dev/urandom | tr -dc '[:alnum:]' | head -c 16
You can now access the leagueofreplays on your_domain:4000
The admin is on http://your_domain:4000/admin
the login is admin and the password is the value your put in ADMIN_PASSWORD
.
How to Dev ?
Prerequisites
To run leagueofreplays on your local environment you need to have:
- Postgres
- Elixir
- Erlang
- NodeJS
This project use asdf with the following tool-versions
.
Install asdf and the differents plugins.
asdf plugin add erlang https://github.com/asdf-vm/asdf-erlang.git
asdf plugin-add elixir https://github.com/asdf-vm/asdf-elixir.git
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
Install docker and docker compose
Clone the repo
git clone https://github.com/mrdotb/leagueofreplays.git
Then you can use install the elixir / erlang / nodejs version.
asdf install
Run postgres and minio
docker compose -f docker-compose.dev.yml up
Install project deps
npm i --prefix assets
mix deps.get
Run project
iex -S mix phx.server
Configuration
You can find the env configuration here.
Inspirations
Thanks to lol-replay, UGG and league of graphs
<!-- MARKDOWN LINKS & IMAGES --> <!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->