26.9:品牌统一(fileshare)+ 版本号改为日期式
Release 镜像 / 测试(推送前置门禁) (push) Failing after 12s
Release 镜像 / 多架构构建并推送 ACR (push) Skipped

- 数据库默认文件 filecodebox.db → fileshare.db(config.go 默认值与全部文档/编排同步)
- Go module filecodebox → fileshare(全部 import 同步,build/vet/test 全绿)
- 应用版本 APP_VERSION 2.5.6 → 26.9(health 接口已验证返回 26.9)
- deploy 编排统一:compose 项目名、Postgres 默认凭据、minio 桶名、env 注释
- JWT issuer、存储临时目录前缀、web 包名同步 fileshare
- CI:镜像 tag 以 APP_VERSION 为唯一版本源,main/tag 推送即发布
  ${VER} + latest;tag 触发时校验 tag 名与 APP_VERSION 一致,防错版
- 本地开发库文件已改名 fileshare.db(含 -shm/-wal 清理)
This commit is contained in:
2026-09-05 06:32:18 +08:00
parent b5f06d09b3
commit 6f1a925833
63 changed files with 172 additions and 167 deletions
+6 -6
View File
@@ -5,17 +5,17 @@
WEB_PORT=8466
# ---- 数据库(需求 ⑧)----
# 默认 SQLite:零依赖,无需任何下方 Postgres 变量(数据落 serverdata 卷 /app/data/filecodebox.db
# 默认 SQLite:零依赖,无需任何下方 Postgres 变量(数据落 serverdata 卷 /app/data/fileshare.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
# FCB_DB_DSN=postgres://fileshare:fileshare@postgres:5432/fileshare?sslmode=disable
# ---- Postgres(仅 --profile postgres 时使用;生产务必修改默认口令并启用 TLS)----
POSTGRES_USER=filecodebox
POSTGRES_PASSWORD=filecodebox
POSTGRES_DB=filecodebox
POSTGRES_USER=fileshare
POSTGRES_PASSWORD=fileshare
POSTGRES_DB=fileshare
# ---- 存储引擎切换:local | s3 | webdav ----
FCB_STORAGE_ENGINE=local
@@ -47,7 +47,7 @@ FCB_TRUSTED_PROXIES=
# 注意:minioadmin/minioadmin 仅为本机冒烟默认值,对外部署必须修改
# (并在 compose 中删除 minio 的 ports 发布或仅绑定 127.0.0.1
FCB_S3_ENDPOINT_URL=http://minio:9000
FCB_S3_BUCKET_NAME=filecodebox
FCB_S3_BUCKET_NAME=fileshare
FCB_S3_ACCESS_KEY_ID=minioadmin
FCB_S3_SECRET_ACCESS_KEY=minioadmin
FCB_S3_REGION_NAME=us-east-1
+4 -4
View File
@@ -30,7 +30,7 @@ docker compose up -d --build
# 打开 http://localhost:8466.env 可用 WEB_PORT 改端口)→ 自动跳转 /setup 完成初始化
```
- 数据落 **`serverdata` 卷**:容器内 `/app/data/filecodebox.db`WAL 模式,父目录自动创建)。
- 数据落 **`serverdata` 卷**:容器内 `/app/data/fileshare.db`WAL 模式,父目录自动创建)。
- `.env` 中 Postgres 段变量(`POSTGRES_USER/PASSWORD/DB`)在此模式下不生效,无需修改。
### 路径 ②:Postgres 模式(可选)
@@ -39,7 +39,7 @@ docker compose up -d --build
```dotenv
FCB_DB_DRIVER=postgres
FCB_DB_DSN=postgres://filecodebox:filecodebox@postgres:5432/filecodebox?sslmode=disable
FCB_DB_DSN=postgres://fileshare:fileshare@postgres:5432/fileshare?sslmode=disable
```
2. 带 postgres profile 启动(server 会等 postgres 健康检查通过后再启动):
@@ -65,7 +65,7 @@ docker compose up -d --build
```bash
# S3 引擎(MinIO 冒烟)
docker compose --profile minio up -d --build # .env: FCB_STORAGE_ENGINE=s3
# minio-init 一次性任务自动建桶(mc mb filecodebox
# minio-init 一次性任务自动建桶(mc mb fileshare
# WebDAV 引擎(dufs 冒烟,Basic 认证 admin/admin123@/:rw
docker compose --profile webdav up -d --build # .env: FCB_STORAGE_ENGINE=webdav
@@ -125,7 +125,7 @@ curl -I http://localhost:8466/docs # 200SPA 回退)
或在 `.env` 设 `FCB_ADMIN_PASSWORD`(≥8 位)让服务启动即自动初始化,
消除「公网上被抢先访问 /setup 接管」的窗口。初始化完成后建议从 `.env` 移除该变量。
3. **修改组件默认凭据**minio`minioadmin/minioadmin`)、webdav`admin/admin123`)、
Postgres`filecodebox/filecodebox`)默认凭据仅限本机冒烟;对外部署必须修改,
Postgres`fileshare/fileshare`)默认凭据仅限本机冒烟;对外部署必须修改,
且不建议把 9000/9001/5005 端口发布到公网(compose 中删除对应 `ports` 或仅绑 127.0.0.1)。
4. **Postgres 建议启用 TLS**:默认示例 DSN 为 `sslmode=disable`,生产请改为
`sslmode=require` 及以上。
+9 -9
View File
@@ -5,10 +5,10 @@
# docker compose --profile minio up -d # 可选:S3 引擎冒烟(FCB_STORAGE_ENGINE=s3
# docker compose --profile webdav up -d # 可选:WebDAV 引擎冒烟(FCB_STORAGE_ENGINE=webdav
#
# 数据库默认 SQLitemodernc.org/sqlite 纯 Go 驱动,数据落 serverdata 卷 /app/data/filecodebox.db);
# 数据库默认 SQLitemodernc.org/sqlite 纯 Go 驱动,数据落 serverdata 卷 /app/data/fileshare.db);
# postgres 为可选 profile 服务,启用时 server 经 FCB_DB_DRIVER/FCB_DB_DSN 自动接入;
# Redis 同为可选,未配置时服务端内存降级。
name: filecodebox
name: fileshare
services:
postgres:
@@ -18,13 +18,13 @@ services:
# 需要时 docker compose --profile postgres up -d --build
profiles: ["postgres"]
environment:
POSTGRES_USER: ${POSTGRES_USER:-filecodebox}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-filecodebox}
POSTGRES_DB: ${POSTGRES_DB:-filecodebox}
POSTGRES_USER: ${POSTGRES_USER:-fileshare}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-fileshare}
POSTGRES_DB: ${POSTGRES_DB:-fileshare}
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-filecodebox}"]
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-fileshare}"]
interval: 5s
timeout: 3s
retries: 20
@@ -52,7 +52,7 @@ services:
start_period: 5s
environment:
# 需求 ⑧:数据库驱动 sqlite(默认,零依赖)| postgres(需 --profile postgres
# 默认 SQLiteDSN 留空 → 数据库文件落 /app/data/filecodebox.dbserverdata 卷)
# 默认 SQLiteDSN 留空 → 数据库文件落 /app/data/fileshare.dbserverdata 卷)
# postgres 模式:在 .env 设 FCB_DB_DRIVER=postgres 与 FCB_DB_DSN(模板见 deploy/.env.example
FCB_DB_DRIVER: ${FCB_DB_DRIVER:-sqlite}
FCB_DB_DSN: ${FCB_DB_DSN:-}
@@ -67,7 +67,7 @@ services:
FCB_LOCAL_STORAGE_PATH: /app/data
# S3 引擎(MinIO profile
FCB_S3_ENDPOINT_URL: ${FCB_S3_ENDPOINT_URL:-}
FCB_S3_BUCKET_NAME: ${FCB_S3_BUCKET_NAME:-filecodebox}
FCB_S3_BUCKET_NAME: ${FCB_S3_BUCKET_NAME:-fileshare}
FCB_S3_ACCESS_KEY_ID: ${FCB_S3_ACCESS_KEY_ID:-minioadmin}
FCB_S3_SECRET_ACCESS_KEY: ${FCB_S3_SECRET_ACCESS_KEY:-minioadmin}
FCB_S3_REGION_NAME: ${FCB_S3_REGION_NAME:-us-east-1}
@@ -122,7 +122,7 @@ services:
entrypoint: >
/bin/sh -c "
mc alias set local http://minio:9000 ${FCB_S3_ACCESS_KEY_ID:-minioadmin} ${FCB_S3_SECRET_ACCESS_KEY:-minioadmin} &&
mc mb --ignore-existing local/${FCB_S3_BUCKET_NAME:-filecodebox} &&
mc mb --ignore-existing local/${FCB_S3_BUCKET_NAME:-fileshare} &&
echo 'MinIO 桶已就绪'"
# WebDAV 冒烟服务器(dufs,简单读写 + Basic 认证)