2014-11-01 12:02:46 -04:00
|
|
|
writelatex-git-bridge
|
|
|
|
=====================
|
2014-11-03 08:19:49 -05:00
|
|
|
|
2014-12-05 20:50:35 -05:00
|
|
|
Required
|
|
|
|
--------
|
2015-01-09 02:21:13 -05:00
|
|
|
* `maven` (for building)
|
2016-06-02 05:39:21 -04:00
|
|
|
* `jdk-8` (for compiling and running)
|
2014-11-03 11:26:51 -05:00
|
|
|
|
2014-12-05 21:01:47 -05:00
|
|
|
Installation
|
|
|
|
------------
|
2014-11-03 11:26:51 -05:00
|
|
|
|
2016-06-02 05:39:21 -04:00
|
|
|
Install dependencies:
|
2014-11-03 11:26:51 -05:00
|
|
|
|
2016-06-02 05:39:21 -04:00
|
|
|
```
|
|
|
|
sudo apt-get update
|
|
|
|
sudo apt-get install -y maven
|
|
|
|
sudo apt-get install -y openjdk-8-jdk
|
|
|
|
sudo update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
|
|
|
|
sudo update-alternatives --set javac /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/javac
|
|
|
|
```
|
2014-12-05 21:03:43 -05:00
|
|
|
|
2016-06-02 05:39:21 -04:00
|
|
|
Create a config file according to the format below.
|
2015-01-10 07:55:57 -05:00
|
|
|
|
2015-01-09 02:21:13 -05:00
|
|
|
Run `mvn package` to build, test, and package it into a jar at `target/writelatex-git-bridge-1.0-SNAPSHOT-jar-with-dependencies.jar`.
|
2014-11-03 11:26:51 -05:00
|
|
|
|
2014-12-05 20:56:07 -05:00
|
|
|
Use `java -jar <path_to_jar> <path_to_config_file>` to run the server.
|
2014-12-05 20:50:35 -05:00
|
|
|
|
|
|
|
Runtime Configuration
|
|
|
|
---------------------
|
|
|
|
|
2016-06-02 05:39:21 -04:00
|
|
|
The configuration file is in `.json` format.
|
2014-12-05 20:50:35 -05:00
|
|
|
|
|
|
|
{
|
2014-12-05 21:01:47 -05:00
|
|
|
"port" (int): the port number,
|
|
|
|
"rootGitDirectory" (string): the directory in which to store git repos and the db/atts,
|
|
|
|
"apiBaseUrl" (string): base url for the snapshot api,
|
|
|
|
"username" (string, optional): username for http basic auth,
|
|
|
|
"password" (string, optional): password for http basic auth,
|
2015-01-06 15:13:05 -05:00
|
|
|
"postbackBaseUrl" (string): the postback url,
|
2016-08-24 19:58:44 -04:00
|
|
|
"serviceName" (string): current name of writeLaTeX in case it ever changes,
|
2015-10-25 09:58:40 -04:00
|
|
|
"oauth2" (object): { /* null or missing if oauth2 shouldn't be used */
|
2016-08-24 19:58:44 -04:00
|
|
|
"oauth2ClientID" (string): oauth2 client ID,
|
|
|
|
"oauth2ClientSecret" (string): oauth2 client secret,
|
2015-10-25 09:58:40 -04:00
|
|
|
"oauth2Server" (string): oauth2 server, with protocol and without trailing slash
|
2016-08-24 19:58:44 -04:00
|
|
|
},
|
|
|
|
"swapStore" (object, optional): { the place to swap projects to. if null, type defaults to "noop"
|
|
|
|
"type" (string): "s3", "memory", "noop" (not recommended),
|
|
|
|
"awsAccessKey" (string, optional): only for s3,
|
|
|
|
"awsSecret" (string, optional): only for s3,
|
|
|
|
"s3BucketName" (string, optional): only for s3
|
|
|
|
},
|
|
|
|
"swapJob" (object, optional): { configure the project swapping job. if null, defaults to no-op
|
|
|
|
"minProjects" (int64): you will never go below this many projects; if above low watermark, it should WARN,
|
|
|
|
"lowGiB" (int32): the low watermark for swapping, i.e. try to swap until disk usage is below this,
|
|
|
|
"highGiB" (int32): the high watermark for swapping, i.e. start swapping when disk usage becomes this,
|
|
|
|
"intervalMillis" (int64): the repeat time in milliseconds that the swap job will check the watermark. 3600000 is 1 hour.
|
2015-10-25 09:58:40 -04:00
|
|
|
}
|
2014-12-05 20:50:35 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
You have to restart the server for configuration changes to take effect.
|