Lichess
Open-source chess server and platform
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
Lichess replaces
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
Mindustry
Game ServersTower-defense and factory game with servers
Replaces Factorio
OpenRCT2
Game ServersOpen-source remake of RollerCoaster Tycoon 2
Replaces RollerCoaster Tycoon
papermc-docker
Game ServersContainerized Minecraft Java server image
Replaces Minecraft Realms
ArchiSteamFarm
Game ServersTool for farming Steam cards from multiple accounts
Replaces Idle Master
2048
Game ServersSelf-hostable browser version of the 2048 sliding puzzle
Replaces Mobile puzzle games
Nakama
Game ServersOpen-source game server for realtime multiplayer and social features
Replaces PlayFab, Firebase