2025-08-23 23:51:37 +02:00
|
|
|
#!/bin/bash
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
|
|
case "$1" in
|
|
|
|
|
configure)
|
2025-08-25 08:23:11 +02:00
|
|
|
# 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
|
2025-08-23 23:51:37 +02:00
|
|
|
fi
|
|
|
|
|
|
2025-08-25 08:23:11 +02:00
|
|
|
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
|
2025-08-23 23:51:37 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Create directories with proper permissions
|
2025-08-25 08:23:11 +02:00
|
|
|
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
|
2025-08-23 23:51:37 +02:00
|
|
|
|
2025-08-31 19:59:29 +02:00
|
|
|
# Database directory is managed by skyview-adsb user
|
|
|
|
|
# (Database path configured in /etc/skyview-adsb/config.json)
|
2025-08-31 16:48:28 +02:00
|
|
|
|
2025-08-24 18:24:08 +02:00
|
|
|
# Set permissions on config files
|
2025-08-25 08:23:11 +02:00
|
|
|
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
|
2025-08-23 23:51:37 +02:00
|
|
|
fi
|
|
|
|
|
|
2025-08-24 18:24:08 +02:00
|
|
|
|
2025-08-31 16:48:28 +02:00
|
|
|
# Handle systemd services
|
2025-08-24 18:46:37 +02:00
|
|
|
systemctl daemon-reload >/dev/null 2>&1 || true
|
2025-08-23 23:51:37 +02:00
|
|
|
|
2025-08-31 16:48:28 +02:00
|
|
|
# Check if main service was previously enabled
|
2025-08-25 08:23:11 +02:00
|
|
|
if systemctl is-enabled skyview-adsb >/dev/null 2>&1; then
|
2025-08-24 18:46:37 +02:00
|
|
|
# Service was enabled, restart it
|
2025-08-25 08:23:11 +02:00
|
|
|
systemctl restart skyview-adsb >/dev/null 2>&1 || true
|
2025-08-24 18:46:37 +02:00
|
|
|
fi
|
2025-08-31 16:48:28 +02:00
|
|
|
|
|
|
|
|
# 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)
|
2025-08-31 19:59:29 +02:00
|
|
|
sudo -u skyview-adsb /usr/bin/skyview-data -config /etc/skyview-adsb/config.json update >/dev/null 2>&1 || true
|
2025-08-23 23:51:37 +02:00
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
exit 0
|