跳到正文

配置参考

启动配置通过 OBSIDIAN_ 环境变量读取,修改后需要重启程序。站点名称、注册规则、模型和额度等业务设置由后台保存到数据库,见系统设置

程序不读取专用配置文件。下面的默认值以 internal/config/config.go 为准;空值通常按未设置处理。

基础配置

环境变量默认值说明
OBSIDIAN_ADDR:8080HTTP 监听地址
OBSIDIAN_DATA_DIR./data数据目录,相对于进程工作目录
OBSIDIAN_LOG_LEVELinfo日志级别
OBSIDIAN_DEVfalse开发模式,将前端请求代理到本机 Vite
OBSIDIAN_SECRET_KEY自动生成至少 16 个字符;未设置时读取或生成数据目录中的 secret.key

实例密钥用于派生服务商凭据的加密密钥。需要固定保存,不要在每次启动时重新生成。

数据库

环境变量默认值说明
OBSIDIAN_DB_DRIVERsqliteSQLite 或 PostgreSQL
OBSIDIAN_DB_DSN数据目录下的 obsidian.dbPostgreSQL 模式必填
OBSIDIAN_DB_MAX_CONNSSQLite 为 4,PostgreSQL 为 10最大打开连接数
OBSIDIAN_DB_MAX_IDLE_CONNS2最大空闲连接数,不高于打开连接上限
OBSIDIAN_DB_CONN_MAX_IDLE5m空闲连接的最长保留时间

驱动别名支持 sqlite3postgresqlpgx,分别归一为 sqlitepostgres

切换数据库不会自动迁移业务数据。多个实例连接同一数据库时必须使用相同的实例密钥;设置缓存和部分内存限制仍有实例边界,见架构设计

登录会话与代理

环境变量默认值说明
OBSIDIAN_SESSION_TTL720h登录会话有效期
OBSIDIAN_SESSION_COOKIEobsidian_sessionCookie 名称
OBSIDIAN_COOKIE_SECURE非开发模式为 trueCookie 是否仅通过安全连接发送
OBSIDIAN_SESSION_TOUCH_INTERVAL1h活跃时间写回间隔
OBSIDIAN_TRUST_PROXYfalse是否信任配置来源的代理转发头
OBSIDIAN_TRUSTED_PROXIES代理地址或 CIDR,逗号分隔
OBSIDIAN_ALLOWED_ORIGINS同源写入检查额外允许的 Origin,逗号分隔

本机 HTTP 测试可关闭 Secure Cookie。对外使用时应配置 HTTPS。

开启代理信任但未指定来源时,会回退到私有网段规则。实际部署应明确填写代理来源,并限制程序端口的直接访问。

OBSIDIAN_ALLOWED_ORIGINS 是写入请求来源检查的允许列表,不代表完整的跨域 CORS 配置。

初始化管理员

环境变量默认值说明
OBSIDIAN_ADMIN_USER初始化管理员用户名
OBSIDIAN_ADMIN_PASSWORD初始化管理员密码
OBSIDIAN_ADMIN_EMAIL初始化管理员邮箱,可选

用户名与密码同时提供,且用户表为空时才会创建管理员。不提供时,首个注册用户成为管理员。它们不会覆盖已有账号。

邮件

环境变量默认值说明
OBSIDIAN_SMTP_HOSTSMTP 主机;未设置时邮件功能不可用
OBSIDIAN_SMTP_PORT587SMTP 端口
OBSIDIAN_SMTP_USERNAMESMTP 用户名
OBSIDIAN_SMTP_PASSWORDSMTP 密码
OBSIDIAN_SMTP_FROM发件人
OBSIDIAN_SMTP_TLS端口为 465 时为 true是否从连接开始就使用 TLS;否则使用 STARTTLS
OBSIDIAN_PUBLIC_URL邮件链接使用的站点基础地址

SMTP 凭据通过环境变量配置,不在系统设置表单中填写。启用邮箱验证前先验证邮件发送与链接地址。

上游连接

环境变量默认值说明
OBSIDIAN_UPSTREAM_DIAL_TIMEOUT10s建立连接超时
OBSIDIAN_UPSTREAM_HEADER_TIMEOUT90s等待 HTTP 响应头超时
OBSIDIAN_UPSTREAM_REQUEST_TIMEOUT0整次上游请求时限;0 表示不额外设置总时限
OBSIDIAN_UPSTREAM_MAX_IDLE_CONNS32最大空闲连接数
OBSIDIAN_UPSTREAM_IDLE_TIMEOUT90s空闲连接保留时间

响应头超时不是首个文本 Token 的超时。长推理请求可能很早发出响应头,却过一段时间才输出正文。

密码哈希

环境变量默认值说明
OBSIDIAN_ARGON_MEMORY_KIB19456每次哈希使用的内存,KiB
OBSIDIAN_ARGON_ITERATIONS2迭代次数
OBSIDIAN_ARGON_PARALLELISM1单次计算并行度
OBSIDIAN_ARGON_MAX_PARALLELCPU 核数与 4 中较小者同时执行的哈希数量,最低为 1

时间参数使用 Go duration 格式,如 10s5m720h,不要写成 30d。布尔值建议使用 truefalse

Obsidian Arc · 自托管 AI 工作空间