I still use Bitcoin Node Core 28.1.0 on Umbrel OS 0.5.4 (don´t want to update my old raspi since it works nicely ever since).
However I updated Electrs today (0.11.0) an ran into the same issue.
The problem is caused by a broken environment variable in the Electrs app configuration: the P2P address uses an unresolved variable like ${APP_BITCOIN_P2P_…}, which results in an invalid address and makes the electrs_electrs_1 container crash in a loop. Fixing the docker-compose.yml for Electrs and restarting Umbrel solves it.
1. SSH into the Umbrel node
-
Open a terminal on your computer.
-
Connect via SSH (replace the IP with your Umbrel node’s IP if needed):
ssh umbrel@umbrel.localor
ssh umbrel@<UMBREL-IP> -
Enter the password for the
umbreluser when prompted.
If you see a warning that the host key has changed, remove the old entry from your local known_hosts file and try again.
2. Go to the Electrs app directory
-
After logging in, change to the Umbrel base directory:
cd ~/umbrel -
Go into the Electrs app data directory:
cd app-data/electrs
You should now be in /home/umbrel/umbrel/app-data/electrs.
3. Open the Electrs docker-compose file
-
Open the
docker-compose.ymlfile with a text editor (e.g. nano):nano docker-compose.yml -
Inside this file, find the
electrs:service section. It will look similar to this:electrs: image: getumbrel/electrs:v0.11.0@sha256:... restart: always environment: ELECTRS_LOG_FILTERS: "INFO" ELECTRS_NETWORK: "${APP_BITCOIN_NETWORK_ELECTRS}" ELECTRS_DAEMON_RPC_ADDR: "${APP_BITCOIN_NODE_IP}:${APP_BITCOIN_RPC_PORT}" ELECTRS_DAEMON_P2P_ADDR: "${APP_BITCOIN_NODE_IP}:${APP_BITCOIN_P2P_WHITEB...}" ELECTRS_ELECTRUM_RPC_ADDR: "0.0.0.0:${APP_ELECTRS_NODE_PORT}" ELECTRS_SERVER_BANNER: "Umbrel Electrs (${APP_VERSION})" ELECTRS_DB_DIR: "/data/db" volumes: - "${APP_BITCOIN_DATA_DIR}:/data/.bitcoin:ro" - "${APP_DATA_DIR}/data/electrs:/data" ports: - "${APP_ELECTRS_NODE_PORT}:${APP_ELECTRS_NODE_PORT}" networks: default: ipv4_address: $APP_ELECTRS_NODE_IP
The important line is ELECTRS_DAEMON_P2P_ADDR.
4. Fix the broken P2P address
-
In the
environment:block, replace the lineELECTRS_DAEMON_P2P_ADDR: "${APP_BITCOIN_NODE_IP}:${APP_BITCOIN_P2P_WHITEB...}"(or any variant using
${APP_BITCOIN_P2P...}) with a static, working value pointing to the Bitcoin container, for example:ELECTRS_DAEMON_P2P_ADDR: "bitcoin_bitcoind_1:8333" -
Make sure you do not change the indentation or other lines.
This forces Electrs to connect to the internal bitcoin_bitcoind_1 service on the standard P2P port 8333 instead of using the broken Umbrel variable.
5. Save the file and exit
In nano:
- Press
Ctrl + Oto write the changes. - Press
Enterto confirm the filename. - Press
Ctrl + Xto exit the editor.
6. Stop and start Umbrel services
-
Go back to the Umbrel base directory (if you are not already there):
cd ~/umbrel -
Stop all Umbrel services:
sudo ./scripts/stopEnter the
umbrelpassword when prompted. -
Start all Umbrel services again:
sudo ./scripts/start
Wait a few minutes for all containers to come up.
7. Verify Electrs is running and syncing
-
Check the running containers:
docker psYou should see
electrs_electrs_1with statusUp(notRestarting). -
In the Umbrel web UI, open the Electrs app. The previous “Connecting to Electrs server…” message should be replaced by a real sync progress value (percentage).
-
If you look at the Electrs logs, you should see it indexing blocks (messages like “indexing 2000 blocks” and increasing heights), which indicates the index is being built.