Files
move-data-nas/packaging/debian/DEBIAN/postinst
T
darroyo 4cc93c7747 fix: self-healing permissions on /var/lib/syncserver
- systemd: add ExecStartPre to chown -R the data dir before every start
- postinst: add chown -R after creating dirs to fix ownership on upgrades

This prevents the service from failing if dirs were created by root or
drifted ownership after a manual run.
2026-07-07 15:41:10 -04:00

49 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
set -e
case "$1" in
configure)
if ! id syncserver > /dev/null 2>&1; then
useradd --system --no-create-home --shell /usr/sbin/nologin syncserver || true
fi
install -d -o syncserver -g syncserver -m 0750 /var/lib/syncserver/data || true
install -d -o syncserver -g syncserver -m 0750 /var/lib/syncserver/ssh || true
install -d -o syncserver -g syncserver -m 0750 /var/lib/syncserver/logs || true
chown -R syncserver:syncserver /var/lib/syncserver
install -d -o root -g root -m 0755 /etc/syncserver || true
if [ ! -f /etc/syncserver/config.yaml ]; then
cat > /etc/syncserver/config.yaml << 'EOF'
# SyncServer configuration
# Copy this file and edit as needed.
# Environment variables SYNCSERVER_* take precedence over this file.
data_dir: /var/lib/syncserver
addr: :8080
auth:
jwt_secret: "" # Leave empty to generate a random one on startup
jwt_expiry_hours: 24
scheduler:
timezone: UTC
EOF
chown root:root /etc/syncserver/config.yaml
chmod 0644 /etc/syncserver/config.yaml
fi
if command -v systemctl > /dev/null 2>&1; then
systemctl daemon-reload 2>/dev/null || true
systemctl enable syncserver.service 2>/dev/null || true
systemctl start syncserver.service 2>/dev/null || true
fi
;;
abort-upgrade|abort-remove|abort-configure)
exit 0
;;
esac
exit 0