Skip to content

Commit

Permalink
Update core node documentation
Browse files Browse the repository at this point in the history
* add information about debian package signing
* add information about adding apt repo to Ubuntu systems
* add list of packages and install instructions
* clarify "Network Access" section name to make it explicit this it's specific
  to the stellar network
  • Loading branch information
jacekn committed Dec 17, 2024
1 parent 03c0b54 commit f981d8f
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 3 deletions.
37 changes: 35 additions & 2 deletions docs/validators/admin-guide/installation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,42 @@ The version number scheme that we follow is `protocol_version.release_number.pat

## Package-Based Installation

If you are using a recent LTS version of Ubuntu, we provide the latest stable releases of [`stellar-core`](https://github.com/stellar/stellar-core) and [`stellar-horizon`](https://github.com/stellar/go/tree/master/services/horizon) in Debian binary package format.
If you are using a recent LTS version of Ubuntu, we provide [`stellar-core`](https://github.com/stellar/stellar-core) and [`stellar-horizon`](https://github.com/stellar/go/tree/master/services/horizon) in Debian binary package format. The packages are cryptographically signed by SDF and files can be validated on the system to confirm they were not tampered with. Debian packages also allow for safe upgrades and downgrades.

You may choose to install these packages individually, which offers the greatest flexibility, but requires **manual** creation of the relevant configuration files and configuration of a **PostgreSQL** database.
SDF package signing key fingerprint is **AEAF 01EE A6CA FCEF DDAE 8AA7 0463 8272 A136 B5A6** (A136B5A6)

### Configure SDF Apt Repository On The System

```bash
sudo install -d /etc/apt/keyrings
sudo curl -fsSL https://apt.stellar.org/SDF.asc -o /etc/apt/keyrings/SDF.asc
sudo chmod a+r /etc/apt/keyrings/SDF.asc
echo "deb [signed-by=/etc/apt/keyrings/SDF.asc] https://apt.stellar.org $(lsb_release -cs) stable" | sudo tee -a /etc/apt/sources.list.d/SDF.list
```

Optionally you can add testing repository. This is not recommended for production systems but may be useful for non-production systems using testnet:
```bash
echo "deb [signed-by=/etc/apt/keyrings/SDF.asc] https://apt.stellar.org $(lsb_release -cs) stable" | sudo tee -a /etc/apt/sources.list.d/SDF.list
```

### Install packages

We publish multiple packages for convenience.

| Package | Dependencies | Comments |
| --- | --- | --- |
| stellar-core | none | installs stellar-core binary, systemd service, logrotate script, documentation |
| stellar-core-utils | none | installs useful command line tools (stellar-core-cmd, stellar-core-gap-detect) |
| stellar-core-prometheus-exporter | none | installs a Prometheus exporter to facilitate ingesting stellar-core metrics |
| stellar-core-postgres | stellar-core, PostgreSQL | configures a PostgreSQL server, creates a stellar db,role and system user, the default stellar-core configuration contained in this package will connect to the Testnet|
| stellar-archivist | none | installs stellar-archivist cli tool for managing stellar-core History archives |

To install a chosen package run:

```bash
# To install stellar-core
sudo apt-get update && apt-get install <package_name>
```

## Installing From Source

Expand Down
2 changes: 1 addition & 1 deletion docs/validators/admin-guide/prerequisites.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Stellar Core is designed to run on relatively modest hardware so that a whole ra

_\* Assuming a 30-day retention window for data storage._

## Network Access
## Stellar Network Access

Stellar Core interacts with the peer-to-peer network to keep a distributed ledger in sync, which means that your node needs to make certain [TCP ports](https://en.wikipedia.org/wiki/Transmission_Control_Protocol#TCP_ports) available for inbound and outbound communication.

Expand Down

0 comments on commit f981d8f

Please sign in to comment.