Hello, I am trying to get a mempool server running using Umbrel, however, I am facing a problem in trying to get the Electrs server synchronizing to the Bitcoin full node.
Here is the information on the server hardware.
NucBox7 with 512GB storage.
Intel Pentium N6005
16GB RAM
External SSD 1TB
Operating system Ubuntu 22.04.1 LTS
Upon realizing that the 512 GB storage was not enough to store the full Bitcoin node, I have connected the server to the 1TB external SSD drive. These are the additional configurations I did to make the Bitcoin full-node connect to external storage.
sudo mkdir /mnt/usb
sudo mount /dev/sdb1 /mnt/usb
in the Bitcoin “~/umbrel/app-data/bitcoin/docker-compose.yml” file, I have modified the file by adding the lines below.
<previous>
bitcoind:
volumes:
- ${PWD}/data/bitcoin:/data/.bitcoin
<current>
bitcoind:
volumes:
- "/mnt/usb/bitcoin:/data/.bitcoin"
devices:
- "/dev/sdb1:/dev/sdb1"
privileged: true
After the Bitcoin full node was completely synchronized, I checked the Electrs and found out it was still synchronizing. So I have checked using the docker log command “~/umbrel/scripts/app compose electrs logs”, and I have noticed the most significant problem in the log below.
electrs_1 | Starting electrs 0.9.10 on x86_64 linux with Config { network: Bitcoin, db_path: "/data/db/bitcoin", daemon_dir: "/data/.bitcoin", daemon_auth: CookieFile("/data/.bitcoin/.cookie"), daemon_rpc_addr: 10.21.21.8:8332, daemon_p2p_addr: 10.21.21.8:8333, electrum_rpc_addr: 0.0.0.0:50001, monitoring_addr: 127.0.0.1:4224, wait_duration: 10s, jsonrpc_timeout: 15s, index_batch_size: 10, index_lookup_limit: None, reindex_last_blocks: 0, auto_reindex: true, ignore_mempool: false, sync_once: false, disable_electrum_rpc: false, server_banner: "Umbrel Electrs (0.9.10)", signet_magic: 3652501241, args: [] }
electrs_1 | [2023-01-26T15:29:24.978Z INFO electrs::metrics::metrics_impl] serving Prometheus metrics on 127.0.0.1:4224
electrs_1 | [2023-01-26T15:29:24.978Z INFO electrs::server] serving Electrum RPC on 0.0.0.0:50001
electrs_1 | [2023-01-26T15:29:25.073Z INFO electrs::db] "/data/db/bitcoin": 4351 SST files, 0.003502555 GB, 0.000000021 Grows
electrs_1 | [2023-01-26T15:29:25.078Z INFO electrs::db] closing DB at /data/db/bitcoin
electrs_1 | Error: electrs failed
electrs_1 |
electrs_1 | Caused by:
electrs_1 | 0: failed to open bitcoind cookie file: /data/.bitcoin/.cookie
electrs_1 | 1: No such file or directory (os error 2)
I was a bit confused by this log output, so I changed the Electrs “~/umbrel/app-data/electrs/docker-compose.yml” file and changed the following
<previous>
electrs:
volumes:
- "${APP_BITCOIN_DATA_DIR}:/data/.bitcoin:ro"
- "${APP_DATA_DIR}/data/electrs:/data"
<current>
electrs:
volumes:
- "/mnt/usb/bitcoin:/data/.bitcoin:ro"
- "${APP_DATA_DIR}/data/electrs:/data"
Looking at the folder stored in the external drive, the file is located here /mnt/usb/bitcoin/.cookie
I am not sure what went wrong, I hope the above detail helps.