/warcode

A collaborative web application (virtual office) presented as a 16-bit RPG video game

Primary LanguageTypeScript

Discord

WorkAdventure logo WorkAdventure office image

Live demo here.

WorkAdventure

WorkAdventure is a web-based collaborative workspace presented in the form of a 16-bit video game.

In WorkAdventure you can move around your office and talk to your colleagues (using a video-chat system, triggered when you approach someone).

See more features for your virtual office: https://workadventu.re/virtual-office

Community resources

Check out resources developed by the WorkAdventure community at awesome-workadventure

Setting up a production environment

The way you set up your production environment will highly depend on your servers. We provide a production ready docker-compose file that you can use as a good starting point in the contrib/docker directory.

Setting up a development environment

Note These installation instructions are for local development only. They will not work on remote servers as local environments do not have HTTPS certificates.

Install Docker.

Run:

cp .env.template .env
docker-compose up

The environment will start.

You should now be able to browse to http://play.workadventure.localhost/ and see the application. You can view the Traefik dashboard at http://traefik.workadventure.localhost

Note: on some OSes, you will need to add this line to your /etc/hosts file:

/etc/hosts

127.0.0.1 oidc.workadventure.localhost redis.workadventure.localhost play.workadventure.localhost chat.workadventure.localhost traefik.workadventure.localhost xmpp.workadventure.localhost extra.workadventure.localhost icon.workadventure.localhost map-storage.workadventure.localhost uploader.workadventure.localhost maps.workadventure.localhost api.workadventure.localhost front.workadventure.localhost

You can also start WorkAdventure + a test OpenID connect server using:

$ docker-compose -f docker-compose.yaml -f docker-compose-oidc.yaml up

(Test user is "User1" and his password is "pwd")

Troubleshooting

MacOS users

Unlike with Windows and Linux, MacOS developers need to configure an amount of RAM dedicated to Docker. If some containers are "Killed", you will need to increase the amount of RAM given to Docker. At least 6GB of RAM is needed.

If the performance is poor, you can also try to run WorkAdventure inside Vagrant.

Windows users

If you find errors in the docker logs that contain the string "\r", you have an issue with your Git configuration. On Windows, Git can be configured to change the carriage return from "\n" to "\r\n" on the fly. Since the code is running in Linux containers, you absolutely want to be sure the Git won't do that. For this, you need to disable the core.autocrlf settings.

If you run into this issue, please run the command:

git config --global core.autocrlf false

Then, delete the WorkAdventure directory and check it out again.

CORS error / HTTP 502 error

If you see a CORS error or an HTTP 502 error when trying to load WorkAdventure, check the logs from the play and from the back container. If you see an error, you can simply try to restart them. Sometimes, a rare race condition prevents those containers from starting correctly in dev.

docker-compose restart play
docker-compose restart back