This guide will show you how to install and configure rclone to archive your saved TeslaCam footage on one of a number of different remote storage services including Google Drive, S3 and Dropbox.
The easiest way to to configure teslausb for rclone is:
- use the one-step setup process first, but select the
none
archive method instead ofcifs
. Once setup has completed, you will have a Raspberry Pi based USB drive that works with the car, but that doesn't do any archiving. Make sure the Pi is fully functional before proceeding with the next steps. - ssh into the Pi, become root and remount the filesystems read-write:
sudo -i /root/bin/remountfs_rw
- install rclone:
curl https://rclone.org/install.sh | sudo bash
- configure rclone for your chosen storage service:
rclone config
, then follow the instructions from rclone.org - edit "/root/teslausb_setup_variables.conf" and change the archive method to
rclone
- add the RCLONE_DRIVE and RCLONE_PATH variables to the config, according to the values you used when you configured the rclone remote.
RCLONE_DRIVE should be a name shown by
rclone listremotes
, and RCLONE_PATH should be a path that exists on the named remote, i.e.rclone ls "$RCLONE_DRIVE:$RCLONE_PATH"
should not print an error (but it may print nothing, if the path is newly created and currently empty). - optionally populate RCLONE_FLAGS with flags to add to the command, i.e. RCLONE_FLAGS=(--checksum). To specify multiple flags: RCLONE_FLAGS=(--flag1 --flag2)
export RCLONE_DRIVE="remotename" export RCLONE_PATH="remotepathname" export RCLONE_FLAGS=()
- run
/root/bin/setup-teslausb
Below are the old instructions in case you want to do things the hard way.
Note it is recommended you follow the "Easy rclone setup" instructions listed above instead
You must perform these steps after getting a shell on the Pi and before running the setup-teslacam
script on the Pi.
Make sure to run all commands in these instructions in a single command shell as root. When you return to the Main Instructions continue running the commands there in this same shell. This is necessary because:
- The
archiveloop
script runs as root and the rclone config is bound to the user running the config. - These commands define environment variables that the main setup scripts need.
These instructions will speed you through the process with good defaults. If you encounter an error, or you want to use a different config name than gdrive
or a different folder name than TeslaCam
, follow the detailed instuctions, below.
-
Enter the root session if you haven't already:
sudo -i
-
Run these commands. Specify the config name
gdrive
when prompted for the config name.curl https://rclone.org/install.sh | sudo bash rclone config
-
Run these commands:
export ARCHIVE_SYSTEM=rclone export RCLONE_DRIVE=gdrive export RCLONE_PATH=TeslaCam rclone mkdir "$RCLONE_DRIVE:$RCLONE_PATH" rclone lsd "$RCLONE_DRIVE":
-
If you didn't encounter any error messages and you see the
TeslaCam
directory listed, stay in yoursudo -i
session and return to the Main Instructions.
- Enter a root session on your Pi (if you haven't already):
sudo -i
- Run the following command to install rclone:
Alternatively, you can install rclone manually by following these instructions.
curl https://rclone.org/install.sh | sudo bash
-
Run this command to configure an archive:
rclone config
This will launch an interactive setup with a series of questions. It is recommended that you look at the documentation for your storage system by going to rclone and selecting your storage system from the pull down menu at the stop.
It has been confirmed that this process works with Google Drive using these instructions. If you are using another storage system, please feel encouraged to create an "Issue" describing your challenges and/or your success.
If you are using Google Drive it is important to set the correct scope. Carefully read the documentation on scopes on rclone as well as Google Drive. The
drive.file
scope is recommended.Important: During the
rclone config
process you will specify a name for the configuration. The rest of the document will assume the use of the namegdrive
; replace this with your chosen configuration name. -
Run this command:
export RCLONE_DRIVE="gdrive"
- Run the following command to see the name of the remote drive you just created.
If you don't see the name there, something went wrong. Go back through the
rclone listremotes
rclone config
process. - Run this command:
You should not see any files listed. If you do then you did not set your scope correctly during the
rclone lsd "$RCLONE_DRIVE":
rclone config
process. - Choose the name of a folder to hold the archived clips. These instructions will assume you chose the name
TeslaCam
. Substitute the name you chose for this name. Run this command:export RCLONE_PATH="TeslaCam"
- Run the following command to create a folder which will hold the archived clips.
rclone mkdir "$RCLONE_DRIVE:TeslaCam"
- Run this command again:
Confirm that the directory
rclone lsd "$RCLONE_DRIVE":
TeslaCam
is present. If not, start over.
Run this command to cause the setup processes which you'll resume in the main instructions to use rclone:
export ARCHIVE_SYSTEM=rclone
Now stay in your sudo -i
session and return to the section "Set up the USB storage functionality" in the main instructions.