#!/bin/sh
set -eu

if [ "$(id -u)" -ne 0 ]; then
  echo "Run as root: sudo sh deploy/install.sh" >&2
  exit 1
fi

cd "$(CDPATH= cd -- "$(dirname "$0")/.." && pwd)"

install -d -m 0755 /opt/clinic-backup
install -m 0755 upload_server.py /opt/clinic-backup/upload_server.py

if ! id clinicbackup >/dev/null 2>&1; then
  useradd --system --home /var/backups/clinic-pro --shell /usr/sbin/nologin clinicbackup
fi

install -d -m 0750 -o clinicbackup -g clinicbackup /var/backups/clinic-pro
install -d -m 0750 -o clinicbackup -g clinicbackup /var/backups/clinic-pro/files

if [ ! -f /etc/clinic-backup.env ]; then
  cat >/etc/clinic-backup.env <<'EOF'
# Optional download login. Leave blank to disable downloads over HTTP.
CLINIC_DOWNLOAD_USER=
CLINIC_DOWNLOAD_PASSWORD=
# Optional comma-separated clinic public IPs. Empty allows every client.
CLINIC_ALLOW_IPS=
EOF
  chmod 0640 /etc/clinic-backup.env
fi

install -m 0644 deploy/clinic-backup.service /etc/systemd/system/clinic-backup.service
systemctl daemon-reload
systemctl enable --now clinic-backup.service
systemctl --no-pager --full status clinic-backup.service || true

echo
echo "Receiver is on 127.0.0.1:8090."
echo "Dashboard: set CLINIC_DOWNLOAD_USER and CLINIC_DOWNLOAD_PASSWORD, then open /backup"
echo "Point https://www.infotechonline.asia/pos/upload.php at it with deploy/nginx-clinic-backup.conf"
echo "Then run: python3 /opt/clinic-backup/upload_server.py --self-test"
