First you will need to download the jswzl server build for your platform. You should have received an email with a link to where to download it. Builds come in 3 flavors:
win64 - Windows 10/11+
osx64 - Mac OSX, Intel + Apple Silicon
linux64 - Linux
Find the relevant zip file for your platform and download it. Extract it to your location of choice.
2. Install license file
Create a file called `license.lic` in the location you extracted the server. Insert the text license you received by email.
3. (Linux/OS X) Ensure binary is executable
You will need to mark the jswzl binary as executable with `chmod +x jswzl.Server`.
4. (OS X) Allow binary to run
Attempt to run the server binary and cancel the warning it causes. Then go into System Preferences > Security & Privacy, and press Allow Anyway.
On newer versions of Mac OS, you may need to also do the same for the `libe_sqlite3.dylib` file.
5. Start server
Simply run the binary(`jswzl.Server`), and the server should start running. It will utilize the project/database called "default". You can check this with `-d/--db` to give it another name, allowing you to create different projects for your data.
Note you will need to be able to reach the internet for it to start for license validation on a regular basis.
Usage
Description:
Usage:
jswzl.Server [options]
Options:
-p, --port <port> Port to listen on [default: 37232]
-d, --db <db> An option whose argument is parsed as a string. [default: default.jswzl]
--sentry Enable Sentry [default: False]
-v, --verbose Enable verbose logging [default: False]
-t, --threads <threads> Number of processes to allow. Defaults to half of the available CPU cores
-c, --db-connections <db-connections> Number of database connections [default: 10]
--version Show version information
-?, -h, --help Show help and usage information
These are the most important flags:
-d/--db: Sets which database/project to utilize. This allows you to separate data between projects.
-t/--threads: Specifies the number of analysis processes that can run concurrently. Default: (CPU Cores / 2) Recommendation: The value can be tweaked according to how much available memory you have. Each analysis process can take up to 1gb of memory for a short amount of time. So it's recommended that you set this to a value where you will not run out of memory, as this can decrease stability.
-v/--verbose: Enables debug logging. Not recommended unless you are encountering issues due to a big performance hit.
--sentry: You can enable this to opt in to error collection. If a file fails to analyze, a copy of the exception and the responsible JavaScript file is sent for review.