rclone setup for ftp server

This commit is contained in:
2025-09-20 14:49:22 -04:00
parent 0c1a801a17
commit 6091576170
4 changed files with 81 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
[Unit]
Description=Mount Rclone FTP
After=network-online.target network.target
Wants=network-online.target
[Service]
Type=simple
# Use Environment to explicitly set $HOME
Environment=HOME=%h
ExecStartPre=%h/.local/bin/rclone_mount_check.sh
ExecStart=/usr/bin/rclone mount tdnde_ftp: %h/mnt/tdnde_server --vfs-cache-mode full --vfs-cache-max-size 1G --ftp-concurrency 20 --timeout 60s --contimeout 30s --dir-cache-time 1h
ExecStop=/bin/fusermount -u %h/mnt/tdnde_server
Restart=on-failure
[Install]
WantedBy=default.target

View File

@@ -0,0 +1,18 @@
#!/bin/bash
# Define the network name (SSID) of your work network
WORK_SSID="BELL577" # Replace with your actual work network name
# Get the current SSID (Wi-Fi network name)
# CURRENT_SSID=$(iwgetid -r) # If using iwgetid for Wi-Fi; you can also use nmcli for more flexibility
# Alternatively, use nmcli to get the SSID
CURRENT_SSID=$(nmcli -t -f active,ssid dev wifi | grep '^yes' | cut -d: -f2)
# Check if the current SSID matches the work network
if [ "$CURRENT_SSID" == "$WORK_SSID" ]; then
exit 0
else
echo "Not on the correct network (SSID: $CURRENT_SSID), skipping mount."
exit 1
fi

8
scripts/make_all.sh Executable file
View File

@@ -0,0 +1,8 @@
#!/bin/bash
cd ~/ExoKortex/2-Areas/IT/config
make all
if [ $? -eq 0 ]; then
notify-send "Dotfiles" "Configuration reloaded successfully!"
else
notify-send "Dotfiles" "Failed to reload configuration!"
fi

View File

@@ -0,0 +1,39 @@
#!/bin/bash
# Define paths
CHECK_SCRIPT="$HOME/.local/bin/rclone_mount_check.sh"
SERVICE_FILE="$HOME/.config/systemd/user/rclone_ftp_mount.service"
# Ensure the check script is executable
if [ -f "$CHECK_SCRIPT" ] && [ ! -x "$CHECK_SCRIPT" ]; then
echo "Making the check script executable: $CHECK_SCRIPT"
chmod +x "$CHECK_SCRIPT" || { echo "Failed to make the script executable"; exit 1; }
else
echo "Check script already executable or doesn't exist."
fi
# Reload user systemd to recognize the new unit
systemctl --user daemon-reload
# Enable the service if not already enabled
if [ -f "$SERVICE_FILE" ]; then
if ! systemctl --user is-enabled --quiet rclone_ftp_mount.service; then
echo "Enabling the rclone service."
systemctl --user enable rclone_ftp_mount.service || { echo "Failed to enable the service"; exit 1; }
else
echo "Service already enabled."
fi
else
echo "Service file does not exist at $SERVICE_FILE."
exit 1
fi
# Start the service if not already running
if systemctl --user is-active --quiet rclone_ftp_mount.service; then
echo "Rclone service is already running."
else
echo "Starting the rclone service."
systemctl start rclone_ftp_mount.service || { echo "Failed to start the service"; exit 1; }
fi
echo "Post-installation steps for rclone completed successfully."