#!/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 # Create database directory for skyview user (not skyview-adsb) mkdir -p /var/lib/skyview >/dev/null 2>&1 || true if getent passwd skyview >/dev/null 2>&1; then chown skyview:skyview /var/lib/skyview >/dev/null 2>&1 || true else # Create skyview user for database management if ! getent group skyview >/dev/null 2>&1; then addgroup --system --quiet skyview fi adduser --system --ingroup skyview --home /var/lib/skyview \ --no-create-home --disabled-password --shell /bin/false --quiet skyview chown skyview:skyview /var/lib/skyview >/dev/null 2>&1 || true fi chmod 755 /var/lib/skyview >/dev/null 2>&1 || true # 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) if [ ! -f /var/lib/skyview/skyview.db ]; then echo "Initializing SkyView database..." sudo -u skyview /usr/bin/skyview-data update >/dev/null 2>&1 || true echo "Database initialized with safe (public domain) data." echo "" echo "To enable automatic weekly updates:" echo " systemctl enable --now skyview-database-update.timer" echo "" echo "To import additional data sources:" echo " skyview-data list" echo " skyview-data import " fi ;; esac exit 0