# CouchDB 配置文件
# 此文件包含 Obsidian LiveSync 所需的 CouchDB 配置

[couchdb]
# 单节点模式设置
single_node=true
# 最大文档大小（字节）
max_document_size = 50000000

[daemons]
httpd = {chttpd, start_link, [http]}

[chttpd]
# 要求有效用户认证
require_valid_user = true
# 最大 HTTP 请求大小（字节）
max_http_request_size = 4294967296

[chttpd_auth]
# 要求有效用户认证
require_valid_user = true
# 认证重定向页面
authentication_redirect = /_utils/session.html

[httpd]
enable_cors = true  # 开启跨域支持
secure_rewrites = true  # 强制安全重写
authentication_handlers = {chttpd_auth, cookie_authentication_handler, default_authentication_handler}
# 基本认证领域
WWW-Authenticate = Basic realm="Protected CouchDB"

# 禁止访问 Fauxton 特定路径
blacklist = "_utils,_session,_active_tasks"
# 可选：关闭管理功能
enable_couch_manager = false
couch_peruser = false

[cors]
# 允许的源（用逗号分隔）
origins = app://obsidian.md,capacitor://localhost,http://localhost
# origins = *
# 允许发送认证信息
credentials = true
# 允许的请求头
headers = accept, authorization, content-type, origin, referer
# 允许的 HTTP 方法
methods = GET, PUT, POST, HEAD, DELETE
# CORS 预检请求缓存时间（秒）
max_age = 3600 

; [daemons]
; httpd = {chttpd, start_link, [http]}