Recycling old hardware to run Umbrel on Ubuntu

Hi Umbrel Community!

I just finished to setup my Umbrel on Ubuntu 20.04 using an old Dell Laptop with Intel Celeron and 1TB SSD:

BTW, my reddit post is here: Reddit - Dive into anything

I wanna share some steps I got by myself to make it work:

  1. Follow instrucctions to install requirements in Umbrel README: GitHub - getumbrel/umbrel: A beautiful personal/home server OS for self-hosting with an app store. Buy a pre-built Umbrel Home with umbrelOS, or install on a Raspberry Pi 4, any Ubuntu/Debian system, or a VPS.

  2. (Only if External SDD is used, skip if OS is installed in it). Before install Umbrel in an external SSD you need to format and mount your 1TB SSD in /etc/fstab so you can setup a systemd service later.

  • Use the Disk app (search “disks”) to format it as EXT4 to make it work: (Tried NTFS but didn’t work)

image

  • Then get your SSD UUID with the command lsblk -f or blkid:
umbrel@umbrel:~$ lsblk -f
NAME         FSTYPE   LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINT
sda          ext4           3eebfe26-2401-4b3a-8ed5-952c11e87848  772.5G    11% /mnt/umbrel
mmcblk0
├─mmcblk0p1  vfat           30F8-FAB6                             467.2M     2% /boot/efi
├─mmcblk0p2  swap           56ea6474-2fc5-48d9-b5fb-afabeeb3abc0                [SWAP]
└─mmcblk0p3  ext4           282dd24d-b50b-42fe-b812-9d3e827bd6a6   14.4G    36% /

In my case my UUID is 3eebfe26-2401-4b3a-8ed5-952c11e87848

  • Create an umbrel mount directory sudo mkdir /mnt/umbrel
  • Edit the file sudo nano /etc/fstab and add your SSD
umbrel@umbrel:~$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/mmcblk0p3 during installation
UUID=282dd24d-b50b-42fe-b812-9d3e827bd6a6 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/mmcblk0p1 during installation
UUID=30F8-FAB6  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/mmcblk0p2 during installation
UUID=56ea6474-2fc5-48d9-b5fb-afabeeb3abc0 none            swap    sw              0       0
# Umbrel 1 TB SSD
UUID=3eebfe26-2401-4b3a-8ed5-952c11e87848 /mnt/umbrel     ext4   noatime,nodiratime,defaults 0       2
  • Restart your Ubuntu and check the SSD is being mounted in /mnt/umbrel (command lsblk -f)
  1. Setup a systemd Service:
  • Create a systemd file sudo nano /etc/systemd/system/umbrel.service
[Unit]
Description=Umbrel start script
After=network.service NetworkManager-wait-online.service mnt-umbrel.mount

[Service]
ExecStart=/mnt/umbrel/Umbrel/scripts/start

[Install]
WantedBy=default.target
  • Reload systemd services sudo systemctl daemon-reload
  • Enable Umbrel service sudo systemctl enable umbrel.service
  • Restart your ubuntu and check Umbrel started successfully with command sudo systemctl status umbrel

And thats it, now connect to your umbrel and continue the setup as usual.Then wait for the blockchain to sync.

Also, I hope you can recycle old hardware as well to get your Umbrel up and running smothly, Happy node sync!!! :sparkles: :rocket:

2 Likes

Update on systemctl service to proper stop and start umbrel before you shutdown or reboot your server

File: /etc/systemd/system/umbrel.service

[Unit]
Description=Umbrel scripts
After=network.service NetworkManager-wait-online.service mnt-umbrel.mount docker.service

[Service]
Type=oneshot
ExecStart=/mnt/umbrel/Umbrel/scripts/start
RemainAfterExit=true
ExecStop=/mnt/umbrel/Umbrel/scripts/stop
TimeoutStopSec=60

[Install]
WantedBy=default.target

So you can see in journalctl -u umbrel that umbrel is properly started and stopped using its own umbrel scripts:

