Copy openssl rand -hex 32 | tr -d "\n" > /nodes/eth/jwt.secret
Copy nano /nodes/eth/docker-compose.yml
Copy x-logging :
& default-logging
driver : "json-file"
options :
max-file : "1"
max-size : "500m"
services :
prysm-beacon :
container_name : prysm-beacon
image : gcr.io/prysmaticlabs/prysm/beacon-chain:latest
restart : unless-stopped
command :
- --datadir=/data
- --rpc-host=0.0.0.0
- --grpc-gateway-host=0.0.0.0
- --monitoring-host=0.0.0.0
- --execution-endpoint=http://geth:8551
- --jwt-secret=/tmp/jwt.secret
- --accept-terms-of-use
#- --checkpoint-sync-url=https://sync.invis.tools
- --genesis-beacon-api-url=https://sync.invis.tools
- --p2p-denylist=private
- --p2p-host-ip=_YOUR_HOST_IP_
#- --clear-db=true
#- --force-clear-db=true
ports :
- 127.0.0.1:3500:3500
- 12000:12000/udp
- 13000:13000
volumes :
- ./prysm-beacon:/data
- ./jwt.secret:/tmp/jwt.secret
logging : * default-logging
geth :
container_name : geth
image : ethereum/client-go:latest
volumes :
- ./data-ethereum:/root/.ethereum
- ./jwt.secret:/tmp/jwt.secret
restart : unless-stopped
stop_signal : SIGINT
stop_grace_period : 5m
ports :
- 127.0.0.1:28545:8545
- 30303:30303/tcp
- 30303:30303/udp
command :
- --cache=32000
- --authrpc.vhosts=*
- --authrpc.addr=0.0.0.0
- --authrpc.jwtsecret=/tmp/jwt.secret
- --http
- --ws
- --ws.addr=0.0.0.0
- --ws.port=8545
- --ws.origins=*
- --ws.api=web3,eth,net
- --http.api=web3,eth,net
- --http.addr=0.0.0.0
- --http.port=8545
- --http.vhosts=*
logging : * default-logging
Copy cd /nodes/eth
docker compose up -d
Настраиваем прокси на caddyУстанавливаем caddy https://caddyserver.com/docs/install
Документация подготовлена для операционной системы Debian, Ubuntu
Copy apt install -y debian-keyring debian-archive-keyring apt-transport-https
Copy curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
Copy curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
конфигурируем caddy для прокси
28545 на порт 8545 для внешней сети
Copy nano /etc/caddy/Caddyfile
! Замените _RANDOM_STRING_ на свою рандомную строку.
Copy :8545 {
@websockets {
header_regexp Connection (U|u)pgrade
header Upgrade websocket
}
handle_path /_RANDOM_STRING_* {
reverse_proxy @websockets 127.0.0.1:28545
reverse_proxy 127.0.0.1:28545
}
respond 404
}
запускаем caddy
Copy systemctl enable --now caddy
или перезагружаем если необходимо
systemctl restart caddy