Self Install on Raspberry Pi 4 (or 3) with Ubuntu Server

One inexpensive way to use HomeDrive is to run it on a Raspberry Pi.

This document describes how to install HomeDrive software on a Raspberry Pi 3 or 4 with Ubuntu Server as the base operating system. HomeDrive software works on both Raspberry Pi 3 and 4, but we suggesting using a Raspberry Pi 4 for more acceptable Nextcloud performance.

Raspberry Pi 2 or earlier is not supported, as they are 32-bit only.

Preparation

  • A Raspberry Pi 3B or 4 with micro-USB power cable (or USB-C for the Pi 4)
  • A computer that can flash a micro SD card.
  • A micro SD card that is at least 16GB.
  • An Ethernet cable network that provides Internet connectivity. (Using Wi-Fi will also work, but might affect network performance/stability.)

Install Ubuntu Server

You can follow the general installation steps from Ubuntu's official Web site. At the high level, the key steps are:

  1. Download the 64-bit Ubuntu Server image for Raspberry Pi. For best future maintenance support, we recommend using Ubuntu Server 20.04 LTS
  2. Connect the Pi to a router that has Internet connectivity.
  3. Connect the Pi with a monitor and a keyboard, and power it up. (If you can find the IP address of the Pi, you can also just SSH in via network without the monitor or keyboard connected).
  4. Log in to the Pi's command line console. Both the username and the password are ubuntu. It will ask you to change the password on first login.
  5. Log in again, and run sudo apt update && sudo apt upgrade to upgrade the system software to the latest versions.

Note that unlike using our official hardware, you are responsible to maintain and upgrade the operating system by yourself.

Install Docker

Simply run:

sudo snap install docker

To avoid the need to run docker command with sudo, you can run:

sudo groupadd docker
sudo usermod -aG docker $USER

You need to log out and log back in so that the group membership can be re-evaluated.

Install HomeDrive

Click here to create an endpoint. This endpoint account will be used for fetching future HomeDrive software updates, and also for establishing the end-to-end encrypted proxy tunnel for you to easily visit HomeDrive from the Internet.

The endpoint creation comes with a one-time installation code. You need to use this code to install HomeDrive with the following command (with <endpoint name> and <one-time installationt code> replaced):

sudo docker run -ti --rm \
  --mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \
  homedrv/homeboot /bin/homeboot install \
  -name <endpoint name> -code <one-time installation code>

The command will download and run a container called core.homedrv, where this "core" will download, install, configure Nextcloud, and also its backend storage systems and its reverse proxy. Depending on the SD card's read/write performance, the whole installation process might take about 10-15 minutes (installing Nextcloud alone might take more than 5 minutes).

When core.homedrv is installing, you can monitor the installation progress via sudo docker logs core.homedrv command. You can add the -f flag to follow the progress:

sudo docker logs -f core.homedrv

And press Ctrl-C to exit following.

After HomeDrive is successfully installed, you can visit it at your-endpoint.homedrv.com (or your-endpoint.homedrv.eu for ones in the Europe region ones). The installation generates a password with random characters, and you can find the password on the specific endpoint's page from the HomeDrive endpoints dashboard. The username is admin.

After installation, please change your Nextcloud password and set up some form of 2-factor authentication. Since your Nextcloud is exposed to the Internet, setting up 2-factor authentication is very important to keep your service and data secure.

Note that, if you have already created an endpoint and want to reuse the endpoint name, you can just click the "Create new one-time installation code" button to create a new installation code, and reuse the endpoint account.

All HomeDrive managed docker containers and volumes has the .homedrv suffix, and also a label with key io.homedrive.name. This avoids introducing naming conflicts with docker objects that HomeDrive does not manage.

Run the occ Command

If you need to run occ to fine-tune your Nextcloud instance, you need to run the occ command inside the docker container. You can get into the docker container's shell from the command line by:

sudo docker exec -ti -u www-data nextcloud.homedrv /bin/bash

Then you can run occ:

$ ./occ status
  - installed: true
  - version: 20.0.7.1
  - versionstring: 20.0.7
  - edition:

Uninstall HomeDrive

In case that your installation failed and needs cleaning things up, or you simply decided to stop using HomeDrive and want to uninstall it, run:

sudo docker run -ti --rm \
  --mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \
  homedrv/homeboot /bin/homeboot uninstall

This will also delete all HomeDrive managed data, which cannot be reversed.


If you need help, feel free to chat with us using the chat bottom on the bottom right corner, or send us an email at support@homedrive.io .

If you still find these steps too complicated to follow, you can buy a preinstalled HomeDrive device.