#!/usr/bin/env bash set -euo pipefail ROOT="$(cd "$(dirname "$0")/.." && pwd)" cd "${ROOT}" export DEBIAN_FRONTEND=noninteractive apt-get update -qq apt-get install -y python3 python3-venv python3-pip git ca-certificates curl if [[ ! -d .venv ]]; then python3 -m venv .venv fi # shellcheck disable=SC1091 source .venv/bin/activate pip install -U pip pip install -r requirements.txt if [[ ! -f .env ]]; then cp .env.example .env # 生成随机 SECRET SECRET="$(python3 - <<'PY' import secrets print(secrets.token_urlsafe(32)) PY )" IP="$(hostname -I 2>/dev/null | awk '{print $1}')" IP="${IP:-127.0.0.1}" sed -i "s|^FLASK_SECRET_KEY=.*|FLASK_SECRET_KEY=${SECRET}|" .env sed -i "s|^PUBLIC_BASE_URL=.*|PUBLIC_BASE_URL=http://${IP}:5800|" .env echo "已生成 .env (PUBLIC_BASE_URL=http://${IP}:5800)" fi mkdir -p data releases echo "setup_env 完成"