Add start and stop launcher scripts

This commit is contained in:
sas.fajri
2026-04-13 19:32:42 +07:00
parent 0ed36b98af
commit 3ef5d72d4d
3 changed files with 66 additions and 0 deletions

View File

@@ -21,14 +21,33 @@ Open:
http://localhost:5173
```
## Click To Run
If you want a one-click launcher on macOS/Linux:
```bash
./start.sh
```
Stop the background server with:
```bash
./stop.sh
```
If you run the server in the foreground, stop it with `Ctrl+C`.
## Notes
- Login calls the upstream API from `project-specs/API_ENDPOINTS.md`.
- If the upstream login rejects the credentials or is unavailable, demo mode creates a local session so the UI can still be exercised.
- Order search, order detail helpers, FPP loading, password change, and special message save are wired through the API adapter with mock fallback for local preview.
- `start.sh` writes a pid file named `.doclink-web.pid` and a log file named `doclink-web.log`.
## Main Files
- `server.js`
- `styles.css`
- `package.json`
- `start.sh`
- `stop.sh`

21
start.sh Executable file
View File

@@ -0,0 +1,21 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PID_FILE="$ROOT_DIR/.doclink-web.pid"
LOG_FILE="$ROOT_DIR/doclink-web.log"
PORT="${PORT:-5198}"
if [[ -f "$PID_FILE" ]]; then
OLD_PID="$(cat "$PID_FILE" 2>/dev/null || true)"
if [[ -n "${OLD_PID:-}" ]] && kill -0 "$OLD_PID" 2>/dev/null; then
echo "DocLink Web is already running on pid $OLD_PID"
exit 0
fi
rm -f "$PID_FILE"
fi
nohup env PORT="$PORT" node "$ROOT_DIR/server.js" >"$LOG_FILE" 2>&1 &
echo $! > "$PID_FILE"
echo "DocLink Web started on http://localhost:$PORT"
echo "PID: $(cat "$PID_FILE")"

26
stop.sh Executable file
View File

@@ -0,0 +1,26 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PID_FILE="$ROOT_DIR/.doclink-web.pid"
if [[ ! -f "$PID_FILE" ]]; then
echo "No pid file found. If the server is running in another terminal, stop it with Ctrl+C."
exit 0
fi
PID="$(cat "$PID_FILE" 2>/dev/null || true)"
if [[ -z "${PID:-}" ]]; then
rm -f "$PID_FILE"
echo "Pid file was empty. Removed it."
exit 0
fi
if kill -0 "$PID" 2>/dev/null; then
kill "$PID"
echo "Stopped DocLink Web process $PID"
else
echo "Process $PID is not running anymore."
fi
rm -f "$PID_FILE"