Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,21 @@ This package includes the following services:

Only the `Definition File URL` is mandatory for starting the DKG process. All other fields are optional and can be left blank during setup if importing configuration via file or URL.

### Advanced config

- **P2P Ports**: To modify the default P2P ports, you will have to:
1. **Advanced Config**
Set these environment variables:
- `CHARON_P2P_TCP_ADDRESS` → `0.0.0.0:<NEW_TCP_PORT>`
- `CHARON_P2P_UDP_ADDRESS` → `0.0.0.0:<NEW_UDP_PORT>`

2. **Network** tab
Add the corresponding port mappings:
- `<NEW_TCP_PORT>:<NEW_TCP_PORT>` (TCP)
- `<NEW_UDP_PORT>:<NEW_UDP_PORT>` (UDP)
> The env vars **must** match the published ports. If they differ, external peers won’t be able to reach your node.


### Script Integration

- **Staker Tools Integration**: The `dvt_lsd_tools.sh` script is sourced from the `staker-package-scripts` repository. It is downloaded during the Docker build process using the release version specified in the `STAKER_SCRIPTS_VERSION` argument. The script is placed in `/etc/profile.d/` to manage staking-related operations.
Expand Down
6 changes: 2 additions & 4 deletions cluster/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ ARG CLUSTER_ID
ARG VALIDATOR_CLIENT_VERSION
ARG STAKER_SCRIPTS_VERSION
ARG NETWORK
ARG P2P_TCP_PORT
ARG P2P_UDP_PORT
ARG TARGETARCH

USER root
Expand Down Expand Up @@ -47,8 +45,8 @@ WORKDIR /import

# Placed here to regenerate less layers
ENV NETWORK=${NETWORK} \
CHARON_P2P_TCP_ADDRESS="0.0.0.0:${P2P_TCP_PORT}" \
CHARON_P2P_UDP_ADDRESS="0.0.0.0:${P2P_UDP_PORT}"
CHARON_P2P_TCP_ADDRESS="${CHARON_P2P_TCP_ADDRESS}" \
CHARON_P2P_UDP_ADDRESS="${CHARON_P2P_UDP_ADDRESS}"

