whitebophir/README.md
2020-04-05 18:23:57 +02:00

2.9 KiB

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

WBO anonymous board

Used for teaching

image

Used for collaborative diagram editing

Screenshot of WBO's user interface: architecture

Used for drawing art

WBO angel

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.

Clone the repository

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

Running the code in a container (safer)

docker image status

You can run the official docker image hosted on dockerhub or build your own very easily using docker compose.

Choose where to persist the data

At the moment, WBO has a very simple persistance model: it saves each whiteboard as a separate json file in a directory.

You can edit docker-compose.yml to choose where you want to persist the data :

    volumes:
      - ./server-data:/opt/app/server-data

Here, I chose to persist the data in ./server-data (inside the directory where I cloned the repo).

Start the service

sudo docker-compose up

This will start wbo on port 80. (You can change the port number in docker-compose.yaml if you want).

Running the code without a container

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

npm install
npm start

If you do that, the code is running directly on your machine, without any isolation from the other services. Make sure you do not run another sensitive service on the same host.

Troubleshooting

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

Demonstration server hosted by openode