Configuration

环境变量

你可以通过环境变量来配置 Umami。它们和你的 DATABASE_URL 一起写入同一个 .env 文件。


运行时变量

运行时变量在 Umami 运行时生效。你可以在启动应用之前设置这些环境变量。

APP_SECRET

你安装实例的唯一值。

APP_SECRET = "随机字符串"

CLIENT_IP_HEADER

用于检测客户端 IP 地址的 HTTP 头。当你处于使用非标准头的代理之后时,这个变量很有用。

CLIENT_IP_HEADER = "头名称"

COLLECT_API_ENDPOINT

允许你将指标发送到不同于默认 /api/send 的位置。这有助于你避开一些广告拦截器

COLLECT_API_ENDPOINT = "/my-custom-route"

CORS_MAX_AGE

CORS 预检请求持续的秒数。默认是 24 小时。

CORS_MAX_AGE = 86400

DATABASE_URL

DATABASE_URL = "连接字符串"

你的数据库连接字符串。这是唯一必需的变量。

DEBUG

用于特定应用区域的控制台日志。值包括 umami:authumami:clickhouseumami:kafkaumami:middlewareumami:prisma

DEBUG = "umami:*"

DISABLE_BOT_CHECK

默认情况下,机器人不计入统计。设置此变量可禁用对机器人的检查。

DISABLE_BOT_CHECK = 1

DISABLE_LOGIN

禁用应用的登录页面。

DISABLE_LOGIN = 1

DISABLE_UPDATES

禁用 Umami 新版本的检查。

DISABLE_UPDATES = 1

DISABLE_TELEMETRY

Umami 会收集完全匿名的遥测数据以帮助改进应用。如果你不想参与,可以选择禁用。

DISABLE_TELEMETRY = 1

ENABLE_TEST_CONSOLE

启用内部测试页 {host}/console。需要管理员权限。用户可以手动触发页面浏览和事件到他们的网站。

ENABLE_TEST_CONSOLE = 1

FAVICON_URL

网站图标显示服务的 URL。

FAVICON_URL = "服务 URL"

默认是 icons.duckduckgo.com

你也可以使用以下替代:

GEO_DATABASE_URL

用于下载地理位置数据库的 URL。

HOSTNAME / PORT

如果你运行的环境要求绑定特定的主机名或端口,比如 Heroku,可以添加这些变量,并用 npm run start-env 启动应用,而不是 npm start

HOSTNAME = "my.hostname.com"
PORT = 3000

IGNORE_IP

提供用逗号分隔的 IP 地址和范围列表,用于排除数据收集。

IGNORE_IP = "IP 地址或范围"

LOG_QUERY

在开发模式下,会将数据库查询日志打印到控制台以方便调试。

LOG_QUERY = 1

PRIVATE_MODE

禁用所有外部网络请求。注意,这也会禁用所有网站图标,因为它们来自 duckduckgo.com。

PRIVATE_MODE = 1

REMOVE_TRAILING_SLASH

移除所有传入 URL 的尾随斜杠。

REMOVE_TRAILING_SLASH = 1

TRACKER_SCRIPT_NAME

允许你为追踪脚本分配一个不同于默认 script.js 的自定义名称。这有助于避开一些广告拦截器

不必加 .js 后缀。该值也可以是任意路径,例如 /path/to/tracker

TRACKER_SCRIPT_NAME = "custom-script-name.js"

SKIP_LOCATION_HEADERS

跳过使用已知的定位头来检测国家/地区/城市,强制使用本地地理数据库。

这对那些只有国家(无地区或城市)头部,由代理或 CDN 设置的环境很有用(比如 Cloudflare 在网络 > IP 地理位置开启时提供的 CF-IPCountry 头)。

SKIP_LOCATION_HEADERS = 1

构建时变量

构建时变量仅在构建过程(包括自定义 Docker 镜像构建)中生效。你需要在构建应用之前设置这些环境变量。

ALLOWED_FRAME_URLS

允许 iframe 托管应用的 URL,使用空格分隔。

ALLOWED_FRAME_URLS = "URLs"

BASE_PATH

如果你想在子目录下托管 Umami。你可能需要更新反向代理设置来正确处理 BASE_PATH 前缀。

BASE_PATH = "/custom"

DATABASE_TYPE

DATABASE_TYPE = "postgresql"

要使用的数据库类型。仅 Docker 构建时必需。

FORCE_SSL

所有请求都会发送 HTTP 的 Strict-Transport-Security 响应头。详见 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security

FORCE_SSL = 1

SKIP_DB_CHECK

跳过构建过程中的 check-db 步骤。用于 Docker 构建。

SKIP_DB_CHECK = 1

SKIP_DB_MIGRATION

跳过构建过程中的 Prisma 迁移步骤。设置 SKIP_DB_CHECK 也会跳过这一步。

SKIP_DB_MIGRATION = 1