Skip to content

Commit d85f29f

Browse files
kenrogersgitbook-bot
authored andcommitted
GITBOOK-247: Link fix and text change
1 parent 201c86b commit d85f29f

File tree

2 files changed

+31
-54
lines changed

2 files changed

+31
-54
lines changed

guides-and-tutorials/nodes-and-miners/run-a-node-with-docker.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ While you _can_ run a node using these specs, it's _recommended_ to assign more
2525
* **1TB disk space for Bitcoin node**
2626

2727
{% hint style="warning" %}
28-
MacOS with an ARM processor is NOT recommended
28+
MacOS with an ARM (M-series chip) processor is NOT recommended
2929

30-
The way Docker for Mac on an Arm CPU is designed makes the I/O incredibly slow, and blockchains are _**very**_ heavy on I/O. This only seems to affect MacOS, other Arm based systems like Raspberry Pi work as expected.
30+
The way Docker for Mac on an Arm CPU is designed makes the I/O incredibly slow, and blockchains are _**very**_ heavy on I/O. This only seems to affect MacOS with the M-series chip, other Arm based systems like Raspberry Pi work as expected.
3131
{% endhint %}
3232

3333
### **Quickstart**

guides-and-tutorials/running-a-signer/best-practices-to-run-a-signer.md

+29-52
Original file line numberDiff line numberDiff line change
@@ -12,79 +12,56 @@ tl;dr: avoid single point of failures, introduce redundancy, monitor things.
1212

1313
### Monitor your Signer and collect logs
1414

