Skip to content

ubiquity6/whiteboard

Repository files navigation

WBO

WBO is an online collaborative whiteboard that allows many users to draw simultaneously on a large virtual board. The board is updated in real time for all connected users, and its state is always persisted. It can be used for many different purposes, including art, entertainment, design, teaching.

A demonstration server is available at wbo.ophir.dev

Screenshots

The anonymous board collaborative diagram editing Screenshot of WBO's user interface: architecture
teaching math on WBO wbo teaching drawing art angel drawn on WBO

Running your own instance of WBO

If you have your own web server, and want to run a private instance of WBO on it, you can. It should be very easy to get it running on your own server.

Running the code in a container (safer)

If you use the docker containerization service, you can easily run WBO as a container. An official docker image for WBO is hosted on dockerhub as lovasoa/wbo.

You can run it with the following command :

docker run -it --publish 5001:80 --volume $(pwd)/wbo-boards:/opt/app/server-data lovasoa/wbo:latest

This will run WBO :

  • on port 5001
  • persisting the user data in $(pwd)/wbo-boards

You can then access WBO at http://localhost:5001.

Running the code without a container

Alternatively, you can run the code with node.js directly, without docker.

First, download the sources:

git clone git@github.com:lovasoa/whitebophir.git
cd whitebophir

Then install node.js (v8.0 or superior) if you don't have it already, then install WBO's dependencies:

npm install --production

Finally, you can start the server:

PORT=5001 npm start

This will run WBO directly on your machine, on port 5001, without any isolation from the other services.

Running WBO on a subfolder

By default, WBO launches his own web server and serves all of its content at the root of the server (on /). If you want to make the server accessible with a different path like https://your.domain.com/wbo/ you have to setup a reverse proxy. See instructions on our Wiki about how to setup a reverse proxy for WBO.

Troubleshooting

If you experience an issue or want to propose a new feature in WBO, please open a github issue.