# Use supervisord to start services
ENTRYPOINT ["supervisord", "-c", "/etc/supervisord.conf"]
162 changes: 77 additions & 85 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,21 @@ services:
- charon-1-data:/opt/charon/.charon
- validator-1-data:/opt/validator/data
environment:
- DEFINITION_FILE_URL
- CHARON_LOG_LEVEL=info
- CHARON_LOKI_ADDRESSES=http://loki.dms.dappnode:3100/loki/api/v1/push
- CHARON_P2P_RELAYS=https://0.relay.obol.tech,https://1.relay.obol.tech/
- CHARON_P2P_TCP_ADDRESS
- CHARON_P2P_UDP_ADDRESS
- CHARON_LOKI_SERVICE=cluster-1
- ENABLE_MEV_BOOST=false
- CHARON_EXTRA_OPTS
- DEFAULT_FEE_RECIPIENT=0x0000000000000000000000000000000000000000
- GRAFFITI=validating_from_DAppNode
- JAVA_OPTS=-Xmx5g
- SIGN_EXIT=false
- EXIT_EPOCH=256
- VALIDATOR_EXTRA_OPTS
- CUSTOM_BEACON_NODE_URLS
- CHARON_NICKNAME
DEFINITION_FILE_URL: ""
CHARON_LOG_LEVEL: "info"
CHARON_LOKI_ADDRESSES: "http://loki.dms.dappnode:3100/loki/api/v1/push"
CHARON_P2P_RELAYS: "https://0.relay.obol.tech,https://1.relay.obol.tech/"
CHARON_LOKI_SERVICE: "cluster-1"
ENABLE_MEV_BOOST: "false"
CHARON_EXTRA_OPTS: ""
DEFAULT_FEE_RECIPIENT: "0x0000000000000000000000000000000000000000"
GRAFFITI: "validating_from_DAppNode"
JAVA_OPTS: "-Xmx5g"
SIGN_EXIT: "false"
EXIT_EPOCH: "256"
VALIDATOR_EXTRA_OPTS: ""
CUSTOM_BEACON_NODE_URLS: ""
CHARON_NICKNAME: ""
healthcheck:
test: wget -qO- http://localhost:3620/readyz
security_opt:
Expand All @@ -47,23 +45,23 @@ services:
- charon-2-data:/opt/charon/.charon
- validator-2-data:/opt/validator/data
environment:
- DEFINITION_FILE_URL
- CHARON_LOG_LEVEL=info
- CHARON_LOKI_ADDRESSES=http://loki.dms.dappnode:3100/loki/api/v1/push
- CHARON_P2P_RELAYS=https://0.relay.obol.tech,https://1.relay.obol.tech/
- CHARON_P2P_TCP_ADDRESS
- CHARON_P2P_UDP_ADDRESS
- CHARON_LOKI_SERVICE=cluster-2
- ENABLE_MEV_BOOST=false
- CHARON_EXTRA_OPTS
- DEFAULT_FEE_RECIPIENT=0x0000000000000000000000000000000000000000
- GRAFFITI=validating_from_DAppNode
- JAVA_OPTS=-Xmx5g
- SIGN_EXIT=false
- EXIT_EPOCH=256
- VALIDATOR_EXTRA_OPTS
- CUSTOM_BEACON_NODE_URLS
- CHARON_NICKNAME
DEFINITION_FILE_URL: ""
CHARON_LOG_LEVEL: "info"
CHARON_LOKI_ADDRESSES: "http://loki.dms.dappnode:3100/loki/api/v1/push"
CHARON_P2P_RELAYS: "https://0.relay.obol.tech,https://1.relay.obol.tech/"
CHARON_P2P_TCP_ADDRESS: ""
CHARON_P2P_UDP_ADDRESS: ""
CHARON_LOKI_SERVICE: "cluster-2"
ENABLE_MEV_BOOST: "false"
CHARON_EXTRA_OPTS: ""
DEFAULT_FEE_RECIPIENT: "0x0000000000000000000000000000000000000000"
GRAFFITI: "validating_from_DAppNode"
JAVA_OPTS: "-Xmx5g"
SIGN_EXIT: "false"
EXIT_EPOCH: "256"
VALIDATOR_EXTRA_OPTS: ""
CUSTOM_BEACON_NODE_URLS: ""
CHARON_NICKNAME: ""
healthcheck:
test: wget -qO- http://localhost:3620/readyz
security_opt:
Expand All @@ -81,23 +79,21 @@ services:
- charon-3-data:/opt/charon/.charon
- validator-3-data:/opt/validator/data
environment:
- DEFINITION_FILE_URL
- CHARON_LOG_LEVEL=info
- CHARON_LOKI_ADDRESSES=http://loki.dms.dappnode:3100/loki/api/v1/push
- CHARON_P2P_RELAYS=https://0.relay.obol.tech,https://1.relay.obol.tech/
- CHARON_P2P_TCP_ADDRESS
- CHARON_P2P_UDP_ADDRESS
- CHARON_LOKI_SERVICE=cluster-3
- ENABLE_MEV_BOOST=false
- CHARON_EXTRA_OPTS
- DEFAULT_FEE_RECIPIENT=0x0000000000000000000000000000000000000000
- GRAFFITI=validating_from_DAppNode
- JAVA_OPTS=-Xmx5g
- SIGN_EXIT=false
- EXIT_EPOCH=256
- VALIDATOR_EXTRA_OPTS
- CUSTOM_BEACON_NODE_URLS
- CHARON_NICKNAME
DEFINITION_FILE_URL: ""
CHARON_LOG_LEVEL: "info"
CHARON_LOKI_ADDRESSES: "http://loki.dms.dappnode:3100/loki/api/v1/push"
CHARON_P2P_RELAYS: "https://0.relay.obol.tech,https://1.relay.obol.tech/"
CHARON_LOKI_SERVICE: "cluster-3"
ENABLE_MEV_BOOST: "false"
CHARON_EXTRA_OPTS: ""
DEFAULT_FEE_RECIPIENT: "0x0000000000000000000000000000000000000000"
GRAFFITI: "validating_from_DAppNode"
JAVA_OPTS: "-Xmx5g"
SIGN_EXIT: "false"
EXIT_EPOCH: "256"
VALIDATOR_EXTRA_OPTS: ""
CUSTOM_BEACON_NODE_URLS: ""
CHARON_NICKNAME: ""
healthcheck:
test: wget -qO- http://localhost:3620/readyz
security_opt:
Expand All @@ -115,23 +111,21 @@ services:
- charon-4-data:/opt/charon/.charon
- validator-4-data:/opt/validator/data
environment:
- DEFINITION_FILE_URL
- CHARON_LOG_LEVEL=info
- CHARON_LOKI_ADDRESSES=http://loki.dms.dappnode:3100/loki/api/v1/push
- CHARON_P2P_RELAYS=https://0.relay.obol.tech,https://1.relay.obol.tech/
- CHARON_P2P_TCP_ADDRESS
- CHARON_P2P_UDP_ADDRESS
- CHARON_LOKI_SERVICE=cluster-4
- ENABLE_MEV_BOOST=false
- CHARON_EXTRA_OPTS
- DEFAULT_FEE_RECIPIENT=0x0000000000000000000000000000000000000000
- GRAFFITI=validating_from_DAppNode
- JAVA_OPTS=-Xmx5g
- SIGN_EXIT=false
- EXIT_EPOCH=256
- VALIDATOR_EXTRA_OPTS
- CUSTOM_BEACON_NODE_URLS
- CHARON_NICKNAME
DEFINITION_FILE_URL: ""
CHARON_LOG_LEVEL: "info"
CHARON_LOKI_ADDRESSES: "http://loki.dms.dappnode:3100/loki/api/v1/push"
CHARON_P2P_RELAYS: "https://0.relay.obol.tech,https://1.relay.obol.tech/"
CHARON_LOKI_SERVICE: "cluster-4"
ENABLE_MEV_BOOST: "false"
CHARON_EXTRA_OPTS: ""
DEFAULT_FEE_RECIPIENT: "0x0000000000000000000000000000000000000000"
GRAFFITI: "validating_from_DAppNode"
JAVA_OPTS: "-Xmx5g"
SIGN_EXIT: "false"
EXIT_EPOCH: "256"
VALIDATOR_EXTRA_OPTS: ""
CUSTOM_BEACON_NODE_URLS: ""
CHARON_NICKNAME: ""
healthcheck:
test: wget -qO- http://localhost:3620/readyz
security_opt:
Expand All @@ -149,23 +143,21 @@ services:
- charon-5-data:/opt/charon/.charon
- validator-5-data:/opt/validator/data
environment:
- DEFINITION_FILE_URL
- CHARON_LOG_LEVEL=info
- CHARON_LOKI_ADDRESSES=http://loki.dms.dappnode:3100/loki/api/v1/push
- CHARON_P2P_RELAYS=https://0.relay.obol.tech,https://1.relay.obol.tech/
- CHARON_P2P_TCP_ADDRESS
- CHARON_P2P_UDP_ADDRESS
- CHARON_LOKI_SERVICE=cluster-5
- ENABLE_MEV_BOOST=false
- CHARON_EXTRA_OPTS
- DEFAULT_FEE_RECIPIENT=0x0000000000000000000000000000000000000000
- GRAFFITI=validating_from_DAppNode
- JAVA_OPTS=-Xmx5g
- SIGN_EXIT=false
- EXIT_EPOCH=256
- VALIDATOR_EXTRA_OPTS
- CUSTOM_BEACON_NODE_URLS
- CHARON_NICKNAME
DEFINITION_FILE_URL: ""
CHARON_LOG_LEVEL: "info"
CHARON_LOKI_ADDRESSES: "http://loki.dms.dappnode:3100/loki/api/v1/push"
CHARON_P2P_RELAYS: "https://0.relay.obol.tech,https://1.relay.obol.tech/"
CHARON_LOKI_SERVICE: "cluster-5"
ENABLE_MEV_BOOST: "false"
CHARON_EXTRA_OPTS: ""
DEFAULT_FEE_RECIPIENT: "0x0000000000000000000000000000000000000000"
GRAFFITI: "validating_from_DAppNode"
JAVA_OPTS: "-Xmx5g"
SIGN_EXIT: "false"
EXIT_EPOCH: "256"
VALIDATOR_EXTRA_OPTS: ""
CUSTOM_BEACON_NODE_URLS: ""
CHARON_NICKNAME: ""
healthcheck:
test: wget -qO- http://localhost:3620/readyz
security_opt:
Expand Down
29 changes: 19 additions & 10 deletions package_variants/gnosis/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,44 +3,53 @@ services:
build:
args:
NETWORK: gnosis
P2P_TCP_PORT: 3811
P2P_UDP_PORT: 3831
environment:
CHARON_P2P_TCP_ADDRESS: "0.0.0.0:3811"
CHARON_P2P_UDP_ADDRESS: "0.0.0.0:3831"
ports:
- 3811:3811/tcp
- 3831:3831/udp

