#!/usr/bin/env bash
set -euo pipefail

WEB_ROOT="${WEB_ROOT:-/var/www/atalyacloud/downloads}"
APP_DIR="${APP_DIR:-cli}"
RELEASES_DIR="${RELEASES_DIR:-${WEB_ROOT}/${APP_DIR}/releases}"
WEB_USER="${WEB_USER:-www-data}"
WEB_GROUP="${WEB_GROUP:-www-data}"

echo "Creating Velopack release directory: ${RELEASES_DIR}"
sudo mkdir -p "${RELEASES_DIR}"

echo "Setting ownership: ${WEB_USER}:${WEB_GROUP}"
sudo chown -R "${WEB_USER}:${WEB_GROUP}" "${WEB_ROOT}/${APP_DIR}"

echo "Setting directory/file permissions"
sudo find "${WEB_ROOT}/${APP_DIR}" -type d -exec chmod 755 {} \;
sudo find "${WEB_ROOT}/${APP_DIR}" -type f -exec chmod 644 {} \;

if command -v ufw >/dev/null 2>&1; then
  echo "Configuring UFW for HTTP/HTTPS"
  sudo ufw allow 80/tcp
  sudo ufw allow 443/tcp
  sudo ufw status verbose
else
  echo "ufw was not found; skipping firewall rules."
fi

echo "Velopack update host is ready:"
echo "  ${RELEASES_DIR}"
echo "Upload release files here and serve them at:"
echo "  https://update.atalyacloud.com/downloads/${APP_DIR}/releases"
