58 lines
1.2 KiB
Bash
58 lines
1.2 KiB
Bash
#!/bin/sh
|
|
set -eu
|
|
|
|
if [ "${AUTH_HASH:-}" = "\$2a\$14\$J3A9qfgJTikjVe.XmDn49OUjOrPiiwAN3.SXbK1tvfef1XzDkIuRm" ] || [ -z "${AUTH_HASH:-}" ]; then
|
|
echo "WARNING: Using the default password for basic authentication. It is highly recommended to change it by setting the AUTH_HASH environment variable." >&2
|
|
fi
|
|
|
|
app_pid=""
|
|
mcp_pid=""
|
|
caddy_pid=""
|
|
|
|
stop_children() {
|
|
for pid in "$app_pid" "$mcp_pid" "$caddy_pid"; do
|
|
if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then
|
|
kill "$pid" 2>/dev/null || true
|
|
fi
|
|
done
|
|
}
|
|
|
|
trap 'stop_children' INT TERM
|
|
|
|
bun /app/dist/server/server.js &
|
|
app_pid=$!
|
|
|
|
bun /app/dist/mcp/mcp-server.js &
|
|
mcp_pid=$!
|
|
|
|
caddy run --config /etc/caddy/Caddyfile --adapter caddyfile &
|
|
caddy_pid=$!
|
|
|
|
exit_code=0
|
|
|
|
while :; do
|
|
if ! kill -0 "$app_pid" 2>/dev/null; then
|
|
wait "$app_pid" || exit_code=$?
|
|
break
|
|
fi
|
|
|
|
if ! kill -0 "$mcp_pid" 2>/dev/null; then
|
|
wait "$mcp_pid" || exit_code=$?
|
|
break
|
|
fi
|
|
|
|
if ! kill -0 "$caddy_pid" 2>/dev/null; then
|
|
wait "$caddy_pid" || exit_code=$?
|
|
break
|
|
fi
|
|
|
|
sleep 1
|
|
done
|
|
|
|
stop_children
|
|
wait "$app_pid" 2>/dev/null || true
|
|
wait "$mcp_pid" 2>/dev/null || true
|
|
wait "$caddy_pid" 2>/dev/null || true
|
|
|
|
exit "$exit_code"
|