From 1521ef53fba6769546687775a7d9630bafe3c7cd Mon Sep 17 00:00:00 2001 From: Yorick Downe Date: Sat, 29 Aug 2026 10:00:46 +0100 Subject: [PATCH] Swtch to mdx --- ...knowledgements.md => Acknowledgements.mdx} | 0 .../About/{Changelog.md => Changelog.mdx} | 6 ++-- .../docs/About/{Clients.md => Clients.mdx} | 2 +- .../docs/About/{Overview.md => Overview.mdx} | 8 ++--- .../docs/About/{Rewards.md => Rewards.mdx} | 0 .../{SecurityAudit.md => SecurityAudit.mdx} | 0 .../{AddValidator.md => AddValidator.mdx} | 0 ...s.md => ChangingWithdrawalCredentials.mdx} | 0 website/docs/Support/{Cloud.md => Cloud.mdx} | 4 +-- website/docs/Support/{Exit.md => Exit.mdx} | 0 ...HelpfulWebsites.md => HelpfulWebsites.mdx} | 0 .../docs/Support/{Moving.md => Moving.mdx} | 0 ...Recommendations.md => Recommendations.mdx} | 0 .../{SwitchClient.md => SwitchClient.mdx} | 8 ++--- ...Troubleshooting.md => Troubleshooting.mdx} | 0 .../docs/Support/{Update.md => Update.mdx} | 2 +- .../docs/Support/{Windows.md => Windows.mdx} | 2 +- website/docs/Support/{ipv6.md => ipv6.mdx} | 4 +-- .../{ClientSetup.md => ClientSetup.mdx} | 4 +-- .../{Contributoor.md => Contributoor.mdx} | 0 .../{MultiNodes.md => MultiNodes.mdx} | 0 .../docs/Usage/Advanced/{PBS.md => PBS.mdx} | 0 .../Advanced/{RPCProxy.md => RPCProxy.mdx} | 0 .../{Rocketpool.md => Rocketpool.mdx} | 0 .../docs/Usage/Advanced/{SSV.md => SSV.mdx} | 2 +- .../{SharedPorts.md => SharedPorts.mdx} | 2 +- .../{SharedUser.md => SharedUser.mdx} | 0 .../Advanced/{Slasher.md => Slasher.mdx} | 0 .../docs/Usage/Advanced/{Vero.md => Vero.mdx} | 2 +- .../Usage/{Dashboards.md => Dashboards.mdx} | 0 .../docs/Usage/{Hardware.md => Hardware.mdx} | 32 +++++++++++-------- .../Usage/{ImportKeys.md => ImportKeys.mdx} | 8 ++--- .../{LinuxSecurity.md => LinuxSecurity.mdx} | 4 +-- .../Usage/{Networking.md => Networking.mdx} | 2 +- .../Usage/{NodeTypes.md => NodeTypes.mdx} | 0 .../{Prerequisites.md => Prerequisites.mdx} | 2 +- .../Usage/{QuickStart.md => QuickStart.mdx} | 21 ++++++------ .../{ResourceUsage.md => ResourceUsage.mdx} | 2 +- .../{ReverseProxy.md => ReverseProxy.mdx} | 0 website/docs/Usage/{WebUI.md => WebUI.mdx} | 0 40 files changed, 60 insertions(+), 57 deletions(-) rename website/docs/About/{Acknowledgements.md => Acknowledgements.mdx} (100%) rename website/docs/About/{Changelog.md => Changelog.mdx} (99%) rename website/docs/About/{Clients.md => Clients.mdx} (95%) rename website/docs/About/{Overview.md => Overview.mdx} (93%) rename website/docs/About/{Rewards.md => Rewards.mdx} (100%) rename website/docs/About/{SecurityAudit.md => SecurityAudit.mdx} (100%) rename website/docs/Support/{AddValidator.md => AddValidator.mdx} (100%) rename website/docs/Support/{ChangingWithdrawalCredentials.md => ChangingWithdrawalCredentials.mdx} (100%) rename website/docs/Support/{Cloud.md => Cloud.mdx} (98%) rename website/docs/Support/{Exit.md => Exit.mdx} (100%) rename website/docs/Support/{HelpfulWebsites.md => HelpfulWebsites.mdx} (100%) rename website/docs/Support/{Moving.md => Moving.mdx} (100%) rename website/docs/Support/{Recommendations.md => Recommendations.mdx} (100%) rename website/docs/Support/{SwitchClient.md => SwitchClient.mdx} (94%) rename website/docs/Support/{Troubleshooting.md => Troubleshooting.mdx} (100%) rename website/docs/Support/{Update.md => Update.mdx} (97%) rename website/docs/Support/{Windows.md => Windows.mdx} (97%) rename website/docs/Support/{ipv6.md => ipv6.mdx} (92%) rename website/docs/Usage/Advanced/{ClientSetup.md => ClientSetup.mdx} (97%) rename website/docs/Usage/Advanced/{Contributoor.md => Contributoor.mdx} (100%) rename website/docs/Usage/Advanced/{MultiNodes.md => MultiNodes.mdx} (100%) rename website/docs/Usage/Advanced/{PBS.md => PBS.mdx} (100%) rename website/docs/Usage/Advanced/{RPCProxy.md => RPCProxy.mdx} (100%) rename website/docs/Usage/Advanced/{Rocketpool.md => Rocketpool.mdx} (100%) rename website/docs/Usage/Advanced/{SSV.md => SSV.mdx} (96%) rename website/docs/Usage/Advanced/{SharedPorts.md => SharedPorts.mdx} (95%) rename website/docs/Usage/Advanced/{SharedUser.md => SharedUser.mdx} (100%) rename website/docs/Usage/Advanced/{Slasher.md => Slasher.mdx} (100%) rename website/docs/Usage/Advanced/{Vero.md => Vero.mdx} (97%) rename website/docs/Usage/{Dashboards.md => Dashboards.mdx} (100%) rename website/docs/Usage/{Hardware.md => Hardware.mdx} (72%) rename website/docs/Usage/{ImportKeys.md => ImportKeys.mdx} (93%) rename website/docs/Usage/{LinuxSecurity.md => LinuxSecurity.mdx} (99%) rename website/docs/Usage/{Networking.md => Networking.mdx} (93%) rename website/docs/Usage/{NodeTypes.md => NodeTypes.mdx} (100%) rename website/docs/Usage/{Prerequisites.md => Prerequisites.mdx} (99%) rename website/docs/Usage/{QuickStart.md => QuickStart.mdx} (74%) rename website/docs/Usage/{ResourceUsage.md => ResourceUsage.mdx} (99%) rename website/docs/Usage/{ReverseProxy.md => ReverseProxy.mdx} (100%) rename website/docs/Usage/{WebUI.md => WebUI.mdx} (100%) diff --git a/website/docs/About/Acknowledgements.md b/website/docs/About/Acknowledgements.mdx similarity index 100% rename from website/docs/About/Acknowledgements.md rename to website/docs/About/Acknowledgements.mdx diff --git a/website/docs/About/Changelog.md b/website/docs/About/Changelog.mdx similarity index 99% rename from website/docs/About/Changelog.md rename to website/docs/About/Changelog.mdx index a976445a..cea04bf3 100644 --- a/website/docs/About/Changelog.md +++ b/website/docs/About/Changelog.mdx @@ -526,7 +526,7 @@ The headline feature is support for the Ethrex and Anchor clients. - Require Lodestar `1.34.1` or later - Require Reth `1.8.0` or later - `nodeexporter` uses `host` networking, which uses a configurable port and requires changes to `ufw` **if** -ufw has been placed "in front of" Docker, see [Cloud Security](../Support/Cloud.md). +ufw has been placed "in front of" Docker, see [Cloud Security](../Support/Cloud.mdx). Changes - Support Ethrex execution client @@ -2190,7 +2190,7 @@ from scratch of the DB. *This is an optional upgrade, that contains new features* * `sudo ./ethd prune-geth` simplifies pruning Geth -* Separating consensus client and validator client is now supported for Teku, Lighthouse and Prysm. Please see the [Secure Web Proxy](../Usage/ReverseProxy.md) instructions. +* Separating consensus client and validator client is now supported for Teku, Lighthouse and Prysm. Please see the [Secure Web Proxy](../Usage/ReverseProxy.mdx) instructions. ## v1.2.5.2 2021-06-07 *This is a bugfix upgrade* @@ -2307,7 +2307,7 @@ instructions. a breaking change for existing Grafana, Prysm Web and shared/standalone eth1 clients. You will need to add `grafana-insecure.yml`, `prysm-web-insecure.yml`, `eth1-insecure.yml`, depending on service you use, to your `COMPOSE_FILE` inside `.env`. Alternatively and recommended, add `traefik-cf.yml` or `traefik-aws.yml` - and start using secure https:// ! Please see [reverse proxy instructions](../Usage/ReverseProxy.md). + and start using secure https:// ! Please see [reverse proxy instructions](../Usage/ReverseProxy.mdx). * Added wizard.sh shell script for quick initial setup * Added node reporter Grafana dashboard to alert on low CPU, Memory or Disk Space diff --git a/website/docs/About/Clients.md b/website/docs/About/Clients.mdx similarity index 95% rename from website/docs/About/Clients.md rename to website/docs/About/Clients.mdx index face04e2..028c6ae2 100644 --- a/website/docs/About/Clients.md +++ b/website/docs/About/Clients.mdx @@ -33,4 +33,4 @@ Currently supported additional options: - Grafana dashboard - slasher - running slasher is optional and requires additional resources -Please see [Prysm Web](../Usage/WebUI.md) for Web UI support on Prysm. +Please see [Prysm Web](../Usage/WebUI.mdx) for Web UI support on Prysm. diff --git a/website/docs/About/Overview.md b/website/docs/About/Overview.mdx similarity index 93% rename from website/docs/About/Overview.md rename to website/docs/About/Overview.mdx index 8017a1f1..6950a5aa 100644 --- a/website/docs/About/Overview.md +++ b/website/docs/About/Overview.mdx @@ -14,17 +14,17 @@ with full control for advanced users. Recommended hardware, whether your own hardware or a VPS, is: - 32 to 64 GiB of RAM - 16 GiB works but can be challenging depending on client mix - 4 to 8 CPU cores -- 4TB ["mainstream" SSD](https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038) - TLC and DRAM. +- 2TB to 4TB ["mainstream" SSD](https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038) - TLC and DRAM. ## Getting started After installing Linux, either Debian or [Ubuntu](https://docs.ethstaker.org/tutorials/installing-linux), -please take a look at the [Quick Start](../Usage/QuickStart.md) instructions. +please take a look at the [Quick Start](../Usage/QuickStart.mdx) instructions. If you wish to use a separate drive for Ethereum data, please check how to -[tell Docker to use a second drive](../Usage/Prerequisites.md#change-docker-storage-location). +[tell Docker to use a second drive](../Usage/Prerequisites.mdx#change-docker-storage-location). -macOS and Windows users should start at the [Prerequisites](../Usage/Prerequisites.md#macos-prerequisites). +macOS and Windows users should start at the [Prerequisites](../Usage/Prerequisites.mdx#macos-prerequisites). ## Node components diff --git a/website/docs/About/Rewards.md b/website/docs/About/Rewards.mdx similarity index 100% rename from website/docs/About/Rewards.md rename to website/docs/About/Rewards.mdx diff --git a/website/docs/About/SecurityAudit.md b/website/docs/About/SecurityAudit.mdx similarity index 100% rename from website/docs/About/SecurityAudit.md rename to website/docs/About/SecurityAudit.mdx diff --git a/website/docs/Support/AddValidator.md b/website/docs/Support/AddValidator.mdx similarity index 100% rename from website/docs/Support/AddValidator.md rename to website/docs/Support/AddValidator.mdx diff --git a/website/docs/Support/ChangingWithdrawalCredentials.md b/website/docs/Support/ChangingWithdrawalCredentials.mdx similarity index 100% rename from website/docs/Support/ChangingWithdrawalCredentials.md rename to website/docs/Support/ChangingWithdrawalCredentials.mdx diff --git a/website/docs/Support/Cloud.md b/website/docs/Support/Cloud.mdx similarity index 98% rename from website/docs/Support/Cloud.md rename to website/docs/Support/Cloud.mdx index 342e8e81..64f17c08 100644 --- a/website/docs/Support/Cloud.md +++ b/website/docs/Support/Cloud.mdx @@ -8,7 +8,7 @@ For the most part, nothing special needs to be done to run Eth Docker on a VPS. filter the traffic that can reach the machine: This is definitely not desirable for unsecured ports like Grafana or execution client, if the shared option is being used. All that should be reachable are the P2P ports. -The arguably best way to secure Grafana and execution client ports is via encryption. For this, please see the [secure proxy](../Usage/ReverseProxy.md) +The arguably best way to secure Grafana and execution client ports is via encryption. For this, please see the [secure proxy](../Usage/ReverseProxy.mdx) instructions. If you prefer to keep the ports unencrypted and wish to secure them via ufw, please read on. @@ -142,7 +142,7 @@ to the actual defaults by adding more specific rules. For the Docker default sub `after.rules`. > With ISP traffic caps, it could be quite attractive to run the execution client in a small VPS, and reference it from a consensus client somewhere -> else. This requires a [secure proxy](../Usage/ReverseProxy.md). +> else. This requires a [secure proxy](../Usage/ReverseProxy.mdx). ## Allowing IPv6 traffic diff --git a/website/docs/Support/Exit.md b/website/docs/Support/Exit.mdx similarity index 100% rename from website/docs/Support/Exit.md rename to website/docs/Support/Exit.mdx diff --git a/website/docs/Support/HelpfulWebsites.md b/website/docs/Support/HelpfulWebsites.mdx similarity index 100% rename from website/docs/Support/HelpfulWebsites.md rename to website/docs/Support/HelpfulWebsites.mdx diff --git a/website/docs/Support/Moving.md b/website/docs/Support/Moving.mdx similarity index 100% rename from website/docs/Support/Moving.md rename to website/docs/Support/Moving.mdx diff --git a/website/docs/Support/Recommendations.md b/website/docs/Support/Recommendations.mdx similarity index 100% rename from website/docs/Support/Recommendations.md rename to website/docs/Support/Recommendations.mdx diff --git a/website/docs/Support/SwitchClient.md b/website/docs/Support/SwitchClient.mdx similarity index 94% rename from website/docs/Support/SwitchClient.md rename to website/docs/Support/SwitchClient.mdx index 9482be9b..06f51bd3 100644 --- a/website/docs/Support/SwitchClient.md +++ b/website/docs/Support/SwitchClient.mdx @@ -193,7 +193,7 @@ Observe consensus client logs with `./ethd logs -f consensus`, see that it check **Exercise extreme caution. Running your validators in two locations at once would lead to slashing** -Follow the [moving a validator](../Support/Moving.md) instructions. You'll be inside the old directory, e.g. `~/eth-docker`, for the first part where you delete the keys and make sure they are gone, and inside the new directory, e.g. `~/eth-staker`, for the second part where you import the keys again. +Follow the [moving a validator](../Support/Moving.mdx) instructions. You'll be inside the old directory, e.g. `~/eth-docker`, for the first part where you delete the keys and make sure they are gone, and inside the new directory, e.g. `~/eth-staker`, for the second part where you import the keys again. ### 4. Shut down the old client and remove its storage @@ -283,7 +283,7 @@ Verify that the validator can't find them: `sudo systemctl start prysmvalidator` `sudo systemctl stop prysmvalidator` and `sudo systemctl disable prysmvalidator` to shut it down for good. -Follow the [moving a validator](../Support/Moving.md#import-keys-into-new-client) instructions. You already removed the keys: Wait 15 minutes after that to protect against slashing, then import them again from inside the `~/eth-docker` directory. +Follow the [moving a validator](../Support/Moving.mdx#import-keys-into-new-client) instructions. You already removed the keys: Wait 15 minutes after that to protect against slashing, then import them again from inside the `~/eth-docker` directory. #### Metanull's guide @@ -293,7 +293,7 @@ Verify that the validator can't find them: `sudo systemctl start validator` and `sudo systemctl stop validator` and `sudo systemctl disable validator` to shut it down for good. -Follow the [moving a validator](../Support/Moving.md#import-keys-into-new-client) instructions. You already removed the keys: Wait 15 minutes after that to protect against slashing, then import them again from inside the `~/eth-docker` directory. +Follow the [moving a validator](../Support/Moving.mdx#import-keys-into-new-client) instructions. You already removed the keys: Wait 15 minutes after that to protect against slashing, then import them again from inside the `~/eth-docker` directory. #### Coincashew's guide @@ -303,7 +303,7 @@ Verify that the validator can't find them: `sudo systemctl start validator` and `sudo systemctl stop validator` and `sudo systemctl disable validator` to shut it down for good. -Follow the [moving a validator](../Support/Moving.md#import-keys-into-new-client) instructions. You already removed the keys: Wait 15 minutes after that to protect against slashing, then import them again from inside the `~/eth-docker` directory. +Follow the [moving a validator](../Support/Moving.mdx#import-keys-into-new-client) instructions. You already removed the keys: Wait 15 minutes after that to protect against slashing, then import them again from inside the `~/eth-docker` directory. ### 3. Remove old beacon database diff --git a/website/docs/Support/Troubleshooting.md b/website/docs/Support/Troubleshooting.mdx similarity index 100% rename from website/docs/Support/Troubleshooting.md rename to website/docs/Support/Troubleshooting.mdx diff --git a/website/docs/Support/Update.md b/website/docs/Support/Update.mdx similarity index 97% rename from website/docs/Support/Update.md rename to website/docs/Support/Update.mdx index 1901fde1..d2ffea64 100644 --- a/website/docs/Support/Update.md +++ b/website/docs/Support/Update.mdx @@ -31,7 +31,7 @@ Inside the project directory, run: Then `cp .env .env.bak` and `cp default.env .env`, and set variables inside `.env` the way you need them, with `.env.bak` as a guide. -Updating the tool itself is not always necessary. Please refer to the [Changelog](../About/Changelog.md) to see +Updating the tool itself is not always necessary. Please refer to the [Changelog](../About/Changelog.mdx) to see whether changes have been made that you may want to use. ## Optional: Manually update the client "stack" diff --git a/website/docs/Support/Windows.md b/website/docs/Support/Windows.mdx similarity index 97% rename from website/docs/Support/Windows.md rename to website/docs/Support/Windows.mdx index c67a2959..c5d0104d 100644 --- a/website/docs/Support/Windows.md +++ b/website/docs/Support/Windows.mdx @@ -84,7 +84,7 @@ task to keep WSL in sync with your Windows clock. From non-admin Powershell, run `schtasks /Create /TN WSLTimeSync /TR "wsl -u root hwclock -s" /SC ONEVENT /EC System /MO "*[System[Provider[@Name='Microsoft-Windows-Kernel-Power'] and (EventID=107 or EventID=507) or Provider[@Name='Microsoft-Windows-Kernel-General'] and (EventID=1)]]" /F`. Docker -- Use the [QuickStart](../Usage/QuickStart.md) instructions to install Eth Docker and get Docker-CE installed in Ubuntu. Log out and back in so your user can run Docker commands. +- Use the [QuickStart](../Usage/QuickStart.mdx) instructions to install Eth Docker and get Docker-CE installed in Ubuntu. Log out and back in so your user can run Docker commands. Start on boot - Your node needs to run after Windows reboot for 24/7 uptime. WSL only starts well with a logged-in user. diff --git a/website/docs/Support/ipv6.md b/website/docs/Support/ipv6.mdx similarity index 92% rename from website/docs/Support/ipv6.md rename to website/docs/Support/ipv6.mdx index 17935c1e..dcdf00c6 100644 --- a/website/docs/Support/ipv6.md +++ b/website/docs/Support/ipv6.mdx @@ -46,10 +46,10 @@ addresses. ## Security `ufw` integration works; ports mapped to host can be blocked by a v6 deny rule. As with v4, ufw needs to be -["in front of Docker"](../Support/Cloud.md) for this to work. +["in front of Docker"](../Support/Cloud.mdx) for this to work. Note that host-mapped ports may not be reachable by default if ufw has been enabled. If you use ufw, please -place it ["in front of Docker"](../Support/Cloud.md) and configure explicit allow rules for your P2P ports. +place it ["in front of Docker"](../Support/Cloud.mdx) and configure explicit allow rules for your P2P ports. On your LAN firewall, if this is in a LAN, you'd need rules to allow the P2P ports incoming to the v6 address of your node. diff --git a/website/docs/Usage/Advanced/ClientSetup.md b/website/docs/Usage/Advanced/ClientSetup.mdx similarity index 97% rename from website/docs/Usage/Advanced/ClientSetup.md rename to website/docs/Usage/Advanced/ClientSetup.mdx index 0aa94e3c..91986448 100644 --- a/website/docs/Usage/Advanced/ClientSetup.md +++ b/website/docs/Usage/Advanced/ClientSetup.mdx @@ -118,9 +118,9 @@ Optionally, add encryption to the Grafana and/or Prysm Web pages: - `traefik-aws.yml` - use encrypting secure web proxy and use AWS Route53 for DNS management - `el-traefik.yml,` `cl-traefik.yml`, `ee-traefik.yml` - advanced use, use traefik for access to execution RPC, consensus REST and execution engine RPC API ports respectively. Be very cautious with these, always -[firewall](../../Support/Cloud.md) that access to trusted source IPs. +[firewall](../../Support/Cloud.mdx) that access to trusted source IPs. -With these, you wouldn't use the `-shared.yml` files. Please see [Secure Web Proxy Instructions](../../Usage/ReverseProxy.md) +With these, you wouldn't use the `-shared.yml` files. Please see [Secure Web Proxy Instructions](../../Usage/ReverseProxy.mdx) for setup instructions for either option. For example, Teku with Besu: diff --git a/website/docs/Usage/Advanced/Contributoor.md b/website/docs/Usage/Advanced/Contributoor.mdx similarity index 100% rename from website/docs/Usage/Advanced/Contributoor.md rename to website/docs/Usage/Advanced/Contributoor.mdx diff --git a/website/docs/Usage/Advanced/MultiNodes.md b/website/docs/Usage/Advanced/MultiNodes.mdx similarity index 100% rename from website/docs/Usage/Advanced/MultiNodes.md rename to website/docs/Usage/Advanced/MultiNodes.mdx diff --git a/website/docs/Usage/Advanced/PBS.md b/website/docs/Usage/Advanced/PBS.mdx similarity index 100% rename from website/docs/Usage/Advanced/PBS.md rename to website/docs/Usage/Advanced/PBS.mdx diff --git a/website/docs/Usage/Advanced/RPCProxy.md b/website/docs/Usage/Advanced/RPCProxy.mdx similarity index 100% rename from website/docs/Usage/Advanced/RPCProxy.md rename to website/docs/Usage/Advanced/RPCProxy.mdx diff --git a/website/docs/Usage/Advanced/Rocketpool.md b/website/docs/Usage/Advanced/Rocketpool.mdx similarity index 100% rename from website/docs/Usage/Advanced/Rocketpool.md rename to website/docs/Usage/Advanced/Rocketpool.mdx diff --git a/website/docs/Usage/Advanced/SSV.md b/website/docs/Usage/Advanced/SSV.mdx similarity index 96% rename from website/docs/Usage/Advanced/SSV.md rename to website/docs/Usage/Advanced/SSV.mdx index 586e09a2..5e8e0f2e 100644 --- a/website/docs/Usage/Advanced/SSV.md +++ b/website/docs/Usage/Advanced/SSV.mdx @@ -63,7 +63,7 @@ same way, you expect it to work, as well. Grafana dashboards are included. -Please see the [secure proxy](../../Usage/ReverseProxy.md) docs if you'd like to run Grafana on a secured https port, +Please see the [secure proxy](../../Usage/ReverseProxy.mdx) docs if you'd like to run Grafana on a secured https port, rather than insecure 3000. ## Debug logs diff --git a/website/docs/Usage/Advanced/SharedPorts.md b/website/docs/Usage/Advanced/SharedPorts.mdx similarity index 95% rename from website/docs/Usage/Advanced/SharedPorts.md rename to website/docs/Usage/Advanced/SharedPorts.mdx index 69242880..e581d3b2 100644 --- a/website/docs/Usage/Advanced/SharedPorts.md +++ b/website/docs/Usage/Advanced/SharedPorts.mdx @@ -20,6 +20,6 @@ from the host. To be used alongside one of the consensus client yml files. **Not available from the host. To be used alongside one of the execution client yml files. **Not encrypted**, do not expose to Internet. -- `CLIENT-cl-only.yml` - for running a [distributed consensus client and validator client](../../Usage/ReverseProxy.md) +- `CLIENT-cl-only.yml` - for running a [distributed consensus client and validator client](../../Usage/ReverseProxy.mdx) setup. - `CLIENT-vc-only.yml` - the other side of the distributed client setup. diff --git a/website/docs/Usage/Advanced/SharedUser.md b/website/docs/Usage/Advanced/SharedUser.mdx similarity index 100% rename from website/docs/Usage/Advanced/SharedUser.md rename to website/docs/Usage/Advanced/SharedUser.mdx diff --git a/website/docs/Usage/Advanced/Slasher.md b/website/docs/Usage/Advanced/Slasher.mdx similarity index 100% rename from website/docs/Usage/Advanced/Slasher.md rename to website/docs/Usage/Advanced/Slasher.mdx diff --git a/website/docs/Usage/Advanced/Vero.md b/website/docs/Usage/Advanced/Vero.mdx similarity index 97% rename from website/docs/Usage/Advanced/Vero.md rename to website/docs/Usage/Advanced/Vero.mdx index 57d85b95..b0a506b1 100644 --- a/website/docs/Usage/Advanced/Vero.md +++ b/website/docs/Usage/Advanced/Vero.mdx @@ -175,7 +175,7 @@ and `./ethd logs -f --tail 50 execution` and `./ethd logs -f --tail 50 mev-boost ## Vero on separate machines Very similar, just do not use aliases or `ext-network.yml`, and use either `cl-shared.yml` or `cl-traefik.yml:traefik-cf.yml`, -see also [port sharing](./SharedPorts.md) and [reverse proxy](../ReverseProxy.md) instructions. Vero would then have a `CL_NODE` to point to each machine's IP address +see also [port sharing](./SharedPorts.mdx) and [reverse proxy](../ReverseProxy.mdx) instructions. Vero would then have a `CL_NODE` to point to each machine's IP address or if using traefik, to the FQDN of each CL ## Grafana monitoring diff --git a/website/docs/Usage/Dashboards.md b/website/docs/Usage/Dashboards.mdx similarity index 100% rename from website/docs/Usage/Dashboards.md rename to website/docs/Usage/Dashboards.mdx diff --git a/website/docs/Usage/Hardware.md b/website/docs/Usage/Hardware.mdx similarity index 72% rename from website/docs/Usage/Hardware.md rename to website/docs/Usage/Hardware.mdx index a3356056..e7866a43 100644 --- a/website/docs/Usage/Hardware.md +++ b/website/docs/Usage/Hardware.mdx @@ -7,7 +7,7 @@ sidebar_label: Hardware Recommended hardware: * 32 to 64 GiB of RAM - 16 GiB works but can be challenging depending on client mix * 4 to 8 CPU cores -* 4TB ["mainstream" SSD](https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038) - TLC and DRAM +* 2TB to 4TB ["mainstream" SSD](https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038) - TLC and DRAM Generally, 8 GiB of RAM is a very tight fit, with only Nimbus/Geth reported to work. 16 GiB can be a tight fit depending on client mix, and 32 GiB is recommended. 64 GiB makes it possible to run additional services or @@ -15,15 +15,15 @@ even 3 different client combinations for safety. For 16 GiB RAM, a Nimbus/Nether 4+ CPU cores are recommended to deal with spikes in processing. -An SSD is required for storage because the node databases are so IOPS-heavy. An Ethereum mainnet node takes ~ 1.1 TiB -of storage initially, as of Jan 2024. The on-disk growth pattern differs between execution clients, see -[resource use](../Usage/ResourceUsage.md). +An SSD is required for storage because the node databases are so IOPS-heavy. An Ethereum full mainnet node takes ~ 1.8 TiB +of storage initially. An Ethereum mainnet node with rolling history expiry takes around ~500 GiB of storage. Both as of +August 2026. +The on-disk size differs between execution clients, see [resource use](../Usage/ResourceUsage.mdx). -If you have a 2TB disk, it is expected to last (potentially with execution client pruning) until early 2025. +If you have a 2TB disk, it is expected to last indefinitely with rolling history expiry and eventually mandatory proofs. Remy wrote a [migration guide to 4TB](https://docs.ethstaker.org/guides/monitoring-maintenance/migrating-to-a-larger-disk/). -Also keep an eye on [EIP-4444](https://eips.ethereum.org/EIPS/eip-4444). -Two home server builds that I like and am happy to recommend are below. Both Intel and AMD support IPMI, which means +Some home server builds that I like and am happy to recommend are below. Both Intel and AMD support IPMI, which means they can be managed and power-cycled remotely and need neither a GPU nor monitor. Both support ECC RAM, though the AMD option as of Sept 2020 was unable to report ECC errors via IPMI, only OS-level reporting worked. @@ -32,21 +32,27 @@ option as of Sept 2020 was unable to report ECC errors via IPMI, only OS-level r * mITX: * SuperMicro X11SCL-IF(-O) (1 NVMe) * Intel i3-9100F or Intel Xeon E-21xx/22xx (i5/7 do not support ECC) - ~ 840 USD with Fractal Node case and NVMe + * 32 GiB of DDR4 UDIMM ECC RAM (unbuffered, **not** registered) * SuperMicro X12STL-IF(-O) (1 NVMe) * Intel Xeon E-23xx + * 32 GiB of DDR4 UDIMM ECC RAM (unbuffered, **not** registered) * SuperMicro X13SCL-IF(-O) (1 NVMe) * Intel Xeon E-24xx + * 32 GiB of DDR5 UDIMM ECC RAM (unbuffered, **not** registered) * uATX: * SuperMicro X11SCL-F(-O) (1 NVMe) or X11SCH-F(-O) (2 NVMe). SCH supports an iGPU * Intel i3-9100(F) or Intel Xeon E-21xx/22xx(G) (i5/7 do not support ECC) - ~ 900 USD with Fractal Node case and + * 32 GiB of DDR4 UDIMM ECC RAM (unbuffered, **not** registered) NVMe * SuperMicro X12STL-F(-O) or X12STH-F(-O) (1 NVMe both). STH supports an iGPU * Intel Xeon E-23xx(G) + * 32 GiB of DDR4 UDIMM ECC RAM (unbuffered, **not** registered) * SuperMicro X13SCL-F(-O) (1 NVMe) or X13SCH-F(-O) (2 NVMe) * Intel Xeon E-24xx + * 32 GiB of DDR5 UDIMM ECC RAM (unbuffered, **not** registered) + * SuperMicro X13SCL-F(-O) (1 NVMe) or X13SCH-F(-O) (2 NVMe) * Common components: - * 32 GiB of Micron or Samsung DDR4 UDIMM ECC RAM (unbuffered, **not** registered) - * [4TB M.2 NVMe SSD](https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038) + * [2TB or 4TB M.2 NVMe SSD](https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038) **AMD** @@ -56,16 +62,14 @@ NVMe * AsRock Rack X470D4U or X570D4U (2 NVMe both) * Common components: * AMD Ryzen CPU (Zen2/3), but not APU (APUs do not support ECC) - * 32 GiB of Micron or Samsung DDR4 UDIMM ECC RAM (unbuffered, **not** registered) - * [4TB M.2 NVMe SSD](https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038) + * 32 GiB of DDR4 UDIMM ECC RAM (unbuffered, **not** registered) + * [2TB or 4TB M.2 NVMe SSD](https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038) * uATX Zen 4: * AsRock Rack B650D4U * AMD Ryzen 7000 CPU (Zen4), but not APU (APUs do not support ECC) * 32 GiB of DDR5 UDIMM ECC RAM (unbuffered, **not** registered) - * [4TB M.2 NVMe SSD](https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038) - -The SuperMicro eStore is one good source of UDIMM ECC, DDR4 and DDR5 both. + * [2TB or 4TB M.2 NVMe SSD](https://gist.github.com/yorickdowne/f3a3e79a573bf35767cd002cc977b038) Plus, obviously, a case, PSU, case fans. Pick your own. Well-liked options are Node 304 (mITX) and Node 804 (uATX) with Seasonic PSUs, but really any quality case that won't cook your components will do. For a small uATX form factor, diff --git a/website/docs/Usage/ImportKeys.md b/website/docs/Usage/ImportKeys.mdx similarity index 93% rename from website/docs/Usage/ImportKeys.md rename to website/docs/Usage/ImportKeys.mdx index 14d276ca..850a6945 100644 --- a/website/docs/Usage/ImportKeys.md +++ b/website/docs/Usage/ImportKeys.mdx @@ -6,7 +6,7 @@ sidebar_label: Import Validator Keys You will deposit ETH to the deposit contract, and receive staking rewards on this locked ETH in turn. -> **Vital** [Recommendations.md](../Support/Recommendations.md) has comments on key security. If you haven't +> **Vital** [Recommendations](../Support/Recommendations.mdx) has comments on key security. If you haven't read these yet, please do so now. You need to know how to guard your keystore password and your seed phrase (mnemonic). **Without the mnemonic, you may be unable to withdraw your funds. You need the seed phrase or your ETH could be gone forever.** ## Create keys @@ -77,7 +77,7 @@ rm .eth/seed_check/* You have the option of keeping the keys in web3signer, which means you will not need to move them if you switch CL clients. To enable web3signer, `nano .env` and set `WEB3SIGNER=true` and add `:web3signer.yml` to `COMPOSE_FILE`. -Do **not** run keys in both the client directly and web3signer. This can get you slashed. If you wish to switch to web3signer, and already have keys loaded, look at [switching instructions](../Support/SwitchClient.md). +Do **not** run keys in both the client directly and web3signer. This can get you slashed. If you wish to switch to web3signer, and already have keys loaded, look at [switching instructions](../Support/SwitchClient.mdx). ## Using the keymanager API to import keys @@ -114,11 +114,11 @@ replacing `PATHTOKEYS` with the actual path where they are. > once you have copied them off the node. You'll need the `deposit_data` file to > deposit at the launchpad. The `keystore-m` files can be safeguarded in case > the node needs to be rebuilt, or deleted and recreated from mnemonic if required. -> See [Recommendations.md](../Support/Recommendations.md) for some thoughts on key security. +> See [Recommendations](../Support/Recommendations.mdx) for some thoughts on key security. ## Importing keys from another validator instance -If you are migrating to Eth Docker from another validator node that uses systemd or some other init system, please see [SwitchClient](../Support/SwitchClient.md) and [Moving](../Support/Moving.md) for advice. Ultimately, you'll likely need to export your keys from your old client and move them to your new node manually, and then use Eth Docker's key management commands to import the keys into clients managed by Eth Docker. +If you are migrating to Eth Docker from another validator node that uses systemd or some other init system, please see [SwitchClient](../Support/SwitchClient.mdx) and [Moving](../Support/Moving.mdx) for advice. Ultimately, you'll likely need to export your keys from your old client and move them to your new node manually, and then use Eth Docker's key management commands to import the keys into clients managed by Eth Docker. For example, for moving from a system+prysm setup, you'll want to use prysm's [export functionality](https://docs.prylabs.network/docs/advanced/migrating-keys). For other clients, check their official documentation to find out how to export your validator keys. You can then use Eth Docker's key management API to import your keys with `./ethd keys import`. diff --git a/website/docs/Usage/LinuxSecurity.md b/website/docs/Usage/LinuxSecurity.mdx similarity index 99% rename from website/docs/Usage/LinuxSecurity.md rename to website/docs/Usage/LinuxSecurity.mdx index f4f8b0b1..15d92564 100644 --- a/website/docs/Usage/LinuxSecurity.md +++ b/website/docs/Usage/LinuxSecurity.mdx @@ -105,7 +105,7 @@ clients for faster peer acquisition. Docker will open execution and consensus client P2P (Peer to Peer) ports and the Grafana port automatically. Please make sure the Grafana port cannot be reached directly. If you need to get to Grafana remotely, an [SSH tunnel](https://www.howtogeek.com/168145/how-to-use-ssh-tunneling/) is a good choice. -For a VPS/cloud setup, please take a look at notes on [cloud security](../Support/Cloud.md). You'll want to +For a VPS/cloud setup, please take a look at notes on [cloud security](../Support/Cloud.mdx). You'll want to place ufw "in front of" Docker if you are using Grafana or a standalone execution client without a reverse proxy, and if your cloud provider does not offer firewall rules for the VPS. @@ -144,7 +144,7 @@ which means that the P2P ports need not be explicitly listed in ufw. > mapped by Docker, where the traffic originates somewhere on the same machine the container runs on, > and not from a machine somewhere else, will not be automatically handled by the Docker firewall rules, > and will require an explicit ufw rule. -> Steps to allow for this scenario are in [cloud security](../Support/Cloud.md) +> Steps to allow for this scenario are in [cloud security](../Support/Cloud.mdx) ## Additional and recommended Linux performance tuning diff --git a/website/docs/Usage/Networking.md b/website/docs/Usage/Networking.mdx similarity index 93% rename from website/docs/Usage/Networking.md rename to website/docs/Usage/Networking.mdx index 8028ed27..55e30539 100644 --- a/website/docs/Usage/Networking.md +++ b/website/docs/Usage/Networking.mdx @@ -29,4 +29,4 @@ By default, the clients use UDP/TCP 30303 and UDP/TCP 9000 as their P2P, "Peer t In a home network, nothing special is required for firewalling. You can use UFW and allow only OpenSSH, if you like. -If you are with a cloud provider and they do not offer a firewall, **and** you chose to use Grafana for monitoring, you'll want to make sure Grafana is firewalled so it is only reachable via SSH tunnel or traefik. Please see [Cloud Security](../Support/Cloud.md), how to set up a [secure proxy](../Usage/ReverseProxy.md) and this [Youtube walkthrough](https://www.youtube.com/watch?v=F2dL7j-sEHY&t=4s). +If you are with a cloud provider and they do not offer a firewall, **and** you chose to use Grafana for monitoring, you'll want to make sure Grafana is firewalled so it is only reachable via SSH tunnel or traefik. Please see [Cloud Security](../Support/Cloud.mdx), how to set up a [secure proxy](../Usage/ReverseProxy.mdx) and this [Youtube walkthrough](https://www.youtube.com/watch?v=F2dL7j-sEHY&t=4s). diff --git a/website/docs/Usage/NodeTypes.md b/website/docs/Usage/NodeTypes.mdx similarity index 100% rename from website/docs/Usage/NodeTypes.md rename to website/docs/Usage/NodeTypes.mdx diff --git a/website/docs/Usage/Prerequisites.md b/website/docs/Usage/Prerequisites.mdx similarity index 99% rename from website/docs/Usage/Prerequisites.md rename to website/docs/Usage/Prerequisites.mdx index 1123e1b9..74631165 100644 --- a/website/docs/Usage/Prerequisites.md +++ b/website/docs/Usage/Prerequisites.mdx @@ -429,7 +429,7 @@ and verify it's 5.x or higher. ## Windows 11 -It is technically possible to run Eth Docker on [Windows 11](../Support/Windows.md). +It is technically possible to run Eth Docker on [Windows 11](../Support/Windows.mdx). However, the challenges inherent in running on Windows 11 are easier to solve when using the Windows-native versions of the clients, rather than wrapping Docker around them. diff --git a/website/docs/Usage/QuickStart.md b/website/docs/Usage/QuickStart.mdx similarity index 74% rename from website/docs/Usage/QuickStart.md rename to website/docs/Usage/QuickStart.mdx index 11ed40d5..aa7ea4c3 100644 --- a/website/docs/Usage/QuickStart.md +++ b/website/docs/Usage/QuickStart.mdx @@ -4,13 +4,12 @@ sidebar_position: 1 sidebar_label: QuickStart --- -Warnings about the dangers of running Ethereum staking full nodes are in [Recommendations.md](../Support/Recommendations.md). -In particular, you must be sure to secure your seed phrase, the mnemonic. You need it to recreate keys, and -to set a withdrawal address, if you didn't already do so during key creation. +Warnings about the dangers of running Ethereum staking full nodes are in [Recommendations](../Support/Recommendations.mdx). +In particular, you must be sure to secure your seed phrase, the mnemonic. You need it to recreate keys, should they get lost. ## Hardware, resource use -Take a look at some [build ideas](../Usage/Hardware.md) and consider clients' [resource requirements](../Usage/ResourceUsage.md) +Take a look at some [build ideas](../Usage/Hardware.mdx) and consider clients' [resource requirements](../Usage/ResourceUsage.mdx) ## Eth Docker QuickStart @@ -73,21 +72,21 @@ any time. ## Next steps -If you are going to run a validating node, [create and import keys](../Usage/ImportKeys.md). +If you are going to run a validating node, [create and import keys](../Usage/ImportKeys.mdx). -Forward the [P2P ports](../Usage/Networking.md) that the clients use. +Forward the [P2P ports](../Usage/Networking.mdx) that the clients use. -Consider your [Linux security](../Usage/LinuxSecurity.md) +Consider your [Linux security](../Usage/LinuxSecurity.mdx) Deposit your 32 ETH using the official [Staking Launchpad](https://launchpad.ethereum.org/en/). ## Advanced use -macOS requires [manual installation](../Usage/Prerequisites.md) of Docker Desktop. +macOS requires [manual installation](../Usage/Prerequisites.mdx) of Docker. -Explore the sidebar for advanced options. In particular, you can [integrate with RocketPool](../Usage/Advanced/Rocketpool.md), -run an [SSV operator node](../Usage/Advanced/SSV.md), or run an [RPC node](../Usage/Advanced/ClientSetup.md) with either locally -shared RPC/WS ports or these ports [secured by Traefik and https](../Usage/ReverseProxy.md). +Explore the sidebar for advanced options. In particular, you can [integrate with RocketPool](../Usage/Advanced/Rocketpool.mdx), +run an [SSV operator node](../Usage/Advanced/SSV.mdx), or run an [RPC node](../Usage/Advanced/ClientSetup.mdx) with either locally +shared RPC/WS ports or these ports [secured by Traefik and https](../Usage/ReverseProxy.mdx). ## Additional resources diff --git a/website/docs/Usage/ResourceUsage.md b/website/docs/Usage/ResourceUsage.mdx similarity index 99% rename from website/docs/Usage/ResourceUsage.md rename to website/docs/Usage/ResourceUsage.mdx index 534f6cde..cc2e1932 100644 --- a/website/docs/Usage/ResourceUsage.md +++ b/website/docs/Usage/ResourceUsage.mdx @@ -44,7 +44,7 @@ DB Size is shown with values for different types of nodes: Full, and different l Notes on disk usage - All clients other than "Nethermind with HalfPath DB" continously prune state -- Nethermind - HalfPath DB state size can be reduced when it grew too large, by [online prune](NodeTypes.md). +- Nethermind - HalfPath DB state size can be reduced when it grew too large, by [online prune](NodeTypes.mdx). ## Initial sync times diff --git a/website/docs/Usage/ReverseProxy.md b/website/docs/Usage/ReverseProxy.mdx similarity index 100% rename from website/docs/Usage/ReverseProxy.md rename to website/docs/Usage/ReverseProxy.mdx diff --git a/website/docs/Usage/WebUI.md b/website/docs/Usage/WebUI.mdx similarity index 100% rename from website/docs/Usage/WebUI.md rename to website/docs/Usage/WebUI.mdx