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.
*`make dev` : Builds the Docker images locally before starting the services in development mode. It first checks the .env file for completeness against .env.example.
*`make start` : Starts the app by pulling the Docker images from Docker Hub. This target also checks the .env file for required variables.
*`make stop` : Stops all running Docker services defined in the compose files.
*`make destroy` : Stops all services and removes all volumes associated with the Docker compose setup, ensuring a clean state.
*`make check-env` : Checks if the ./docker/.env file exists and contains all the necessary environment variables as defined in ./docker/.env.example. If the file does not exist, it is created from the example. It also lists missing variables if any.
Example on how to start the stack by adding the Nginx service :