Skip to content
This repository was archived by the owner on Feb 23, 2023. It is now read-only.

Commit 7d9ef70

Browse files
authored
Update Horizon deployment docs to reflect the latest release (#636)
* Update docs to reflect latest Horizon version: - ingestion is enabled by default - guidance around building stellar-core - there is no stellar-captive-core package on stable - more guidance around using pubnet * Prefer links to doc site rather than external places
1 parent 9bf215f commit 7d9ef70

File tree

3 files changed

+14
-23
lines changed

3 files changed

+14
-23
lines changed

content/docs/run-api-server/configuring.mdx

+7-6
Original file line numberDiff line numberDiff line change
@@ -45,19 +45,20 @@ As outlined at the beginning, we presume you are interested in starting an inges
4545

4646
| flag | envvar | example |
4747
| ---- | ------ | ------- |
48-
| `--ingest` | `INGEST` | true |
4948
| `--captive-core-config-path` | `CAPTIVE_CORE_CONFIG_PATH` | /etc/default/stellar-captive-core.toml |
5049
| `--stellar-core-binary-path` | `STELLAR_CORE_BINARY_PATH` | /usr/bin/stellar-core |
5150

52-
- The first parameter, `--ingest=true`, enables the ingestion subservice.
53-
- The second parameter, `--captive-core-config-path`, points to a Captive Core configuration file. This TOML file only requires a few fields (explained [below](#configuring-captive-core)) to get up and running.
54-
- The final parameter, `--stellar-core-binary-path`, is a filesystem path to a Stellar Core binary. Horizon will actually search your PATH for `stellar-core` by default, so if your environment is configured appropriately, you won't even need to pass this.
51+
Note that **ingestion is enabled by default**.
52+
53+
- The first parameter, `--captive-core-config-path`, points to a Captive Core configuration file. This TOML file only requires a few fields (explained [below](#configuring-captive-core)) to get up and running.
54+
- The second parameter, `--stellar-core-binary-path`, is a filesystem path to a Stellar Core binary. Horizon will actually search your PATH for `stellar-core` by default, so if your environment is configured appropriately, you don't need to pass this.
5555

5656
#### Without Ingestion
5757
If you aren't configuring your Horizon instance to perform ingestion, it still needs awareness about what's going on in the Stellar network to be useful. Thus, you need to point Horizon to a running Stellar Core instance:
5858

5959
| flag | envvar | example |
6060
| ---- | ------ | ------- |
61+
| `--ingest` | `INGEST` | false |
6162
| `--stellar-core-url` | `STELLAR_CORE_URL` | http://127.0.0.1:11626 |
6263

6364
This can be a [Remote Captive Core](./remote-core.mdx) instance with its underlying Core node exposed or a [standalone](../run-core-node/) Stellar-Core instance.
@@ -78,7 +79,7 @@ This script invokes Horizon with the `stellar` user, so make sure that permissio
7879

7980
</Alert>
8081

81-
Note that the default configuration (located at `/etc/default/stellar-horizon`) provided by the package manager will **enable ingestion by default** (`INGEST=true`). Again, refer to the later [Ingestion](./ingestion.mdx) page to see what setup is right for you. If you want certain nodes dedicated exclusively to fulfilling requests, you should drop this flag accordingly.
82+
Note that the default configuration (located at `/etc/default/stellar-horizon`) provided by the package manager **enables ingestion by default**. Again, refer to the later [Ingestion](./ingestion.mdx) page to see what setup is right for you. If you want certain nodes dedicated exclusively to fulfilling requests, you should set this flag to `false` accordingly.
8283

8384

8485
## Preparing the Database
@@ -141,7 +142,7 @@ _(For the remainder of this guide, we'll assume this file lives at `/etc/default
141142

142143
The minimum required fields are the `[[HOME_DOMAINS]]` and a set of `[[VALIDATORS]]`.
143144

144-
If you wanted to adapt this and configure your nodes to work on the Stellar **pubnet**, you'll need to think more carefully about the validators you want to trust in your quorum. As inspiration, [here](https://github.com/stellar/go/blob/master/services/horizon/docker/stellar-core-pubnet.cfg#L15-L202) is the set of domains and validators that SDF includes in its pubnet quorum.
145+
If you wanted to adapt this and configure your nodes to work on the Stellar **pubnet**, you'll need to think more carefully about the validators you want to trust in your quorum. As inspiration, [here](https://github.com/stellar/go/blob/master/services/horizon/docker/stellar-core-pubnet.cfg#L15-L202) is the set of domains and validators that SDF includes in its pubnet quorum. You should also familiarize yourself with how to configure a proper quorum set; the [Core documentation](../run-core-node/configuring.mdx#choosing-your-quorum-set) has more on this.
145146

146147
Captive Core's functionality is controlled through this file. Note that while the Captive Core configuration looks like a subset of a traditional Stellar Core configuration file, you cannot use a traditional Stellar Core configuration file to configure Captive Core. The TOML format is preserved for operator ease of [migrating](./migrating.mdx) from Horizon 1.x, but this is a fundamentally different architecture and should be treated as such.
147148

content/docs/run-api-server/installing.mdx

+4-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { CodeExample } from "components/CodeExample";
88
To install Horizon, you have a few choices. You can...
99
- install prebuilt binaries [from our repositories](#package-manager) via your package manager if running a Debian-based system,
1010
- download a [prebuilt release](https://github.com/stellar/go/releases/latest) of Horizon for your target architecture and operation system, or
11-
- [build Horizon yourself](#building) from scratch.
11+
- [build Horizon and Stellar Core yourself](#building) from scratch.
1212

1313
**The first method is recommended**: Not only do you ensure OS compatibility and dependency management, you'll also install some convenient wrappers that make running Horizon and Stellar Core in their respective environments much simpler.
1414

@@ -22,7 +22,7 @@ SDF publishes new releases to its custom Ubuntu repositories. Follow [this guide
2222

2323
```bash
2424
sudo apt update
25-
sudo apt install stellar-horizon stellar-captive-core
25+
sudo apt install stellar-horizon stellar-core
2626
```
2727

2828
</CodeExample>
@@ -61,6 +61,8 @@ export PATH=$(go env GOPATH)/bin:$PATH
6161

6262
</CodeExample>
6363

64+
You will also need to compile Stellar Core from its source code if you need ingestion or transaction submission. You should refer to [their installation guide](https://github.com/stellar/stellar-core/blob/master/INSTALL.md) for details.
65+
6466
Next, jump ahead to [Testing Your Installation](#completing-and-testing-your-installation).
6567

6668

content/docs/run-api-server/migrating.mdx

+3-15
Original file line numberDiff line numberDiff line change
@@ -82,17 +82,7 @@ If you want to continue to have access to the underlying Stellar Core subprocess
8282

8383
### Installation
8484

85-
Once you have a configuration file ready, you can install the Captive Core package to prepare the Horizon configuration:
86-
87-
<CodeExample>
88-
89-
```bash
90-
sudo apt install stellar-captive-core
91-
```
92-
93-
</CodeExample>
94-
95-
Note the block in the new `/etc/default/stellar-horizon` file:
85+
Once you have a configuration file ready, you should also modify your Horizon configuration to include Captive Core parameters. Within `/etc/default/stellar-horizon`, you should add:
9686

9787
<CodeExample>
9888

@@ -107,9 +97,7 @@ CAPTIVE_CORE_STORAGE_PATH=/var/lib/stellar
10797

10898
</CodeExample>
10999

110-
(Your old configuration will have a `.old` suffix appended to it, so be sure to bring the parameters back over to the new default.)
111-
112-
You will need to adjust these accordingly, for example by pointing `CAPTIVE_CORE_CONFIG_PATH` to your configuration file and possibly `CAPTIVE_CORE_STORAGE_PATH` to where you'd like Captive Core to store its bucket files (but keep in mind the [disk space](./prerequisites.mdx) and [permissions](./configuring.mdx#package-manager-installation) requirements).
100+
You may need to adjust these accordingly, for example by pointing `CAPTIVE_CORE_CONFIG_PATH` to your configuration file and possibly `CAPTIVE_CORE_STORAGE_PATH` to where you'd like Captive Core to store its bucket files (but keep in mind the [disk space](./prerequisites.mdx) and [permissions](./configuring.mdx#package-manager-installation) requirements).
113101

114102
Finally, the process for upgrading both Stellar Core and Horizon is covered [here](https://github.com/stellar/packages/blob/master/docs/upgrading.md#upgrading).
115103

@@ -133,7 +121,7 @@ sudo systemctl restart stellar-horizon
133121

134122
</CodeExample>
135123

136-
The logs should show Captive Core running successfully as a subprocess, and eventually Horizon will be running as usual except with Captive Core rapidly generating transaction metadata in-memory!
124+
After a few moments, the logs should show Captive Core running successfully as a subprocess, and eventually Horizon will be running as usual except with Captive Core rapidly generating transaction metadata in-memory!
137125

138126
### A Multi-Machine Setup
139127

0 commit comments

Comments
 (0)