Files
O96u 737235acff release: v1.4.0 — 标签系统、操作日志扩展与文档截图更新
- 每用户标签与彩色打标,图库 OR/AND 筛选与批量打标
- 操作日志记录登录、删除、设置与标签操作
- API 标签/打标接口;README 与文档站截图同步
2026-09-09 14:46:52 +08:00

5.2 KiB
Raw Permalink Blame History

PicHost 支持通过环境变量(Docker / .env)与后台 设置 页配置。管理员在 设置与偏好(/settings)左侧切换 基础设置、域名与路径、访问控制、标签管理、操作日志;多数项 SQLite 优先;部分项环境变量可覆盖或锁定后台编辑。

基础设置

优先级总览

配置项 优先级(高 → 低) 环境变量覆盖后台
API 上传 Token 环境变量 → SQLite 是(设了则后台无法重新生成)
WebP 质量 SQLite → 环境变量 → 默认 80 否(未在 DB 存时读 env)
防盗链白名单 SQLite → 环境变量 否
网站 / 图片域名 SQLite → 环境变量(设置 API 配置值);直链生成另用 effective* 或请求 origin 否
简短图片链接 SQLite → 环境变量 → 默认 false 否
按年/月分组存储 SQLite → 环境变量 → 默认 true 否
全局自动删除天数 SQLite → 环境变量 → 默认 0 否
登录人机验证 SQLite(设置 → 访问控制) 否

变量说明

API_UPLOAD_TOKEN

外部脚本上传 Token(Twikoo / 油猴 / 博客)。请求头:Auth-Token: <token>;表单上传仍可用 token 字段。

  • 未配置时可在后台 API 页生成
  • 环境变量一旦设置,优先级最高,后台显示「由环境变量覆盖」且无法重新生成
  • 别名:NUXT_API_UPLOAD_TOKEN

ALLOWED_REFERER_HOSTS

防盗链白名单,逗号分隔域名。自身域名自动放行。可选;不填可在设置页配置。若环境变量有值且 SQLite 未存,则使用环境变量。

SITE_BASE_URL / IMAGE_BASE_URL

  • 网站域名:管理后台、API、Twikoo 上传入口
  • 图片域名:复制链接与直链使用的公网地址

双域名分离需两者主机名不同,详见 双域名分离 与 Cloudflare / CF 优选部署。填写后须与反代 server_name 一致;勿通过 localhost、IP 或未配置的域名访问生产后台。

在后台 设置 中保存时须显式勾选「启用后台与图片域名分离」,并同时填写两个域名;关闭双域名会清除网站域配置(需确认)。设置 API 返回的配置值与「当前生效」直链地址已分离,详见 更新日志。

HIDE_FOLDER_IN_URL

true 时使用简短图片链接(仅域名 + 文件名,如 img.example.com/a8K3xP.webp);false 时保留日期或自定义目录(如 img.example.com/2026/08/a8K3xP.webp)。对外 URL 不会 暴露内部 images/ 前缀;旧版含 images/ 的直链仍兼容。

STORAGE_USE_DATE_PATH / STORAGE_LAYOUT

  • STORAGE_USE_DATE_PATH=true(默认)或 STORAGE_LAYOUT=date:新图保存为 images/年/月/随机ID.webp
  • false 或 STORAGE_LAYOUT=flat:保存为 images/随机ID.webp

也可在设置页切换。

DATA_DIR

图片与 SQLite 根目录。默认 ./data,容器内为 /data。

WEBP_QUALITY

服务端 WebP 压缩质量 1–100,默认 80。

AUTO_DELETE_DAYS

全局自动删除超过 N 天的图片,0 表示关闭。启用后仅影响之后新上传的图片(与按用户策略一致)。也可在设置页配置。

DEV_BYPASS_ACCESS

仅本地开发:true 绕过登录验证。生产环境勿用。

登录人机验证(仅后台设置)

在 设置 → 访问控制 配置,存入 SQLite,无对应环境变量:

方式 说明
本地滑块(默认) 无需第三方服务
Cloudflare Turnstile 填写 Site Key 与 Secret Key
Cap 填写 API Endpoint 与 Secret

登录与注册共用同一验证方式。若第三方配置错误导致无法登录,执行 docker exec pichost slider(或 npm run slider)恢复为本地滑块。

存储后端(可选)

管理员通常在 存储 页添加后端;也可用环境变量引导(如 STORAGE_BACKEND=s3 与 S3_*)。详见 存储。

Docker Compose 示例

services:
  pichost:
    image: muxui/pichost:latest
    ports:
      - "6892:6892"
    volumes:
      - ./data:/data
    environment:
      SITE_BASE_URL: https://admin.example.com
      IMAGE_BASE_URL: https://pic.example.com
      API_UPLOAD_TOKEN: your-secret-token
      WEBP_QUALITY: "85"

修改环境变量后需 重启容器 才能生效(Token、质量等读取在启动时或请求时按实现读取)。

与后台设置对照

后台设置项 对应环境变量
API Token API_UPLOAD_TOKEN
防盗链 ALLOWED_REFERER_HOSTS
网站域名 SITE_BASE_URL
图片域名 IMAGE_BASE_URL
隐藏目录前缀 HIDE_FOLDER_IN_URL
按年/月分组 STORAGE_USE_DATE_PATH / STORAGE_LAYOUT
WebP 质量 WEBP_QUALITY
自动删除 AUTO_DELETE_DAYS
登录验证 (仅后台 设置 → 访问控制)

完整模板见仓库根目录 .env.example。