﻿set -e
echo "=== deploy pixel-store to /var/www/zoehub ==="
sudo mkdir -p /var/www/zoehub
sudo cp -r ~/pixel-store/. /var/www/zoehub/
sudo chown -R caddy:caddy /var/www/zoehub
sudo find /var/www/zoehub -type d -exec chmod 755 {} \;
sudo find /var/www/zoehub -type f -exec chmod 644 {} \;
echo "served files:"; sudo ls -la /var/www/zoehub | head

echo "=== write Caddyfile ==="
sudo tee /etc/caddy/Caddyfile > /dev/null <<'EOF'
zoehub.xyz {
	root * /var/www/zoehub
	file_server
	encode zstd gzip
	header {
		Referrer-Policy strict-origin-when-cross-origin
		X-Content-Type-Options nosniff
	}
}

www.zoehub.xyz {
	redir https://zoehub.xyz{uri} permanent
}

ada.zoehub.xyz {
	reverse_proxy 127.0.0.1:8090
}
EOF

echo "=== validate ==="
sudo caddy validate --config /etc/caddy/Caddyfile --adapter caddyfile

echo "=== restart caddy ==="
sudo systemctl restart caddy
sleep 4
echo "active: $(systemctl is-active caddy)"
echo "=== ports now ==="
ss -tlnp 2>/dev/null | grep -E ':80 |:443 ' || true
echo "=== local https test (apex) ==="
curl -sk -m 10 -o /dev/null -w "apex https_code=%{http_code}\n" https://127.0.0.1 -H "Host: zoehub.xyz" || true
echo "=== recent caddy log ==="
sudo journalctl -u caddy --no-pager -n 25 2>/dev/null | tail -25
echo DONE

