Skip to content

Lichess Development Onboarding (Windows)

Alberto Santini edited this page Apr 26, 2018 · 25 revisions

The following instructions explain how to set up your development environment for Lichess on Windows.

GNU/Linux instructions: https://github.com/ornicar/lila/wiki/Lichess-Development-Onboarding

Note that Windows is not officially supported for lila builds. It works now, but there is no guarantee that it stays like that.

Prequisites

  • Git
  • sbt If 13.6 then open sbt.bat and update to below set INIT_SBT_VERSION=0.13.16
  • MongoDB
  • npm from Node.js.
  • nginx
  • yarn
  • gulp-cli (yarn global add gulp-cli)
  • Powershell (likely already on your machine) - required version >= 4.0 (in order to have CopyTo method)

Installation steps

  1. Turn off line feed conversion in windows (all checkins are made from linux): git config --global core.autocrlf false

  2. Fork the lila project from github on your computer (including submodules): git clone --recursive https://github.com/ornicar/lila.git

  3. Change your current directory to the top level of the checked out repository. This is important for the successful execution of the Lichess build scripts. cd lila.

  4. copy bin\dev.default.windows.bat bin\dev.bat Edit dev.bat to have -Dfile.encoding=UTF-8, increase memory -Xms2048M -Xmx3072M -Dfile.encoding=UTF-8

  5. Create conf/application.conf with the following content:

     include "base"
    
     geoip {
        file = "data/GeoLite2-City.mmdb"
     }
    
     http {
       port = 9663
     }
    
  6. Run powershell -executionpolicy bypass -File bin\gen\geoip.ps1 to download the GeoIP database.

  7. Run yarn install

  8. Run .\ui\build.bat

  9. Compile the Scala application with .\bin\dev.bat compile

Setting up your web server

  1. Add the following line to your hosts file (C:\Windows\System32\drivers\etc\hosts): 127.0.0.1 lichess-assets.local

  2. Open your nginx.conf file, and add this 'Server' block to the http block:

    server {
      server_name lichess-assets.local;
      listen 80;
      charset utf-8;
      location /assets {
        add_header "Access-Control-Allow-Origin" "*";
        alias /home/happy0/projects/lila/public;
      }
    }
    

Don't forget to change <path\to\> into an actual path.

  1. Restart (or start) nginx.

Running the application.

  1. Make sure nginx is running.
  2. Make sure a MongoDB server instance is running.
  3. From the top level of the lichess project, execute .\bin\dev.bat
  4. When sbt is finished retrieving dependencies, type run 9663 and press enter.
  5. In your browser, navigate to localhost:9663
Clone this wiki locally