Skip to content

Commit

Permalink
Skip configuring the archive if the user didn't pick an archive system.
Browse files Browse the repository at this point in the history
  • Loading branch information
cimryan committed Nov 6, 2018
1 parent 12b1963 commit 80ef4ac
Show file tree
Hide file tree
Showing 6 changed files with 63 additions and 69 deletions.
6 changes: 2 additions & 4 deletions doc/SetupRClone.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ These instructions will speed you through the process with good defaults. If you
```
1. Run these commands:
```
export RCLONE_ENABLE=true
export ARCHIVE_SYSTEM=rclone
export RCLONE_DRIVE=gdrive
export RCLONE_PATH=TeslaCam
Expand Down Expand Up @@ -86,8 +86,6 @@ Confirm that the directory `TeslaCam` is present. If not, start over.
# Step 4: Exports
Run this command to cause the setup processes which you'll resume in the main instructions to use rclone4pi:
```
export RCLONE_ENABLE=true
export ARCHIVE_SYSTEM=rclone
```
**Note:** `RCLONE_ENABLE=true` is going to disable the default archive server. It also will **not** play nicely with `RSYNC_ENABLE=true` Perhaps future releases will allow both to be defined and function at the same time, for redundancy, but for now just pick one that you'll want the most.

Now return to the section "Set up the USB storage functionality" in the [main instructions](../README.md).
6 changes: 3 additions & 3 deletions doc/SetupRSync.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,20 +30,20 @@ Similar to sftp, rsync by default uses ssh to connect to a remote server and tra
Run this command to cause the setup processes which you'll resume in the main instructions to use rsync:

```
export RSYNC_ENABLE=true
export ARCHIVE_SYSTEM=rsync
export RSYNC_USER=<ftp username>
export RSYNC_SERVER=<ftp IP/host>
export RSYNC_PATH=<destination path to save in>
```
Explanations for each:
* `RSYNC_ENABLE`: `true` for enabling rsync
* `ARCHIVE_SYSTEM`: `rsync` for enabling rsync
* `RSYNC_USER`: The user on the FTP server
* `RSYNC_SERVER`: The IP address/hostname of the destination machine
* `RSYNC_PATH`: The path on the destination machine where the files will be saved

An example config is below:
```
export RSYNC_ENABLE=true
export ARCHIVE_SYSTEM=rsync
export RSYNC_USER=pi
export RSYNC_SERVER=192.168.1.254
export RSYNC_PATH=/mnt/PIHDD/TeslaCam/
Expand Down
1 change: 1 addition & 0 deletions doc/SetupShare.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ Now, on the Pi:
1. Run these commands, subsituting your values:
```
sudo -i
export ARCHIVE_SYSTEM="cifs"
export archiveserver="Nautilus"
export sharename="SailfishCam"
export shareuser="sailfish"
Expand Down
9 changes: 1 addition & 8 deletions doc/teslausb_setup_variables.conf.sample
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
######################################################################

# Default variables for CIFS (Windows/Mac file sharing) setup
export ARCHIVE_SYSTEM=cifs
export archiveserver=your_archive_name_or_ip
export sharename=your_archive_share_name
export shareuser=username
Expand All @@ -33,11 +34,3 @@ export HEADLESS_SETUP=true

# Uncomment and change if you want a different branch than master
# export BRANCH=master

# Uncomment if you're using rsync/ssh for the archive.
# Note: RSYNC is not usable for headless setup since it currently requires a manual step.
# Note: RSYNC_ENABLE=true is going to disable the default archive server.
# export RSYNC_ENABLE=true
# export RSYNC_USER=<ftp username>
# export RSYNC_SERVER=<ftp IP/host>
# export RSYNC_PATH=<destination path to save in>
9 changes: 1 addition & 8 deletions pi-gen-sources/files/teslausb_setup_variables.conf.sample
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
######################################################################

# Default variables for CIFS (Windows/Mac file sharing) setup
export ARCHIVE_SYSTEM=cifs
export archiveserver=your_archive_name_or_ip
export sharename=your_archive_share_name
export shareuser=username
Expand All @@ -33,11 +34,3 @@ export HEADLESS_SETUP=true

# Uncomment and change if you want a different branch than master
# export BRANCH=master

# Uncomment if you're using rsync/ssh for the archive.
# Note: RSYNC_ENABLE=true is going to disable the default archive server.
#
# export RSYNC_ENABLE=true
# export RSYNC_USER=<ftp username>
# export RSYNC_SERVER=<ftp IP/host>
# export RSYNC_PATH=<destination path to save in>
101 changes: 55 additions & 46 deletions setup/pi/configure.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
REPO=${REPO:-cimryan}
BRANCH=${BRANCH:-master}

