overleaf/services/git-bridge/README.md

61 lines
2.6 KiB
Markdown
Raw Normal View History

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)
* `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
Install dependencies:
2014-11-03 11:26:51 -05: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
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
---------------------
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,
"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.