Files
item_bank/entrypoint.sh
2026-08-01 16:50:55 +08:00

23 lines
750 B
Bash
Executable File

#!/bin/sh
set -e
# 使用镜像内已构建好的 venv,避免启动时联网 re-sync
export PATH="/app/.venv/bin:$PATH"
# 确保 SQLite 目录存在(PVC 挂载点)
mkdir -p "$(dirname "${SQLITE_PATH:-/data/item_bank.db}")" 2>/dev/null || true
# 跑数据库迁移
echo "Running database migrations..."
alembic upgrade head
# 启动应用
# --proxy-headers + --forwarded-allow-ips:链路是 Caddy(TLS) → frp → Traefik → 本服务,
# 需要信任上游代理才能从 X-Forwarded-For 取到真实客户端 IP(限流依赖它)。
echo "Starting API server..."
exec uvicorn app.main:app \
--host 0.0.0.0 --port 8000 \
--workers "${WORKERS:-1}" \
--proxy-headers \
--forwarded-allow-ips "${FORWARDED_ALLOW_IPS:-*}"