46 lines
1.7 KiB
Bash
Executable File
46 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
if [[ "${EUID}" -ne 0 ]]; then
|
|
echo "Run as root: sudo bash scripts/tencent-lighthouse/install-services.sh" >&2
|
|
exit 1
|
|
fi
|
|
|
|
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
DEEPSEEK_USER="${DEEPSEEK_USER:-codewhale}"
|
|
DEEPSEEK_ROOT="${DEEPSEEK_ROOT:-/opt/codewhale}"
|
|
|
|
install -d -o "${DEEPSEEK_USER}" -g "${DEEPSEEK_USER}" "${DEEPSEEK_ROOT}/bridge"
|
|
rsync -a --delete \
|
|
--exclude node_modules \
|
|
"${REPO_ROOT}/integrations/feishu-bridge/" \
|
|
"${DEEPSEEK_ROOT}/bridge/"
|
|
chown -R "${DEEPSEEK_USER}:${DEEPSEEK_USER}" "${DEEPSEEK_ROOT}/bridge"
|
|
|
|
if [[ -f "${DEEPSEEK_ROOT}/bridge/package-lock.json" ]]; then
|
|
sudo -u "${DEEPSEEK_USER}" npm --prefix "${DEEPSEEK_ROOT}/bridge" ci --omit=dev
|
|
else
|
|
sudo -u "${DEEPSEEK_USER}" npm --prefix "${DEEPSEEK_ROOT}/bridge" install --omit=dev
|
|
fi
|
|
|
|
install -m 0644 "${REPO_ROOT}/deploy/tencent-lighthouse/systemd/codewhale-runtime.service" /etc/systemd/system/codewhale-runtime.service
|
|
install -m 0644 "${REPO_ROOT}/deploy/tencent-lighthouse/systemd/codewhale-feishu-bridge.service" /etc/systemd/system/codewhale-feishu-bridge.service
|
|
|
|
systemctl daemon-reload
|
|
systemctl enable codewhale-runtime codewhale-feishu-bridge
|
|
|
|
cat <<'EOF'
|
|
Services installed but not started.
|
|
|
|
Before starting, verify:
|
|
/etc/deepseek/runtime.env
|
|
/etc/deepseek/feishu-bridge.env
|
|
sudo -u codewhale node /opt/codewhale/bridge/scripts/validate-config.mjs --env /etc/deepseek/feishu-bridge.env --runtime-env /etc/deepseek/runtime.env --workspace-root /opt/whalebro --check-filesystem
|
|
|
|
Then run:
|
|
sudo systemctl start codewhale-runtime
|
|
sudo systemctl start codewhale-feishu-bridge
|
|
sudo bash /opt/whalebro/codewhale/scripts/tencent-lighthouse/doctor.sh
|
|
sudo journalctl -u codewhale-feishu-bridge -f
|
|
EOF
|