Migrate - Raspibolt to Start9

I’m currently running a homebuilt (Raspibolt) setup and am planning on moving my active lightning node over to my purpose build start9 server. Been looking into the best way to achieve this migration safely (last thing I want is my channels closing etc.). Any thoughts/comments suggestions would be welcome on this.

Plan:

  1. Set up start9 and get all the pre-requisites up and synced (core, electrs, proxy) - Done
  2. Install LND on start9 machine but don’t start up
  3. SSH into Raspibolt and shutdown LND
  4. Make a zipped copy of the /data/lnd folder (using the LND user account) and drop in tmp folder
  5. WinSCP copy from Raspibolt over to the start9 tmp folder
  6. Through SSH extract folders into "/-embassy-data/package-data/volumes/lnd
  7. Delete TLS certificates and key
  8. Start up LND on start9

Questions I have are:
What am I missing?
Should I configure LND at all on the start9 before I start?
BTC wallet seed on the new start9 (that was generated on startup for Raspibolt) do I need to migrate that separately or does it come along with my lnd folder? (guessing the latter)

1 Like

/bump
Still looking for a bit of advice/suggestions on this one. Any feedback would be much appreciated.

We do not officially support these migrations, and while there have been successful raspibolt migrants, they have unfortunately not left us with any feedback. The best I can do is guide you to our umbrel migration, but we built some tools for that one which will not be available to you.

Hopefully some other migrants will chime in here. Otherwise your plan looks fine - just remember to destroy the old lightning node when finished, otherwise you may lose funds.

1 Like

No worries, thanks for the feedback. Hopefully someone else that has migrated already will spot this before I decide to flip the switch. Not gonna risk a move to Start9 til I have more time to sit and do it properly.

1 Like

Check back here if you don’t hear back soon, maybe someone else will have done it in another one of our channels.

hi guys, is there any walkthrough or learnings made available of the raspibolt to start9 migration process since this post?

No official update or documentation. Your best hope is that a community member who has done chimes in, or you can look at the umbrel migration to see if it offers any clues

Thanks Rick

I have started with these steps so far:

-------------------------START-----------------------
on rpi

stop bitcoind and lnd and also disable and mask lnd service to prevent old channel states being broadcasted in case the old node starts up again

sudo systemctl stop lnd
sudo systemctl disable lnd
sudo rm /etc/systemd/system/lnd.service
sudo systemctl mask lnd
sudo systemctl stop bitcoind
sudo chown admin:admin -R /data/bitcoin/

ssh into start9
generate ssh file:
sudo ssh-keygen -t rsa -b 4096

display pubkey to copy:
sudo cat /root/.ssh/id_rsa.pub

on rpi add start9 pubkey to file (paste at bottom):
nano /home/admin/.ssh/authorized_keys

–copy Bitcoin blockchain data----
on start9
install and configure bitcoin service. Save a sample config file and start and stop the service after 1 min to generate default files and folders.
Then copy the blockchain data across (10.0.0.101 is my rpi LAN IP)

cd /embassy-data/package-data/volumes/bitcoind/data/main
sudo rsync -avz --progress -e "ssh -i /root/.ssh/id_rsa" admin@10.0.0.101:/data/bitcoin/blocks/ /embassy-data/package-data/volumes/bitcoind/data/main/blocks/
sudo rsync -avz --progress -e "ssh -i /root/.ssh/id_rsa" admin@10.0.0.101:/data/bitcoin/chainstate/ /embassy-data/package-data/volumes/bitcoind/data/main/chainstate/
sudo rsync -avz --progress -e "ssh -i /root/.ssh/id_rsa" admin@10.0.0.101:/data/bitcoin/indexes/ /embassy-data/package-data/volumes/bitcoind/data/main/indexes/

on rpi reset ownership
sudo chown bitcoin:bitcoin -R /data/bitcoin/

–copy LND data----
on rpi
sudo chown admin:admin -R /data/lnd/

on start9
copy lnd wallet password from raspibolt file /home/admin/.lnd/password.txt to:

ssh start9@ADJECTIVE-NOUN.local
sudo -i
echo -n 'moneyprintergobrrr' > /embassy-data/package-data/volumes/lnd/data/main/pwd.dat
exit

copy relevant LND data

cd /embassy-data/package-data/volumes/lnd/data/main
sudo mkdir data
sudo rsync -avz --progress -e "ssh -i /root/.ssh/id_rsa" admin@10.0.0.101:/data/lnd/data/ /embassy-data/package-data/volumes/lnd/data/main/data/

on rpi reset ownership
sudo chown lnd:lnd -R /data/lnd/

configure LND in start9 GUI manually to be similar to lnd.conf on rpi (i.e. do not copy the lnd.conf file across since it gets created at runtime from the GUI settings)

eventually start LND and view logs for any errors

install and configure other services as needed e.g. electrs, rtl, mempool

-------------------------END-----------------------

Questions before I start LND service:

Question (1):
What are the differences between config files and if there are duplicate settings, which file takes precedence:

/embassy-data/package-data/volumes/lnd/data/main/start9/config.yaml

(^ presumably used by the GUI)

/embassy-data/package-data/volumes/lnd/data/main/lnd.conf

(^ copied from Raspibolt and typically the default file used by LND. Can someone please provide a sample of default recommended settings assumed by start9 in this file?)

Question (2):
Is my folder structure correct after copying i.e. lowest level where wallet.dat was copied across from Raspibolt:
/embassy-data/package-data/volumes/lnd/data/main/data/chain/bitcoin/mainnet

Question (3):
I have passwords containing ascii characters like ~= etc which is not considered alphanumeric during validation in the GUI. Would that be a challenge?

  1. The config.yaml is the configuration settings saved by the user in the GUI - this file is used to generate lnd.conf at runtime. Making manual changes to a service’s native config file should generally not be expected to work in StartOS 0.3.5.x. Bi-directional config persistence is an 0.3.6 feature. Defaults can be seen LND’s config in the GUI.
  2. If the raspibolt directory /data/lnd/data/ contains the directories chain, graph, and watchtower, your commands appear correct and those directories are correctly placed in /embassy-data/package-data/volumes/lnd/data/main/data/. No need for copy the lnd.conf file - As I stated above lnd-startos will create this conf file fresh based on the config saved in the GUI regardless.
  3. I wouldn’t expect any issues from using those special characters in the wallet password, but let me know if you encounter any.

Thx a mil FullmetalAnarchist
I got it working!
I will edit my post with the steps I used for others that might find it useful

2 Likes