Lila (li[chess in sca]la) is a free online chess game server focused on realtime gameplay and ease of use.
It features a search engine, computer analysis distributed with fishnet, tournaments, simuls, forums, teams, tactic trainer, a mobile app, and a shared analysis board. The UI is available in more than 80 languages thanks to the community.
Lichess is written in Scala 2.11, and relies on the Play 2.4 framework. scalatags is used for templating. Pure chess logic is contained in scalachess submodule. The server is fully asynchronous, making heavy use of Scala Futures and Akka 2 actors. Lichess talks to Stockfish deployed in an AI cluster of donated servers. It uses MongoDB to store more than 1 billion games, which are indexed by elasticsearch. HTTP requests and websocket connections are proxied by nginx. The web client is written in TypeScript and snabbdom, using Sass to generate CSS. The blog uses a free open content plan from prismic.io. All rated games are published in a free PGN database. Browser testing done with . Please help us translate lichess with Crowdin.
Join us on discord or in the #lichess freenode IRC channel for more info. Use GitHub issues for bug reports and feature requests.
The Wiki describes how to setup a development environment.
The source code is available for learning and contribution, but please don't just setup a public Lichess clone. Don't expect developers to help you run your own instance. Questions about the installation and runtime issues will probably be ignored.
Feel free to use lichess API in your applications and websites.
See the contributors on this repository and lichess.org/thanks.
- Chrome or Chromium, 1 year old or newer (fastest local analysis!)
- Firefox, 1 year old or newer (second fastest local analysis!)
- Opera 55 and newer (meh)
- Safari 10.1 and newer (boo)
- Microsoft Edge 17 and newer (yuck)
Older browsers (including any version of Internet Explorer) will not work. For your own sake, please upgrade. Security and performance, think about it!
Lila is licensed under the GNU Affero General Public License 3 or any later version at your choice with an exception for Highcharts. See COPYING for details.