Skip to content

VincePuc99/ArloCloud-RPi

Repository files navigation

Arlo Self Hosted Cloud-RPi Setup

Shell Script Raspberry Pi Debian Visual Studio Code

Instead of relying on Arlo's cloud service, you can use a Raspberry Pi to store your videos locally and access them virtually everywhere!

This setup lets you store every videos on your own Raspberry Pi. All you need is a Pi and an SD card.

Once set up, your Pi connects directly to the Arlo base station, so you can access and store all your footage locally.
Then you can share all your footage with your preferred method, Google Drive, Samba, Plex, virtually everything that can show videos!

If you just want an Arlo’s cloud storage DIY alternative then ArloCloud-RPi is for you!

The script enables a virtual USB storage of 30GB and sets up a crontab to synchronize clips between
the virtual USB and an exposed folder (./ArloExposed inside the cloned /ArloCloud-RPi).
You need to access this folder in order to view your clips on your preferred service.

Caution

Two directories will be created in /ArloCloud-RPi - ./arlo and ./ArloExposed.
To avoid data corruption DO NOT ALTER the ./arlo one. It's a mount point for sync_clips.sh.

Warning

Any other OS's / Distros are untested mainly due to /boot/firmware/config.txt location.
Note that /boot/config.txt is also checked, as it is used by older versions of DietPi.

Note

Tested on:

What you need

  • A root user account

  • A minimum of 64GB SD card

  • For RPi Zero/Zero2W:

    • Connect the USB cable to the middle port from the RPi (Without the PWR label) to the USB of the station, Arlo base station itself is enough to power the Raspbery Pi.
  • For others RPi's:

    • Connect the USB cable to any USB port of the RPi, you will need an external power source.
  • Dependencies

    • The scripts require the following packages: git - findutils - rsync
      If they are not already installed the program will exit resulting in an error in arlo_usb_installer.log

Installation

Cloning the Repository

To clone this repository, use the following command:

git clone https://github.com/VincePuc99/ArloCloud-RPi.git

Permissions

cd ArloCloud-RPi
sudo chmod +x *

Usage

sudo ./arlo_usb_installer.sh <max_power>

Where <max_power> is:

  • 500 for Raspberry Pi 4B
  • 200 for Raspberry Pi Zero 2
  • 100 for Raspberry Pi Zero

Example for Raspberry Pi 4B:

sudo ./arlo_usb_installer.sh 500

After running arlo_usb_installer.sh, the Raspberry Pi will reboot.
Afterward, check the connection to the base in Arlo Secure App™. It should look like the image below.

Uninstallation

To completely uninstall ArloCloud-RPi, run the following command:

sudo ./uninstaller.sh

This command will remove the USB image file, all mount points located inside /ArloCloud-RPi main folder, all files cloned with git clone, all crontab-related tasks, dwc2 from /etc/modules and /boot/firmware/config.txt (or /boot/config.txt) .

After running uninstaller.sh, the Raspberry Pi will reboot.
Afterward, check the connection to the base in Arlo Secure App™. It should look like the image below.

Caution

All saved clips in the /ArloCloud-RPi folders (like ./arlo and ./ArloExposed) will be removed.
Backup your data before proceeding!

Documentation

  • arlo_usb_installer.sh - This script installs necessary dependencies and runs the other scripts in the correct order. It ensures that the system is properly set up for USB mass storage and clip management.

  • enable_mass_storage.sh - Enables USB mass storage with the specified maximum power.

  • sync_clips.sh - Synchronizes clips from the USB storage to a shared directory. Ensures that the mount point is properly managed to avoid data corruption.

  • arlo_usb_installer.log - Will be created on first run inside ArloCloud-RPi Main folder. Check it for any issue.

  • uninstaller.sh - Uninstaller to remove every trace of ArloCloud-RPi.

License

This project is licensed under the MIT License.

About

Scripts to set up and manage an Arlo USB storage system (with cloud features) on any Raspberry Pi.

Topics

Resources

License

Stars

57 stars

Watchers

1 watching

Forks

Contributors

Languages