#!/usr/bin/env bash set -euo pipefail ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" DOMAIN="${KANBAN_DOMAIN:-gahow-pc.ipads-lab.se.sjtu.edu.cn}" UPSTREAM_PORT="${KANBAN_PORT:-5180}" ENABLE_HTTP_REDIRECT="${KANBAN_ENABLE_HTTP_REDIRECT:-0}" GITEA_PORT="${KANBAN_GITEA_PORT:-3443}" STOCK_FRONTEND_PORT="${KANBAN_STOCK_FRONTEND_PORT:-5443}" STOCK_API_PORT="${KANBAN_STOCK_API_PORT:-8788}" if [[ "${EUID}" -ne 0 ]]; then exec sudo -E bash "$0" "$@" fi mkdir -p /etc/nginx/certs mkdir -p /var/www/local-kanban-portal cp "${ROOT_DIR}/deploy/certs/local-kanban.crt" /etc/nginx/certs/gahow-pc.fullchain.pem cp "${ROOT_DIR}/deploy/certs/local-kanban.key" /etc/nginx/certs/gahow-pc.key cp "${ROOT_DIR}/portal/index.html" /var/www/local-kanban-portal/index.html cp "${ROOT_DIR}/portal/portal.css" /var/www/local-kanban-portal/portal.css rm -f /var/www/local-kanban-portal/portal.js chmod 600 /etc/nginx/certs/gahow-pc.key { cat </etc/nginx/sites-available/local-kanban ln -sf /etc/nginx/sites-available/local-kanban /etc/nginx/sites-enabled/local-kanban rm -f /etc/nginx/sites-enabled/default nginx -t systemctl reload nginx || systemctl restart nginx echo "Nginx portal is configured for https://${DOMAIN}/" echo "Kanban remains available on its own port, for example https://${DOMAIN}:8443/" echo "Gitea HTTPS is configured for https://${DOMAIN}:${GITEA_PORT}/" echo "Stock Agent HTTPS is configured for https://${DOMAIN}:${STOCK_FRONTEND_PORT}/" echo "Stock Agent API HTTPS is configured for https://${DOMAIN}:${STOCK_API_PORT}/" if [[ "${ENABLE_HTTP_REDIRECT}" != "1" ]]; then echo "Port 80 redirect is disabled. Set KANBAN_ENABLE_HTTP_REDIRECT=1 only if port 80 is free." fi