Lesser fork of lichess. https://spacecruft.org/deepcrayon/lila
Go to file
Thibault Duplessis 9a4b082b92 tweak sbt project
2013-03-19 04:57:45 +01:00
api/src/main it's alive! 2013-03-19 04:10:49 +01:00
app create socket module 2013-03-19 04:38:30 +01:00
bin Unlimited compiler analye budget 2013-02-28 01:45:26 +01:00
common/src/main create socket module 2013-03-19 04:38:30 +01:00
conf more basic app routes and controllers 2013-03-19 00:36:22 +01:00
db/src/main refactor firewall 2013-03-15 00:19:58 +01:00
http/src/main move Context classes to user namespace 2013-03-19 03:22:50 +01:00
memo/src/main new http module, complete security module 2013-03-15 00:44:30 +01:00
notification/src/main create socket module 2013-03-19 04:38:30 +01:00
old create socket module 2013-03-19 04:38:30 +01:00
play@eb60c2e20c upgrade play and reactive mongo, move to scala 2.10.0 2013-02-27 13:04:01 +01:00
project tweak sbt project 2013-03-19 04:57:45 +01:00
public better language selector 2013-02-26 16:23:26 +01:00
scalachess@e9429742c2 upgrade scalachess 2013-03-19 04:18:56 +01:00
security/src/main move Context classes to user namespace 2013-03-19 03:22:50 +01:00
serve Use the /serve directory to expose large files with the webserver 2012-05-29 00:33:28 +02:00
test move pgn binary to separate branch 2012-10-12 20:47:18 +02:00
uci add uci spec 2012-06-19 00:32:48 +02:00
user/src move Context classes to user namespace 2013-03-19 03:22:50 +01:00
websocket/src/main create socket module 2013-03-19 04:38:30 +01:00
wiki/src/main it's alive! 2013-03-19 04:10:49 +01:00
.gitignore trying hard to get distinct projects to build 2013-02-28 17:46:07 +01:00
.gitmodules ignore play untracked files 2012-11-30 15:37:49 +01:00
LICENSE update todo and license 2013-01-17 16:44:18 +01:00
mongodb.md refresh mongodb write-up 2013-01-02 11:42:41 +01:00
pgn base UI for game import 2013-02-24 04:46:19 +01:00
README.md add notes for elasticsearch mongodb river 2013-01-20 20:59:12 +01:00
todo default captcha challenge if there is no game in the DB 2013-03-12 14:59:25 +01:00

lichess.org

Backend of http://lichess.org

  • Scala 2.9 with Play2, Akka 2, Scalaz and Salat
  • Scalachess
  • MongoDB 2.2

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/build-play2
bin/play compile

Configuration

cp conf/local.conf.dist conf/local.conf

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

Run it

Launch the play console using your local configuration:

bin/play

From here you can now run the application (run). Open your web browser at localhost:9000.

To run the test, use test.

Production

Register as daemon on archlinux

cd /etc/rc.d
sudo ln -s /path/to/lila/bin/prod/archlinux/rc.d/lila ./
cd /etc/conf.d
sudo ln -s /path/to/lila/bin/prod/archlinux/conf.d/lila ./
  • Configure the daemon in /etc/conf.d/lila
  • Add lila to DAEMONS in /etc/rc.conf

Optional ulimit -n 99999

Restart on timeout

bin/prod/timeout-restarter

Notes to self

Elasticsearch mongodb river

cd $ES_HOME; bin/plugin -url https://github.com/downloads/richardwilly98/elasticsearch-river-mongodb/elasticsearch-river-mongodb-1.6.1.zip -install river-mongodb service elasticsearch restart

curl -XPUT 'http://localhost:9200/_river/team/_meta' -d '{ "type": "mongodb", "mongodb": { "db": "lichess", "collection": "team" }, "index": { "name": "lila", "type": "team" } }'

/etc/mongodb.conf replSet=rs0 oplogSize=100