WLJS LogoWLJS Notebook

Installation

Step 1: download and install freeware Wolfram Engine 14.3 for developers.

Step 2: install WLJS from the binaries hosted at Github or homebrew.

Alternatively you can skip steps 1, 2 and use a complete Docker Image (see further).

docker run -it \
  -v ~/wljs:"/home/wljs/WLJS Notebooks" \
  -v ~/wljs/Licensing:/home/wljs/.WolframEngine/Licensing \
  -v ~/wljs/tmp:/tmp \
  -e PUID=$(id -u) \
  -e PGID=$(id -g) \
  -p 8000:3000 \
  --name wljs \
  ghcr.io/wljsteam/wljs-notebook:main
brew install --cask wljs-notebook

see also

All releases

We carefully crafted our UI to match the look of all platforms as close as possible for a web-based application

Windows

Download and install the latest .exe. Only x86/64-bit architecture is supported

Linux

sudo apt install ./wljs-notebook.deb

Ubuntu 24.04 users: If you encounter AppArmor issues, run:

sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0

Ubuntu 25.XX users: There might issues with installing WE due to broken Rust core library for MD5, install GNU version:

sudo apt install coreutils-from-gnu coreutils-from-uutils- --allow-remove-essential

Make AppImage executable and run it by double-click.

Debian 13 users: in the case of troubles install FUSE

sudo apt install libfuse2

⚠ or if you are Ubuntu user:

sudo apt install libfuse2t64
Using .zip Archive

Extract and run the wljs-notebook executable.

macOS

Using .dmg Installer
  • Apple Silicon users: Download the -arm64.dmg version.
  • Intel Mac users: Use -amd64.dmg version.
Using Homebrew
brew install --cask wljs-notebook

🚢 Running on a server

Certain features such as image/sound recording might require https connection if you are running it not on a local machine. See how to set up a proxy in Container Setup or use port forwarding via SSH.

For a remote machine:

Step 1: register and get developer license for freeware Wolfram Engine at wolfram.com

Step 2: deploy WLJS Notebook

docker run -it \
  -v ~/wljs:"/home/wljs/WLJS Notebooks" \
  -v ~/wljs/Licensing:/home/wljs/.WolframEngine/Licensing \
  -v ~/wljs/tmp:/tmp \
  -e PUID=$(id -u) \
  -e PGID=$(id -g) \
  -p 8000:3000 \
  --name wljs \
  ghcr.io/wljsteam/wljs-notebook:main

This will mount your local wljs folder to the container, where examples, configs and license-related files are stored.

Then open http://127.0.0.1:8000 or forward 8000 port to your local machine and open.

Some features require WLJS desktop app:

  • Export[_, _, "PDF"] - export to PDF
  • Rendering Animate to a GIF file
  • Rasterize - expressions rasterization
  • SystemOpen - open files/folders using OS system calls
  • SystemInputDialog - open system file dialog

Running without a container

If you hate contaienrs, you can start WLJS Notebook directly from a repository. Make sure to have Wolfram Engine installed:

Step 1: clone WLJS Notebook

git clone https://github.com/WLJSTeam/wljs-notebook.git
cd wljs-notebook

Step 2: start it

wolframscript -f Scripts/start.wls
WLJS Notebook uses 1 port for plain HTTP and 2 WebSockets ports for communication: 20560, 20559, and 20563. Make sure to have 1:1 port-forwarding for the last 2 if you plan to connect from a proxy or SSH tunnel

Tunnelling though SSH

Example setup:

   ssh -f -N \
     -L 20560:localhost:20560 \
     -L 20559:localhost:20559 \
     -L 20563:localhost:20563 \
     <host name>@<host address> -p <host port, defualt=22>

🍓 Raspberry PI

Unix ARM64 binaries can work on any Raspberry PI computers > 3B with x64 OS installed. However, you might need to install libuv or/and libuv-dev dependency from the terminal.

Wolfram Engine is available from APT repository by the default and does not require authentification.

On this page