Hypertrons is an open source robot hosting platform which supports GitHub and GitLab.
Hypertrons framework is written in TypeScript to improve development quality and the components are written in Lua to improve security and support component hot fix/reload.
Run npm install
after cloning the repository and add a globalConfig.json
file to configure the robot account, the content of the file should be like below, and you can find a sample config in globalConfigTemplate.json
.
For config details, please refer to robot config.
Need to pass the config file into environment viriable GLOBAL_CONFIG
and run npm start
to start the robot.
You can also run the robot by Docker, Dockerfile
is provided to start the project, use docker build
to build the image and use docker run
to run the image. Notice that the port exposed by default is 7001.
Further configuration should be configured in specific repo or private local file, for more information please refer to robot config.
Before developing Hypertrons, please make sure you read the contributing guide to understand the basic process and requirement of the project.
The underlying developing framework is eggjs which does a great job in cluster management, messenger system, router and logs stuff.
The upper layer is written in TypeScript and implement the event manager, schedule manager, hosting platform manager, etc.
On the client layer, fengari is used to provide a Lua VM approach using Node.js. Limited Lua binding is written to provide Lua code execution alibity in TypeScript.
The components are all written in Lua to provide hot fix/reload and logic customization.
For more details, please refer to architecture.
Hypertrons also use hypertrons(play as menbotics) to manage community, the community roles can be found in config file.
If you have any questions or feature requests, please feel free to submit an issue.