Universe, a bebOS Dimension Host Implementation
Universe is an implementation of a bebOS Dimension Host. Universes are open-source dimension hosts for BEB, a protocol keeping the internet human. Universes are accessed by clients such as B7B.
This is an early work that is subject to heavy changes, see our Github Issues if you wish to contribute.
See our developer documents at bebOS Dimension GraphQL APIs
.
Self-hosting Your Universe
We've provided a starter Dockerfile
for you, with MONGO_URL
and JWT_SECRET
as ARG
parameters.
We have a self-hosting guide on our docs which walks through Railway deployment all the way to using our resolver contract.
- You'll need a MongoDB server, either by deploying MongoDB yourself or using a hosted solution such as MongoDB Atlas or Railway with our tutorial.
- You'll also need to deploy this Dockerfile to a hosting location of your preference (Railway, Heroku, etc).
- Once you have a hosted url, you can set this path in the BEBverse resolver smart contracts. For example,
foo.beb
would resolve to your host atexample-load-balancer-1234567890.us-west-2.elb.amazonaws.com
. See our self-hosting guide for more details!
Contribution Guidelines
The bebdomains/universe repo follows the conventional commits guidelines, please be sure to respect them when committing.
When opening a Pull Request and you are not already a core contributor to @bebdomains, be sure to explain your pull request in greater detail so there's less churn when reviewing and we can get your changes landed ASAP, thank you!
Developing in the bebdomains/universe repo
Welcome to the setup guide for Universe! To start, you'll need node.js, yarn, and mongodb configured locally.
Once you have node.js, yarn and mongodb, you'll need to fill the following environment variables to have a fully operational bebOS instance on localhost:
.env file setup
NODE_ENV=production
MONGO_URL=mongodb+srv://... # your local mongo url
JWT_SECRET=change-this
Optional environment variables
BLOCK_INITIALIZE=true # Block the initialization of communities on your universe
GLOBAL_MODERATOR_ID=abc123... # An account id that can moderate all dimensions
IMGUR_CLIENT_ID=123... # Enable imgur image uploads on all dimensions https://apidocs.imgur.com
Once your environment is configured, run yarn dev --self-hosted
to have a running instance, and play around with graphql commands at localhost:8080/graphql
!