Overview
This article provides comprehensive guidance for setting up your Heed installation, encompassing installation procedures, software configuration, and troubleshooting strategies.
Heed is a dynamic web application crafted using a blend of technologies, prominently featuring Node.js and C#. Users typically interact with Heed through a web browser or the dedicated Heed desktop client.
The diagram below offers an illustrative representation of a typical Heed installation:
Core Services
Within your Heed installation, several core services are at the heart of its functionality:
Heed Socket Service: This service manages web socket connections to the server, facilitating seamless communication for both web page and desktop client interactions.
Heed Workflow Service: Responsible for executing workflows, this service maintains a direct line of communication with the RabbitMQ server for job handling. In case of service failure on one server, the pending tasks are seamlessly transferred to another server for uninterrupted workflow execution. It's essential to note that multiple instances of this service encountering issues could impact workflow executions and, consequently, the delivery of notifications.
Heed Notification Server: Handling the delivery of email and SMS notifications (when utilizing Heed's SMS provider), this service also connects directly with the RabbitMQ server for job management. Similar to the Workflow Service, the failure of one instance is mitigated by the automatic transfer of responsibilities to another server. However, the simultaneous failure of multiple instances of this service could affect the timely delivery of notifications.
Heed Audit Service: This service plays a pivotal role in interacting with the reporting database. It processes auditing queue events and facilitates data exports.
RabbitMQ: A critical component integral to each server, RabbitMQ's reliability is paramount. A failure in RabbitMQ can effectively render the server temporarily offline, as it triggers health checks that flag the server's unavailability.
This robust configuration ensures the seamless operation of your Heed installation, but it's crucial to maintain the health and reliability of each component to ensure uninterrupted service delivery.

