skyview/debian/DEBIAN/postinst

50 lines
2 KiB
Text
Raw Normal View History

#!/bin/bash
set -e
case "$1" in
configure)
# Create skyview-adsb user and group if they don't exist
if ! getent group skyview-adsb >/dev/null 2>&1; then
addgroup --system --quiet skyview-adsb
fi
if ! getent passwd skyview-adsb >/dev/null 2>&1; then
adduser --system --ingroup skyview-adsb --home /var/lib/skyview-adsb \
--no-create-home --disabled-password --quiet skyview-adsb
fi
# Create directories with proper permissions
mkdir -p /var/lib/skyview-adsb /var/log/skyview-adsb >/dev/null 2>&1 || true
chown skyview-adsb:skyview-adsb /var/lib/skyview-adsb /var/log/skyview-adsb >/dev/null 2>&1 || true
chmod 755 /var/lib/skyview-adsb /var/log/skyview-adsb >/dev/null 2>&1 || true
# Database directory is managed by skyview-adsb user
# (Database path configured in /etc/skyview-adsb/config.json)
# Set permissions on config files
if [ -f /etc/skyview-adsb/config.json ]; then
chown root:skyview-adsb /etc/skyview-adsb/config.json >/dev/null 2>&1 || true
chmod 640 /etc/skyview-adsb/config.json >/dev/null 2>&1 || true
fi
# Handle systemd services
systemctl daemon-reload >/dev/null 2>&1 || true
# Check if main service was previously enabled
if systemctl is-enabled skyview-adsb >/dev/null 2>&1; then
# Service was enabled, restart it
systemctl restart skyview-adsb >/dev/null 2>&1 || true
fi
# Only restart database timer if it was already enabled
if systemctl is-enabled skyview-database-update.timer >/dev/null 2>&1; then
systemctl restart skyview-database-update.timer >/dev/null 2>&1 || true
fi
# Initialize database on first install (but don't auto-enable timer)
sudo -u skyview-adsb /usr/bin/skyview-data -config /etc/skyview-adsb/config.json update >/dev/null 2>&1 || true
;;
esac
exit 0