/hubs

Duck-themed multi-user virtual spaces in WebVR. Built with A-Frame.

Primary LanguageJavaScriptMozilla Public License 2.0MPL-2.0

License: MPL 2.0 Build Status Discord

The client-side code for Mozilla Hubs, an online 3D collaboration platform that works for desktop, mobile, and VR platforms.

Learn more about Hubs

Getting Started

If you would like to run Hubs on your own servers, check out Hubs Cloud.

If you would like to deploy a custom client to your existing Hubs Cloud instance please refer to this guide.

If you would like to contribute to the main fork of the Hubs client please see the contributor guide.

If you just want to check out how Hubs works and make your own modifications continue on to our Quick Start Guide.

Quick Start

Install NodeJS if you haven't already. We use 16.16.0 on our build servers. If you work on multiple javascript projects it may be useful to use something like NVM to manage multiple versions of node for you.

Run the following commands:

git clone https://github.com/mozilla/hubs.git
cd hubs
# nvm use v16.16.0 # if using NVM
npm ci
npm run dev

The backend dev server is configured with CORS to only accept connections from "hubs.local:8080", so you will need to access it from that host. To do this, you likely want to add "hubs.local" and "hubs-proxy.local" to the local "hosts" file on your computer:

127.0.0.1	hubs.local
127.0.0.1	hubs-proxy.local

Then visit https://hubs.local:8080 (note: HTTPS is required, you'll need to accept the warning for the self-signed SSL certificate)

Note: When running the Hubs client locally, you will still connect to the development versions of our Janus WebRTC and reticulum servers. These servers do not allow being accessed outside of localhost. If you want to host your own Hubs servers, please check out Hubs Cloud.

Documentation

The Hubs documentation can be found here.

Community

Join us on our Discord Server or follow us on Twitter.

Contributing

Read our contributor guide to learn how you can submit bug reports, feature requests, and pull requests.

We're also looking for help with localization. The Hubs redesign has a lot of new text and we need help from people like you to translate it. Follow the localization docs to get started.

Contributors are expected to abide by the project's Code of Conduct and to be respectful of the project and people working on it.

Additional Resources

Privacy

Mozilla and Hubs believe that privacy is fundamental to a healthy internet. Read our privacy policy for more info.

License

Hubs is licensed with the Mozilla Public License 2.0