# Migrating Umbrel Home to Proxmox VM

**URL:** <https://community.umbrel.com/t/migrating-umbrel-home-to-proxmox-vm/20177>\
**Category:** Support and Troubleshooting\
**Created:** [November 29, 2024, 12:26pm UTC](https://community.umbrel.com/t/migrating-umbrel-home-to-proxmox-vm/20177 "2024-11-29T12:26:28Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![captain\_caveman](https://avatars.discourse-cdn.com/v4/letter/c/7ea924/32.png) [@captain\_caveman](https://community.umbrel.com/u/captain_caveman)\
**Post date:** [November 29, 2024, 12:26pm UTC](https://community.umbrel.com/t/migrating-umbrel-home-to-proxmox-vm/20177/1 "2024-11-29T12:26:28Z")

</div>

Hello Umbrel community!

I’ve been using Umbrel since the very early days, on a Pi4 when the project was brand new. It’s been great participating in the progress of this excellent project.

I’ve got a challenge: I bought an Umbrel Home (2023 edition), and I’ve committed even more to Umbrel as part of many self-hosted use cases. As a result, backups have become more important.

I have a NUC running Proxmox for a bunch of other services, and it’s time to migrate Umbrel over to a VM on that Proxmox machine. My set up has Proxmox backing up all VMs like clockwork.

On the Bitcoin side, I do not want to close my LN channels or have to redo all that work.

I see this [thread](https://community.umbrel.com/t/migrating-from-pi4-to-nuc-vm/18523), which looks like a great and feasible approach to doing this migration, but I also note that Umbrel has a migration tool — I used it to migrate from a Pi to the Umbrel Home hardware.

Can I use the migration tool to move from Umbrel Home to the Proxmox VM? I assume I’d have to let the VM access the USB drive and connect the Umbrel Home to it, but will this work?

Are there any other “gotchas” I should be aware of? I will be frustrated if I lose my LN channels.

Thanks!

---

<div class="post-metadata">

**Author:** ![Django](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.umbrel.com/django/32/5795_2.png) [@Django](https://community.umbrel.com/u/Django)\
**Post date:** [November 29, 2024, 1:51pm UTC](https://community.umbrel.com/t/migrating-umbrel-home-to-proxmox-vm/20177/2 "2024-11-29T13:51:25Z")

</div>

I’ve just written a guide for exactly this purpose, and it should hopefully be approved by the moderators and posted here soon. 🙂

---

<div class="post-metadata">

**Author:** ![Django](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.umbrel.com/django/32/5795_2.png) [@Django](https://community.umbrel.com/u/Django)\
**Post date:** [November 30, 2024, 5:54pm UTC](https://community.umbrel.com/t/migrating-umbrel-home-to-proxmox-vm/20177/3 "2024-11-30T17:54:39Z")

</div>

Since my guide is taking ages to get approved, I’ve decided to share it here as a response. I hope you find it helpful.

* * *

#### ⚠ **Important Safety Warning** ⚠

If you attempt this migration, proceed with extreme caution. Double-check every step to ensure you are not doing anything stupid. Above all, ensure that LND is **never running simultaneously** on both the old and new Umbrel instances. Broadcasting old or invalid channel states may result in penalty transactions, causing the loss of all funds in the affected channels.

**DISCLAIMER** : I take no responsibility for any losses caused by mistakes during this migration. Proceed at your own risk.

### Migration Steps

#### **1) New Umbrel: Install umbrelOS**

Set up [umbrelOS](https://github.com/getumbrel/umbrel/wiki/Install-umbrelOS-on-x86-Systems) on your new device.

#### **2) New Umbrel: Initial Setup**

Log in via the web interface, create an account, set a password, and install the **Bitcoin** app from the App Store.

#### **3) New Umbrel: SSH Access**

While Bitcoin is installing, access the new umbrelOS via SSH. Open a terminal on your computer and connect using:

```auto
ssh umbrel@NEW_UMBREL_IP

```

Enter your password when prompted.

#### **4) New Umbrel: Stop Bitcoin App**

Wait for Bitcoin to finish installing and let it run for about a minute. Then stop the Bitcoin app via the web interface or SSH:

```auto
umbreld client apps.stop.mutate --appId bitcoin

```

#### **5) New Umbrel: Modify `sudoers` File**

Run the following command to edit the `sudoers` file:

```auto
sudo visudo

```

Add the following line to the end of the file:

```auto
umbrel ALL=(ALL) NOPASSWD: ALL

```

Save the changes by pressing **CTRL+X** , then **Y** , and finally **Enter** to confirm.

#### **6) Old Umbrel: Transfer Bitcoin Data**

You’ll now transfer the blockchain data (`/blocks` and `/chainstate` directories) from the old Umbrel to the new one. It is not necessary to stop Bitcoin on the old Umbrel.

Access the old Umbrel via SSH:

```auto
ssh umbrel@OLD_UMBREL_IP

```

Run the following `rsync` command to transfer the data:

```auto
rsync -rav --progress --rsync-path="sudo rsync" /home/umbrel/umbrel/app-data/bitcoin/data/bitcoin/chainstate /home/umbrel/umbrel/app-data/bitcoin/data/bitcoin/blocks umbrel@NEW_UMBREL_IP:/home/umbrel/umbrel/app-data/bitcoin/data/bitcoin

```

Wait for the data transfer to complete. It took 2 or 3 hours in my case.

#### **7) New Umbrel: Start Bitcoin**

Start the Bitcoin app on the new Umbrel via the web interface or SSH:

```auto
umbreld client apps.start.mutate --appId bitcoin

```

Your new node should sync quickly.

#### **8) New Umbrel: Install Lightning**

Install the **Lightning** app from the App Store, then stop it via the web interface or SSH:

```auto
umbreld client apps.stop.mutate --appId lightning

```

#### **9) [CRITICAL] Old Umbrel: Backup Recovery Data**

Write down your recovery seed phrase and ensure you have an up-to-date copy of the **Static Channel Backup (SCB)** file in case anything goes wrong.

#### **10) Old Umbrel: Stop Lightning**

Stop the Lightning app on the old Umbrel via the web interface or SSH:

```auto
umbreld client apps.stop.mutate --appId lightning

```

#### **11) Old Umbrel: Transfer Lightning Data**

Use `rsync` to transfer LND data from the old Umbrel to the new one:

```auto
rsync -rav --progress --rsync-path="sudo rsync" /home/umbrel/umbrel/app-data/lightning umbrel@NEW_UMBREL_IP:/home/umbrel/umbrel/app-data

```

This should take only few short minutes, depending on the size of your `channel.db` file.

#### **12) New Umbrel: Verify `channel.db` Checksum**

Calculate the checksum of the `channel.db` file on the new Umbrel:

```auto
sha256sum /home/umbrel/umbrel/app-data/lightning/data/lnd/data/graph/mainnet/channel.db

```

#### **13) Old Umbrel: Verify `channel.db` Checksum**

Do the same on the old Umbrel:

```auto
sha256sum /home/umbrel/umbrel/app-data/lightning/data/lnd/data/graph/mainnet/channel.db

```

#### **14) New Umbrel: Start Lightning (DO NOT START THE OLD ONE!)**

If the checksums match, start the Lightning app on the new Umbrel via the web interface or SSH:

```auto
umbreld client apps.start.mutate --appId lightning

```

#### **15) Old Umbrel: Uninstall Lightning**

If the new Umbrel is functioning correctly and channels are online, uninstall the Lightning app from the old Umbrel.  
**⚠ Important:** Never run the Lightning app on the old Umbrel again.

#### **16) New Umbrel: Revert `sudoers` Changes**

Remove the line you added in Step 5 by running:

```auto
sudo visudo

```

Remove the corresponding line and save by pressing **CTRL+X** , then **Y** and **Enter**.

* * *

Congratulations! Your migration is now complete. ✅

---

<div class="post-metadata">

**Author:** ![captain\_caveman](https://avatars.discourse-cdn.com/v4/letter/c/7ea924/32.png) [@captain\_caveman](https://community.umbrel.com/u/captain_caveman)\
**Post date:** [December 10, 2024, 12:23pm UTC](https://community.umbrel.com/t/migrating-umbrel-home-to-proxmox-vm/20177/4 "2024-12-10T12:23:31Z")

</div>

Came here to say I finally got around to doing this over the weekend, and your guide worked perfectly! Hefty hardware upgrade and backups now reliable and easy! Thank you very much!

---

<div class="post-metadata">

**Author:** ![Django](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.umbrel.com/django/32/5795_2.png) [@Django](https://community.umbrel.com/u/Django)\
**Post date:** [December 11, 2024, 2:06pm UTC](https://community.umbrel.com/t/migrating-umbrel-home-to-proxmox-vm/20177/5 "2024-12-11T14:06:50Z")

</div>

Your welcome. I am glad I could help.
