# Lichess — The Forever Free Open Source Chess Server > A full-featured online chess platform written in Scala, serving millions of games daily with no ads, no premium tiers, and completely open source. ## Install Save in your project root: # Lichess — The Forever Free Open Source Chess Server ## Quick Use ```bash git clone --recursive https://github.com/lichess-org/lila.git cd lila ./lila # requires sbt, MongoDB, Redis ``` ## Introduction Lichess is a non-profit, ad-free online chess platform that handles millions of games per day. Built in Scala on the Play Framework, it demonstrates that a complex real-time web application can be fully open source while competing with commercial alternatives. ## What Lichess Does - Hosts real-time chess games with multiple time controls (bullet, blitz, rapid, classical) - Provides puzzles, studies, analysis boards, and tournament systems - Integrates Stockfish for server-side game analysis available to all users - Offers a comprehensive REST and WebSocket API for third-party apps - Supports team leagues, simultaneous exhibitions, and Swiss/Arena tournaments ## Architecture Overview Lichess runs on the Play Framework (Scala) with MongoDB as the primary datastore and Redis for caching and pub/sub. Real-time game communication uses WebSockets routed through a Rust-based service called lila-ws. The Fishnet distributed computing network offloads Stockfish analysis across volunteer machines. The frontend is TypeScript with Snabbdom for reactive DOM updates. ## Self-Hosting & Configuration - Requires JDK 21, sbt, MongoDB 6+, Redis 7+, and Node.js for asset compilation - Use the `lila-docker` repository for a containerized development setup - Configure via `conf/application.conf` for database URLs, ports, and feature flags - Fishnet (analysis) and lila-ws (WebSocket) are separate services to deploy - Development mode auto-reloads on Scala source changes via sbt ## Key Features - Entirely free with no ads, subscriptions, or pay-to-win features - Sub-100ms move latency through optimized WebSocket infrastructure - Built-in opening explorer with millions of master and Lichess games - Accessibility-first design with screen reader support and keyboard navigation - Transparent Glicko-2 rating system with public rating distribution data ## Comparison with Similar Tools - **Chess.com** — commercial with ads and premium tiers; Lichess is fully free and open source - **Scid** — desktop-only database tool; Lichess is a full online multiplayer platform - **PyChess** — smaller community, fewer features; Lichess has a much larger player base - **en-croissant** — local analysis GUI; Lichess provides cloud analysis and multiplayer ## FAQ **Q: How does Lichess sustain itself without ads?** A: Through patron donations. The non-profit model keeps costs low with efficient infrastructure. **Q: Can I use the Lichess API for my own app?** A: Yes, the API is free and well-documented. Rate limits are generous for authenticated requests. **Q: Is self-hosting practical for a club or school?** A: Yes, though it requires several services. The Docker setup simplifies local deployment. **Q: What languages is Lichess available in?** A: Over 80 languages via community translation on Crowdin. ## Sources - https://github.com/lichess-org/lila - https://lichess.org/api --- Source: https://tokrepo.com/en/workflows/asset-41629773 Author: AI Open Source