Self-hosted real-time speech-to-text server with streaming ASR, speaker diarization, live translation and OpenAI/Deepgram-compatible APIs.
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
Start the sbt wrapper from the repository root
./lila.sh - 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
A curated list of public and paid data sources that stream or update in real time, spanning finance, transport, weather, news, cybersecurity and more.
Open source Node.js backend that provides REST and GraphQL APIs, user auth, file storage and push notifications on MongoDB or PostgreSQL.
An automation tower defense RTS written in Java, where players build factories and logistics to supply turrets and defend their base.
A desktop API client for REST, GraphQL, WebSocket, SSE and gRPC, built with Tauri, Rust and React, offline-first and without telemetry.
Open-source client for the osu! rhythm game, codenamed lazer, written in C# and targeting desktop and mobile platforms.