ARCHIVE_SYSTEM=${ARCHIVE_SYSTEM:-none}

export INSTALL_DIR=${INSTALL_DIR:-/root/bin}

function check_variable () {
Expand Down Expand Up @@ -60,50 +62,52 @@ EOF
function check_archive_configs () {
echo -n "Checking archive configs: "

RSYNC_ENABLE="${RSYNC_ENABLE:-false}"
RCLONE_ENABLE="${RCLONE_ENABLE:-false}"
if [ "$RSYNC_ENABLE" = true ] && [ "$RCLONE_ENABLE" = true ]
then
echo "STOP: Can't enable rsync and rclone at the same time"
exit 1
fi

if [ "$RSYNC_ENABLE" = true ]
then
check_variable "RSYNC_USER"
check_variable "RSYNC_SERVER"
check_variable "RSYNC_PATH"
export archiveserver="$RSYNC_SERVER"

elif [ "$RCLONE_ENABLE" = true ]
then
check_variable "RCLONE_DRIVE"
check_variable "RCLONE_PATH"
export archiveserver="8.8.8.8" # since it's a cloud hosted drive we'll just set this to google dns
else
# default to cifs
check_variable "sharename"
check_variable "shareuser"
check_variable "sharepassword"
check_variable "archiveserver"
fi

case "$ARCHIVE_SYSTEM" in
rsync)
check_variable "RSYNC_USER"
check_variable "RSYNC_SERVER"
check_variable "RSYNC_PATH"
export archiveserver="$RSYNC_SERVER"
;;
rclone)
check_variable "RCLONE_DRIVE"
check_variable "RCLONE_PATH"
export archiveserver="8.8.8.8" # since it's a cloud hosted drive we'll just set this to google dns
;;
cifs)
check_variable "sharename"
check_variable "shareuser"
check_variable "sharepassword"
check_variable "archiveserver"
;;
none)
;;
*)
echo "STOP: Unrecognized archive system: $ARCHIVE_SYSTEM"
exit 1
;;
esac

echo "done"
}

function get_archive_module () {

if [ "$RSYNC_ENABLE" = true ]
then
archive_module="run/rsync_archive"
elif [ "$RCLONE_ENABLE" = true ]
then
archive_module="run/rclone_archive"
else
archive_module="run/cifs_archive"
fi

echo $archive_module
case "$ARCHIVE_SYSTEM" in
rsync)
echo "run/rsync_archive"
;;
rclone)
echo "run/rclone_archive"
;;
cifs)
echo "run/cifs_archive"
;;
*)
echo "Internal error: Attempting to configure unrecognized archive system: $ARCHIVE_SYSTEM"
exit 1
;;
esac
}

function install_archive_scripts () {
Expand All @@ -125,7 +129,6 @@ function install_archive_scripts () {
get_script $install_path archive-is-reachable.sh $archive_module
}


function check_pushover_configuration () {
if [ ! -z "${pushover_enabled+x}" ]
then
Expand All @@ -147,26 +150,32 @@ function check_pushover_configuration () {
function configure_pushover () {
if [ ! -z "${pushover_enabled+x}" ]
then
echo "Enabling pushover"
echo "export pushover_enabled=true" > /root/.teslaCamPushoverCredentials
echo "export pushover_user_key=$pushover_user_key" >> /root/.teslaCamPushoverCredentials
echo "export pushover_app_key=$pushover_app_key" >> /root/.teslaCamPushoverCredentials
echo "Enabling pushover"
echo "export pushover_enabled=true" > /root/.teslaCamPushoverCredentials
echo "export pushover_user_key=$pushover_user_key" >> /root/.teslaCamPushoverCredentials
echo "export pushover_app_key=$pushover_app_key" >> /root/.teslaCamPushoverCredentials
else
echo "Pushover not configured."
fi
}

function check_and_configure_pushover () {
check_pushover_configuration
configure_pushover
configure_pushover
}

function install_pushover_scripts() {
local install_path="$1"
get_script $install_path send-pushover run
}

if [ "$ARCHIVE_SYSTEM" = "none" ]
then
echo "Skipping archive configuration."
exit 1
fi

if ! [ $(id -u) = 0 ]
then
echo "STOP: Run sudo -i."
Expand Down

0 comments on commit 80ef4ac

Please sign in to comment.