diff --git a/config/syncthing/rc.syncthing b/config/syncthing/rc.syncthing new file mode 100755 index 0000000..376358d --- /dev/null +++ b/config/syncthing/rc.syncthing @@ -0,0 +1,51 @@ +#!/bin/bash +# rc.syncthing - Syncthing file sync daemon for Slackware +# Runs as user green with config in ~/.config/syncthing + +SYNCTHING=/usr/bin/syncthing +USER=green +CONFDIR=/home/green/.config/syncthing +LOGFILE=/var/log/syncthing.log +PIDFILE=/var/run/syncthing.pid + +start() { + if [ -f "$PIDFILE" ] && kill -0 "$(cat $PIDFILE)" 2>/dev/null; then + echo "syncthing is already running" + return + fi + echo "Starting syncthing..." + mkdir -p /var/log + sudo -u $USER $SYNCTHING serve \ + --home=$CONFDIR \ + --no-browser \ + --logfile=$LOGFILE \ + >> $LOGFILE 2>&1 & + echo $! > $PIDFILE + echo "syncthing started (pid $(cat $PIDFILE))" +} + +stop() { + if [ -f "$PIDFILE" ] && kill -0 "$(cat $PIDFILE)" 2>/dev/null; then + echo "Stopping syncthing..." + kill "$(cat $PIDFILE)" + rm -f "$PIDFILE" + else + echo "syncthing is not running" + fi +} + +status() { + if [ -f "$PIDFILE" ] && kill -0 "$(cat $PIDFILE)" 2>/dev/null; then + echo "syncthing is running (pid $(cat $PIDFILE))" + else + echo "syncthing is not running" + fi +} + +case "$1" in + start) start ;; + stop) stop ;; + restart) stop; sleep 1; start ;; + status) status ;; + *) echo "Usage: $0 {start|stop|restart|status}" ;; +esac diff --git a/link-root.sh b/link-root.sh index 4474e97..5f2231e 100755 --- a/link-root.sh +++ b/link-root.sh @@ -53,6 +53,9 @@ backup_and_link "$DOTFILES/config/autofs/auto.mnt" "/etc/auto.mnt" chmod +x /etc/rc.d/rc.autofs backup_and_link "$DOTFILES/config/mpd/rc.mpd" "/etc/rc.d/rc.mpd" chmod +x /etc/rc.d/rc.mpd + +backup_and_link "$DOTFILES/config/syncthing/rc.syncthing" "/etc/rc.d/rc.syncthing" +chmod +x /etc/rc.d/rc.syncthing mkdir -p /mnt # NetworkManager wifi power saving fix @@ -96,6 +99,11 @@ fi if [ -x /etc/rc.d/rc.mpd ]; then /etc/rc.d/rc.mpd start fi + +# Start syncthing +if [ -x /etc/rc.d/rc.syncthing ]; then + /etc/rc.d/rc.syncthing start +fi RCEOF echo "added tailscale/autofs/mpd to rc.local" else