Horizon only has one dependency: a PostgreSQL server that it uses to store data that has been processed and ingested from Stellar Core. Horizon requires PostgreSQL version >= 9.5.
As far as system requirements go, there are a few main things to keep in mind:
If you plan on ingesting live transaction data from the Stellar network, your machines should have enough extra RAM to hold Captive Core’s in-memory database (~3GB).
In the above case, you should also take care to allocate enough space (on the order of ~20 GBs) in the directory from which you run Horizon in order for Captive Core to cache ledger information while it runs. You can customize the location of this storage directory via the
--captive-core-storage-pathas of v2.1.
Other disk space requirements depend on how much of the network’s history you’d like to serve from your Horizon instance. This could be anywhere from a few GBs to tens of TBs for the full ingested pubnet ledger history; read about ingestion to decide what’s right for your use case.
Last updated Oct. 11, 2021