2026-08-09 23:24:03 +08:00
|
|
|
"""服务端配置 (环境变量驱动, 带本地默认值)"""
|
|
|
|
|
import os
|
|
|
|
|
from pathlib import Path
|
|
|
|
|
|
|
|
|
|
# 应用绑定上下文 (必须与客户端一致)
|
|
|
|
|
CONTEXT = os.environ.get("SZ_CONTEXT", "7z-encrypt:v1").encode()
|
|
|
|
|
|
2026-08-10 00:21:22 +08:00
|
|
|
# SQLite 数据库文件 (轻量部署: PRoot 容器装 PG/MySQL 会 fsync 卡死)
|
|
|
|
|
DB_PATH = Path(os.environ.get("SZ_DB_PATH", "data/app.db"))
|
2026-08-09 23:24:03 +08:00
|
|
|
|
2026-08-10 01:06:33 +08:00
|
|
|
# 认证 token (预共享: 客户端 config.json 同值; 生产必须设置)
|
|
|
|
|
TOKEN = os.environ.get("SZ_TOKEN", "sz-dev-token-change-me")
|
|
|
|
|
|
|
|
|
|
# 存储根目录 (密文落盘, 零知识: 服务端不碰明文)
|
2026-08-10 00:22:31 +08:00
|
|
|
STORAGE_ROOT = Path(os.environ.get("SZ_STORAGE_ROOT", "data/storage"))
|
2026-08-09 23:24:03 +08:00
|
|
|
|
2026-08-10 01:06:33 +08:00
|
|
|
# 临时目录 (分卷/合并中间产物)
|
2026-08-10 00:22:31 +08:00
|
|
|
TMP_ROOT = Path(os.environ.get("SZ_TMP_ROOT", "data/tmp"))
|
2026-08-09 23:24:03 +08:00
|
|
|
|
2026-08-10 01:42:51 +08:00
|
|
|
# 用户空间配额 (已用 = files 表 size 总和, 超配额拒绝新上传? 暂只读展示)
|
|
|
|
|
QUOTA_BYTES = int(os.environ.get("SZ_QUOTA", str(10 * 1024**3))) # 默认 10GB
|
|
|
|
|
|
2026-08-09 23:24:03 +08:00
|
|
|
# API 服务
|
|
|
|
|
HOST = os.environ.get("SZ_HOST", "0.0.0.0")
|
|
|
|
|
PORT = int(os.environ.get("SZ_PORT", "8000"))
|