Lesser fork of lichess. https://spacecruft.org/deepcrayon/lila
 
 
 
 
 
 
Go to file
Thibault Duplessis abd2d6ab78 s/ELO/Elo 2013-06-07 16:41:52 +02:00
app s/ELO/Elo 2013-06-07 16:41:52 +02:00
bin notify imminent deploy 2013-06-07 16:18:05 +02:00
conf s/ELO/Elo 2013-06-07 16:41:52 +02:00
doc s/ELO/Elo 2013-06-07 16:41:52 +02:00
modules s/ELO/Elo 2013-06-07 16:41:52 +02:00
project
public fix game chat in analysis mode 2013-06-07 16:38:40 +02:00
serve
test
.gitignore complete Ai stresser 2013-06-05 22:59:06 +02:00
.gitmodules
README.md
todo s/ELO/Elo 2013-06-07 16:41:52 +02:00

README.md

lichess.org

Complete source code of http://lichess.org, using Scala 2.10.1, Play 2.1, Akka 2, ReactiveMongo and Scalaz

Installation

This is full-stack application, not a library, and it may not be straightforward to get it fully running. I assume you run a Unix with mongodb.

Some steps of the installation will trigger a download of the galaxy. It will take ages.

git clone git://github.com/ornicar/lila
cd lila
git submodule update --init
bin/play compile

Configuration

cp conf/application.conf.dist conf/application.conf

application.conf extends base.conf and can override any value. Note that application.conf is excluded from git index.

Language subdomains

When accessed from the root domaing (e.g. lichess.org), the application will redirect to a language specific subdomaing (e.g. en.lichess.org). Additionally, lichess will open websockets on the socket. subdomain (e.g. socket.en.lichess.org). Here is my local nginx configuration for l.org, assuming lila is installed in /home/thib/lila and runs on port 9000.

# Websockets
server {
  listen 80;
  server_name ~^socket\.\w\w\.l\.org$;

  location / {
    include lila-proxy.conf;
    proxy_read_timeout 5s;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_pass http://127.0.0.1:9000/;
  }
}

# Application
server {
  listen 80;
  server_name l.org ~^\w\w\.l\.org$;

  location /assets {
    alias   /home/thib/lila/public;
  }

  location /serve {
    alias   /home/thib/lila/serve;
  }

  location /import {
    proxy_set_header Host $http_host;
    proxy_read_timeout 60s;
    proxy_pass http://127.0.0.1:9000/import;
  }

  location / {
    add_header "X-UA-Compatible" "IE=Edge,chrome=1"; 
    proxy_set_header Host $http_host;
    proxy_read_timeout 90s;
    proxy_pass http://127.0.0.1:9000/;
  }
}

And the /etc/hosts file looks like:

127.0.0.1	l.org
127.0.0.1	en.l.org
127.0.0.1	fr.l.org
127.0.0.1	socket.en.l.org
127.0.0.1	socket.fr.l.org

Run it

Launch the play console:

bin/play

From here you can now run the application (run).