Go 1.27.1 (Gin+GORM) + Vue 3 文件快传服务: - 安全审计全部修复(docs/security-audit-2026-09-05.md): bcrypt 密码哈希与自动升级、presign 直传服务端大小/内容校验、 全局请求体上限、依赖升级(govulncheck 0 命中)、janitor 后台清理、 管理端审计动作落库、/admin CORS 收紧、通知内容白名单净化、 会话默认 7 天、限流缓存故障降级、robots.txt 端点等 - 前端:取件链接复制修复(不再重复拼接提取码)、markdown 净化器加固 - Redis 支持库号(FCB_REDIS_DB / redis://…/db URL) - 文档:docs/api/* 与 openapi.yaml 同步最新行为(robots.txt、 提码 5 位起、chunk 32MiB 上限、admin 审计动作等) 验证:gofmt/go vet/go test 全绿;二进制端到端冒烟通过
61 lines
2.5 KiB
Bash
61 lines
2.5 KiB
Bash
# ===== FileCodeBox 部署环境变量示例 =====
|
||
# 复制为 .env 后按需修改;所有变量均有默认值。
|
||
|
||
# ---- 站点 ----
|
||
WEB_PORT=8466
|
||
|
||
# ---- 数据库(需求 ⑧)----
|
||
# 默认 SQLite:零依赖,无需任何下方 Postgres 变量(数据落 serverdata 卷 /app/data/filecodebox.db)
|
||
FCB_DB_DRIVER=sqlite
|
||
FCB_DB_DSN=
|
||
# Postgres 模式(可选):先 `docker compose --profile postgres up -d --build`,再改为:
|
||
# FCB_DB_DRIVER=postgres
|
||
# FCB_DB_DSN=postgres://filecodebox:filecodebox@postgres:5432/filecodebox?sslmode=disable
|
||
|
||
# ---- Postgres(仅 --profile postgres 时使用;生产务必修改默认口令并启用 TLS)----
|
||
POSTGRES_USER=filecodebox
|
||
POSTGRES_PASSWORD=filecodebox
|
||
POSTGRES_DB=filecodebox
|
||
|
||
# ---- 存储引擎切换:local | s3 | webdav ----
|
||
FCB_STORAGE_ENGINE=local
|
||
|
||
# ---- 可信代理(生产必读,安全审计 L10)----
|
||
# 反代(nginx/caddy 等)后必须设为代理 IP/CIDR(逗号分隔),
|
||
# 否则限流按代理 IP 计数(全体用户共享一个限流桶)且审计 IP 失真。
|
||
# 示例:FCB_TRUSTED_PROXIES=172.18.0.0/16,10.0.0.5
|
||
FCB_TRUSTED_PROXIES=
|
||
|
||
# ---- 管理员自动初始化(可选,安全审计 L1)----
|
||
# 设置后服务首次启动即完成管理员初始化(≥8 位),消除 /setup 被抢占窗口;
|
||
# 初始化完成后建议移除该变量。留空则走 /setup 网页向导。
|
||
# FCB_ADMIN_PASSWORD=
|
||
|
||
# ---- 管理员会话有效期(秒,默认 7 天,可调 1~365 整天)----
|
||
# FCB_ADMIN_SESSION_EXPIRE=604800
|
||
|
||
# ---- 本地引擎 ----
|
||
# 容器内固定 /app/data;compose 已挂载 serverdata 卷
|
||
# FCB_LOCAL_STORAGE_PATH=/app/data
|
||
|
||
# ---- Redis(可选增强;留空=内存降级;启用服务用 --profile redis)----
|
||
# FCB_REDIS_ADDR=redis:6379
|
||
# Redis 逻辑库号 0-15(默认 0);地址为 redis://…/N URL 形式时以 URL 内库号优先
|
||
# FCB_REDIS_DB=0
|
||
|
||
# ---- S3 引擎(FCB_STORAGE_ENGINE=s3 时必填 bucket/access/secret;服务用 --profile minio)----
|
||
# 注意:minioadmin/minioadmin 仅为本机冒烟默认值,对外部署必须修改
|
||
# (并在 compose 中删除 minio 的 ports 发布或仅绑定 127.0.0.1)
|
||
FCB_S3_ENDPOINT_URL=http://minio:9000
|
||
FCB_S3_BUCKET_NAME=filecodebox
|
||
FCB_S3_ACCESS_KEY_ID=minioadmin
|
||
FCB_S3_SECRET_ACCESS_KEY=minioadmin
|
||
FCB_S3_REGION_NAME=us-east-1
|
||
# FCB_S3_ADDRESSING_STYLE=auto
|
||
|
||
# ---- WebDAV 引擎(FCB_STORAGE_ENGINE=webdav 时必填 url;服务用 --profile webdav)----
|
||
FCB_WEBDAV_URL=http://webdav:5000
|
||
FCB_WEBDAV_USERNAME=admin
|
||
FCB_WEBDAV_PASSWORD=admin123
|
||
FCB_WEBDAV_ROOT_PATH=filebox_storage
|