2021-12-22 10:53:20 -07:00
|
|
|
# HOWTO Set up Your Own Chess Server
|
|
|
|
This document shows how to install a chess server.
|
2021-12-22 11:57:50 -07:00
|
|
|
The free software application Lila, written by the fine developers at
|
|
|
|
https://lichess.org, will be used.
|
2021-12-22 10:53:20 -07:00
|
|
|
|
|
|
|
# Overview
|
2021-12-22 11:57:50 -07:00
|
|
|
System will be built from these main parts listed below. You don't
|
|
|
|
need to know all of these, but knowing some system administration
|
|
|
|
will help.
|
2021-12-22 10:53:20 -07:00
|
|
|
|
|
|
|
* OVH ISP.
|
2021-12-22 11:58:38 -07:00
|
|
|
* Debian stable (Bullseye/11).
|
2021-12-22 10:53:20 -07:00
|
|
|
* Lila.
|
|
|
|
* Lila-ws.
|
|
|
|
* Apache.
|
|
|
|
* MongoDB.
|
|
|
|
* Redis.
|
2021-12-22 11:57:50 -07:00
|
|
|
* Scala.
|
2021-12-22 10:53:20 -07:00
|
|
|
* Java.
|
|
|
|
* SBT.
|
|
|
|
* Yarn.
|
|
|
|
* Python.
|
|
|
|
* Git.
|
|
|
|
* Node.
|
2021-12-22 11:37:55 -07:00
|
|
|
* Certbot.
|
|
|
|
* DNS.
|
2021-12-22 11:57:50 -07:00
|
|
|
* All the way down to GRUB and below...
|
2021-12-22 10:53:20 -07:00
|
|
|
|
2021-12-22 13:22:07 -07:00
|
|
|
For a high volume service, some of these services can be broken out
|
|
|
|
across multiple servers. For this example, we'll use just one "blank"
|
2021-12-22 14:57:15 -07:00
|
|
|
remote virtual server with nothing else on it.
|
2021-12-22 13:22:07 -07:00
|
|
|
|
2021-12-22 10:53:20 -07:00
|
|
|
# Upstream
|
|
|
|
The best current upstream document describing the process is here:
|
|
|
|
|
|
|
|
https://github.com/ornicar/lila/wiki/Lichess-Development-Onboarding
|
|
|
|
|
|
|
|
Main upstream repos:
|
|
|
|
|
|
|
|
* https://github.com/ornicar/lila
|
2021-12-22 11:57:50 -07:00
|
|
|
* https://github.com/ornicar/lila-ws
|
2021-12-22 10:53:20 -07:00
|
|
|
|
2021-12-22 13:43:01 -07:00
|
|
|
|
|
|
|
# Donate
|
|
|
|
Be sure to donate to lichess for their great website and for
|
|
|
|
making free software:
|
|
|
|
|
|
|
|
* https://lichess.org/patron
|
|
|
|
|
|
|
|
|
2021-12-22 10:53:20 -07:00
|
|
|
# Pre-Installation Setup
|
|
|
|
First, you need to have a location to host the server. You will want a server
|
|
|
|
with a minimum of 4 gigs of RAM. When the server is running, usage is low,
|
|
|
|
but it takes awhile to compile, so more CPU/RAM will speed that up.
|
|
|
|
|
|
|
|
For this example, we'll set up at OVH, which is the same Internet company
|
|
|
|
that lichess.org uses.
|
|
|
|
|
2021-12-22 11:37:55 -07:00
|
|
|
You will also need a domain and someone providing domain name service (DNS).
|
|
|
|
OVH provides this service (presumably?) or I recommend Njalla.
|
|
|
|
|
2021-12-22 12:22:52 -07:00
|
|
|
|
2021-12-22 11:37:55 -07:00
|
|
|
## Register DNS
|
|
|
|
Since it takes awhile to spread across the Internet, it is best to first
|
|
|
|
register your domain so that process can happen in the background while
|
|
|
|
you are setting up the server.
|
|
|
|
|
2021-12-22 12:22:52 -07:00
|
|
|
For this example, we'll use the domain `mychestserver.org` with the final
|
|
|
|
example server URL being:
|
|
|
|
|
|
|
|
* https://www.mychestserver.org
|
2021-12-22 11:37:55 -07:00
|
|
|
|
2021-12-22 11:57:50 -07:00
|
|
|
Go to your registrar, and register your domain, such as:
|
|
|
|
|
|
|
|
* https://njal.la/
|
|
|
|
|
2021-12-22 12:22:52 -07:00
|
|
|
|
2021-12-22 11:57:50 -07:00
|
|
|
## Register at ISP
|
|
|
|
Go to OVH (or ISP of your choice) and create an account to host your server.
|
|
|
|
OVH may have regional websites as well:
|
|
|
|
|
|
|
|
* https://ovh.com/
|
|
|
|
|
2021-12-22 12:22:52 -07:00
|
|
|
|
2021-12-22 11:37:55 -07:00
|
|
|
## Set up Workstation SSH Keys
|
|
|
|
To connect to the server, you will need SSH keys. They'll be needed at time
|
|
|
|
of server creation, so we'll make them now. This is an example how to create
|
|
|
|
keys on a Debian stable workstation, where the username is "debian" and
|
|
|
|
the workstation name is "workstation". For OVH, we're creating `ecdsa` keys,
|
|
|
|
which is inferior to `ed25519` keys. Last I tested, OVH doesn't accept the
|
|
|
|
latter.
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
# Run command to create keys.
|
|
|
|
# Note the location where you saved the key.
|
|
|
|
# Just hit "enter" for a passphrase.
|
|
|
|
|
|
|
|
debian@workstation:~$ ssh-keygen -t ecdsa
|
|
|
|
Generating public/private ecdsa key pair.
|
|
|
|
Enter file in which to save the key (/home/debian/.ssh/id_ecdsa): /home/debian/.ssh/id_ecdsa-chess
|
|
|
|
Enter passphrase (empty for no passphrase):
|
|
|
|
Enter same passphrase again:
|
|
|
|
Your identification has been saved in /home/debian/.ssh/id_ecdsa-chess
|
|
|
|
Your public key has been saved in /home/debian/.ssh/id_ecdsa-chess.pub
|
|
|
|
The key fingerprint is:
|
|
|
|
SHA256:M2qUpyl31CCUcn3t2+vM6Cn4JaZIVvnFJICtTQiTQmY debian@workstation
|
|
|
|
The key's randomart image is:
|
|
|
|
+---[ECDSA 256]---+
|
|
|
|
| .E oo.*. . |
|
|
|
|
| o. oo= +.. . |
|
|
|
|
| . o.+..... |
|
|
|
|
| .o.+ +. |
|
|
|
|
| o S . oo |
|
|
|
|
| . B + .. . |
|
|
|
|
| . O ..+ . . |
|
|
|
|
| * o.o.o =. |
|
|
|
|
| . ...o+.+ |
|
|
|
|
+----[SHA256]-----+
|
|
|
|
```
|
|
|
|
|
2021-12-22 12:22:52 -07:00
|
|
|
|
2021-12-22 11:37:55 -07:00
|
|
|
## Upload SSH key to ISP
|
2021-12-22 11:57:50 -07:00
|
|
|
Take SSH the key you just created above and upload it to OVH.
|
|
|
|
Go to `Public Cloud`, then near the bottom left column, under
|
|
|
|
`Project Management` click `SSH Keys`.
|
|
|
|
Under the new `SSH Keys` window, click `Add and SSH Key` button.
|
2021-12-22 12:22:52 -07:00
|
|
|
Paste the PUBLIC key created above, ending with `.pub` extension,
|
|
|
|
into the `Key` section of the `Add an SSH key` popup window.
|
2021-12-22 11:57:50 -07:00
|
|
|
|
|
|
|
Take this output and paste into that form in the browser:
|
|
|
|
|
|
|
|
```
|
|
|
|
cat /home/debian/.ssh/id_ecdsa-chess.pub
|
|
|
|
```
|
|
|
|
|
|
|
|
It should look like a tangled mess like this (note, the `debian@workstation` field
|
|
|
|
at the end is informational and can be something depending on your user/workstaion):
|
|
|
|
|
|
|
|
```
|
|
|
|
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBC16EdTLECoLqSnmM/aSKrskLYN5ygu2dVvSAfiu4SAHPElrY6wqgUq6kzzsbbnko+VqyGzZ4tTWMml/AlBrQaw= debian@workstation
|
|
|
|
```
|
|
|
|
|
|
|
|
In the `Name` field, enter `mychestkey`.
|
|
|
|
|
|
|
|
Click `Add` to save the key at OVH. You should now see it in the list.
|
2021-12-22 11:37:55 -07:00
|
|
|
|
2021-12-22 12:22:52 -07:00
|
|
|
|
2021-12-22 11:37:55 -07:00
|
|
|
## Create Virtual Machine at ISP
|
2021-12-22 11:57:50 -07:00
|
|
|
OVH sells dedicated "bare metal" servers called the `Bare Metal Cloud`.
|
|
|
|
They also sell virtual machine instances under the `Public Cloud`.
|
2021-12-22 11:37:55 -07:00
|
|
|
The bare metal servers can be better, but they are generally more expensive,
|
|
|
|
a bit more complex to set up and maintain. So for this example, we
|
2021-12-22 11:57:50 -07:00
|
|
|
will set up a virtual machine in the `Public Cloud`.
|
2021-12-22 10:53:20 -07:00
|
|
|
|
|
|
|
|
2021-12-22 11:57:50 -07:00
|
|
|
In OVH `Dashboard` click on `Public Cloud`, then in left column near the top
|
2021-12-22 13:44:19 -07:00
|
|
|
under `Compute`, click `Instances`. Then under the new `Instances` window,
|
2021-12-22 11:57:50 -07:00
|
|
|
click `Create an Instance`.
|
2021-12-22 11:37:55 -07:00
|
|
|
|
2021-12-22 11:57:50 -07:00
|
|
|
* `Select a Model`: `Discovery` tab, then select D2-8. There are some options
|
2021-12-22 11:37:55 -07:00
|
|
|
with 4 gigs of RAM and fewer CPUs, which could be used, but kind of slow.
|
|
|
|
This option is ~$20USD/month.
|
|
|
|
|
2021-12-22 11:57:50 -07:00
|
|
|
* `Select a Region`: The https://lichess.org server is in various data centers around
|
2021-12-22 13:45:10 -07:00
|
|
|
Northern France, such as Gravelines (GRA). If you want to be close to that
|
2021-12-22 11:37:55 -07:00
|
|
|
for some reason, you can select that. Or you could select a server that
|
|
|
|
is regionally close to you and your users in another part of the world.
|
2021-12-22 11:57:50 -07:00
|
|
|
For this example, we'll select Gravelines GRA3. Click `Next`.
|
|
|
|
|
|
|
|
* `Select an Image`: Under `Unix Distributions` tab, select `Debian 11`.
|
|
|
|
|
|
|
|
* `Select an Image`: Under `SSH key` at the bottom of the section, select the
|
|
|
|
`mychestkey` you created and uploaded above. Click `Next`
|
2021-12-22 11:37:55 -07:00
|
|
|
|
2021-12-22 11:57:50 -07:00
|
|
|
* `Configure your instance`: Just one instance. We'll use `mychestserver` for
|
|
|
|
the name, use yours as appropriate. We won't do any of `Post-installation
|
|
|
|
script`, `Private Networks`, or `Backups`, although they could be used.
|
|
|
|
Click `Next`.
|
2021-12-22 11:37:55 -07:00
|
|
|
|
2021-12-22 11:57:50 -07:00
|
|
|
* `Billing Period`: As you like. This is just a test, so here just using
|
|
|
|
`Hourly` at $0.03886/hour. Click `Create an instance` to create the
|
|
|
|
virtual computer, which also starts billing.
|
2021-12-22 11:37:55 -07:00
|
|
|
|
2021-12-22 12:22:52 -07:00
|
|
|
* OVH will say `Launching Instance` and a few minutes later, your server
|
|
|
|
should be ready and in `Activated` status when viewed under the `Instances`
|
|
|
|
tab under `Public Cloud`.
|
|
|
|
|
|
|
|
|
|
|
|
## Forward DNS Configuration
|
|
|
|
Set up forward DNS with the new IP address OVH gave you for your
|
|
|
|
instance. Look at the `Public IP` of your new server `Activated`
|
|
|
|
server instance. In this example, it is `147.135.193.212`. That is the
|
|
|
|
network address of your new server. We want to add it to DNS, so add
|
|
|
|
it to OVH (?) or Njalla's records. For this example, this URL was used:
|
|
|
|
|
|
|
|
* https://njal.la/domains/mychestserver.org/
|
|
|
|
|
|
|
|
Click `Manage` for the domain, then `+ Add Record`.
|
|
|
|
|
|
|
|
* `Type`: Use `A` record.
|
|
|
|
|
|
|
|
* `Name`: Use `www`.
|
|
|
|
|
|
|
|
* `IPv4 Address`: Use the `Public IP` OVH gave you for your instance. In
|
|
|
|
this example, `147.135.193.212`.
|
|
|
|
|
|
|
|
* `TTL`: Lets do something short for now, use `5m`. Click `Add`.
|
|
|
|
|
|
|
|
That will take anywhere from a few seconds to an hour to be picked up by
|
2021-12-22 14:53:02 -07:00
|
|
|
nameservers around the world. It is best if you *don't* query it for now
|
2021-12-22 12:22:52 -07:00
|
|
|
(wait ~15+ minutes) or servers may cache a negative answer, which you'll
|
|
|
|
have to outwait.
|
|
|
|
|
|
|
|
|
|
|
|
## Reverse DNS Configuration
|
|
|
|
Set up reverse DNS with the new IP address OVH gave you for your
|
|
|
|
instance. Look at the `Public IP` of your new server `Activated`
|
|
|
|
server instance. In this example, it is `147.135.193.212`.
|
|
|
|
|
|
|
|
In the OVH `Dashboard` under your `Instances`, click on your instance,
|
|
|
|
such as the example `mychestserver`. On the right hand side under
|
|
|
|
`Networks` in the `IPv4` section there is a button with three dots.
|
|
|
|
Click it and select `Change reverse DNS`. Find your `Public IP` address
|
|
|
|
in the list, our example `147.135.193.212`. In the `Reverse DNS`
|
|
|
|
column, click the edit pencil box icon. Enter your full domain name,
|
|
|
|
such as our example `www.mychestserver.org` and click the check mark
|
|
|
|
to save it.
|
|
|
|
|
|
|
|
|
|
|
|
## Set up SSH on Workstation
|
|
|
|
Back on your workstation, set up your SSH configuration with the key
|
2021-12-22 12:40:18 -07:00
|
|
|
you created and the new `Public IP`. Edit the file `~/.ssh/config`.
|
2021-12-22 12:22:52 -07:00
|
|
|
|
2021-12-22 12:40:18 -07:00
|
|
|
```
|
|
|
|
vim ~/.ssh/config
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
Add using your name and `Public IP` instead of this example.
|
|
|
|
Also, use the path to the *private* workstation SSH key created earlier.
|
|
|
|
Add to `~/.ssh/config`:
|
|
|
|
|
|
|
|
```
|
|
|
|
Host mychestserver
|
|
|
|
Hostname 147.135.193.212
|
|
|
|
User debian
|
|
|
|
Port 22
|
|
|
|
Identityfile ~/.ssh/id_ecdsa-chess
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
# Login
|
|
|
|
Now from your workstation, log into the server and check that all
|
|
|
|
is ok:
|
|
|
|
|
|
|
|
```
|
2021-12-22 12:40:54 -07:00
|
|
|
ssh mychestserver
|
2021-12-22 12:40:18 -07:00
|
|
|
```
|
|
|
|
|
|
|
|
It should look something like this:
|
|
|
|
|
|
|
|
```
|
|
|
|
debian@workstation:~$ ssh mychestserver
|
|
|
|
Host key fingerprint is SHA256:WgtWRY7N3POEhSqhhS6aq7Wac1sR7AQ+abQTpgXiQvU
|
|
|
|
+---[ECDSA 256]---+
|
|
|
|
|SSB. . .S .. |
|
|
|
|
|+* *. . SB ..S |
|
|
|
|
|o.B +E oo.=.+ . |
|
|
|
|
|.. =..o.. . + |
|
|
|
|
| bb.b S. . |
|
|
|
|
| o o + . |
|
|
|
|
| ... . . |
|
|
|
|
|.ooo |
|
|
|
|
|+=o. |
|
|
|
|
+----[SHA256]-----+
|
|
|
|
Linux mychestserver 5.10.0-8-cloud-amd64 #1 SMP Debian 5.10.46-5 (2021-09-23) x86_64
|
|
|
|
|
|
|
|
The programs included with the Debian GNU/Linux system are free software;
|
|
|
|
the exact distribution terms for each program are described in the
|
|
|
|
individual files in /usr/share/doc/*/copyright.
|
|
|
|
|
|
|
|
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
|
|
|
|
permitted by applicable law.
|
|
|
|
debian@mychestserver:~$
|
|
|
|
```
|
|
|
|
|
|
|
|
You can check all is happy with commands like:
|
|
|
|
|
|
|
|
```
|
|
|
|
free -h
|
|
|
|
df -h
|
|
|
|
cat /proc/cpuinfo
|
|
|
|
dpkg -l
|
|
|
|
uname -a
|
|
|
|
dmesg -T
|
|
|
|
```
|
|
|
|
|
2021-12-22 12:51:37 -07:00
|
|
|
# Update Server
|
|
|
|
First, set new passwords for user `debian` and then `root` on the server,
|
|
|
|
using sudo as root... Looks something like this:
|
|
|
|
|
|
|
|
```
|
|
|
|
debian@mychestserver:~$ sudo passwd debian
|
|
|
|
New password:
|
|
|
|
Retype new password:
|
|
|
|
passwd: password updated successfully
|
|
|
|
debian@mychestserver:~$ sudo passwd
|
|
|
|
New password:
|
|
|
|
Retype new password:
|
|
|
|
passwd: password updated successfully
|
|
|
|
```
|
|
|
|
|
|
|
|
Now, update to latest Debian packages.
|
|
|
|
|
|
|
|
```
|
|
|
|
sudo apt update
|
|
|
|
sudo apt upgrade
|
|
|
|
sudo apt clean
|
|
|
|
```
|
|
|
|
|
|
|
|
Reboot server to newly updated system.
|
2021-12-22 13:20:33 -07:00
|
|
|
It should take less than a minute to reboot.
|
2021-12-22 12:51:37 -07:00
|
|
|
|
|
|
|
```
|
|
|
|
reboot
|
|
|
|
```
|
|
|
|
|
2021-12-22 12:40:18 -07:00
|
|
|
# Install
|
2021-12-22 13:20:33 -07:00
|
|
|
Log back into the new server:
|
2021-12-22 12:51:37 -07:00
|
|
|
|
|
|
|
```
|
|
|
|
debian@workstation:~$ ssh mychestserver
|
|
|
|
```
|
2021-12-22 10:53:20 -07:00
|
|
|
|
|
|
|
|
2021-12-22 13:20:33 -07:00
|
|
|
## Install Debian Dependencies
|
|
|
|
Install the following dependencies from Debian's repos:
|
|
|
|
|
|
|
|
```
|
|
|
|
sudo apt update
|
|
|
|
|
2021-12-22 14:23:52 -07:00
|
|
|
sudo apt install \
|
|
|
|
apache2 \
|
|
|
|
build-essential \
|
|
|
|
git \
|
|
|
|
openjdk-11-jre-headless \
|
|
|
|
python-is-python3 \
|
|
|
|
python2 \
|
|
|
|
python3-certbot-apache \
|
|
|
|
redis-server
|
|
|
|
|
|
|
|
sudo apt clean
|
2021-12-22 13:20:33 -07:00
|
|
|
```
|
|
|
|
|
|
|
|
Note: Docs say `python2` is needed, but is that still correct?
|
|
|
|
|
|
|
|
## Install External Dependencies
|
|
|
|
Lila has quite a few dependencies, many of which are outside
|
2021-12-22 13:52:59 -07:00
|
|
|
of distributions' repositories. Sometimes the dependency exists
|
2021-12-22 13:20:33 -07:00
|
|
|
in the repo, but it is the wrong version. So we'll need to install
|
2021-12-22 13:52:59 -07:00
|
|
|
these dependencies from external repositories:
|
2021-12-22 13:20:33 -07:00
|
|
|
|
|
|
|
* `mongodb`
|
|
|
|
* `node`
|
|
|
|
* `sbt`
|
|
|
|
* `yarn`
|
|
|
|
|
|
|
|
|
|
|
|
### Install MongoDB
|
2021-12-22 13:32:10 -07:00
|
|
|
Install MongoDB thusly.
|
|
|
|
|
|
|
|
Note, they don't have a Debian Bullseye repo, but the Debian
|
|
|
|
Buster repo works.
|
|
|
|
|
|
|
|
```
|
|
|
|
# Get APT Key
|
|
|
|
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
|
|
|
|
|
|
|
|
# Add Repository
|
|
|
|
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/5.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
|
2021-12-22 10:53:20 -07:00
|
|
|
|
2021-12-22 13:32:10 -07:00
|
|
|
# Update Apt
|
|
|
|
sudo apt update
|
|
|
|
|
|
|
|
# Install MongoDB Server
|
|
|
|
sudo apt install mongodb-org
|
|
|
|
|
|
|
|
# Be clean
|
|
|
|
sudo apt clean
|
|
|
|
|
|
|
|
# Start mongodb server
|
|
|
|
sudo systemctl start mongod.service
|
|
|
|
|
|
|
|
# Enable mongodb server on boot
|
|
|
|
sudo systemctl enable mongod.service
|
|
|
|
|
|
|
|
# Logs are here:
|
|
|
|
sudo tail -f /var/log/mongodb/mongod.log
|
|
|
|
```
|
2021-12-22 13:20:33 -07:00
|
|
|
|
|
|
|
### Install Node
|
2021-12-22 13:32:34 -07:00
|
|
|
Install Node thusly:
|
2021-12-22 13:20:33 -07:00
|
|
|
|
2021-12-22 13:52:59 -07:00
|
|
|
```
|
|
|
|
# Setup repos with their script
|
|
|
|
curl -fsSL https://deb.nodesource.com/setup_12.x | sudo bash -
|
|
|
|
|
|
|
|
# Install it
|
|
|
|
sudo apt install nodejs
|
|
|
|
|
|
|
|
sudo apt clean
|
|
|
|
```
|
2021-12-22 13:20:33 -07:00
|
|
|
|
2021-12-22 13:56:56 -07:00
|
|
|
|
2021-12-22 13:20:33 -07:00
|
|
|
### Install SBT
|
2021-12-22 13:32:34 -07:00
|
|
|
Install SBT thusly:
|
2021-12-22 13:20:33 -07:00
|
|
|
|
2021-12-22 13:56:56 -07:00
|
|
|
```
|
|
|
|
# Set up repos
|
|
|
|
echo "deb https://repo.scala-sbt.org/scalasbt/debian all main" | sudo tee /etc/apt/sources.list.d/sbt.list
|
|
|
|
|
|
|
|
echo "deb https://repo.scala-sbt.org/scalasbt/debian /" | sudo tee /etc/apt/sources.list.d/sbt_old.list
|
|
|
|
|
|
|
|
# Add repo key
|
|
|
|
curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | sudo apt-key add
|
|
|
|
|
|
|
|
# Update repo, install, and clean.
|
|
|
|
sudo apt update
|
|
|
|
|
|
|
|
sudo apt install sbt
|
|
|
|
|
|
|
|
sudo apt clean
|
|
|
|
```
|
|
|
|
|
2021-12-22 13:20:33 -07:00
|
|
|
|
|
|
|
### Install Yarn
|
2021-12-22 13:32:34 -07:00
|
|
|
Install Yarn thusly:
|
2021-12-22 13:20:33 -07:00
|
|
|
|
2021-12-22 14:03:19 -07:00
|
|
|
```
|
|
|
|
# Set up repos
|
|
|
|
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
|
|
|
|
|
|
|
|
# Add repo key
|
|
|
|
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
|
|
|
|
|
|
|
|
# Update repo, install, and clean.
|
|
|
|
sudo apt update
|
|
|
|
|
|
|
|
sudo apt install yarn
|
|
|
|
|
|
|
|
sudo apt clean
|
|
|
|
|
|
|
|
# Check OK:
|
|
|
|
debian@mychestserver:~$ yarn --version
|
|
|
|
1.22.17
|
|
|
|
```
|
|
|
|
|
2021-12-22 13:20:33 -07:00
|
|
|
|
2021-12-22 14:23:52 -07:00
|
|
|
## Set up Webserver
|
|
|
|
It is a bit easier to set up the webserver and get its SSL certificates
|
|
|
|
confirmed all working correctly before installing Lila, to
|
|
|
|
lessen any complications.
|
|
|
|
|
|
|
|
|
|
|
|
The webserver directories will be owned by user `debian`.
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
# User debian owns webserver files
|
|
|
|
sudo chown -R debian:debian /var/www
|
|
|
|
|
|
|
|
# Quick words for the webserver for testing
|
|
|
|
echo "mychestserver web" > /var/www/html/index.html
|
|
|
|
|
|
|
|
# Start webserver
|
|
|
|
sudo systemctl start apache2
|
|
|
|
|
|
|
|
# Logs are:
|
|
|
|
sudo tail -f /var/log/apache2/*.log
|
|
|
|
```
|
|
|
|
|
|
|
|
In your browser, you should now be able to see your website
|
|
|
|
in insecure plaintext on port 80. Go to your site with your
|
|
|
|
workstation's browser to check.
|
|
|
|
It should say like "mychestserver web".
|
|
|
|
|
|
|
|
* http://www.mychestserver.org
|
|
|
|
|
|
|
|
Note, your browser may try to send you to the `https` URL,
|
|
|
|
but that is set up below with `certbot`.
|
|
|
|
|
|
|
|
```
|
|
|
|
# Set up SSL certificates
|
|
|
|
sudo certbot
|
|
|
|
```
|
|
|
|
|
|
|
|
It should look something like this:
|
|
|
|
|
|
|
|
```
|
|
|
|
debian@mychestserver:~$ sudo certbot
|
|
|
|
Saving debug log to /var/log/letsencrypt/letsencrypt.log
|
|
|
|
Plugins selected: Authenticator apache, Installer apache
|
|
|
|
Enter email address (used for urgent renewal and security notices)
|
|
|
|
(Enter 'c' to cancel): webmaster@mychestserver.org
|
|
|
|
|
|
|
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
|
|
Please read the Terms of Service at
|
|
|
|
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
|
|
|
|
agree in order to register with the ACME server. Do you agree?
|
|
|
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
|
|
(Y)es/(N)o: y
|
|
|
|
|
|
|
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
|
|
Would you be willing, once your first certificate is successfully issued, to
|
|
|
|
share your email address with the Electronic Frontier Foundation, a founding
|
|
|
|
partner of the Let's Encrypt project and the non-profit organization that
|
|
|
|
develops Certbot? We'd like to send you email about our work encrypting the web,
|
|
|
|
EFF news, campaigns, and ways to support digital freedom.
|
|
|
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
|
|
(Y)es/(N)o: n
|
|
|
|
Account registered.
|
|
|
|
No names were found in your configuration files. Please enter in your domain
|
|
|
|
name(s) (comma and/or space separated) (Enter 'c' to cancel): www.mychestserver.org
|
|
|
|
Requesting a certificate for www.mychestserver.org
|
|
|
|
Performing the following challenges:
|
|
|
|
http-01 challenge for www.mychestserver.org
|
|
|
|
Enabled Apache rewrite module
|
|
|
|
Waiting for verification...
|
|
|
|
Cleaning up challenges
|
|
|
|
Created an SSL vhost at /etc/apache2/sites-available/000-default-le-ssl.conf
|
|
|
|
Enabled Apache socache_shmcb module
|
|
|
|
Enabled Apache ssl module
|
|
|
|
Deploying Certificate to VirtualHost /etc/apache2/sites-available/000-default-le-ssl.conf
|
|
|
|
Enabling available site: /etc/apache2/sites-available/000-default-le-ssl.conf
|
|
|
|
Enabled Apache rewrite module
|
|
|
|
Redirecting vhost in /etc/apache2/sites-enabled/000-default.conf to ssl vhost in /etc/apache2/sites-available/000-default-le-ssl.conf
|
|
|
|
|
|
|
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
|
|
Congratulations! You have successfully enabled https://www.mychestserver.org
|
|
|
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
|
|
|
|
|
|
IMPORTANT NOTES:
|
|
|
|
- Congratulations! Your certificate and chain have been saved at:
|
|
|
|
/etc/letsencrypt/live/www.mychestserver.org/fullchain.pem
|
|
|
|
Your key file has been saved at:
|
|
|
|
/etc/letsencrypt/live/www.mychestserver.org/privkey.pem
|
|
|
|
Your certificate will expire on 2022-03-22. To obtain a new or
|
|
|
|
tweaked version of this certificate in the future, simply run
|
|
|
|
certbot again with the "certonly" option. To non-interactively
|
|
|
|
renew *all* of your certificates, run "certbot renew"
|
|
|
|
- If you like Certbot, please consider supporting our work by:
|
|
|
|
|
|
|
|
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
|
|
|
|
Donating to EFF: https://eff.org/donate-le
|
|
|
|
```
|
|
|
|
|
|
|
|
Then restart your web server:
|
|
|
|
|
|
|
|
```
|
|
|
|
sudo systemctl restart apache2
|
|
|
|
```
|
|
|
|
|
|
|
|
Now go to your website, and you should see that `https` encrypted
|
|
|
|
SSL is now working and you can view the certificate in your
|
|
|
|
workstation's web browser:
|
|
|
|
|
|
|
|
* https://www.mychestserver.org/
|
|
|
|
|
|
|
|
|
|
|
|
Lets also enable some Apache modules we'll need later.
|
|
|
|
|
|
|
|
```
|
|
|
|
# Enable Apache modules
|
|
|
|
sudo a2enmod headers http2 proxy proxy_http proxy_http2 proxy_wstunnel
|
|
|
|
|
|
|
|
# Restart Apache
|
|
|
|
sudo systemctl restart apache2
|
|
|
|
|
|
|
|
# Enable Apache to start on boot
|
|
|
|
sudo systemctl enable apache2
|
|
|
|
```
|
|
|
|
|
|
|
|
|
2021-12-22 13:20:33 -07:00
|
|
|
## Install Lila
|
2021-12-22 14:23:52 -07:00
|
|
|
Now we can actually install lila! See here:
|
2021-12-22 10:53:20 -07:00
|
|
|
|
|
|
|
* https://github.com/ornicar/lila
|
2021-12-22 10:04:40 -07:00
|
|
|
|
2021-12-22 14:36:41 -07:00
|
|
|
We'll install it in the Apache web tree.
|
|
|
|
Install thusly on server as `debian` user.
|
2021-12-22 14:23:52 -07:00
|
|
|
|
|
|
|
```
|
2021-12-22 14:36:41 -07:00
|
|
|
# Remove old directory
|
|
|
|
rm -rf /var/www/html
|
2021-12-22 14:23:52 -07:00
|
|
|
|
2021-12-22 14:36:41 -07:00
|
|
|
# Go to web directory
|
|
|
|
cd /var/www
|
2021-12-22 14:23:52 -07:00
|
|
|
|
2021-12-22 14:36:41 -07:00
|
|
|
# Clone the Lila git repository to the `html` directory
|
|
|
|
git clone --recursive https://github.com/ornicar/lila.git html
|
2021-12-22 14:23:52 -07:00
|
|
|
```
|
2021-12-22 13:20:33 -07:00
|
|
|
|
2021-12-22 14:36:41 -07:00
|
|
|
## Create MongoDB
|
|
|
|
Create a new MongoDB database.
|
|
|
|
|
|
|
|
```
|
|
|
|
# Go to new cloned dir
|
|
|
|
cd /var/www/html
|
|
|
|
|
|
|
|
# Create MongoDB database indexes
|
|
|
|
mongo lichess bin/mongodb/indexes.js
|
|
|
|
```
|
|
|
|
|
|
|
|
Creating the MongoDB database should look something like this:
|
|
|
|
|
|
|
|
```
|
|
|
|
debian@mychestserver:/var/www/html$ mongo lichess bin/mongodb/indexes.js
|
|
|
|
MongoDB shell version v5.0.5
|
|
|
|
connecting to: mongodb://127.0.0.1:27017/lichess?compressors=disabled&gssapiServiceName=mongodb
|
|
|
|
Implicit session: session { "id" : UUID("7b35e8f2-528c-4136-8b8f-7e9e21200857") }
|
|
|
|
MongoDB server version: 5.0.5
|
|
|
|
```
|
|
|
|
|
|
|
|
|
2021-12-22 14:53:02 -07:00
|
|
|
## Build Lila CSS and JS
|
|
|
|
Build the Lila CSS and JS files. This will take around ten minutes.
|
|
|
|
|
|
|
|
```
|
|
|
|
cd /var/www/html
|
|
|
|
./ui/build
|
|
|
|
```
|
|
|
|
|
|
|
|
It should look something like this:
|
|
|
|
|
|
|
|
```
|
|
|
|
debian@mychestserver:/var/www/html$ ./ui/build
|
|
|
|
building ui modules with target=dev and mode=build
|
|
|
|
node: v12.22.8
|
|
|
|
yarn: 1.22.17
|
|
|
|
yarn install v1.22.17
|
|
|
|
[1/5] Validating package.json...
|
|
|
|
[2/5] Resolving packages...
|
|
|
|
[3/5] Fetching packages...
|
|
|
|
[4/5] Linking dependencies...
|
|
|
|
[5/5] Building fresh packages...
|
|
|
|
Done in 37.56s.
|
|
|
|
For faster builds, install GNU parallel.
|
|
|
|
|
|
|
|
### ui/common ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ $npm_execpath run compile
|
|
|
|
$ tsc
|
|
|
|
Done in 5.45s.
|
|
|
|
|
|
|
|
### ui/chess ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ $npm_execpath run compile
|
|
|
|
$ tsc --incremental
|
|
|
|
Done in 4.38s.
|
|
|
|
|
|
|
|
### ui/palantir ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ $npm_execpath run compile && rollup --config
|
|
|
|
$ tsc --incremental --declaration
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/palantir.js...
|
|
|
|
created ../../public/compiled/palantir.js in 1.7s
|
|
|
|
Done in 6.38s.
|
|
|
|
|
|
|
|
### ui/ceval ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ $npm_execpath run compile
|
|
|
|
$ tsc --incremental
|
|
|
|
Done in 5.42s.
|
|
|
|
|
|
|
|
### ui/game ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ $npm_execpath run compile
|
|
|
|
$ tsc --incremental
|
|
|
|
Done in 4.45s.
|
|
|
|
|
|
|
|
### ui/tree ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ $npm_execpath run compile
|
|
|
|
$ tsc --incremental
|
|
|
|
Done in 4.32s.
|
|
|
|
|
|
|
|
### ui/chat ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ $npm_execpath run compile && rollup --config
|
|
|
|
$ tsc --incremental --declaration --inlineSourceMap
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/chat.js...
|
|
|
|
created ../../public/compiled/chat.js in 3s
|
|
|
|
Done in 8.81s.
|
|
|
|
|
|
|
|
### ui/nvui ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ $npm_execpath run compile
|
|
|
|
$ tsc --incremental
|
|
|
|
Done in 5.54s.
|
|
|
|
|
|
|
|
### ui/puz ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ $npm_execpath run compile
|
|
|
|
$ tsc --incremental
|
|
|
|
Done in 4.72s.
|
|
|
|
|
|
|
|
### ui/css ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ gulp css-dev
|
|
|
|
[21:40:38] Using gulpfile /var/www/html/ui/gulpfile.js
|
|
|
|
[21:40:38] Starting 'css-dev'...
|
|
|
|
[21:40:38] Starting 'createThemedBuilds'...
|
|
|
|
[21:40:38] Finished 'createThemedBuilds' after 22 ms
|
|
|
|
[21:40:38] Starting 'build'...
|
|
|
|
[21:41:06] Finished 'build' after 28 s
|
|
|
|
[21:41:06] Finished 'css-dev' after 28 s
|
|
|
|
Done in 29.11s.
|
|
|
|
|
|
|
|
### ui/site ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ $npm_execpath run deps && rollup --config
|
|
|
|
$ cat ../../public/javascripts/vendor/cash.min.js ./dep/powertip.min.js ./dep/howler.min.js ./dep/mousetrap.min.js > ../../public/compiled/deps.min.js
|
|
|
|
|
|
|
|
src/site.ts → ../../public/compiled/site.js...
|
|
|
|
created ../../public/compiled/site.js in 6s
|
|
|
|
Done in 7.25s.
|
|
|
|
|
|
|
|
### ui/swiss ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/swiss.js...
|
|
|
|
created ../../public/compiled/swiss.js in 4.6s
|
|
|
|
Done in 5.39s.
|
|
|
|
|
|
|
|
### ui/msg ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/msg.js...
|
|
|
|
created ../../public/compiled/msg.js in 3.5s
|
|
|
|
Done in 4.34s.
|
|
|
|
|
|
|
|
### ui/cli ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/cli.js...
|
|
|
|
created ../../public/compiled/cli.js in 1.9s
|
|
|
|
Done in 2.87s.
|
|
|
|
|
|
|
|
### ui/challenge ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/challenge.js...
|
|
|
|
created ../../public/compiled/challenge.js in 2.4s
|
|
|
|
Done in 3.20s.
|
|
|
|
|
|
|
|
### ui/notify ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/notify.js...
|
|
|
|
created ../../public/compiled/notify.js in 2.7s
|
|
|
|
Done in 3.57s.
|
|
|
|
|
|
|
|
### ui/learn ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/learn.js...
|
|
|
|
created ../../public/compiled/learn.js in 5.1s
|
|
|
|
Done in 5.97s.
|
|
|
|
|
|
|
|
### ui/insight ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/insight.js...
|
|
|
|
created ../../public/compiled/insight.js in 3.2s
|
|
|
|
Done in 4.08s.
|
|
|
|
|
|
|
|
### ui/editor ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/editor.js...
|
|
|
|
created ../../public/compiled/editor.js in 4.4s
|
|
|
|
Done in 5.18s.
|
|
|
|
|
|
|
|
### ui/puzzle ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/puzzle.js...
|
|
|
|
created ../../public/compiled/puzzle.js in 6.7s
|
|
|
|
Done in 7.65s.
|
|
|
|
|
|
|
|
### ui/round ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/round.js...
|
|
|
|
created ../../public/compiled/round.js in 7.1s
|
|
|
|
Done in 8.14s.
|
|
|
|
|
|
|
|
### ui/analyse ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/analysisBoard.js...
|
|
|
|
(!) Circular dependencies
|
|
|
|
src/main.ts -> src/boot.ts -> src/main.ts
|
|
|
|
src/treeView/treeView.ts -> src/treeView/columnView.ts -> src/treeView/treeView.ts
|
|
|
|
src/main.ts -> src/ctrl.ts -> src/treeView/treeView.ts -> src/treeView/contextMenu.ts -> src/main.ts
|
|
|
|
src/treeView/treeView.ts -> src/treeView/inlineView.ts -> src/treeView/treeView.ts
|
|
|
|
src/view.ts -> src/study/playerBars.ts -> src/view.ts
|
|
|
|
created ../../public/compiled/analysisBoard.js in 12.6s
|
|
|
|
Done in 13.54s.
|
|
|
|
|
|
|
|
### ui/lobby ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config
|
|
|
|
|
|
|
|
src/boot.ts → ../../public/compiled/lobby.js...
|
|
|
|
created ../../public/compiled/lobby.js in 5.3s
|
|
|
|
Done in 6.24s.
|
|
|
|
|
|
|
|
### ui/tournament ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/tournament.js...
|
|
|
|
created ../../public/compiled/tournament.js in 5.4s
|
|
|
|
Done in 6.14s.
|
|
|
|
|
|
|
|
### ui/tournamentSchedule ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/tournament.schedule.js...
|
|
|
|
created ../../public/compiled/tournament.schedule.js in 2.4s
|
|
|
|
Done in 3.21s.
|
|
|
|
|
|
|
|
### ui/tournamentCalendar ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/tournament.calendar.js...
|
|
|
|
created ../../public/compiled/tournament.calendar.js in 3.3s
|
|
|
|
Done in 4.12s.
|
|
|
|
|
|
|
|
### ui/simul ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/simul.js...
|
|
|
|
created ../../public/compiled/simul.js in 3.7s
|
|
|
|
Done in 4.55s.
|
|
|
|
|
|
|
|
### ui/dasher ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/dasher.js...
|
|
|
|
created ../../public/compiled/dasher.js in 3.7s
|
|
|
|
Done in 4.73s.
|
|
|
|
|
|
|
|
### ui/speech ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/speech.js...
|
|
|
|
created ../../public/compiled/speech.js in 1.3s
|
|
|
|
Done in 2.23s.
|
|
|
|
|
|
|
|
### ui/serviceWorker ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/serviceWorker.js...
|
|
|
|
created ../../public/compiled/serviceWorker.js in 950ms
|
|
|
|
Done in 1.66s.
|
|
|
|
|
|
|
|
### ui/dgt ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/dgt.js...
|
|
|
|
created ../../public/compiled/dgt.js in 3.2s
|
|
|
|
Done in 3.92s.
|
|
|
|
|
|
|
|
### ui/storm ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/storm.js...
|
|
|
|
created ../../public/compiled/storm.js in 4.4s
|
|
|
|
Done in 5.38s.
|
|
|
|
|
|
|
|
### ui/racer ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config
|
|
|
|
|
|
|
|
src/main.ts → ../../public/compiled/racer.js...
|
|
|
|
created ../../public/compiled/racer.js in 4.1s
|
|
|
|
Done in 4.87s.
|
|
|
|
|
|
|
|
### ui/site plugin tvEmbed ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin tvEmbed
|
|
|
|
|
|
|
|
src/tvEmbed.ts → ../../public/compiled/tvEmbed.js...
|
|
|
|
created ../../public/compiled/tvEmbed.js in 5.6s
|
|
|
|
Done in 6.54s.
|
|
|
|
|
|
|
|
### ui/site plugin puzzleEmbed ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin puzzleEmbed
|
|
|
|
|
|
|
|
src/puzzleEmbed.ts → ../../public/compiled/puzzle.embed.js...
|
|
|
|
created ../../public/compiled/puzzle.embed.js in 5.8s
|
|
|
|
Done in 6.69s.
|
|
|
|
|
|
|
|
### ui/site plugin analyseEmbed ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin analyseEmbed
|
|
|
|
|
|
|
|
src/analyseEmbed.ts → ../../public/compiled/analysisBoard.embed.js...
|
|
|
|
created ../../public/compiled/analysisBoard.embed.js in 5.4s
|
|
|
|
Done in 6.54s.
|
|
|
|
|
|
|
|
### ui/site plugin user ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin user
|
|
|
|
|
|
|
|
src/user.ts → ../../public/compiled/user.js...
|
|
|
|
created ../../public/compiled/user.js in 5.3s
|
|
|
|
Done in 6.36s.
|
|
|
|
|
|
|
|
### ui/site plugin modUser ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin modUser
|
|
|
|
|
|
|
|
src/modUser.ts → ../../public/compiled/mod.user.js...
|
|
|
|
created ../../public/compiled/mod.user.js in 5.3s
|
|
|
|
Done in 6.17s.
|
|
|
|
|
|
|
|
### ui/site plugin modSearch ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin modSearch
|
|
|
|
|
|
|
|
src/modSearch.ts → ../../public/compiled/mod.search.js...
|
|
|
|
created ../../public/compiled/mod.search.js in 4.9s
|
|
|
|
Done in 5.86s.
|
|
|
|
|
|
|
|
### ui/site plugin clas ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin clas
|
|
|
|
|
|
|
|
src/clas.ts → ../../public/compiled/clas.js...
|
|
|
|
created ../../public/compiled/clas.js in 4.9s
|
|
|
|
Done in 5.92s.
|
|
|
|
|
|
|
|
### ui/site plugin coordinate ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin coordinate
|
|
|
|
|
|
|
|
src/coordinate.ts → ../../public/compiled/coordinate.js...
|
|
|
|
created ../../public/compiled/coordinate.js in 5.5s
|
|
|
|
Done in 6.50s.
|
|
|
|
|
|
|
|
### ui/site plugin captcha ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin captcha
|
|
|
|
|
|
|
|
src/captcha.ts → ../../public/compiled/captcha.js...
|
|
|
|
created ../../public/compiled/captcha.js in 4.9s
|
|
|
|
Done in 5.90s.
|
|
|
|
|
|
|
|
### ui/site plugin expandText ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin expandText
|
|
|
|
|
|
|
|
src/expandText.ts → ../../public/compiled/expandText.js...
|
|
|
|
created ../../public/compiled/expandText.js in 4.9s
|
|
|
|
Done in 5.84s.
|
|
|
|
|
|
|
|
### ui/site plugin team ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin team
|
|
|
|
|
|
|
|
src/team.ts → ../../public/compiled/team.js...
|
|
|
|
created ../../public/compiled/team.js in 5.2s
|
|
|
|
Done in 6.11s.
|
|
|
|
|
|
|
|
### ui/site plugin forum ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin forum
|
|
|
|
|
|
|
|
src/forum.ts → ../../public/compiled/forum.js...
|
|
|
|
created ../../public/compiled/forum.js in 5.2s
|
|
|
|
Done in 6.11s.
|
|
|
|
|
|
|
|
### ui/site plugin account ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin account
|
|
|
|
|
|
|
|
src/account.ts → ../../public/compiled/account.js...
|
|
|
|
created ../../public/compiled/account.js in 5.6s
|
|
|
|
Done in 6.56s.
|
|
|
|
|
|
|
|
### ui/site plugin coachShow ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin coachShow
|
|
|
|
|
|
|
|
src/coachShow.ts → ../../public/compiled/coach.show.js...
|
|
|
|
created ../../public/compiled/coach.show.js in 4.9s
|
|
|
|
Done in 5.88s.
|
|
|
|
|
|
|
|
### ui/site plugin coachForm ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin coachForm
|
|
|
|
|
|
|
|
src/coachForm.ts → ../../public/compiled/coach.form.js...
|
|
|
|
created ../../public/compiled/coach.form.js in 6.6s
|
|
|
|
Done in 7.58s.
|
|
|
|
|
|
|
|
### ui/site plugin challengePage ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin challengePage
|
|
|
|
|
|
|
|
src/challengePage.ts → ../../public/compiled/challengePage.js...
|
|
|
|
created ../../public/compiled/challengePage.js in 5.1s
|
|
|
|
Done in 6.10s.
|
|
|
|
|
|
|
|
### ui/site plugin checkout ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin checkout
|
|
|
|
|
|
|
|
src/checkout.ts → ../../public/compiled/checkout.js...
|
|
|
|
created ../../public/compiled/checkout.js in 4.6s
|
|
|
|
Done in 5.49s.
|
|
|
|
|
|
|
|
### ui/site plugin plan ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin plan
|
|
|
|
|
|
|
|
src/plan.ts → ../../public/compiled/plan.js...
|
|
|
|
created ../../public/compiled/plan.js in 5.9s
|
|
|
|
Done in 7.00s.
|
|
|
|
|
|
|
|
### ui/site plugin login ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin login
|
|
|
|
|
|
|
|
src/login.ts → ../../public/compiled/login.js...
|
|
|
|
created ../../public/compiled/login.js in 5.2s
|
|
|
|
Done in 6.29s.
|
|
|
|
|
|
|
|
### ui/site plugin passwordComplexity ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin passwordComplexity
|
|
|
|
|
|
|
|
src/passwordComplexity.ts → ../../public/compiled/passwordComplexity.js...
|
|
|
|
created ../../public/compiled/passwordComplexity.js in 5.4s
|
|
|
|
Done in 6.39s.
|
|
|
|
|
|
|
|
### ui/site plugin tourForm ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin tourForm
|
|
|
|
|
|
|
|
src/tourForm.ts → ../../public/compiled/tourForm.js...
|
|
|
|
created ../../public/compiled/tourForm.js in 5.6s
|
|
|
|
Done in 6.72s.
|
|
|
|
|
|
|
|
### ui/site plugin teamBattleForm ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin teamBattleForm
|
|
|
|
|
|
|
|
src/teamBattleForm.ts → ../../public/compiled/teamBattleForm.js...
|
|
|
|
created ../../public/compiled/teamBattleForm.js in 5.5s
|
|
|
|
Done in 6.54s.
|
|
|
|
|
|
|
|
### ui/site plugin gameSearch ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin gameSearch
|
|
|
|
|
|
|
|
src/gameSearch.ts → ../../public/compiled/gameSearch.js...
|
|
|
|
created ../../public/compiled/gameSearch.js in 4.6s
|
|
|
|
Done in 5.67s.
|
|
|
|
|
|
|
|
### ui/site plugin userComplete ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin userComplete
|
|
|
|
|
|
|
|
src/userComplete.ts → ../../public/compiled/userComplete.js...
|
|
|
|
created ../../public/compiled/userComplete.js in 5.9s
|
|
|
|
Done in 6.92s.
|
|
|
|
|
|
|
|
### ui/site plugin infiniteScroll ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin infiniteScroll
|
|
|
|
|
|
|
|
src/infiniteScroll.ts → ../../public/compiled/infiniteScroll.js...
|
|
|
|
created ../../public/compiled/infiniteScroll.js in 5s
|
|
|
|
Done in 5.98s.
|
|
|
|
|
|
|
|
### ui/site plugin flatpickr ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin flatpickr
|
|
|
|
|
|
|
|
src/flatpickr.ts → ../../public/compiled/flatpickr.js...
|
|
|
|
created ../../public/compiled/flatpickr.js in 5.6s
|
|
|
|
Done in 6.70s.
|
|
|
|
|
|
|
|
### ui/site plugin teamAdmin ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin teamAdmin
|
|
|
|
|
|
|
|
src/teamAdmin.ts → ../../public/compiled/team.admin.js...
|
|
|
|
created ../../public/compiled/team.admin.js in 5.1s
|
|
|
|
Done in 6.15s.
|
|
|
|
|
|
|
|
### ui/site plugin appeal ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin appeal
|
|
|
|
|
|
|
|
src/appeal.ts → ../../public/compiled/appeal.js...
|
|
|
|
created ../../public/compiled/appeal.js in 5.1s
|
|
|
|
Done in 5.99s.
|
|
|
|
|
|
|
|
### ui/site plugin modGames ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin modGames
|
|
|
|
|
|
|
|
src/modGames.ts → ../../public/compiled/mod.games.js...
|
|
|
|
created ../../public/compiled/mod.games.js in 4.9s
|
|
|
|
Done in 5.85s.
|
|
|
|
|
|
|
|
### ui/site plugin publicChats ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin publicChats
|
|
|
|
|
|
|
|
src/publicChats.ts → ../../public/compiled/publicChats.js...
|
|
|
|
created ../../public/compiled/publicChats.js in 5s
|
|
|
|
Done in 5.88s.
|
|
|
|
|
|
|
|
### ui/site plugin contact ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin contact
|
|
|
|
|
|
|
|
src/contact.ts → ../../public/compiled/contact.js...
|
|
|
|
created ../../public/compiled/contact.js in 5.2s
|
|
|
|
Done in 6.34s.
|
|
|
|
|
|
|
|
### ui/site plugin userGamesDownload ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin userGamesDownload
|
|
|
|
|
|
|
|
src/userGamesDownload.ts → ../../public/compiled/userGamesDownload.js...
|
|
|
|
created ../../public/compiled/userGamesDownload.js in 4.9s
|
|
|
|
Done in 5.83s.
|
|
|
|
|
|
|
|
### ui/site plugin modActivity ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin modActivity
|
|
|
|
|
|
|
|
src/modActivity.ts → ../../public/compiled/modActivity.js...
|
|
|
|
created ../../public/compiled/modActivity.js in 8.8s
|
|
|
|
Done in 9.77s.
|
|
|
|
|
|
|
|
### ui/site plugin tvGames ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin tvGames
|
|
|
|
|
|
|
|
src/tvGames.ts → ../../public/compiled/tvGames.js...
|
|
|
|
created ../../public/compiled/tvGames.js in 5.2s
|
|
|
|
Done in 6.37s.
|
|
|
|
|
|
|
|
### ui/site plugin ublog ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin ublog
|
|
|
|
|
|
|
|
src/ublog.ts → ../../public/compiled/ublog.js...
|
|
|
|
created ../../public/compiled/ublog.js in 5.1s
|
|
|
|
Done in 6.14s.
|
|
|
|
|
|
|
|
### ui/site plugin ublogForm ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin ublogForm
|
|
|
|
|
|
|
|
src/ublogForm.ts → ../../public/compiled/ublogForm.js...
|
|
|
|
created ../../public/compiled/ublogForm.js in 10.8s
|
|
|
|
Done in 11.94s.
|
|
|
|
|
|
|
|
### ui/round plugin nvui ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin nvui
|
|
|
|
|
|
|
|
src/plugins/nvui.ts → ../../public/compiled/round.nvui.js...
|
|
|
|
created ../../public/compiled/round.nvui.js in 6s
|
|
|
|
Done in 6.80s.
|
|
|
|
|
|
|
|
### ui/round plugin keyboardMove ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin keyboardMove
|
|
|
|
|
|
|
|
src/plugins/keyboardMove.ts → ../../public/compiled/round.keyboardMove.js...
|
|
|
|
created ../../public/compiled/round.keyboardMove.js in 5.1s
|
|
|
|
Done in 5.93s.
|
|
|
|
|
|
|
|
### ui/analyse plugin nvui ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin nvui
|
|
|
|
|
|
|
|
src/plugins/nvui.ts → ../../public/compiled/analysisBoard.nvui.js...
|
|
|
|
(!) If you do not supply "output.name", you may not be able to access the exports of an IIFE bundle.
|
|
|
|
created ../../public/compiled/analysisBoard.nvui.js in 9.8s
|
|
|
|
Done in 10.79s.
|
|
|
|
|
|
|
|
### ui/analyse plugin studyTopicForm ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin studyTopicForm
|
|
|
|
|
|
|
|
src/plugins/studyTopicForm.ts → ../../public/compiled/study.topic.form.js...
|
|
|
|
created ../../public/compiled/study.topic.form.js in 8.8s
|
|
|
|
Done in 9.56s.
|
|
|
|
|
|
|
|
### ui/puzzle plugin nvui ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin nvui
|
|
|
|
|
|
|
|
src/plugins/nvui.ts → ../../public/compiled/puzzle.nvui.js...
|
|
|
|
created ../../public/compiled/puzzle.nvui.js in 5s
|
|
|
|
Done in 5.77s.
|
|
|
|
|
|
|
|
### ui/puzzle plugin dashboard ###
|
|
|
|
yarn run v1.22.17
|
|
|
|
$ rollup --config --config-plugin dashboard
|
|
|
|
|
|
|
|
src/dashboard.ts → ../../public/compiled/puzzle.dashboard.js...
|
|
|
|
created ../../public/compiled/puzzle.dashboard.js in 6.2s
|
|
|
|
Done in 6.90s.
|
|
|
|
```
|
|
|
|
|
2021-12-22 14:57:15 -07:00
|
|
|
## Start Lila Console
|
|
|
|
With everything built in the UI ok above,
|
|
|
|
start the Lila console thusly:
|
|
|
|
|
|
|
|
```
|
|
|
|
cd /var/www/html
|
|
|
|
./lila
|
|
|
|
```
|
|
|
|
|
|
|
|
It should look something like this:
|
|
|
|
|
|
|
|
```
|
|
|
|
debian@mychestserver:/var/www/html$ ./lila
|
|
|
|
|\_ _ _ _
|
|
|
|
/o \ | (_) ___| |__ ___ ___ ___ ___ _ __ __ _
|
|
|
|
(_. || | | |/ __| '_ \ / _ \/ __/ __| / _ \| '__/ _` |
|
|
|
|
/__\ | | | (__| | | | __/\__ \__ \| (_) | | | (_| |
|
|
|
|
)___( |_|_|\___|_| |_|\___||___/___(_)___/|_| \__, |
|
|
|
|
|___/
|
|
|
|
Java 11.0.13
|
|
|
|
sbt -Dreactivemongo.api.bson.document.strict=false
|
|
|
|
downloading sbt launcher 1.5.8
|
|
|
|
copying runtime jar...
|
|
|
|
[info] [launcher] getting org.scala-sbt sbt 1.5.8 (this may take some time)...
|
|
|
|
[info] [launcher] getting Scala 2.12.14 (for sbt)...
|
|
|
|
[info] welcome to sbt 1.5.8 (Debian Java 11.0.13)
|
|
|
|
[info] loading settings for project html-build from plugins.sbt ...
|
|
|
|
[info] loading project definition from /var/www/html/project
|
|
|
|
[info] Updating
|
|
|
|
https://repo1.maven.org/maven2/ch/epfl/scala/sbt-bloop_2.12_1.0/1.4.11/sbt-bloop-1.4.11.pom
|
|
|
|
100.0% [##########] 2.7 KiB (13.4 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/scalameta/sbt-scalafmt_2.12_1.0/2.4.5/sbt-scalafmt-2.4.5.pom
|
|
|
|
100.0% [##########] 2.7 KiB (13.4 KiB / s)
|
|
|
|
https://raw.githubusercontent.com/ornicar/lila-maven/master/com.typesafe.play/sbt-plugin/scala_2.12/sbt_1.0/2.8.8-lila_1.8/ivys/ivy.xml
|
|
|
|
100.0% [##########] 4.5 KiB (13.4 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/typesafe/config/1.4.1/config-1.4.1.pom
|
|
|
|
100.0% [##########] 2.2 KiB (103.7 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/google/code/gson/gson/2.7/gson-2.7.pom
|
|
|
|
100.0% [##########] 1.4 KiB (34.4 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/net/java/dev/jna/jna/4.5.0/jna-4.5.0.pom
|
|
|
|
100.0% [##########] 1.5 KiB (36.7 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/lightbend/play/play-file-watch_2.12/1.1.16/play-file-watch_2.12-1.1.16.pom
|
|
|
|
100.0% [##########] 2.7 KiB (34.6 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.pom
|
|
|
|
100.0% [##########] 4.2 KiB (93.0 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/net/java/dev/jna/jna-platform/4.5.0/jna-platform-4.5.0.pom
|
|
|
|
100.0% [##########] 1.8 KiB (117.2 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/scalameta/scalafmt-dynamic_2.12/3.2.1/scalafmt-dynamic_2.12-3.2.1.pom
|
|
|
|
100.0% [##########] 2.7 KiB (42.8 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/scalameta/scalafmt-sysops_2.12/3.2.1/scalafmt-sysops_2.12-3.2.1.pom
|
|
|
|
100.0% [##########] 2.2 KiB (33.6 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/slf4j/slf4j-simple/1.7.32/slf4j-simple-1.7.32.pom
|
|
|
|
100.0% [##########] 1021B (19.9 KiB / s)
|
|
|
|
https://raw.githubusercontent.com/ornicar/lila-maven/master/com.typesafe.play/sbt-routes-compiler_2.12/2.8.8-lila_1.8/ivys/ivy.xml
|
|
|
|
100.0% [##########] 3.3 KiB (19.0 KiB / s)
|
|
|
|
https://raw.githubusercontent.com/ornicar/lila-maven/master/com.typesafe.play/play-exceptions/2.8.8-lila_1.8/ivys/ivy.xml
|
|
|
|
100.0% [##########] 2.3 KiB (8.1 KiB / s)
|
|
|
|
https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.8.1/ivys/ivy.xml
|
|
|
|
100.0% [##########] 3.8 KiB (2.7 KiB / s)
|
|
|
|
https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-twirl/scala_2.12/sbt_1.0/1.5.1/ivys/ivy.xml
|
|
|
|
100.0% [##########] 3.2 KiB (2.3 KiB / s)
|
|
|
|
https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-web/scala_2.12/sbt_1.0/1.4.4/ivys/ivy.xml
|
|
|
|
100.0% [##########] 2.7 KiB (1.9 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/google/code/gson/gson-parent/2.7/gson-parent-2.7.pom
|
|
|
|
100.0% [##########] 3.5 KiB (116.5 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/slf4j/slf4j-parent/1.7.32/slf4j-parent-1.7.32.pom
|
|
|
|
100.0% [##########] 13.5 KiB (518.6 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/typesafe/play/twirl-compiler_2.12/1.5.1/twirl-compiler_2.12-1.5.1.pom
|
|
|
|
100.0% [##########] 2.3 KiB (125.1 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor_2.12/2.5.17/akka-actor_2.12-2.5.17.pom
|
|
|
|
100.0% [##########] 2.1 KiB (57.8 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/typesafe/play/twirl-api_2.12/1.5.1/twirl-api_2.12-1.5.1.pom
|
|
|
|
100.0% [##########] 1.9 KiB (64.0 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/apache/ant/ant/1.10.9/ant-1.10.9.pom
|
|
|
|
100.0% [##########] 16.1 KiB (520.2 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.20/commons-compress-1.20.pom
|
|
|
|
100.0% [##########] 17.8 KiB (509.7 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/scalameta/scalafmt-interfaces/3.2.1/scalafmt-interfaces-3.2.1.pom
|
|
|
|
100.0% [##########] 2.1 KiB (55.9 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.1.1/scala-xml_2.12-1.1.1.pom
|
|
|
|
100.0% [##########] 2.7 KiB (76.8 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/github/pathikrit/better-files_2.12/3.8.0/better-files_2.12-3.8.0.pom
|
|
|
|
100.0% [##########] 2.7 KiB (117.1 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/io/get-coursier/interface/0.0.17/interface-0.0.17.pom
|
|
|
|
100.0% [##########] 1.6 KiB (50.2 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/io/methvin/directory-watcher/0.15.0/directory-watcher-0.15.0.pom
|
|
|
|
100.0% [##########] 3.1 KiB (110.4 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.32/slf4j-api-1.7.32.pom
|
|
|
|
100.0% [##########] 3.7 KiB (53.5 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/github/eldis/tool-launcher/0.2.2/tool-launcher-0.2.2.pom
|
|
|
|
100.0% [##########] 1.6 KiB (44.2 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/webjars/webjars-locator-core/0.36/webjars-locator-core-0.36.pom
|
|
|
|
100.0% [##########] 8.1 KiB (194.0 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/apache/ant/ant-parent/1.10.9/ant-parent-1.10.9.pom
|
|
|
|
100.0% [##########] 6.4 KiB (187.2 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/apache/commons/commons-parent/48/commons-parent-48.pom
|
|
|
|
100.0% [##########] 70.3 KiB (1.9 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/apache/apache/21/apache-21.pom
|
|
|
|
100.0% [##########] 16.7 KiB (726.3 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/scala-lang/modules/scala-java8-compat_2.12/0.8.0/scala-java8-compat_2.12-0.8.0.pom
|
|
|
|
100.0% [##########] 2.3 KiB (84.5 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.9.7/jackson-core-2.9.7.pom
|
|
|
|
100.0% [##########] 4.0 KiB (84.4 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/typesafe/play/twirl-parser_2.12/1.5.1/twirl-parser_2.12-1.5.1.pom
|
|
|
|
100.0% [##########] 2.1 KiB (44.2 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.pom
|
|
|
|
100.0% [##########] 27.2 KiB (567.4 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.2.0/scala-xml_2.12-1.2.0.pom
|
|
|
|
100.0% [##########] 2.7 KiB (53.7 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/net/java/dev/jna/jna/5.7.0/jna-5.7.0.pom
|
|
|
|
100.0% [##########] 1.5 KiB (39.6 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/apache/ant/ant-launcher/1.10.9/ant-launcher-1.10.9.pom
|
|
|
|
100.0% [##########] 3.1 KiB (68.6 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/fasterxml/jackson/jackson-base/2.9.7/jackson-base-2.9.7.pom
|
|
|
|
100.0% [##########] 5.2 KiB (218.5 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/apache/commons/commons-parent/47/commons-parent-47.pom
|
|
|
|
100.0% [##########] 75.7 KiB (3.2 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/apache/apache/19/apache-19.pom
|
|
|
|
100.0% [##########] 15.1 KiB (351.8 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/fasterxml/jackson/jackson-bom/2.9.7/jackson-bom-2.9.7.pom
|
|
|
|
100.0% [##########] 12.0 KiB (193.6 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/fasterxml/jackson/jackson-parent/2.9.1.1/jackson-parent-2.9.1.1.pom
|
|
|
|
100.0% [##########] 7.8 KiB (313.4 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/fasterxml/oss-parent/33/oss-parent-33.pom
|
|
|
|
100.0% [##########] 21.3 KiB (645.7 KiB / s)
|
|
|
|
[info] Resolved dependencies
|
|
|
|
[info] Updating
|
|
|
|
https://repo1.maven.org/maven2/jline/jline/2.14.6/jline-2.14.6.pom
|
|
|
|
100.0% [##########] 19.4 KiB (693.8 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/fusesource/jansi/jansi/1.12/jansi-1.12.pom
|
|
|
|
100.0% [##########] 3.6 KiB (151.0 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/fusesource/jansi/jansi-project/1.12/jansi-project-1.12.pom
|
|
|
|
100.0% [##########] 11.5 KiB (411.0 KiB / s)
|
|
|
|
[info] Resolved dependencies
|
|
|
|
[info] Fetching artifacts of
|
|
|
|
https://repo1.maven.org/maven2/com/typesafe/play/twirl-parser_2.12/1.5.1/twirl-parser_2.12-1.5.1.jar
|
|
|
|
100.0% [##########] 76.5 KiB (3.6 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/fusesource/jansi/jansi/1.12/jansi-1.12.jar
|
|
|
|
100.0% [##########] 148.2 KiB (3.1 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/scalameta/scalafmt-sysops_2.12/3.2.1/scalafmt-sysops_2.12-3.2.1.jar
|
|
|
|
100.0% [##########] 45.0 KiB (1.2 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.20/commons-compress-1.20.jar
|
|
|
|
100.0% [##########] 617.6 KiB (11.6 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/scala-lang/modules/scala-java8-compat_2.12/0.8.0/scala-java8-compat_2.12-0.8.0.jar
|
|
|
|
100.0% [##########] 1.1 MiB (13.9 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/github/eldis/tool-launcher/0.2.2/tool-launcher-0.2.2.jar
|
|
|
|
100.0% [##########] 3.4 KiB (101.8 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/io/get-coursier/interface/0.0.17/interface-0.0.17.jar
|
|
|
|
100.0% [##########] 3.0 MiB (26.2 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/lightbend/play/play-file-watch_2.12/1.1.16/play-file-watch_2.12-1.1.16.jar
|
|
|
|
100.0% [##########] 52.3 KiB (1.5 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/typesafe/play/twirl-api_2.12/1.5.1/twirl-api_2.12-1.5.1.jar
|
|
|
|
100.0% [##########] 75.6 KiB (4.9 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.32/slf4j-api-1.7.32.jar
|
|
|
|
100.0% [##########] 40.5 KiB (779.6 KiB / s)
|
|
|
|
https://raw.githubusercontent.com/ornicar/lila-maven/master/com.typesafe.play/play-exceptions/2.8.8-lila_1.8/jars/play-exceptions.jar
|
|
|
|
100.0% [##########] 4.7 KiB (25.3 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/github/pathikrit/better-files_2.12/3.8.0/better-files_2.12-3.8.0.jar
|
|
|
|
100.0% [##########] 248.9 KiB (5.7 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/typesafe/config/1.4.1/config-1.4.1.jar
|
|
|
|
100.0% [##########] 288.3 KiB (7.8 MiB / s)
|
|
|
|
https://raw.githubusercontent.com/ornicar/lila-maven/master/com.typesafe.play/sbt-plugin/scala_2.12/sbt_1.0/2.8.8-lila_1.8/jars/sbt-plugin.jar
|
|
|
|
100.0% [##########] 101.5 KiB (470.0 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar
|
|
|
|
100.0% [##########] 19.5 KiB (486.7 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/typesafe/play/twirl-compiler_2.12/1.5.1/twirl-compiler_2.12-1.5.1.jar
|
|
|
|
100.0% [##########] 66.3 KiB (1.8 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/io/methvin/directory-watcher/0.15.0/directory-watcher-0.15.0.jar
|
|
|
|
100.0% [##########] 49.4 KiB (1.1 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/scalameta/sbt-scalafmt_2.12_1.0/2.4.5/sbt-scalafmt-2.4.5.jar
|
|
|
|
100.0% [##########] 48.2 KiB (1.7 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/google/code/gson/gson/2.7/gson-2.7.jar
|
|
|
|
100.0% [##########] 226.5 KiB (2.4 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/net/java/dev/jna/jna-platform/4.5.0/jna-platform-4.5.0.jar
|
|
|
|
100.0% [##########] 2.2 MiB (19.8 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/scalameta/scalafmt-interfaces/3.2.1/scalafmt-interfaces-3.2.1.jar
|
|
|
|
100.0% [##########] 5.2 KiB (131.1 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.2.0/scala-xml_2.12-1.2.0.jar
|
|
|
|
100.0% [##########] 543.5 KiB (9.0 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/jline/jline/2.14.6/jline-2.14.6.jar
|
|
|
|
100.0% [##########] 262.5 KiB (9.5 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar
|
|
|
|
100.0% [##########] 490.1 KiB (4.4 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/ch/epfl/scala/sbt-bloop_2.12_1.0/1.4.11/sbt-bloop-1.4.11.jar
|
|
|
|
100.0% [##########] 10.9 MiB (27.6 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/scalameta/scalafmt-dynamic_2.12/3.2.1/scalafmt-dynamic_2.12-3.2.1.jar
|
|
|
|
100.0% [##########] 135.8 KiB (4.1 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/webjars/webjars-locator-core/0.36/webjars-locator-core-0.36.jar
|
|
|
|
100.0% [##########] 26.8 KiB (744.5 KiB / s)
|
|
|
|
https://raw.githubusercontent.com/ornicar/lila-maven/master/com.typesafe.play/sbt-routes-compiler_2.12/2.8.8-lila_1.8/jars/sbt-routes-compiler_2.12.jar
|
|
|
|
100.0% [##########] 183.0 KiB (759.4 KiB / s)
|
|
|
|
https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-web/scala_2.12/sbt_1.0/1.4.4/srcs/sbt-web-sources.jar
|
|
|
|
100.0% [##########] 19.9 KiB (44.1 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.9.7/jackson-core-2.9.7.jar
|
|
|
|
100.0% [##########] 316.4 KiB (8.4 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/apache/ant/ant-launcher/1.10.9/ant-launcher-1.10.9.jar
|
|
|
|
100.0% [##########] 18.4 KiB (921.8 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/apache/ant/ant/1.10.9/ant-1.10.9.jar
|
|
|
|
100.0% [##########] 2.2 MiB (27.8 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/org/slf4j/slf4j-simple/1.7.32/slf4j-simple-1.7.32.jar
|
|
|
|
100.0% [##########] 14.9 KiB (827.7 KiB / s)
|
|
|
|
https://repo1.maven.org/maven2/net/java/dev/jna/jna/5.7.0/jna-5.7.0.jar
|
|
|
|
100.0% [##########] 1.6 MiB (24.0 MiB / s)
|
|
|
|
https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor_2.12/2.5.17/akka-actor_2.12-2.5.17.jar
|
|
|
|
100.0% [##########] 3.3 MiB (12.8 MiB / s)
|
|
|
|
https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-twirl/scala_2.12/sbt_1.0/1.5.1/jars/sbt-twirl.jar
|
|
|
|
100.0% [##########] 53.9 KiB (95.5 KiB / s)
|
|
|
|
https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-web/scala_2.12/sbt_1.0/1.4.4/jars/sbt-web.jar
|
|
|
|
100.0% [##########] 126.6 KiB (180.6 KiB / s)
|
|
|
|
https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.8.1/jars/sbt-native-packager.jar
|
|
|
|
100.0% [##########] 858.0 KiB (483.9 KiB / s)
|
|
|
|
https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-web/scala_2.12/sbt_1.0/1.4.4/docs/sbt-web-javadoc.jar
|
|
|
|
100.0% [##########] 1.3 MiB (643.2 KiB / s)
|
|
|
|
[info] Fetched artifacts of
|
|
|
|
[info] compiling 3 Scala sources to /var/www/html/project/target/scala-2.12/sbt-1.0/classes ...
|
|
|
|
[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.14. Compiling...
|
|
|
|
[info] Compilation completed in 14.772s.
|
|
|
|
[warn] one feature warning; re-run with -feature for details
|
|
|
|
[warn] one warning found
|
|
|
|
[info] loading settings for project lila from build.sbt ...
|
|
|
|
[info] resolving key references (67100 settings) ...
|
|
|
|
[info] set current project to lila (in build file:/var/www/html/)
|
|
|
|
[info] sbt server started at local:///home/debian/.sbt/1.0/server/22a4d6cb6dbbe2874385/sock
|
|
|
|
[info] started sbt server
|
|
|
|
[lila] $
|
|
|
|
```
|
|
|
|
|
2021-12-22 15:08:04 -07:00
|
|
|
## Compile Lila
|
|
|
|
At the `lila` prompt created by running Lila in the above step,
|
|
|
|
compile Lila thusly:
|
|
|
|
|
|
|
|
```
|
|
|
|
compile
|
|
|
|
```
|
|
|
|
|
|
|
|
It should look like:
|
|
|
|
|
|
|
|
```
|
|
|
|
[lila] $ compile
|
|
|
|
|
|
|
|
...
|
|
|
|
|
|
|
|
# lots of output, running for around five minutes.
|
|
|
|
|
|
|
|
...
|
|
|
|
|
|
|
|
|
|
|
|
https://repo1.maven.org/maven2/org/specs2/specs2-common_2.13/4.8.1/specs2-common_2.13-4.8.1.jar
|
|
|
|
100.0% [##########] 2.0 MiB (12.2 MiB / s)
|
|
|
|
https://raw.githubusercontent.com/ornicar/lila-maven/master/com/typesafe/play/play-logback_2.13/2.8.8-lila_1.8/play-logback_2.13-2.8.8-lila_1.8.jar
|
|
|
|
100.0% [##########] 9.5 KiB (50.2 KiB / s)
|
|
|
|
[info] Fetched artifacts of
|
|
|
|
[info] compiling 9 Scala sources and 4 Java sources to /var/www/html/modules/rating/target/scala-2.13/classes ...
|
|
|
|
[info] compiling 26 Scala sources and 1 Java source to /var/www/html/modules/user/target/scala-2.13/classes ...
|
|
|
|
|
|
|
|
...
|
|
|
|
|
|
|
|
|
|
|
|
[info] compiling 22 Scala sources to /var/www/html/modules/api/target/scala-2.13/classes ...
|
|
|
|
[info] compiling 342 Scala sources and 1 Java source to /var/www/html/target/scala-2.13/classes ...
|
|
|
|
[success] Total time: 335 s (05:35), completed Dec 22, 2021, 10:04:55 PM
|
|
|
|
[lila] $
|
|
|
|
```
|
|
|
|
|
2021-12-22 14:53:02 -07:00
|
|
|
|
2021-12-22 13:20:33 -07:00
|
|
|
## Install lila-ws
|
2021-12-22 10:53:20 -07:00
|
|
|
* https://github.com/ornicar/lila-ws
|
|
|
|
|
2021-12-22 10:04:40 -07:00
|
|
|
```
|
|
|
|
vim ./src/main/resources/application.conf
|
|
|
|
# set
|
|
|
|
csrf.origin = "https://deepcrayon.fish"
|
|
|
|
```
|
2021-12-22 11:37:55 -07:00
|
|
|
|
2021-12-22 13:32:10 -07:00
|
|
|
|
2021-12-22 13:20:33 -07:00
|
|
|
# Configure
|
|
|
|
Configure thusly...
|
|
|
|
|
2021-12-22 13:32:10 -07:00
|
|
|
|
2021-12-22 13:20:33 -07:00
|
|
|
# Use
|
|
|
|
Use thusly...
|
|
|
|
|
2021-12-22 13:32:10 -07:00
|
|
|
|
2021-12-22 11:37:55 -07:00
|
|
|
# Misc
|
|
|
|
Potentially include items such as:
|
|
|
|
|
|
|
|
* Local firewall.
|
|
|
|
* Securing ssh.
|
|
|
|
* Locking down system overall.
|
2021-12-22 12:51:37 -07:00
|
|
|
* Set locale.
|
|
|
|
* Set timezone.
|
|
|
|
* Disable IPv6.
|
2021-12-22 13:20:33 -07:00
|
|
|
* Lila secrets & salts.
|
2021-12-22 13:32:10 -07:00
|
|
|
* Turn off unneeded services.
|
2021-12-22 13:41:08 -07:00
|
|
|
* Forums.
|
|
|
|
* Irwin.
|
|
|
|
* Mail.
|
|
|
|
* Bots.
|
2021-12-22 14:57:15 -07:00
|
|
|
* git branches
|