Skip configuring the archive if the user didn't pick an archive system.

This commit is contained in:
cimryan
2018-11-05 21:56:29 -08:00
parent 12b1963ee3
commit 80ef4acf48
6 changed files with 63 additions and 69 deletions

View File

@@ -19,7 +19,7 @@ These instructions will speed you through the process with good defaults. If you
``` ```
1. Run these commands: 1. Run these commands:
``` ```
export RCLONE_ENABLE=true export ARCHIVE_SYSTEM=rclone
export RCLONE_DRIVE=gdrive export RCLONE_DRIVE=gdrive
export RCLONE_PATH=TeslaCam export RCLONE_PATH=TeslaCam
@@ -86,8 +86,6 @@ Confirm that the directory `TeslaCam` is present. If not, start over.
# Step 4: Exports # Step 4: Exports
Run this command to cause the setup processes which you'll resume in the main instructions to use rclone4pi: 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). Now return to the section "Set up the USB storage functionality" in the [main instructions](../README.md).

View File

@@ -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: 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_USER=<ftp username>
export RSYNC_SERVER=<ftp IP/host> export RSYNC_SERVER=<ftp IP/host>
export RSYNC_PATH=<destination path to save in> export RSYNC_PATH=<destination path to save in>
``` ```
Explanations for each: Explanations for each:
* `RSYNC_ENABLE`: `true` for enabling rsync * `ARCHIVE_SYSTEM`: `rsync` for enabling rsync
* `RSYNC_USER`: The user on the FTP server * `RSYNC_USER`: The user on the FTP server
* `RSYNC_SERVER`: The IP address/hostname of the destination machine * `RSYNC_SERVER`: The IP address/hostname of the destination machine
* `RSYNC_PATH`: The path on the destination machine where the files will be saved * `RSYNC_PATH`: The path on the destination machine where the files will be saved
An example config is below: An example config is below:
``` ```
export RSYNC_ENABLE=true export ARCHIVE_SYSTEM=rsync
export RSYNC_USER=pi export RSYNC_USER=pi
export RSYNC_SERVER=192.168.1.254 export RSYNC_SERVER=192.168.1.254
export RSYNC_PATH=/mnt/PIHDD/TeslaCam/ export RSYNC_PATH=/mnt/PIHDD/TeslaCam/

View File

@@ -23,6 +23,7 @@ Now, on the Pi:
1. Run these commands, subsituting your values: 1. Run these commands, subsituting your values:
``` ```
sudo -i sudo -i
export ARCHIVE_SYSTEM="cifs"
export archiveserver="Nautilus" export archiveserver="Nautilus"
export sharename="SailfishCam" export sharename="SailfishCam"
export shareuser="sailfish" export shareuser="sailfish"

View File

@@ -9,6 +9,7 @@
###################################################################### ######################################################################
# Default variables for CIFS (Windows/Mac file sharing) setup # Default variables for CIFS (Windows/Mac file sharing) setup
export ARCHIVE_SYSTEM=cifs
export archiveserver=your_archive_name_or_ip export archiveserver=your_archive_name_or_ip
export sharename=your_archive_share_name export sharename=your_archive_share_name
export shareuser=username export shareuser=username
@@ -33,11 +34,3 @@ export HEADLESS_SETUP=true
# Uncomment and change if you want a different branch than master # Uncomment and change if you want a different branch than master
# export BRANCH=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>

View File

@@ -9,6 +9,7 @@
###################################################################### ######################################################################
# Default variables for CIFS (Windows/Mac file sharing) setup # Default variables for CIFS (Windows/Mac file sharing) setup
export ARCHIVE_SYSTEM=cifs
export archiveserver=your_archive_name_or_ip export archiveserver=your_archive_name_or_ip
export sharename=your_archive_share_name export sharename=your_archive_share_name
export shareuser=username export shareuser=username
@@ -33,11 +34,3 @@ export HEADLESS_SETUP=true
# Uncomment and change if you want a different branch than master # Uncomment and change if you want a different branch than master
# export BRANCH=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>

View File

