Single Instance Deployment Model
For a basic setup using the Single Instance Deployment model, you will need a sum of two distinct compute profiles:- One for hosting the Horizon service
- Another for hosting the PostgreSQL server
Hardware requirements
The minimum hardware specifications to effectively run Horizon are as follows:Horizon Compute Instance:
* Assuming a 30-day retention window for data storage.
PostgreSQL Database Server Compute Instance:
* Assuming a 30-day retention window for data storage.
Please note that a minimum of PostgreSQL version 12 is required.
These specifications assume a 30-day retention window for data storage. For a longer retention window, the system requirements will be higher. For more information about data ingestion, history retention, and managing storage, check the ingestion section.
Multiple Instance Deployment
To achieve high availability, redundancy, and high throughput, refer to the scaling documentation. It provides a detailed overview of several different deployment strategies you can employ, depending on the SLA you need your Horizon instance to achieve.Network Access
- Ensure that the Horizon instance can establish a connection with the PostgreSQL database instance. The default port for PostgreSQL is 5432.
- A stable and fast network connection with the Internet is required for any Horizon instance running the ingestion role. This is to ensure it has efficient outbound connectivity to remote hosts in the quorum set and archive urls for the chosen Stellar network. During ingestion, the Horizon instance communicates with these hosts, receiving network transaction data through its local captive core sub-process.
Hardware requirements may increase as the Stellar network grows and/or if you’re sharing resources or using custom configs.