Skip to content

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
  • falseSTORAGE_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=s3S3_*)。详见 存储

Docker Compose 示例

yaml
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 TokenAPI_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