环境变量
Hollo是通过环境变量进行配置的。你可以在项目根目录的 .env 文件中设置它们,或者使用Docker的-e/--env选项或Railway的环境变量进行设置。
PORT 可选 Railway中未使用
Section titled “PORT ”服务器监听的端口号。默认为3000。
BIND 可选 Railway中未使用
Section titled “BIND ”服务器监听的地址。必须是有效的IP地址或localhost。
DATABASE_URL Railway中未使用
Section titled “DATABASE_URL ”PostgreSQL数据库的URL,例如:postgresql://hollo:password@localhost/hollo。
SECRET_KEY Railway中未使用
Section titled “SECRET_KEY ”用于保护会话的密钥。必须至少44个字符长。你可以使用以下命令生成一个随机密钥:
openssl rand -hex 32TZ 可选
Section titled “TZ ”应用程序的时区。
必须是有效的时区标识符,例如:UTC、America/New_York、Asia/Shanghai。
默认是UTC。
NODE_TYPE 可选
Section titled “NODE_TYPE ”控制此进程中运行的组件。有效值为:
all(默认):运行Web服务器、Fedify消息队列、导入工作器、 清理工作器和远程回复抓取工作器web:仅运行Web服务器(HTTP API)worker:仅运行工作器(Fedify消息队列 + 导入工作器 + 清理工作器 + 远程回复抓取工作器)
这允许将Web服务器与后台工作器分离以获得更好的可扩展性。 在运行具有大量关注者的高流量实例时,分离工作器可以提高性能。
默认为all。
BEHIND_PROXY 可选 Railway中未使用
Section titled “BEHIND_PROXY ”如果Hollo在反向代理后面,请将此设置为true。如果你将Hollo放在L7负载均衡器后面(通常应该这样做),请开启此选项。
默认关闭。
ALLOW_PRIVATE_ADDRESS 可选
Section titled “ALLOW_PRIVATE_ADDRESS ”将此选项设置为true将禁用 SSRF(服务器端请求伪造)保护。
打开此选项可在本地网络中进行测试。
默认情况下关闭。
HOME_URL 可选
Section titled “HOME_URL ”如果存在,主页将重定向到此URL。如果未设置,主页将显示实例上的账户列表。
REMOTE_ACTOR_FETCH_POSTS 可选
Section titled “REMOTE_ACTOR_FETCH_POSTS ”首次遇到远程用户时,从远程用户获取的最近公开帖子数量。
默认为10。
REMOTE_REPLIES_SCRAPE_DEPTH 可选
Section titled “REMOTE_REPLIES_SCRAPE_DEPTH ”后台工作器作业抓取远程回复的层级数。设置为0可禁用远程回复抓取。
默认为2。
REMOTE_REPLIES_SCRAPE_MAX_ITEMS 可选
Section titled “REMOTE_REPLIES_SCRAPE_MAX_ITEMS ”单个远程回复抓取作业最多保存的回复项目数。
默认为100。
REMOTE_REPLIES_SCRAPE_INTERVAL_SECONDS 可选
Section titled “REMOTE_REPLIES_SCRAPE_INTERVAL_SECONDS ”对同一origin发起远程回复抓取请求之间的最小延迟秒数。
默认为5。
REMOTE_REPLIES_SCRAPE_BACKOFF_SECONDS 可选
Section titled “REMOTE_REPLIES_SCRAPE_BACKOFF_SECONDS ”当远程服务器返回HTTP 429且未提供Retry-After时,
重试远程回复抓取作业前的等待秒数。
默认为300。
REMOTE_REPLIES_SCRAPE_COOLDOWN_SECONDS 可选
Section titled “REMOTE_REPLIES_SCRAPE_COOLDOWN_SECONDS ”已完成的远程回复抓取作业抑制同一回复集合重复作业的时间窗口秒数。
默认为300。
REMOTE_ACTOR_STALENESS_DAYS 可选
Section titled “REMOTE_ACTOR_STALENESS_DAYS ”远程用户的缓存数据被视为过期的天数。 在处理活动时(例如收到转发或新帖子),如果遇到过期的用户, 其个人资料数据将被异步刷新。
默认为7。
REFRESH_ACTORS_ON_INTERACTION 可选
Section titled “REFRESH_ACTORS_ON_INTERACTION ”设置为true时,会在所有传入的活动(点赞、表情回应、关注等)中
检查过期的用户数据。设置为false(默认)时,
仅在时间线上显示的活动(Announce、Create)中检查。
默认情况下关闭。
TIMELINE_INBOXES 可选
Section titled “TIMELINE_INBOXES ”将此设置为true后,您的时间线就像收件箱一样:
时间线上可见的所有帖子都实际存储在数据库中,而不是在显示时实时过滤。
这对于有大量传入帖子的相对较大的实例非常有用。
从Hollo 0.4.0开始,它还处于实验阶段,可能存在一些错误, 但预计在稳定后将成为未来的默认行为。
默认情况下关闭。
ALLOW_HTML 可选
Section titled “ALLOW_HTML ”将此设置为true后,您可以在Markdown中使用原始HTML。
(Hollo中用Markdown来介绍个人资料和发布内容等)
当您想要使用比Markdown支持的格式更多样的格式时,它很有用,
但HTML标记和属性受到一定限制,以防止XSS攻击。
默认情况下关闭。
LOG_LEVEL 可选
Section titled “LOG_LEVEL ”应用程序的日志级别。可选项有:debug、info、warning、error和fatal。
默认是info。
LOG_QUERY 可选
Section titled “LOG_QUERY ”将此设置为true以记录SQL查询。
默认关闭。
LOG_FILE 可选
Section titled “LOG_FILE ”指定要写入结构化日志的文件路径。日志以JSON Lines格式写入。
SENTRY_DSN 可选
Section titled “SENTRY_DSN ”Sentry项目的DSN,用于发送错误报告和跟踪信息。
FEDIFY_DEBUG 可选
Section titled “FEDIFY_DEBUG ”将此设置为true以启用 Fedify 调试器,这是一个用于实时检查 ActivityPub
追踪和活动的内嵌调试仪表板。启用后,可在 /__debug__/ 访问调试仪表板。
默认情况下关闭。
DRIVE_DISK
Section titled “DRIVE_DISK”用于在 Hollo 上存储头像、自定义象形图和其他媒体等文件的磁盘驱动程序。
可以选择 fs(本地文件系统)或 s3(S3 兼容对象存储)。
出于向后兼容性考虑,s3 是默认设置,但建议明确设置,因为默认设置将来会被移除。
有关驱动程序的更多信息,请参阅 FlyDrive 文档(英文)。
STORAGE_URL_BASE
Section titled “STORAGE_URL_BASE”资产存储的公共 URL 基础,例如:https://media.hollo.social。
当使用 DRIVE_DISK=fs 时,您应该设置此项以通过 Web 访问提供本地文件系统文件,
通常格式为 https://<主机>/assets,例如:https://hollo.example.com/assets。
本地文件系统设置
Section titled “本地文件系统设置”FS_STORAGE_PATH FS 驱动程序必填
Section titled “FS_STORAGE_PATH ”文件在本地文件系统中的存储路径。例如:/var/lib/hollo。
与 S3 兼容的对象存储设置
Section titled “与 S3 兼容的对象存储设置”S3_REGION S3 驱动程序必填
Section titled “S3_REGION ”S3兼容对象存储的区域,例如:us-east-1。在某些非S3服务中,可以省略此项。
S3_BUCKET S3 驱动程序必填
Section titled “S3_BUCKET ”S3兼容对象存储的桶名称,例如:hollo。
S3_ENDPOINT_URL S3 驱动程序必填
Section titled “S3_ENDPOINT_URL ”S3兼容对象存储的端点URL,例如:
https://s3.us-east-1.amazonaws.com。
S3_FORCE_PATH_STYLE
Section titled “S3_FORCE_PATH_STYLE”是否强制在S3兼容对象存储中使用路径格式的URL。设置为true开启,false关闭。对于非AWS的S3兼容服务非常有用。默认关闭。
AWS_ACCESS_KEY_ID S3 驱动程序必填
Section titled “AWS_ACCESS_KEY_ID ”S3兼容对象存储的访问密钥ID。
AWS_SECRET_ACCESS_KEY S3 驱动程序必填
Section titled “AWS_SECRET_ACCESS_KEY ”S3兼容对象存储的访问密钥。