-- Logs begin at Tue 2021-07-27 13:53:46 EST, end at Fri 2021-08-06 09:58:18 EST. --
jul 27 14:35:10 umbrel systemd[1]: Stopping Umbrel scripts...
jul 27 14:35:10 umbrel stop[14685]: Stopping installed apps...
jul 27 14:35:10 umbrel stop[14696]: Stopping app ride-the-lightning...
jul 27 14:35:10 umbrel stop[14694]: Stopping app btc-rpc-explorer...
jul 27 14:35:10 umbrel stop[14695]: Stopping app mempool...
jul 27 14:35:14 umbrel stop[14781]: Stopping btc-rpc-explorer_web_1 ...
jul 27 14:35:14 umbrel stop[14780]: Stopping ride-the-lightning_loop_1 ...
jul 27 14:35:14 umbrel stop[14780]: Stopping ride-the-lightning_web_1  ...
jul 27 14:35:15 umbrel stop[14779]: Stopping mempool_api_1     ...
jul 27 14:35:15 umbrel stop[14779]: Stopping mempool_web_1     ...
jul 27 14:35:15 umbrel stop[14779]: Stopping mempool_mariadb_1 ...
jul 27 14:35:17 umbrel stop[14780]: Stopping ride-the-lightning_loop_1 ... done
jul 27 14:35:18 umbrel stop[14779]: Stopping mempool_api_1     ... done
jul 27 14:35:18 umbrel stop[14780]: Stopping ride-the-lightning_web_1  ... done
jul 27 14:35:18 umbrel stop[14779]: Stopping mempool_web_1     ... done
jul 27 14:35:18 umbrel stop[14780]: Removing ride-the-lightning_loop_1 ...
jul 27 14:35:18 umbrel stop[14780]: Removing ride-the-lightning_web_1  ...
jul 27 14:35:18 umbrel stop[14779]: Stopping mempool_mariadb_1 ... done
jul 27 14:35:18 umbrel stop[14780]: Removing ride-the-lightning_loop_1 ... done
jul 27 14:35:18 umbrel stop[14781]: Stopping btc-rpc-explorer_web_1 ... done
jul 27 14:35:18 umbrel stop[14780]: Removing ride-the-lightning_web_1  ... done
jul 27 14:35:18 umbrel stop[14779]: Removing mempool_api_1     ...
jul 27 14:35:18 umbrel stop[14779]: Removing mempool_web_1     ...
jul 27 14:35:18 umbrel stop[14779]: Removing mempool_mariadb_1 ...
jul 27 14:35:18 umbrel stop[14780]: Going to remove ride-the-lightning_loop_1, ride-the-lightning_web_1
jul 27 14:35:19 umbrel stop[14779]: Removing mempool_api_1     ... done
jul 27 14:35:19 umbrel stop[14779]: Removing mempool_mariadb_1 ... done
jul 27 14:35:19 umbrel stop[14779]: Removing mempool_web_1     ... done
jul 27 14:35:19 umbrel stop[14779]: Going to remove mempool_api_1, mempool_web_1, mempool_mariadb_1
jul 27 14:35:19 umbrel stop[14781]: Removing btc-rpc-explorer_web_1 ...
jul 27 14:35:19 umbrel stop[14781]: Removing btc-rpc-explorer_web_1 ... done
jul 27 14:35:19 umbrel stop[14781]: Going to remove btc-rpc-explorer_web_1
jul 27 14:35:20 umbrel stop[14685]: Stopping Docker services...
jul 27 14:35:22 umbrel stop[14948]: Stopping middleware ...
jul 27 14:35:22 umbrel stop[14948]: Stopping bitcoin    ...
jul 27 14:35:22 umbrel stop[14948]: Stopping nginx      ...
jul 27 14:35:22 umbrel stop[14948]: Stopping lnd        ...
jul 27 14:35:22 umbrel stop[14948]: Stopping manager    ...
jul 27 14:35:22 umbrel stop[14948]: Stopping tor        ...
jul 27 14:35:22 umbrel stop[14948]: Stopping electrs    ...
jul 27 14:35:22 umbrel stop[14948]: Stopping dashboard  ...
jul 27 14:35:24 umbrel stop[14948]: Stopping middleware ... done
jul 27 14:35:24 umbrel stop[14948]: Stopping electrs    ... done
jul 27 14:35:26 umbrel stop[14948]: Stopping lnd        ... done
jul 27 14:35:28 umbrel stop[14948]: Stopping bitcoin    ... done
jul 27 14:35:29 umbrel stop[14948]: Stopping nginx      ... done
jul 27 14:35:30 umbrel stop[14948]: Stopping manager    ... done
jul 27 14:35:31 umbrel stop[14948]: Stopping dashboard  ... done
jul 27 14:35:32 umbrel stop[14948]: Stopping tor        ... done
jul 27 14:35:32 umbrel stop[14948]: Removing neutrino-switcher ...
jul 27 14:35:32 umbrel stop[14948]: Removing middleware        ...
jul 27 14:35:32 umbrel stop[14948]: Removing bitcoin           ...
jul 27 14:35:32 umbrel stop[14948]: Removing nginx             ...
jul 27 14:35:32 umbrel stop[14948]: Removing lnd               ...
jul 27 14:35:32 umbrel stop[14948]: Removing manager           ...
jul 27 14:35:32 umbrel stop[14948]: Removing tor               ...
jul 27 14:35:32 umbrel stop[14948]: Removing electrs           ...
jul 27 14:35:32 umbrel stop[14948]: Removing dashboard         ...
jul 27 14:35:32 umbrel stop[14948]: Removing lnd               ... done
jul 27 14:35:32 umbrel stop[14948]: Removing bitcoin           ... done
jul 27 14:35:33 umbrel stop[14948]: Removing dashboard         ... done
jul 27 14:35:33 umbrel stop[14948]: Removing middleware        ... done
jul 27 14:35:33 umbrel stop[14948]: Removing neutrino-switcher ... done
jul 27 14:35:33 umbrel stop[14948]: Removing manager           ... done
jul 27 14:35:33 umbrel stop[14948]: Removing electrs           ... done
jul 27 14:35:33 umbrel stop[14948]: Removing tor               ... done
jul 27 14:35:33 umbrel stop[14948]: Removing nginx             ... done
jul 27 14:35:33 umbrel stop[14948]: Removing network umbrel_main_network
jul 27 14:35:33 umbrel systemd[1]: umbrel.service: Succeeded.
jul 27 14:35:33 umbrel systemd[1]: Stopped Umbrel scripts.
-- Reboot --
jul 27 14:39:29 umbrel systemd[1]: Starting Umbrel scripts...
jul 27 14:39:29 umbrel start[2229]: Skipping status update when not on Umbrel OS
jul 27 14:39:29 umbrel start[2226]: ======================================
jul 27 14:39:29 umbrel start[2226]: ============= STARTING ===============
jul 27 14:39:29 umbrel start[2226]: ============== UMBREL ================
jul 27 14:39:29 umbrel start[2226]: ======================================
jul 27 14:39:29 umbrel start[2226]: Setting environment variables...
jul 27 14:39:29 umbrel start[2226]: Starting karen...
jul 27 14:39:29 umbrel start[2226]: Starting memory monitor...
jul 27 14:39:29 umbrel start[2226]: Starting backup monitor...
jul 27 14:39:29 umbrel start[2226]: Starting decoy backup trigger...
jul 27 14:39:29 umbrel start[2226]: Starting Docker services...
jul 27 14:39:33 umbrel start[2384]: Creating network "umbrel_main_network" with the default driver
jul 27 14:39:37 umbrel start[2384]: Creating dashboard ...
jul 27 14:39:37 umbrel start[2384]: Creating electrs   ...
jul 27 14:39:37 umbrel start[2384]: Creating tor       ...
jul 27 14:39:47 umbrel start[2384]: Creating dashboard ... done
jul 27 14:39:48 umbrel start[2384]: Creating electrs   ... done
jul 27 14:39:48 umbrel start[2384]: Creating tor       ... done
jul 27 14:39:48 umbrel start[2384]: Creating manager   ...
jul 27 14:39:50 umbrel start[2384]: Creating manager   ... done
jul 27 14:39:50 umbrel start[2384]: Creating nginx     ...
jul 27 14:39:50 umbrel start[2384]: Creating lnd       ...
jul 27 14:39:54 umbrel start[2384]: Creating nginx     ... done
jul 27 14:39:54 umbrel start[2384]: Creating bitcoin   ...
jul 27 14:39:55 umbrel start[2384]: Creating lnd       ... done
jul 27 14:39:58 umbrel start[2384]: Creating bitcoin   ... done
jul 27 14:39:58 umbrel start[2384]: Creating middleware ...
jul 27 14:39:58 umbrel start[2384]: Creating neutrino-switcher ...
jul 27 14:40:02 umbrel start[2384]: Creating middleware        ... done
jul 27 14:40:02 umbrel start[2384]: Creating neutrino-switcher ... done
jul 27 14:40:03 umbrel start[2226]: Removing status server iptables entry...
jul 27 14:40:03 umbrel start[4188]: Exiting iptables setup when not on Umbrel OS
jul 27 14:40:03 umbrel start[2226]: Starting installed apps...
jul 27 14:40:03 umbrel start[4199]: Starting app mempool...
jul 27 14:40:03 umbrel start[4200]: Starting app ride-the-lightning...
jul 27 14:40:04 umbrel start[4198]: Starting app btc-rpc-explorer...
jul 27 14:40:09 umbrel start[4299]: Creating ride-the-lightning_web_1 ...
jul 27 14:40:09 umbrel start[4299]: Creating ride-the-lightning_loop_1 ...
jul 27 14:40:13 umbrel start[4300]: Creating btc-rpc-explorer_web_1 ...
jul 27 14:40:16 umbrel start[4301]: Creating mempool_mariadb_1 ...
jul 27 14:40:16 umbrel start[4301]: Creating mempool_api_1     ...
jul 27 14:40:16 umbrel start[4301]: Creating mempool_web_1     ...
jul 27 14:40:25 umbrel start[4299]: Creating ride-the-lightning_loop_1 ... done
jul 27 14:40:27 umbrel start[4299]: Creating ride-the-lightning_web_1  ... done
jul 27 14:40:27 umbrel start[4300]: Creating btc-rpc-explorer_web_1 ... done
jul 27 14:40:28 umbrel start[4301]: Creating mempool_web_1     ... done
jul 27 14:40:28 umbrel start[4301]: Creating mempool_mariadb_1 ... done
jul 27 14:40:28 umbrel start[4301]: Creating mempool_api_1     ... done
jul 27 14:40:29 umbrel start[2226]: Umbrel is now accessible at
jul 27 14:40:29 umbrel start[2226]:   http://umbrel.local
jul 27 14:40:29 umbrel start[2226]:   http://192.168.0.69
jul 27 14:40:29 umbrel start[2226]:   http://NeverGonnaGiveYouUp.onion
jul 27 14:40:29 umbrel start[5022]: Skipping status update when not on Umbrel OS
jul 27 14:40:29 umbrel systemd[1]: Finished Umbrel scripts.