- Blind mode tutorial
lichess.org
Donate

Setting up development environment for lichess on Windows

I tried to set up lichess locally on my Windows system.

I followed the instructions laid out here:

https://github.com/ornicar/lila/wiki/Lichess-Development-Onboarding-(Windows)

Compilation

There is one more dependency not described in the guide that you have to install manually:

https://github.com/kamon-io/Kamon

You have to clone this and install it with "sbt publish-local".

Setting up nginx

With setting up nginx I ran into the problem that the system uses port 80 for its own purposes. I could not determine which service does this, so I had to use brute force.

In order to stop services that use port 80, without knowing about what services they are, you have to issue the system command "net stop HTTP". However this won't work if you don't issue this as a system administrator. My solution was to save this command to a bat file and run the bat file as system administrator ( this is an option in the context menu which comes up when you select the bat file and right click over it ).

Installing Node.js ui modules

The script in the guide fails to install all Node.js ui modules. I added the missing modules to the list ( you have to go to the ui directory to see what modules are missing from the list in ui-build.bat and add them ), but even then some modules failed to install. I tried to install each module manually without using the script, but there are still criptic error messages ( like I installed the "common" module successfully and then in some other module I got the error message that the "common" module is missing ).

What I managed to do:

Compile the program, set up nginx, start the program and establish server-client communcation by navigating to "l.org" in the browser, as described in the guide.

When I click on links in the app the server responds. There are even functions that work completely. For example I can use the coordinate trainer without a problem. Also setting up a board manually seems to work.

What I failed to do:

There are functions which don't work. This may be in connection with being unable to install all ui modules. For example the pieces in analysis board are not showing up.

Also I cannot a create a game, when I click on Create game, nothing happens.

I tried to set up lichess locally on my Windows system. I followed the instructions laid out here: https://github.com/ornicar/lila/wiki/Lichess-Development-Onboarding-(Windows) Compilation There is one more dependency not described in the guide that you have to install manually: https://github.com/kamon-io/Kamon You have to clone this and install it with "sbt publish-local". Setting up nginx With setting up nginx I ran into the problem that the system uses port 80 for its own purposes. I could not determine which service does this, so I had to use brute force. In order to stop services that use port 80, without knowing about what services they are, you have to issue the system command "net stop HTTP". However this won't work if you don't issue this as a system administrator. My solution was to save this command to a bat file and run the bat file as system administrator ( this is an option in the context menu which comes up when you select the bat file and right click over it ). Installing Node.js ui modules The script in the guide fails to install all Node.js ui modules. I added the missing modules to the list ( you have to go to the ui directory to see what modules are missing from the list in ui-build.bat and add them ), but even then some modules failed to install. I tried to install each module manually without using the script, but there are still criptic error messages ( like I installed the "common" module successfully and then in some other module I got the error message that the "common" module is missing ). What I managed to do: Compile the program, set up nginx, start the program and establish server-client communcation by navigating to "l.org" in the browser, as described in the guide. When I click on links in the app the server responds. There are even functions that work completely. For example I can use the coordinate trainer without a problem. Also setting up a board manually seems to work. What I failed to do: There are functions which don't work. This may be in connection with being unable to install all ui modules. For example the pieces in analysis board are not showing up. Also I cannot a create a game, when I click on Create game, nothing happens.

The first step to get something going is to register some users. Of course I don't want to register new e-mail adresses for the local users.

With no small amount of reverse engineering finally I found out how to create a user: there is a create function in UserRepo.scala, which you call with the name, password etc. You can avoid e-mail verification by setting the mustConfirmEmail argument to false.

However I was puzzled as to what the entry point of the application was.

The closest I could come to some startup like thing is onStart in Global.scala, so I put the user creation code there.

And voila!

I have a user, called dummy, and he is the one and only user, he rules over void local lichess land proudly:

https://postimg.org/image/n7j5vckmh/

The first step to get something going is to register some users. Of course I don't want to register new e-mail adresses for the local users. With no small amount of reverse engineering finally I found out how to create a user: there is a create function in UserRepo.scala, which you call with the name, password etc. You can avoid e-mail verification by setting the mustConfirmEmail argument to false. However I was puzzled as to what the entry point of the application was. The closest I could come to some startup like thing is onStart in Global.scala, so I put the user creation code there. And voila! I have a user, called dummy, and he is the one and only user, he rules over void local lichess land proudly: https://postimg.org/image/n7j5vckmh/

Dummy seems a bit lonely. Maybe you should give him a friend.

Dummy seems a bit lonely. Maybe you should give him a friend.

Hey @sakkozik you might have better chances in lichess discord channel: https://discord.gg/yscM6

With default configuration lichess doesn't require email confirmation on signup.

Hey @sakkozik you might have better chances in lichess discord channel: https://discord.gg/yscM6 With default configuration lichess doesn't require email confirmation on signup.

This topic has been archived and can no longer be replied to.