node package manager
It’s your turn. Help us improve JavaScript. Take the 2017 JavaScript Ecosystem Survey »


Gitbook Pub

This project is JKR3-Team used to automatically publish documents from gitlab.


form your develop computer

$ npm run deploy

or at server

npm run pm2


build book manually

exec/ <bookRepoName>

Add webhook to gitlab

  1. create new book repos and push it to gitlab.
  2. go to<userid>/<>/hooks.
  3. copy and paste in URL.
  4. make sure Trigger > Push events is checked
  5. and then press Add Webhook button
  6. Done.

so, each time your push new commite to gitlab, it will automatic rebuild it. you can press the Test Hook button to rebuilding your books immediately.

Reading books

Once the new version of the document push to gitlab, you will immediately see the latest version of the document in

Auth with GitLab

Setup auth config:

Edit or create config file config/config[.NODE_ENV].json

    "authGitlab": {
        "clientID": "GITLAB_CLIENT_ID",
        "clientSecret": "GITLAB_CLIENT_SECRET",
        "callbackBaseURL": "",
        "baseURL": "", 

If your GitLab site use self-signed certificate, you may got InternalOAuthError: Failed to obtain access token error, just set rejectUnauthorized to false.


Create self-signed certificate:

# Create a 2048 bit private key
sudo openssl genrsa -out "./ssl/gitbook-pub.key" 2048
# This command generates the certificate signing request
sudo openssl req -new -key "./ssl/gitbook-pub.key" -out "./ssl/gitbook-pub.csr"
# Create the signed certificate:
sudo openssl x509 -req -days 365 -in "./ssl/gitbook-pub.csr" -signkey "./ssl/gitbook-pub.key"  -out "./ssl/gitbook-pub.crt"