Skip to content

Install your private server

Gaël Métais edited this page Aug 14, 2023 · 36 revisions

Installing your own version can be useful if you work on a super-secret project, not accessible from the web, or if you need to run a lot of tests per day.

Note: As per May 2021, the project was split into two parts. The YellowLabTools repository contains the NPM module and the command line client. The YellowLabTools-server repository contains the code for the server.

Method 1: Manual installation

Recommended if you want to create your own server, or if you want to run YLT on your computer (can be useful for testing a page on localhost). Please note that I've only tested this installation on Linux and MacOS, not on Windows.

Requirements

  • You need these 2 tools: Git and NodeJS (the recommended version for NodeJS is 12).
  • On Debian, you also need libjpeg and fontconfig: sudo apt-get install libjpeg-dev libfontconfig.
  • On CentOS/RHEL, you also need libjpeg-turbo and fontconfig: sudo yum install libjpeg-turbo-devel fontconfig

Install steps

  1. Clone the server repository somewhere on your computer:
git clone https://github.com/YellowLabTools/YellowLabTools-server.git
  1. Get inside the newly created folder and install the dependencies:
cd YellowLabTools-server
npm install

If npm install fails, try these two commands npm install -g node-gyp then npm config set unsafe-perm true and retry npm install after.

  1. Create the results folder and the tmp folder in the project's root
mkdir results
mkdir tmp
  1. Launch the server
node bin/server.js

4bis) If you want a minified version of YLT, you can build with grunt and use the production flag

npm install -g grunt-cli
rm -rf node_modules/cheerio-select
npm install cheerio-select@0.0.3
grunt build
NODE_ENV=production node bin/server.js
  1. Open your browser to http://localhost:8383. The default port 8383 can be changed in server_config/settings.json. For advanced users, the baseUrl can be changed too, if you plan to access your server on a path that's not the root path (/).

Method 2: In a virtual machine with Docker

@ousamabenyounes maintains a Docker image for YellowLabTools. Many thanks!

Debugging

See the page How do I debug Yellow Lab Tools?

Commercial or promotional usage

This software is released with a license that allows you to use Yellow Lab Tools in any way you like, including hosting a public instance to support your business.

But:

  • Please make sure that your instance is not (accidentally or intentionally) competing with the official public instance in term of SEO on the name "Yellow Lab Tools" (use a robots.txt file to prevent indexation).
  • If you change the website's name, please add a visual mention and a link to the original project.
  • Any change you make to the code has to be public and open-sourced under the same license.
  • If you improve the tool in any way, I'd be happy if you could submit a pull request on the main project.
  • Please consider making a donation for the hard work.
  • Contact me in case you need help for installing or updating your instance, or just to say hello!