From dfd7d9fa5cb11fd8af2da9394a5a5abb3230a4eb Mon Sep 17 00:00:00 2001 From: Sam Scholten Date: Tue, 28 Oct 2025 10:32:59 +1000 Subject: fix: remove hardcoded HOME=/root from systemd templates - Remove hardcoded HOME=/root from systemd service templates - Only set HOME explicitly for system scope in setup.sh and update.sh - This fixes rclone config lookup issue for user installations - Update sed patterns to correctly replace environment variables Resolves issue where user backups failed with rclone permission errors looking for config in /root/.rclone.conf instead of ~/.config/rclone/rclone.conf --- setup.sh | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'setup.sh') diff --git a/setup.sh b/setup.sh index f667247..ed5bce5 100755 --- a/setup.sh +++ b/setup.sh @@ -348,15 +348,23 @@ else fi log "Generating systemd service file: $SYSTEMD_DIR/restic-backup.service" +# Generate the service file with correct paths sed -e "s|ExecStart=/path/to/be/replaced/restic_backup.sh|ExecStart=$INSTALL_DIR/restic_backup.sh|" \ - -e "s|Environment=\"HOME=/root\"|Environment=\"HOME=$HOME_PATH\"|" \ - -e "s|# Environment variable will be set by setup.sh based on scope|Environment=\"RESTIC_ENV_FILE=$ENV_FILE\"|" \ + -e "s|Environment=\"RESTIC_ENV_FILE=/path/to/be/replaced\"|Environment=\"RESTIC_ENV_FILE=$ENV_FILE\"|" \ systemd/restic-backup.service >"$SYSTEMD_DIR/restic-backup.service" +# Add HOME environment variable only for system scope +if [ "$SCOPE" == "system" ]; then + sed -i "/# HOME will be set by setup.sh for system scope only/a Environment=\"HOME=/root\"" "$SYSTEMD_DIR/restic-backup.service" +fi log "Generating systemd service file: $SYSTEMD_DIR/restic-check.service" +# Generate the service file with correct paths sed -e "s|ExecStart=/path/to/be/replaced/restic_check.sh|ExecStart=$INSTALL_DIR/restic_check.sh|" \ - -e "s|Environment=\"HOME=/root\"|Environment=\"HOME=$HOME_PATH\"|" \ - -e "s|# Environment variable will be set by setup.sh based on scope|Environment=\"RESTIC_ENV_FILE=$ENV_FILE\"|" \ + -e "s|Environment=\"RESTIC_ENV_FILE=/path/to/be/replaced\"|Environment=\"RESTIC_ENV_FILE=$ENV_FILE\"|" \ systemd/restic-check.service >"$SYSTEMD_DIR/restic-check.service" +# Add HOME environment variable only for system scope +if [ "$SCOPE" == "system" ]; then + sed -i "/# HOME will be set by setup.sh for system scope only/a Environment=\"HOME=/root\"" "$SYSTEMD_DIR/restic-check.service" +fi # Copy systemd timer files log "Copying systemd timer file: $SYSTEMD_DIR/restic-backup.timer" -- cgit v1.2.3