Files
FileHost/docs-site/guide/storage.md
T
O96u ff20f97522 release: v1.2.1 — login captcha, docs site, and bug fixes
Add slider captcha for web login, VitePress documentation on GitHub Pages,
and fixes for gallery delete refresh, pagination jump, and copy-format persistence.
2026-08-29 11:42:18 +08:00

2.6 KiB
Raw Blame History

存储

PicHost 支持 本地磁盘 与 S3 兼容对象存储(Cloudflare R2、腾讯云 COS、阿里云 OSS、AWS S3 等)。管理员在 存储(/storage)页管理后端;新上传写入 默认后端。

存储管理

存储结构(本地)

/data
├── pichost.db          # SQLite:用户、会话、设置、storage_backends、images 索引
└── images/             # 本地后端时的全部图片文件
  • 新上传:images/随机ID.webp 或 images/年/月/随机ID.webp(可在设置中切换扁平模式)
  • 迁移遗留:images/blog/... 等子路径
  • 云存储时文件在对应桶内,索引仍在 SQLite images 表

所有图片 key 以 images/ 开头。上传 API 不再接受 folder 参数。

添加存储后端

  1. 以管理员登录,打开 存储 → 添加存储。
  2. 选择类型:本地磁盘 或 S3 兼容(含 R2 / COS / OSS 预设)。
  3. 填写连接信息(桶名、Endpoint、Access Key 等)。
  4. 保存后可 设默认,新上传将写入该后端。

Cloudflare R2 要点

项 值
Endpoint https://<account_id>.r2.cloudflarestorage.com
Region auto
桶 你的 R2 桶名
密钥 R2 API Token 的 Access Key / Secret Key

若仓库 cloudflare 分支专用于「仅 R2」部署,也可用环境变量预设,见 文档首页 分支说明。

环境变量(可选)

部分部署用环境变量初始化默认 S3 后端(如 STORAGE_BACKEND=s3、S3_ENDPOINT、S3_BUCKET、S3_ACCESS_KEY、S3_SECRET_KEY、S3_REGION)。UI 中配置的后端信息存于 SQLite,与环境变量并存时以管理界面为准管理多后端。

直链模式

每个后端可配置公开 URL 行为:

模式 说明
proxy 通过 PicHost 同源代理出图(GET /images/...)
public 302 重定向到桶/CDN 公网地址

复制链接时使用 图片域名(IMAGE_BASE_URL)拼接路径。开启「隐藏 images 前缀」后 URL 可能更短,服务按文件名或路径反查索引。

用量与筛选

  • 存储页展示各后端用量(本地扫描目录,对象存储查询 API)
  • 图库可按存储后端筛选(管理员)

备份

请同时备份:

  • data/images/(本地后端)
  • data/pichost.db
  • 各云桶中的对象

从 v1.1.x 升级且存在 data/blog/ 等并列目录时,见 v1.2 迁移。

相关