uce/scripts/systemd/manage-uce-service.sh
udo cd8f07aaa7 Refactor FastCGI server and compiler, enhance HTTP header parsing, and add WebSocket support
- Refactored FastCGIServer class to improve socket handling and added shutdown functionality.
- Updated compiler functions to streamline HTML and text literal processing.
- Enhanced split_kv function to support uppercase keys and added split_http_headers for better HTTP header parsing.
- Introduced new session management functions to validate and handle session IDs.
- Added WebSocket frame parsing and handling in the URI module.
- Created systemd service scripts for easier deployment and management of the UCE FastCGI runtime.
- Added new test cases for header handling, time parsing, and WebSocket functionality.
2026-04-18 14:04:58 +00:00

51 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
if [[ ${EUID:-0} -ne 0 ]]; then
echo "This script must run as root." >&2
exit 1
fi
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
UNIT_NAME="uce.service"
UNIT_SOURCE="$SCRIPT_DIR/uce.service"
UNIT_DEST="/etc/systemd/system/$UNIT_NAME"
CONFIG_SOURCE="$REPO_ROOT/etc/uce/settings.cfg"
CONFIG_DEST="/etc/uce/settings.cfg"
action="${1:-setup}"
install_unit() {
install -D -m 0644 "$UNIT_SOURCE" "$UNIT_DEST"
if [[ ! -f "$CONFIG_DEST" ]]; then
install -D -m 0644 "$CONFIG_SOURCE" "$CONFIG_DEST"
fi
systemctl daemon-reload
}
case "$action" in
install)
install_unit
;;
setup)
install_unit
systemctl enable --now "$UNIT_NAME"
;;
enable)
install_unit
systemctl enable "$UNIT_NAME"
;;
start|stop|restart|status)
systemctl "$action" "$UNIT_NAME"
;;
logs)
lines="${2:-100}"
journalctl -u "$UNIT_NAME" -n "$lines" --no-pager
;;
*)
echo "Usage: $0 [install|setup|enable|start|stop|restart|status|logs [lines]]" >&2
exit 1
;;
esac