File size: 1,646 Bytes
f451afc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/env bash
# 安装本目录下的 systemd 用户单元(生产机实际配置)。
#
# 覆盖内容:NAS 挂载(egodata-storage)、API(egodata-api)、worker(egodata-worker)、
# 看门狗(每分钟巡检挂载+API 并自动恢复)。
#
# 用法:bash install.sh
# 卸载:systemctl --user disable --now egodata-storage egodata-api egodata-worker egodata-watchdog.timer
set -euo pipefail

HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
UNIT_DIR="${HOME}/.config/systemd/user"
BIN_DIR="${HOME}/.local/bin"

mkdir -p "${UNIT_DIR}" "${BIN_DIR}"

install -m 644 "${HERE}"/egodata-storage.service \
               "${HERE}"/egodata-api.service \
               "${HERE}"/egodata-worker.service \
               "${HERE}"/egodata-watchdog.service \
               "${HERE}"/egodata-watchdog.timer "${UNIT_DIR}/"
install -m 755 "${HERE}/egodata-watchdog.sh" "${BIN_DIR}/egodata-watchdog.sh"

# worker 的 API key 文件(含密钥,故意不入库):不存在时建占位,需人工填。
ENV_FILE="${HOME}/.config/egodata-worker-env"
if [ ! -f "${ENV_FILE}" ]; then
    umask 077
    echo "EGODATA_WORKER_API_KEY=change-me" > "${ENV_FILE}"
    chmod 600 "${ENV_FILE}"
    echo "⚠️  已生成 ${ENV_FILE} 占位,请填入真实 WORKER_API_KEY(取值见 processor/.env)"
fi

systemctl --user daemon-reload
systemctl --user enable --now egodata-storage.service \
                            egodata-api.service \
                            egodata-worker.service \
                            egodata-watchdog.timer

echo "✅ 安装完成。状态:"
systemctl --user is-active egodata-storage egodata-api egodata-worker egodata-watchdog.timer