hexabot/docs/developer-guide/contributers-installation-guide.md

61 lines
1.9 KiB
Markdown
Raw Normal View History

2025-01-31 08:52:29 +00:00
---
icon: handshake-angle
---
2024-10-28 05:09:08 +00:00
# Contributers Installation Guide
2024-09-13 15:48:51 +00:00
## Prerequisites
To ensure Hexabot runs smoothly, you'll need the following:
* **Docker:** We recommend using Docker to start the app since multiple services are required (MongoDB, Redis, Prometheus, etc.). All the necessary Docker Compose files are located in the docker folder.
* **Node.js:** For development purposes, ensure you have Node.js >= v18.17.0 installed. We recommend using nvm (Node Version Manager) to easily manage and update your Node.js versions.
2024-09-22 18:14:13 +00:00
### Installation
2024-09-13 15:48:51 +00:00
1. **Clone the Repository:**
```
$ git clone https://github.com/hexastack/hexabot.git
```
2024-10-02 16:25:24 +00:00
2. **Installation:**
2024-10-28 05:09:08 +00:00
Install Hexabot CLI and node dependencies:
2024-10-02 16:25:24 +00:00
```
2024-10-28 05:09:08 +00:00
$ npm i -g hexabot-cli
$ cd hexabot/
$ npm i
2024-10-02 16:25:24 +00:00
```
2. **Environment Setup:** 
To configure the environment variables, use the Makefile at the root folder for initialization:
2024-09-13 15:48:51 +00:00
```
2024-10-28 05:09:08 +00:00
$ hexabot init
2024-09-13 15:48:51 +00:00
```
This will copy the `.env.example` file to `.env` in the `./docker` directory if the file does not already exist.
2024-10-28 05:09:08 +00:00
3. **Running the Application in development mode:** Once your environment is set up, you can start the app. Use the following command:
2024-09-13 15:48:51 +00:00
```
2024-11-12 00:02:54 +00:00
$ hexabot dev --services nlu,widget
2024-09-13 15:48:51 +00:00
```
2024-11-12 00:02:54 +00:00
**Note:** 
* The first time you run the app, Docker will take some time to build all the required Docker images cache the layers.
* The "**--services**" allows you to add additional services coma seperated. For each service, there needs to be a Docker compose file under the "**docker/**" directory. For instance, if you do "**--services nginx**" you will need to have a docker compose file for that service "**docker/docker-compose.nginx.yml**"
2024-09-13 15:48:51 +00:00
### Usage
UI Admin Panel is accessible via [http://localhost:8080](http://localhost:8080), the default credentials are :
* **Username:** [admin@admin.admin](mailto:admin@admin.admin)
* **Password:** adminadmin
Live Chat Widget is accessible via [http://localhost:5173](http://localhost:5173)