33 lines
862 B
Bash
33 lines
862 B
Bash
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
echo "[INFO] Starting React frontend under supervisor..."
|
|
|
|
DNS_DIR="/private/argus/etc"
|
|
DNS_SCRIPT="${DNS_DIR}/update-dns.sh"
|
|
DOMAIN=web.argus.com
|
|
WEB_DOMAIN_FILE="${DNS_DIR}/${DOMAIN}"
|
|
RUNTIME_USER="${ARGUS_RUNTIME_USER:-argus}"
|
|
RUNTIME_UID="${ARGUS_UID:-2133}"
|
|
RUNTIME_GID="${ARGUS_GID:-2015}"
|
|
|
|
mkdir -p "$DNS_DIR"
|
|
chown -R "$RUNTIME_UID:$RUNTIME_GID" "$DNS_DIR" 2>/dev/null || true
|
|
|
|
|
|
# 记录容器 IP
|
|
IP=$(ifconfig | grep -A 1 eth0 | grep inet | awk '{print $2}' || true)
|
|
if [[ -n "${IP}" ]]; then
|
|
echo "current IP: ${IP}"
|
|
echo "${IP}" > "$WEB_DOMAIN_FILE"
|
|
chown "$RUNTIME_UID:$RUNTIME_GID" "$WEB_DOMAIN_FILE" 2>/dev/null || true
|
|
else
|
|
echo "[WARN] Failed to detect web IP via ifconfig"
|
|
fi
|
|
chmod 755 "$WEB_DOMAIN_FILE"
|
|
|
|
echo "[INFO] Launching nginx..."
|
|
|
|
# 启动 nginx 前台模式
|
|
exec /usr/sbin/nginx -g "daemon off;"
|