cluster-2:
build:
args:
NETWORK: gnosis
P2P_TCP_PORT: 3812
P2P_UDP_PORT: 3832
environment:
CHARON_P2P_TCP_ADDRESS: "0.0.0.0:3812"
CHARON_P2P_UDP_ADDRESS: "0.0.0.0:3832"
ports:
- 3812:3812/tcp
- 3832:3832/udp

cluster-3:
build:
args:
NETWORK: gnosis
P2P_TCP_PORT: 3813
P2P_UDP_PORT: 3833
environment:
CHARON_P2P_TCP_ADDRESS: "0.0.0.0:3813"
CHARON_P2P_UDP_ADDRESS: "0.0.0.0:3833"
ports:
- 3813:3813/tcp
- 3833:3833/udp

cluster-4:
build:
args:
NETWORK: gnosis
P2P_TCP_PORT: 3814
P2P_UDP_PORT: 3834
environment:
CHARON_P2P_TCP_ADDRESS: "0.0.0.0:3814"
CHARON_P2P_UDP_ADDRESS: "0.0.0.0:3834"
ports:
- 3814:3814/tcp
- 3834:3834/udp

cluster-5:
build:
args:
NETWORK: gnosis
P2P_TCP_PORT: 3815
P2P_UDP_PORT: 3835
environment:
CHARON_P2P_TCP_ADDRESS: "0.0.0.0:3815"
CHARON_P2P_UDP_ADDRESS: "0.0.0.0:3835"
ports:
- 3815:3815/tcp
- 3835:3835/udp
25 changes: 15 additions & 10 deletions package_variants/hoodi/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,44 +3,49 @@ services:
build:
args:
NETWORK: hoodi
P2P_TCP_PORT: 3911
P2P_UDP_PORT: 3931
environment:
CHARON_P2P_TCP_ADDRESS: "0.0.0.0:3911"
CHARON_P2P_UDP_ADDRESS: "0.0.0.0:3931"
ports:
- 3911:3911/tcp
- 3931:3931/udp
cluster-2:
build:
args:
NETWORK: hoodi
P2P_TCP_PORT: 3912
P2P_UDP_PORT: 3932
environment:
CHARON_P2P_TCP_ADDRESS: "0.0.0.0:3912"
CHARON_P2P_UDP_ADDRESS: "0.0.0.0:3932"
ports:
- 3912:3912/tcp
- 3932:3932/udp
cluster-3:
build:
args:
NETWORK: hoodi
P2P_TCP_PORT: 3913
P2P_UDP_PORT: 3933
environment:
CHARON_P2P_TCP_ADDRESS: "0.0.0.0:3913"
CHARON_P2P_UDP_ADDRESS: "0.0.0.0:3933"
ports:
- 3913:3913/tcp
- 3933:3933/udp
cluster-4:
build:
args:
NETWORK: hoodi
P2P_TCP_PORT: 3914
P2P_UDP_PORT: 3934
environment:
CHARON_P2P_TCP_ADDRESS: "0.0.0.0:3914"
CHARON_P2P_UDP_ADDRESS: "0.0.0.0:3934"
ports:
- 3914:3914/tcp
- 3934:3934/udp
cluster-5:
build:
args:
NETWORK: hoodi
P2P_TCP_PORT: 3915
P2P_UDP_PORT: 3935
environment:
CHARON_P2P_TCP_ADDRESS: "0.0.0.0:3915"
CHARON_P2P_UDP_ADDRESS: "0.0.0.0:3935"
ports:
- 3915:3915/tcp
- 3935:3935/udp
Loading