Docker
Please note that you must start the onboarding process before setting up your node. To start, visit the Overview page.
Install Docker
Before proceeding, you need to install Docker Desktop on your machine.
- Linux
- macOS
Depending on your distribution, please follow the official guidelines to install and run Docker on your workstation.
- Visit the Docker website and download Docker Desktop.
- Follow the installation wizard instructions.
- Verify the installation by running:
Configure hoprd command
The default command provided below is incomplete and requires manual adjustments. If you are currently in the onboarding process, you should have received an auto-generated Docker command that includes Safe and Module addresses. However, you will need to manually adjust the remaining settings.
docker run \
--pull always \
-d --restart on-failure \
-m 2g \
--security-opt seccomp=unconfined \
--platform linux/x86_64 \
--log-driver json-file \
--log-opt max-size=100M \
--log-opt max-file=5 \
-ti \
-v $HOME/.hoprd-db-dufour/:/app/hoprd-db \
--name hoprd \
-p 9091:9091/tcp \
-p 9091:9091/udp \
-p 3001:3001 \
-p 1422:1422/udp \
-p 1422:1422/tcp \
-e RUST_LOG=info \
europe-west3-docker.pkg.dev/hoprassociation/docker-images/hoprd:stable \
--network dufour \
--init \
--api \
--announce \
--identity /app/hoprd-db/.hopr-id-dufour \
--data /app/hoprd-db \
--apiHost '0.0.0.0' \
--apiToken '<YOUR_API_TOKEN>' \
--password '<YOUR_DB_PASSWORD>' \
--safeAddress '<SAFE_WALLET_ADDRESS>' \
--moduleAddress '<MODULE_ADDRESS>' \
--host '<YOUR_PUBLIC_IP>:9091' \
--provider '<CUSTOM_RPC_PROVIDER>' \
--configurationFilePath '/app/hoprd-db/hoprd-docker.cfg.yaml'
Below is a quick reference of all the hoprd
CLI flags you’ll need to adjust:
Flag | Description |
---|---|
--apiToken '<YOUR_API_TOKEN>' | Your Admin UI API token |
--password '<YOUR_DB_PASSWORD>' | Passphrase to encrypt your identity file. Write down this password, as you will need it if you ever need to restore your node in the future. |
--safeAddress '<SAFE_WALLET_ADDRESS>' | Your staking Safe wallet address |
--moduleAddress '<MODULE_ADDRESS>' | Your staking Module contract address |
--host '<YOUR_PUBLIC_IP>:9091' | Your public libp2p endpoint (port 9091) |
--provider '<CUSTOM_RPC_PROVIDER>' | Gnosis Chain RPC URL (see Custom RPC provider guide). |
--configurationFilePath '/app/conf/hoprd-docker.cfg.yaml' | Path to your custom strategy YAML file |
The following settings need to be adjusted in the current Docker command:
-
Adjust
apiToken
setting-
Create a secret token. For guidance on creating a secure secret token, refer to this guide.
-
Replace
<SECRET_TOKEN>
in your Docker command with your own secret token.Example:
--apiToken 'My#S3cur1ty#Token'
noteMake sure to make a note of the API token you created. You will need it to connect to your node via the HOPR Admin UI.
-
-
Adjust
password
setting-
Create a strong passphrase (refer to this guide).
-
Replace
<YOUR_DB_PASSWORD>
in the Docker command above.Example:
--password 'rjVFCcqnTNJSh_8Z3P94@M2bep&Dk#UHX$agWf'
noteMake sure to write down this password, as you will need it if you ever need to restore your node in the future.
-
-
Adjust
safeAddress
andmoduleAddress
Already Have These Addresses?If you copied the Docker command from the HOPR Staking Hub during onboarding, the Safe and Module addresses are already included. You can skip to Step 2.4.
-
Go to the Staking Hub dashboard.
-
Copy your Safe and Module addresses (see screenshot below):
-
Replace
<SAFE_WALLET_ADDRESS>
and<MODULE_ADDRESS>
in the Docker command above.Example:
--safeAddress 0xEe8D810feAb42313Cc6E2F9DC2D9E2e55d2eb6f9
--moduleAddress 0x0cE0dD1532e58C09bd60bb2a50fad9BB03c541B2
-
-
Adjust
host
settingcautionDynamic IPs are not suitable for this setup, as your node will become unreachable once your IP address changes. If you have a dynamic IP, use a DDNS service and specify the DDNS address as your public IP, including the port, in the Docker command. You can find instructions on how to do this here.
-
Find your public IP (see FAQ).
-
If behind NAT such as on computers or servers at home or in an office environment, configure port forwarding for port
9091
(see Port forwarding guide). -
Replace
<YOUR_PUBLIC_IP>
with your IP (e.g.,1.2.3.4:9091
).
-
-
Adjust
provider
setting-
Obtain a Gnosis Chain RPC URL (see Custom RPC provider guide).
-
Replace
<CUSTOM_RPC_PROVIDER>
in the Docker command above.
Example:
--provider https://gnosis-rpc.publicnode.com
-
-
Implement configuration file
-
Download the example file for Docker: hoprd-docker.cfg.yaml.
-
Customize your strategy (see Understanding node strategies).
-
Create a
hoprd
folder and place thehoprd-docker.cfg.yaml
configuration file inside it.
-
Start Your Node
Once you have configured your Docker command correctly, you can start your node using the adjusted Docker command.
-
Open your terminal.
-
Verify that Docker is installed:
docker --help
If you see a list of available Docker commands, Docker is installed correctly. If not, make sure Docker is installed.
-
Paste your configured HOPRd command into the terminal and execute it.
Start HOPR Admin UI
HOPR Admin UI is an application that helps you connect to and manage your HOPRd node. Copy the command below and execute it in your terminal window:
docker run -d --pull=always -p 4677:4677 --name hopr-admin europe-west3-docker.pkg.dev/hoprassociation/docker-images/hopr-admin:stable
Link your node to your HOPR Safe wallet
-
Access the HOPR Admin UI
If you're using the default configuration, open the Admin UI in your browser:
http://localhost:4677
- Replace
localhost
with your server IP address if running on a VPS. - Ensure the port
4677
is correctly mapped during setup.
- Replace
-
Connect to your node
Click CONNECT TO NODE in the top-right corner. In the Node credentials popup:
-
API endpoint: Default is
http://localhost:3001
. Replacelocalhost
with your VPS IP if applicable. Adjust the port if you changed it. -
API token: Enter the custom security token you created during the initial HOPRd setup.
-
-
Copy your node address
After clicking Connect to the node, your node address (starting with
0x
) will appear. Copy it for use during onboarding. -
Return to the HOPR Staking Hub
There's no need to manually fund your node with xDai tokens. Funding will happen during onboarding via the HOPR Staking Hub.
Visit the HOPR Staking Hub to: Register for the waitlist, or complete onboarding if you’ve been approved.
What's next?
Once you've completed the onboarding process, ensure your node is fully synced (100%
) and that you've opened at least one outgoing payment channel with a random peer.
To start earning rewards through Cover Traffic, follow these steps to meet the necessary requirements:
-
Install the HOPR Admin UI
Install HOPR Admin UI and connect to your node via the HOPR Admin UI.
-
Check if the node is 100% synced
On the
INFO
page, under theNetwork
section, confirm that theSync Process
is at100%
.
If it’s not fully synced yet, you’ll need to wait until the process is complete. -
Open outgoing channel and verify
-
Once synced, go to the
PEERS
page and select a random peer with a connection quality above90%
.
Click theOPEN Outgoing Channel
icon, enter1
as the amount (or another value), and click Open Channel.
You’ll receive a notification once the channel has been opened. -
Navigate to the
CHANNELS: OUT
page to verify that the outgoing payment channel has been successfully opened.
-
Congratulations! Your node should now be fully operational and earning rewards. Be sure to periodically check that your node is performing properly.