LI

Lichess

Open-source chess server and platform

Game Servers ★ 18.8k stars Hard setup AGPL-3.0

Lichess is a free, open-source chess server. The full platform, including game play, analysis, puzzles, and tournaments, can be self-hosted, though it is a large multi-service application.

Key features

  • Real-time chess gameplay
  • Analysis board and engine
  • Puzzles and tournaments
  • Open API

Pros & cons

Strengths

  • Full-featured chess platform
  • Completely ad-free

Trade-offs

  • Very heavy to self-host
  • Complex service architecture

Is Lichess secure?

No confirmed vulnerabilities affect Lichess's latest release (v1.1.0). OSV.dev lists 2 advisories for the project and links 2 of them to this release, but their version data doesn't confirm them. No known vulnerabilities is not proof of security: it means none have been publicly catalogued.

2 unconfirmed matches

OSV.dev links these advisories to this release, but their own version data doesn't confirm it: they cover a separately versioned sub-package of the repository, or record the fix only as a commit. They are listed for completeness and not counted in the health score.

Matched by OSV, not confirmed

AdvisorySeveritySummary
CVE-2026-35208Mediumlichess.org has an Unsanitized Stream Title Injection on /streamer
CVE-2025-48051Mediumpowertip.ts in Lila (for Lichess) before ab0beaf allows XSS in some applications because of an innerHTML usage pattern in which text is extracted from a DOM node and interpreted as HTML.

Source: OSV.dev, checked 2026-10-14. How this is measured.

Lichess replaces

Health badge

Maintain Lichess? Add its health score to your README. The badge links back to this page.

SelfHostIndex: 81 · excellent

Markdown
[![SelfHostIndex health score for Lichess](https://selfhostindex.com/badge/lichess.svg)](https://selfhostindex.com/app/lichess/)
HTML
<a href="https://selfhostindex.com/app/lichess/"><img src="https://selfhostindex.com/badge/lichess.svg" alt="SelfHostIndex health score for Lichess"></a>
reStructuredText
.. image:: https://selfhostindex.com/badge/lichess.svg
   :alt: SelfHostIndex health score for Lichess
   :target: https://selfhostindex.com/app/lichess/

The score is recomputed on every nightly rebuild from public repository data — see how it is calculated.

Last reviewed Aug 26, 2026 · 744 words

Don't, unless you have a reason that survives reading this page. Lichess is the best free chess server in existence and its code is AGPL, so it can be self-hosted, but the platform is a Scala monolith called lila plus a ring of supporting services: a separate websocket server (lila-ws), an engine analysis network (fishnet), search on Elasticsearch, MongoDB, Redis, and small services for GIF rendering, tablebases, openings and puzzles. The catalogue's 4 GB minimum is the floor for a development instance, not for a server other people play on. The realistic self-host is a private club server, a classroom or a research box, and even then you should first check whether the public site's API already does what you want.

The architecture is why it is hard

Lichess.org serves millions of games a day with real-time move latency on a small fleet of servers, and it does that by splitting concerns aggressively. Lila handles the HTTP side, game logic and rendering. Lila-ws holds the websocket connections and talks to lila through Redis. Move analysis does not happen on the server at all; fishnet clients (volunteers running Stockfish) pull work from a queue. Search for games and forum posts lives in lila-search over Elasticsearch. Each piece is individually simple. The pain is the integration, and the fact that the production wiring lives with the operators rather than in a single compose file you can lift.

lila-docker gets you a dev instance in an afternoon

The official lichess-org/lila-docker repository is the practical entry point. It brings up lila, lila-ws, MongoDB, Redis and optional extras with one ./lila-docker start, seeds a database with test users, and gives you a working site on localhost. This is genuinely good and I recommend it to anyone who wants to read the code, build a bot, or run a chess night on a LAN.

Read the README's warning, though: lila-docker is explicitly a development environment. It runs in dev mode, skips the hardening, and does not set up analysis for you, so the analysis board has no engine until you start a fishnet client and point it at your instance. The compose file is a map of the territory, not the territory.

What "production" means here

A real deployment means building lila from source with sbt (slow and memory-hungry; budget 8 GB for the build box alone), MongoDB with the indexes lila expects, Redis, lila-ws built separately, a reverse proxy terminating TLS and routing websocket traffic, an Elasticsearch node if you want search at all, at least one fishnet worker with Stockfish, and a mail relay for signups. Then updates: lila is developed continuously with hundreds of commits a month, there are no versioned releases to pin, and database changes are made by the Lichess team on their own data as they go. You would be tracking a moving trunk. For a club of 30 people this is a part-time job; there is no configuration in which it is a weekend.

The alternative is usually the public site

If the goal is privacy, note that Lichess is a non-profit that runs no ads and no trackers, and the open API lets you build tournaments, bots and study tools against it with a personal token. If the goal is an offline or air-gapped chess server, that is the legitimate case for lila-docker on a LAN. If the goal is simply running your own engine analysis, you need none of this: Stockfish is a single binary, and every desktop chess GUI will drive it locally. Browse the rest of the self-hosted games category before you commit a server to this; almost everything else there is one container and 200 MB.

What I'd do

For a chess club or classroom: lila-docker on a spare machine with 8 GB, LAN-only, one fishnet worker on the same box, and accept that it is a dev-mode instance you rebuild rather than upgrade. For anyone else: keep using lichess.org, donate if you value it, and spend your homelab hours on something that ships a compose file. The SaaS versus self-hosted maths almost never favours hosting a platform whose upstream is a full-time team, and Lichess is the clearest example of that on this site.

Compare Lichess

2 head-to-head comparisons.

Similar game servers apps