Repolode
lichess-org

lichess-org/lila

Lila, the Scala server behind lichess.org, a free, ad-free and open source online chess platform.

Open-source alternative to:Chess.com

Stars
18,870
Forks
2,838
Open issues
1,281
Last commit
5 hours ago

What is it?

Lila (a blend of lichess and Scala) is the server software that powers lichess.org, a free online chess site focused on real-time games and ease of use. It covers the core chess experience: live games, a game search engine, computer analysis, tournaments, simuls, forums, teams, a tactics trainer, a shared study board, and a mobile app.

The server is written in Scala 3 on a modified Play 2.8 framework, with chess rules handled in the separate scalachess library. WebSocket traffic goes through a separate lila-ws server that communicates over Redis, MongoDB stores the game data, and Elasticsearch indexes it. Stockfish analysis runs on donated machines coordinated through fishnet.

The public Lichess API can be used by other applications, and the UI is translated into more than 140 languages through Crowdin. The project is intended for developers who want to study or run a large-scale, real-time game platform.

Key features

  • 01Real-time chess games with a built-in game search engine
  • 02Computer analysis distributed across donated servers via fishnet
  • 03Tournaments, simuls, forums, and teams
  • 04Tactics trainer and shared study board
  • 05Public HTTP API for third-party applications

Use cases

  • Studying how a large, real-time game server is architected in Scala
  • Building a chess app or bot that uses the Lichess API
  • Running a self-hosted chess community with tournaments and teams

Quick start

  1. 1

    Start the sbt wrapper from the repository root

    ./lila.sh
  2. 2

    At the sbt prompt, run the server

    run

Things to know

  • Licensed under AGPL-3.0, a copyleft license that requires sharing modified source when run as a network service.
  • Setting up a development environment is non-trivial and points to a separate wiki guide, and the production stack relies on MongoDB, Redis and Elasticsearch.

Topics

FAQ

What is lila?
Lila, the Scala server behind lichess.org, a free, ad-free and open source online chess platform. Lila (a blend of lichess and Scala) is the server software that powers lichess.org, a free online chess site focused on real-time games and ease of use. It covers the core chess experience: live games, a game search engine, computer analysis, tournaments, simuls, forums, teams, a tactics trainer, a shared study board, and a mobile app.
Is lila free to use? What license does it have?
lila is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
Is lila still maintained?
Actively maintained. The last commit to lila was on Oct 20, 2026.
What can I use lila for?
Studying how a large, real-time game server is architected in Scala Building a chess app or bot that uses the Lichess API Running a self-hosted chess community with tournaments and teams
How do I install lila?
Start the sbt wrapper from the repository root: ./lila.sh At the sbt prompt, run the server: run
Where can I get lila?
The source code and installation instructions are on GitHub: https://github.com/lichess-org/lila

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects