Inability to run bitcoin core

I have a 100% sync on the blockchain but cannot open the node. I get an error saying that umbrel local refused to connect. Any assistance would be appreciated.

That 100% figure suggests the blockchain sync itself is probably fine. The “refused to connect” message sounds more like the Bitcoin app’s web interface isn’t responding.

Try right-clicking Bitcoin Node on the Umbrel home screen, choose Restart, wait a minute, then open it again from the icon rather than an old bookmark.

If it still refuses to connect, right-click Bitcoin Node again, choose Troubleshoot, download the Bitcoin Node logs, and attach them here.

Thank you so much for your reply Aiden, Please find the logs attached.

umbrel_bitcoin_2026-07-29_18-08.log (24.0 KB)

Looks like the logs caught the problem. Bitcoin Core itself is starting normally and is fully synced, but the bitcoin_app_proxy_1 container keeps crashing with an “exec format error.” That’s the part that makes the Bitcoin Node interface available in your browser, so it explains the connection refused message.

This usually means Docker pulled the app proxy image for the wrong CPU architecture. What hardware are you running umbrelOS on, and which umbrelOS version is installed? Could you also download the umbrelOS logs from Settings > Troubleshoot > umbrelOS and attach them here? That should help confirm why the wrong image was selected and what needs to be refreshed.

Its a node runner package running on a recon lenovo thinkcentre M73, IOS 1.7.4 The log is too big to upload here, is there a way to prune it?

Apologies for my obvious idiocy.

Running IOS 1.7.4

No need to apologize, that’s completely understandable. Could you zip the downloaded umbrelOS log file, upload the ZIP somewhere like Google Drive, Dropbox, or WeTransfer, then post the share link here? Just make sure the link is set so anyone with it can view or download the file.

Ok this is interesting… Your ThinkCentre is running x86-64 and it did download the correct AMD64 image, so this isn’t an ARM image problem after all. It looks like the local copy of the shared browser proxy image has gone bad. Both Bitcoin Node and Bitcoin Knots use that image, which is why their proxies keep restarting even though Bitcoin Core itself is running fine.

Open Settings > Advanced Settings > Terminal > umbrelOS and paste this in:

sudo docker rm -f bitcoin_app_proxy_1 bitcoin-knots_app_proxy_1 2>/dev/null || true; sudo docker image rm -f 'getumbrel/app-proxy:1.7.0@sha256:ec0de0b944a2e63d52fdd82b3760d90a35f8b442d17a8407afdee3af3e842d5a' >/dev/null 2>&1 || true; sudo docker pull --platform linux/amd64 'getumbrel/app-proxy:1.7.0@sha256:ec0de0b944a2e63d52fdd82b3760d90a35f8b442d17a8407afdee3af3e842d5a' && sudo systemctl restart umbrel

This just replaces the browser proxy image. It won’t touch the blockchain data. Your dashboard may disappear for a minute while Umbrel restarts, so give it a couple of minutes and then try opening Bitcoin Node again.

I feel such a tool!! why can I not paste in to the window? Neither right click or ctrl V works.

You’re not doing anything wrong, browser terminals can be a bit awkward with pasting. Click once inside the black terminal window, then try Ctrl+Shift+V instead of Ctrl+V. If that doesn’t work, try Shift+Insert. On a Mac, use Command+V.

Once the command appears in the terminal, press Enter and let it finish.

Thank you Aiden, that got the text in to the terminal. It has run once, it came back with a timeout message, I am running it again, it returns a " https://registry-1.docker.io/v2/“: context deadline exceeded” message.

When I have run it again it seems to have got some of the data it wanted including two sha 256 adressess with a “pull complete” and then it has stalled on: docker.io/getumbrel/app-proxy:1.7

It looks as if it cant download an image?

these are the most recent logs:

Looks like the first few attempts really did time out while talking to Docker Hub, but the last one finished and restarted Umbrel. The proxy started crashing again straight afterwards though, so there’s no point running that long command again.

Can you run this shorter one and send back what it prints? A screenshot is fine if copying from the terminal is a pain. It only checks the proxy image and won’t touch your Bitcoin data.

img=$(sudo docker inspect bitcoin_app_proxy_1 --format '{{.Image}}'); uname -m; sudo docker image inspect "$img" --format 'image={{.Id}} platform={{.Os}}/{{.Architecture}}'; sudo docker run --rm --entrypoint /bin/sh "$img" -c 'uname -m; head -n 1 /usr/local/bin/docker-entrypoint.sh; sha256sum /usr/local/bin/docker-entrypoint.sh'; sudo docker logs --tail 10 bitcoin_app_proxy_1

That should show us what Docker is actually trying to run.

Ok, I think we’ve finally got the answer. Your screenshot proves Docker has the correct AMD64 image, but even the basic /bin/sh program inside it won’t run. I found another almost identical case where a damaged Docker layer was being kept around by a second image, so deleting and downloading only the first image never actually replaced the bad part.

Umbrel’s app proxy and its login image share those same base layers, which fits what we’re seeing here. This command will stop Umbrel, remove both images that are holding onto the shared layer, prune it, and then start Umbrel again.

Paste this once and press Enter:

sudo systemd-run --unit="umbrel-docker-layer-repair-$(date +%s)" --collect /bin/bash -c 'AUTH="getumbrel/auth-server:1.7.0@sha256:7fc9d52d4176639e84044b63aa07efcac78a508a05bb4480436be9db977a7191"; PROXY="getumbrel/app-proxy:1.7.0@sha256:ec0de0b944a2e63d52fdd82b3760d90a35f8b442d17a8407afdee3af3e842d5a"; trap "systemctl start umbrel" EXIT; systemctl stop umbrel; for ref in "$AUTH" "$PROXY"; do ids=$(docker ps -aq --filter "ancestor=$ref"); [ -z "$ids" ] || docker rm -f $ids; docker image rm -f "$ref" >/dev/null 2>&1 || true; done; docker image prune -f'

The dashboard and terminal will disconnect while it runs. That’s expected, and the command will keep going in the background, so don’t run it again. Give it around 10–15 minutes, reload umbrel.local, and try opening Bitcoin Node.

This only rebuilds the damaged Docker layers. It doesn’t touch your blockchain, wallet, or any other app data. If Bitcoin still won’t open afterwards, post one fresh Bitcoin Node log and we’ll check whether /bin/sh is now healthy.

Thank you very much for your assistance, that has it up and running!

A grateful customer.