246 lines
5.4 KiB
Markdown
246 lines
5.4 KiB
Markdown
---
|
||
title: 设置你的环境
|
||
description: 为你安装的Mastodon设置环境变量。
|
||
menu:
|
||
docs:
|
||
weight: 30
|
||
parent: admin
|
||
---
|
||
|
||
{{< hint style="warning" >}}
|
||
本页面仍在建设中。
|
||
{{< /hint >}}
|
||
|
||
Mastodon使用环境变量作为其的配置。
|
||
|
||
为了方便起见,Mastodon从Mastodon目录中的 `.env.production` 文件读取环境变量,但是始终可以用特定方式覆盖它们。例如:在 systemd service 文件中可以使用 `EnvironmentFile` 从特定文件中读取环境变量或使用 `Environment` 定义环境变量,因此你可以为不同服务指定不同的环境变量。也可以在从命令行调用运行Mastodon时指定环境变量。
|
||
|
||
## 基本参数 {#basic}
|
||
|
||
### 站点互联 {#federation}
|
||
|
||
* `LOCAL_DOMAIN`
|
||
* `WEB_DOMAIN`
|
||
* `ALTERNATE_DOMAINS`
|
||
|
||
#### `AUTHORIZED_FETCH` {#authorized_fetch}
|
||
|
||
当设置为 `true` 时,Mastodon将停止内联签名活动,并要求远程服务器在拉取公开(public)和不公开(unlisted)的嘟文时进行身份验证。
|
||
|
||
这可以阻止被屏蔽的域名拉取你的公开嘟文,但代价是可能增加计算量,并与不支持附带签名的拉取请求的软件不兼容(如低于3.0版本的Mastodon)。
|
||
|
||
请注意:这个模式并不能保证你的公开嘟文(public、unlisted)不被恶意操作者获取,这仅仅是增加了一点难度。
|
||
|
||
#### `WHITELIST_MODE` {#whitelist_mode}
|
||
|
||
当设置为 `true` 时,Mastodon将仅与白名单内的服务器互联,同时关闭公开页面和一些客户端API。
|
||
白名单模式会启用 authorized fetch 模式。
|
||
|
||
当一个现存实例站点切换至白名单模式,以下命令可以被用来移除非白名单站点的数据:
|
||
```
|
||
tootctl domain purge --whitelist-mode
|
||
```
|
||
|
||
请注意:虽然Mastodon 3.0 版本便引入了白名单模式 `WHITELIST_MODE`,但在Mastodon 3.0和3.0.1版中并没有正确实现。
|
||
|
||
### 密钥 {#secrets}
|
||
|
||
* `SECRET_KEY_BASE`
|
||
* `OTP_SECRET`
|
||
* `VAPID_PRIVATE_KEY`
|
||
* `VAPID_PUBLIC_KEY`
|
||
|
||
### 部署 {#deployment}
|
||
|
||
* `RAILS_ENV`
|
||
* `RAILS_SERVE_STATIC_FILES`
|
||
* `RAILS_LOG_LEVEL`
|
||
* `TRUSTED_PROXY_IP`
|
||
* `SOCKET`
|
||
* `PORT`
|
||
* `NODE_ENV`
|
||
* `BIND`
|
||
|
||
### 缩放选项 {#scaling}
|
||
|
||
* `WEB_CONCURRENCY`
|
||
* `MAX_THREADS`
|
||
* `PREPARED_STATEMENTS`
|
||
* `STREAMING_API_BASE_URL`
|
||
* `STREAMING_CLUSTER_NUM`
|
||
|
||
## 数据库连接 {#connections}
|
||
|
||
### PostgreSQL {#postgresql}
|
||
|
||
* `DB_HOST`
|
||
* `DB_USER`
|
||
* `DB_NAME`
|
||
* `DB_PASS`
|
||
* `DB_PORT`
|
||
* `DB_SSLMODE`
|
||
* `DATABASE_URL`
|
||
|
||
### Redis {#redis}
|
||
|
||
* `REDIS_HOST`
|
||
* `REDIS_PORT`
|
||
* `REDIS_URL`
|
||
* `REDIS_NAMESPACE`
|
||
* `CACHE_REDIS_HOST`
|
||
* `CACHE_REDIS_PORT`
|
||
* `CACHE_REDIS_URL`
|
||
* `CACHE_REDIS_NAMESPACE`
|
||
|
||
### Elasticsearch {#elasticsearch}
|
||
|
||
* `ES_ENABLED`
|
||
* `ES_HOST`
|
||
* `ES_PORT`
|
||
* `ES_PREFIX`
|
||
|
||
### StatsD {#statsd}
|
||
|
||
* `STATSD_ADDR`
|
||
* `STATSD_NAMESPACE`
|
||
|
||
## 限制 {#limits}
|
||
|
||
* `SINGLE_USER_MODE`
|
||
* `EMAIL_DOMAIN_WHITELIST`
|
||
* `DEFAULT_LOCALE`
|
||
* `MAX_SESSION_ACTIVATIONS`
|
||
* `USER_ACTIVE_DAYS`
|
||
|
||
## 电子邮件 {#email}
|
||
|
||
* `SMTP_SERVER`
|
||
* `SMTP_PORT`
|
||
* `SMTP_LOGIN`
|
||
* `SMTP_PASSWORD`
|
||
* `SMTP_FROM_ADDRESS`
|
||
* `SMTP_DOMAIN`
|
||
* `SMTP_DELIVERY_METHOD`
|
||
* `SMTP_AUTH_METHOD`
|
||
* `SMTP_CA_FILE`
|
||
* `SMTP_OPENSSL_VERIFY_MODE`
|
||
* `SMTP_ENABLE_STARTTLS_AUTO`
|
||
* `SMTP_TLS`
|
||
|
||
## 文件存储 {#cdn}
|
||
|
||
* `CDN_HOST`
|
||
* `S3_ALIAS_HOST`
|
||
|
||
### 本地文件存储 {#paperclip}
|
||
|
||
* `PAPERCLIP_ROOT_PATH`
|
||
* `PAPERCLIP_ROOT_URL`
|
||
|
||
### Amazon S3 及其兼容存储 {#s3}
|
||
|
||
* `S3_ENABLED`
|
||
* `S3_BUCKET`
|
||
* `AWS_ACCESS_KEY_ID`
|
||
* `AWS_SECRET_ACCESS_KEY`
|
||
* `S3_REGION`
|
||
* `S3_PROTOCOL`
|
||
* `S3_HOSTNAME`
|
||
* `S3_ENDPOINT`
|
||
* `S3_SIGNATURE_VERSION`
|
||
|
||
### Swift {#swift}
|
||
|
||
* `SWIFT_ENABLED`
|
||
* `SWIFT_USERNAME`
|
||
* `SWIFT_TENANT`
|
||
* `SWIFT_PASSWORD`
|
||
* `SWIFT_PROJECT_ID`
|
||
* `SWIFT_AUTH_URL`
|
||
* `SWIFT_CONTAINER`
|
||
* `SWIFT_OBJECT_URL`
|
||
* `SWIFT_REGION`
|
||
* `SWIFT_DOMAIN_NAME`
|
||
* `SWIFT_CACHE_TTL`
|
||
|
||
## 外部认证 {#external-authentication}
|
||
|
||
* `OAUTH_REDIRECT_AT_SIGN_IN`
|
||
|
||
### LDAP {#ldap}
|
||
|
||
* `LDAP_ENABLED`
|
||
* `LDAP_HOST`
|
||
* `LDAP_PORT`
|
||
* `LDAP_METHOD`
|
||
* `LDAP_BASE`
|
||
* `LDAP_BIND_DN`
|
||
* `LDAP_PASSWORD`
|
||
* `LDAP_UID`
|
||
* `LDAP_SEARCH_FILTER`
|
||
|
||
### PAM {#pam}
|
||
|
||
* `PAM_ENABLED`
|
||
* `PAM_EMAIL_DOMAIN`
|
||
* `PAM_DEFAULT_SERVICE`
|
||
* `PAM_CONTROLLED_SERVICE`
|
||
|
||
### CAS {#cas}
|
||
|
||
* `CAS_ENABLED`
|
||
* `CAS_URL`
|
||
* `CAS_HOST`
|
||
* `CAS_PORT`
|
||
* `CAS_SSL`
|
||
* `CAS_VALIDATE_URL`
|
||
* `CAS_CALLBACK_URL`
|
||
* `CAS_LOGOUT_URL`
|
||
* `CAS_LOGIN_URL`
|
||
* `CAS_UID_FIELD`
|
||
* `CAS_CA_PATH`
|
||
* `CAS_DISABLE_SSL_VERIFICATION`
|
||
* `CAS_UID_KEY`
|
||
* `CAS_NAME_KEY`
|
||
* `CAS_EMAIL_KEY`
|
||
* `CAS_NICKNAME_KEY`
|
||
* `CAS_FIRST_NAME_KEY`
|
||
* `CAS_LAST_NAME_KEY`
|
||
* `CAS_LOCATION_KEY`
|
||
* `CAS_IMAGE_KEY`
|
||
* `CAS_PHONE_KEY`
|
||
|
||
### SAML {#saml}
|
||
|
||
* `SAML_ENABLED`
|
||
* `SAML_ACS_URL`
|
||
* `SAML_ISSUER`
|
||
* `SAML_IDP_SSO_TARGET_URL`
|
||
* `SAML_IDP_CERT`
|
||
* `SAML_IDP_CERT_FINGERPRINT`
|
||
* `SAML_NAME_IDENTIFIER_FORMAT`
|
||
* `SAML_CERT`
|
||
* `SAML_PRIVATE_KEY`
|
||
* `SAML_SECURITY_WANT_ASSERTION_SIGNED`
|
||
* `SAML_SECURITY_WANT_ASSERTION_ENCRYPTED`
|
||
* `SAML_SECURITY_ASSUME_EMAIL_IS_VERIFIED`
|
||
* `SAML_ATTRIBUTES_STATEMENTS_UID`
|
||
* `SAML_ATTRIBUTES_STATEMENTS_EMAIL`
|
||
* `SAML_ATTRIBUTES_STATEMENTS_FULL_NAME`
|
||
* `SAML_ATTRIBUTES_STATEMENTS_FIRST_NAME`
|
||
* `SAML_ATTRIBUTES_STATEMENTS_LAST_NAME`
|
||
* `SAML_UID_ATTRIBUTE`
|
||
* `SAML_ATTRIBUTES_STATEMENTS_VERIFIED`
|
||
* `SAML_ATTRIBUTES_STATEMENTS_VERIFIED_EMAIL`
|
||
|
||
## 隐藏服务 {#hidden-services}
|
||
|
||
* `http_proxy`
|
||
* `ALLOW_ACCESS_TO_HIDDEN_SERVICE`
|
||
|
||
## 其它 {#other}
|
||
|
||
* `SKIP_POST_DEPLOYMENT_MIGRATIONS`
|
||
|
||
{{< translation-status-zh-cn raw_title="Configuring your environment" raw_link="/admin/config/" last_tranlation_time="2020-05-04" raw_commit="ad1ef20f171c9f61439f32168987b0b4f9abd74b">}}
|