@@ -3,6 +3,8 @@
REPO=${REPO:-cimryan} REPO=${REPO:-cimryan}
BRANCH=${BRANCH:-master} BRANCH=${BRANCH:-master}
ARCHIVE_SYSTEM=${ARCHIVE_SYSTEM:-none}
export INSTALL_DIR=${INSTALL_DIR:-/root/bin} export INSTALL_DIR=${INSTALL_DIR:-/root/bin}
function check_variable () { function check_variable () {
@@ -60,50 +62,52 @@ EOF
function check_archive_configs () { function check_archive_configs () {
echo -n "Checking archive configs: " echo -n "Checking archive configs: "
RSYNC_ENABLE="${RSYNC_ENABLE:-false}" case "$ARCHIVE_SYSTEM" in
RCLONE_ENABLE="${RCLONE_ENABLE:-false}" rsync)
if [ "$RSYNC_ENABLE" = true ] && [ "$RCLONE_ENABLE" = true ] check_variable "RSYNC_USER"
then check_variable "RSYNC_SERVER"
echo "STOP: Can't enable rsync and rclone at the same time" check_variable "RSYNC_PATH"
exit 1 export archiveserver="$RSYNC_SERVER"
fi ;;
rclone)
if [ "$RSYNC_ENABLE" = true ] check_variable "RCLONE_DRIVE"
then check_variable "RCLONE_PATH"
check_variable "RSYNC_USER" export archiveserver="8.8.8.8" # since it's a cloud hosted drive we'll just set this to google dns
check_variable "RSYNC_SERVER" ;;
check_variable "RSYNC_PATH" cifs)
export archiveserver="$RSYNC_SERVER" check_variable "sharename"
check_variable "shareuser"
elif [ "$RCLONE_ENABLE" = true ] check_variable "sharepassword"
then check_variable "archiveserver"
check_variable "RCLONE_DRIVE" ;;
check_variable "RCLONE_PATH" none)
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 echo "STOP: Unrecognized archive system: $ARCHIVE_SYSTEM"
check_variable "sharename" exit 1
check_variable "shareuser" ;;
check_variable "sharepassword" esac
check_variable "archiveserver"
fi
echo "done" echo "done"
} }
function get_archive_module () { function get_archive_module () {
if [ "$RSYNC_ENABLE" = true ] case "$ARCHIVE_SYSTEM" in
then rsync)
archive_module="run/rsync_archive" echo "run/rsync_archive"
elif [ "$RCLONE_ENABLE" = true ] ;;
then rclone)
archive_module="run/rclone_archive" echo "run/rclone_archive"
else ;;
archive_module="run/cifs_archive" cifs)
fi echo "run/cifs_archive"
;;
echo $archive_module *)
echo "Internal error: Attempting to configure unrecognized archive system: $ARCHIVE_SYSTEM"
exit 1
;;
esac
} }
function install_archive_scripts () { function install_archive_scripts () {
@@ -125,7 +129,6 @@ function install_archive_scripts () {
get_script $install_path archive-is-reachable.sh $archive_module get_script $install_path archive-is-reachable.sh $archive_module
} }
function check_pushover_configuration () { function check_pushover_configuration () {
if [ ! -z "${pushover_enabled+x}" ] if [ ! -z "${pushover_enabled+x}" ]
then then
@@ -147,10 +150,10 @@ function check_pushover_configuration () {
function configure_pushover () { function configure_pushover () {
if [ ! -z "${pushover_enabled+x}" ] if [ ! -z "${pushover_enabled+x}" ]
then then
echo "Enabling pushover" echo "Enabling pushover"
echo "export pushover_enabled=true" > /root/.teslaCamPushoverCredentials echo "export pushover_enabled=true" > /root/.teslaCamPushoverCredentials
echo "export pushover_user_key=$pushover_user_key" >> /root/.teslaCamPushoverCredentials echo "export pushover_user_key=$pushover_user_key" >> /root/.teslaCamPushoverCredentials
echo "export pushover_app_key=$pushover_app_key" >> /root/.teslaCamPushoverCredentials echo "export pushover_app_key=$pushover_app_key" >> /root/.teslaCamPushoverCredentials
else else
echo "Pushover not configured." echo "Pushover not configured."
fi fi
@@ -158,8 +161,8 @@ function configure_pushover () {
function check_and_configure_pushover () { function check_and_configure_pushover () {
check_pushover_configuration check_pushover_configuration
configure_pushover configure_pushover
} }
function install_pushover_scripts() { function install_pushover_scripts() {
@@ -167,6 +170,12 @@ function install_pushover_scripts() {
get_script $install_path send-pushover run get_script $install_path send-pushover run
} }
if [ "$ARCHIVE_SYSTEM" = "none" ]
then
echo "Skipping archive configuration."
exit 1
fi
if ! [ $(id -u) = 0 ] if ! [ $(id -u) = 0 ]
then then
echo "STOP: Run sudo -i." echo "STOP: Run sudo -i."