Add start and stop launcher scripts
This commit is contained in:
19
README.md
19
README.md
@@ -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
21
start.sh
Executable 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
26
stop.sh
Executable 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"
|
||||
Reference in New Issue
Block a user