I’ve looked at your log and, to start, you have a problem with the bitcoin-core database, as your log indicates:
bitcoin_bitcoind_1 | Error: Error reading from database, shutting down.
bitcoin_bitcoind_1 | 2025-02-13T09:55:45Z LevelDB read failure: Corruption: block checksum mismatch: /data/.bitcoin/chainstate/1007517.ldb
bitcoin_bitcoind_1 | 2025-02-13T09:55:45Z Fatal LevelDB error: Corruption: block checksum mismatch: /data/.bitcoin/chainstate/1007517.ldb
bitcoin_bitcoind_1 | 2025-02-13T09:55:45Z You can use -debug=leveldb to get more complete diagnostic messages
bitcoin_bitcoind_1 | 2025-02-13T09:55:45Z [error] Error reading from database, shutting down.
bitcoin_bitcoind_1 | 2025-02-13T09:55:45Z [error] Error reading from database: Fatal LevelDB error: Corruption: block checksum mismatch: /data/.bitcoin/chainstate/1007517.ldb
To help you understand better, your bitcoin-core starts and when it gets this error, it restarts the “starting correctly” process but it gets this error again and enters a loop from which it cannot get out.
Something has happened. Maybe a “bad shutdown or reboot” of the node but usually it has to do with hardware issues.
Bitcoin Core makes heavy use of CPU, RAM, and disk IO. Hardware defects might only become visible when running Bitcoin Core.
Another possible cause is that the user installs bitcoin-core and then immediately installs other apps without bitcoin-core having finished the process of synchronizing the blockchain completely. For example, he installs Electrs, block-explorer or mempool and wants to see everything working in the next second, straining the hardware to no avail because these apps will not work properly until the blockchain has been 100% synchronized but while they are taking resources away from the hardware.
Anyway, let’s get to the solution.
First, let’s try the most practical and least invasive option: reindexing the chainstate.
Process:
1.- Connect via SSH to your umbrelos.
2.- Edit the config file of your bitcoin node using the following command:
sudo nano /home/umbrel/umbrel/app-data/bitcoin/data/bitcoin/umbrel-bitcoin.conf
3.- The file to be edited will open and you add the following to the end of everything you have written there: reindex-chainstate=1
4.- Then save and close using Ctrl-X, Y. Restart the RPI and when it starts up again it will start indexing the chainstate. It will seem like it is downloading the blockchain again but in reality it is checking and indexing what you have downloaded.
5.- While bitcoin-core is doing this, open the file again (as you did in point 2) and make sure that the line you added ( reindex-chainstate=1
) is no longer present, so that the next time you restart the node in the future it doesn’t redo the whole process.
In theory that command/line you added ( reindex-chainstate=1
) should disappear automatically but it’s better to be sure that it did.
Let it finish the reindexing and when the process is finished it will continue to sync what’s missing from the blockchain.
Well, let us know if it worked.