15-
- See
16-
[here](https://www.notion.so/guides-and-tutorials/running-a-signer/how-to-monitor-signer.md)
17-
on how to set up monitoring.
18-
- Retain at least 1 week of logs for both the Signer and the Stacks node.
15+
* See [here](how-to-monitor-signer.md) on how to set up monitoring.
16+
* Retain at least 1 week of logs for both the Signer and the Stacks node.
1917

2018
### Downstream components
2119

22-
- Run a *dedicated* Bitcoin node and Stacks node per Signer.
23-
- Ensure the nodes are provisioned with the minimum hardware requirements
24-
described
25-
[here](https://docs.stacks.co/guides-and-tutorials/running-a-signer#minimum-system-requirements).
26-
- Nodes should be *exclusively dedicated* to serve the Signer. Avoid
27-
re-using them to serve other clients as that may negatively affect
28-
performance (no *mock-signing*, no *Stacks API nodes*).
29-
- If running dedicated nodes is not possible, then ensure that the Bitcoin /
30-
Stacks nodes do not become single point of failures for *multiple* signers
31-
depending on them.
32-
- Introduce redundancy, load balancing, rely on a robust Bitcoin RPC
33-
provider, etc.
20+
* Run a _dedicated_ Bitcoin node and Stacks node per Signer.
21+
* Ensure the nodes are provisioned with the minimum hardware requirements described [here](https://docs.stacks.co/guides-and-tutorials/running-a-signer#minimum-system-requirements).
22+
* Nodes should be _exclusively dedicated_ to serve the Signer. Avoid re-using them to serve other clients as that may negatively affect performance (no _mock-signing_, no _Stacks API nodes_).
23+
* If running dedicated nodes is not possible, then ensure that the Bitcoin / Stacks nodes do not become single point of failures for _multiple_ signers depending on them.
24+
* Introduce redundancy, load balancing, rely on a robust Bitcoin RPC provider, etc.
3425

3526
### Split voting power across multiple Signers
3627

37-
- Distribute your voting power across multiple, distinct Signer public keys to
38-
mitigate the risk of loss or downtime from a single compromised key.
39-
- Each Signer should also limit voting power to a maximum amount and invite
40-
Stackers to use a different Signer when the limit is reached.
28+
* Distribute your voting power across multiple, distinct Signer public keys to mitigate the risk of loss or downtime from a single compromised key.
29+
* Each Signer should also limit voting power to a maximum amount and invite Stackers to use a different Signer when the limit is reached.
4130

4231
### Monitor new software releases
4332

44-
- Stay up-to-date with new releases, patches, and security advisories (e.g.,
45-
GitHub, mailing lists, Discord).
46-
- Apply updates as quickly as possible, especially those addressing a security
47-
vulnerability.
33+
* Stay up-to-date with new releases, patches, and security advisories (e.g., GitHub, mailing lists, Discord).
34+
* Apply updates as quickly as possible, especially those addressing a security vulnerability.
4835

4936
### Upgrade procedures
5037

51-
- Upgrading one Signer instance at the time.
52-
- Test the update on one instance and, if successful, proceed to the others.
53-
- While your Signer is offline for upgrades, it won't sign any blocks. Ensure
54-
that the downtime is as short as possible.
38+
* Upgrading one Signer instance at the time.
39+
* Test the update on one instance and, if successful, proceed to the others.
40+
* While your Signer is offline for upgrades, it won't sign any blocks. Ensure that the downtime is as short as possible.
5541

5642
### Diversified hosting
5743

58-
- Use different provider / configuration where feasible (e.g., a self-hosted
59-
instance and one in the cloud, or in two different data center regions, etc.).
60-
- Ensure each host has redundant power supply and network connectivity.
44+
* Use different provider / configuration where feasible (e.g., a self-hosted instance and one in the cloud, or in two different data center regions, etc.).
45+
* Ensure each host has redundant power supply and network connectivity.
6146

6247
### Fall-back deployments
6348

64-
- Deploy additional Stacks nodes and Bitcoin nodes to be used as fall-back.
65-
- Use the same configuration as your _active_ instances.
66-
- For the Stacks node, comment out the `event_observer` section.
67-
- Prepare a backup Signer (same configuration) to be quickly activated, but _do
68-
not run it_.
69-
- At all times, there should be _exactly_ one Signer instance running for each
70-
Signer private key.
71-
- These instances should be hosted on separate physical hosts (see *diversified
72-
hosting*) from the instances usually active in operations (serving each
73-
Signer).
74-
- If an active instance (e.g., the Signer, the Stacks node or the Bitcoin node)
75-
fails, you can quickly switch to the fall-back configuration to continue
76-
operations. To do that:
77-
- Run the backup Signer.
78-
- Enable the `event_observer` section of the Node configuration.
79-
- Restart the node.
49+
* Deploy additional Stacks nodes and Bitcoin nodes to be used as fall-back.
50+
* Use the same configuration as your _active_ instances.
51+
* For the Stacks node, comment out the `event_observer` section.
52+
* Prepare a backup Signer (same configuration) to be quickly activated, but _do not run it_.
53+
* At all times, there should be _exactly_ one Signer instance running for each Signer private key.
54+
* These instances should be hosted on separate physical hosts (see _diversified hosting_) from the instances usually active in operations (serving each Signer).
55+
* If an active instance (e.g., the Signer, the Stacks node or the Bitcoin node) fails, you can quickly switch to the fall-back configuration to continue operations. To do that:
56+
* Run the backup Signer.
57+
* Enable the `event_observer` section of the Node configuration.
58+
* Restart the node.
8059

8160
### Redundancy in operations
8261

83-
- Ensure that multiple, trusted users can manage and maintain signer instances.
84-
- Where feasible, users should span different timezones.
62+
* Ensure that multiple, trusted users can manage and maintain signer instances.
63+
* Where feasible, users should span different timezones.
8564

8665
### Backup signer keys in cold-storage
8766

88-
- Keep an offline, secure backup of all Signer private keys (e.g., hardware
89-
security modules or encrypted storage devices).
90-
67+
* Keep an offline, secure backup of all Signer private keys (e.g., hardware security modules or encrypted storage devices).

0 commit comments

Comments
 (0)