e903b03afe
- README:已落地补「浏览器免重登 + PWA」一项;prod 配置清单新增 CDROP_SESSION_SECRET(prod 强制非空,缺则拒启动) - .env.example、docker/compose.snippet.yaml:补 CDROP_SESSION_SECRET 模板项
41 lines
2.1 KiB
YAML
41 lines
2.1 KiB
YAML
# cdrop 在你的 docker-compose.yaml 中的服务条目片段。
|
||
# NN 由你决定(与既有服务区分的编号 / 名称);your-proxy-network 换成你的反代所在网络。
|
||
#
|
||
# 不显式 ports —— 走内部网络,反代(如 Caddy)通过 NN-cdrop:8080 访问。
|
||
# 持久化挂一个目录到 /data,里面只有 cdrop.db(SQLite WAL)。
|
||
|
||
NN-cdrop:
|
||
image: cdrop:latest
|
||
container_name: NN-cdrop
|
||
restart: unless-stopped
|
||
networks: [your-proxy-network]
|
||
ports: []
|
||
volumes:
|
||
- ./NN-cdrop/data:/data
|
||
environment:
|
||
# M13 首轮 dev 模式(验证 Caddy / H3 管道),稳定后切 prod 见下方注释
|
||
CDROP_AUTH_MODE: dev
|
||
CDROP_DEV_TOKEN: REPLACE_WITH_RANDOM_HEX64
|
||
CDROP_DB_PATH: /data/cdrop.db
|
||
CDROP_LISTEN: ":8080"
|
||
CDROP_DEVICE_TTL_HOURS: "196"
|
||
|
||
# ---- prod 切换时启用以下,并把 CDROP_AUTH_MODE 改成 prod、删掉 DEV_TOKEN ----
|
||
# CDROP_OIDC_AUTHORIZE_URL: https://your-idp.example/login/oauth/authorize
|
||
# CDROP_OIDC_TOKEN_URL: https://your-idp.example/api/login/oauth/access_token
|
||
# JWKS 可走 IdP 内网地址省一跳;也可用公网 https。
|
||
# CDROP_OIDC_JWKS_URL: https://your-idp.example/.well-known/jwks
|
||
# CDROP_OIDC_ISSUER: https://your-idp.example/
|
||
# prod 强制非空(空则跳过 audience 校验 = 同 JWKS 其他应用可冒充)
|
||
# CDROP_OIDC_AUDIENCE: <你的 OAuth client_id>
|
||
# CDROP_OIDC_CLIENT_ID: <你的 OAuth client_id>
|
||
# CDROP_OIDC_REDIRECT_URI: https://your-domain.example/oauth/callback
|
||
# CDROP_OIDC_SCOPES: "openid profile email"
|
||
# prod 强制非空:浏览器免重登会话 refresh_token 落盘加密密钥(SHA-256 派生 AES-256)
|
||
# CDROP_SESSION_SECRET: REPLACE_WITH_RANDOM_HEX64
|
||
# CDROP_HS256_SECRET: REPLACE_WITH_RANDOM_HEX64
|
||
|
||
# ---- 可选:Cloudflare Realtime TURN over TLS(不配则前端 STUN-only 兜底)----
|
||
# CDROP_CF_TURN_KEY_ID: <dash.cloudflare.com → Realtime → TURN App>
|
||
# CDROP_CF_TURN_API_TOKEN: <同 App 派发的 API Token>
|