Skip to content

mrdotb/leagueofreplays

Repository files navigation

League of Replays

League of Replays

Record and replay league of legends game.
Youtube demo . Report Bug · Request Feature

Built With

Leagueofreplay is proudly powered by Phoenix and Elixir.

  • Phoenix
  • Ash
  • Elixir
  • Tailwind

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