imgLi 文档

配置(运维层)

配置(运维层)

业务参数(站点名、注册模式、用户组、存储策略、SMTP、机审)全部在管理后台,不在 YAML。
运维层只负责:监听、公网 URL、数据目录、数据库驱动、反代信任、URL 抓取白名单。

优先级

默认值 → YAML(imgli serve -config imgli.yaml)→ 环境变量 IMGLI_*

环境变量覆盖 YAML。

环境变量一览

环境变量默认含义
IMGLI_LISTEN:8686监听地址
IMGLI_BASE_URLhttp://localhost:8686生成外链 / 邮件链接的基础地址(生产必改)
IMGLI_DATA_DIR./data(容器内常为 /data本地存储与 SQLite 目录
IMGLI_DATABASE_DRIVERsqlitesqlitepostgres
IMGLI_DATABASE_DSN<data_dir>/imgli.dbPostgres 时的 DSN
IMGLI_TRUST_PROXYfalse信任 X-Forwarded-For(仅可信反代后开启)
IMGLI_FETCH_ALLOW(空)URL 抓取上传额外放行的 host/CIDR

YAML 示例

完整示例见仓库 deploy/imgli.example.yaml

# 优先级: 默认值 → 本文件 → IMGLI_* 环境变量
# 业务参数在管理后台配置,不在这里。

listen: ":8686"
base_url: "https://img.example.com"
data_dir: "/opt/imgli/data"

database:
  driver: sqlite   # sqlite | postgres
  # dsn: "host=127.0.0.1 user=imgli password=change-me dbname=imgli port=5432 sslmode=disable"

trust_proxy: true  # 仅在可信反代之后打开

# URL 抓取上传默认拒绝内网;确需放行时追加:
# fetch_allow:
#   - "10.0.0.0/8"

启动:

imgli serve -config /opt/imgli/imgli.yaml

SQLite vs PostgreSQL

SQLitePostgreSQL
适用单机、小中型、运维简单多实例准备、备份体系已有 PG、规模更大
路径默认 <data_dir>/imgli.dbdriver: postgres + dsn
备份拷贝 db + 对象文件pg_dump + 对象文件

单二进制两种驱动都内置,无 CGO

生产最小检查表

与业务配置的边界

运维层(本文)管理后台(admin
listen / base_url / data_dir站点名称、注册开关、邀请码
database driver/dsn用户组容量、限速、月流量配额
trust_proxy / fetch_allow存储策略、CDN 域、SMTP、机审策略

相关:安装 · 升级 · 存储与 CDN