# Discourse app.yml翻译

**URL:** <https://www.shiwantech.xyz/t/topic/140>\
**Category:** Discourse\
**Created:** [2024 年10 月 2 日 06:18 UTC](https://www.shiwantech.xyz/t/topic/140 "2024-10-02T06:18:06Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

作者： ![itpanpan163](https://www.shiwantech.xyz/letter_avatar_proxy/v4/letter/i/ccd318/32.png) [@itpanpan163](https://www.shiwantech.xyz/u/itpanpan163)\
发布日期： [2024 年10 月 2 日 06:18 UTC](https://www.shiwantech.xyz/t/topic/140/1 "2024-10-02T06:18:07Z")

</div>

```auto
## 这是一个独立的 Discourse Docker 容器模板
##
## 在对此文件进行更改后，您必须重新构建
## /var/discourse/launcher rebuild app
##
## 在编辑时一定要非常小心！
## YAML 文件对空白或对齐的错误非常敏感！
## 您可以访问 http://www.yamllint.com/ 验证此文件是否需要修正。

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  ## 取消下一行的注释以启用 IPv6 监听器
  #- "templates/web.ipv6.template.yml"
  - "templates/web.ratelimited.template.yml"
  ## ## 如果您希望添加 Lets Encrypt（https），请取消下面两行的注释
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"

## 此容器应该暴露哪些 TCP/IP 端口？
## 如果您希望 Discourse 与其他 Web 服务器（如 Apache 或 nginx）共享端口，
## 请参阅 https://meta.discourse.org/t/17247 了解详情。
expose:
  - "80:80" # http
  - "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## 将 db_shared_buffers 设置为总内存的最大 25%。
  ## 将根据检测到的 RAM 自动设置，或者您可以手动覆盖。
  db_shared_buffers: "2048"

  ## 可以提高排序性能，但会增加每个连接的内存使用量。
  db_work_mem: "50MB"

  ## 此容器应该使用哪个 Git 版本？（默认值：tests-passed）
  #version: tests-passed

  ## 最大上传大小（默认值：10m）
  upload_size: 50m

env:
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8
  LANGUAGE: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## 支持多少并发的 Web 请求？取决于内存和 CPU 核心。
  ## 将根据检测到的 CPU 自动设置，或者您可以手动覆盖。
  UNICORN_WORKERS: 4

  ## TODO: Discourse实例将响应的域名
  ## 必填项。Discourse无法使用裸IP地址。
  DISCOURSE_HOSTNAME: 你的域名

  ## 如果您希望容器以相同的方式启动，请取消注释
  ## 如果您希望容器使用与上面指定的相同主机名（默认为"$hostname-$config"）启动，请取消注释
  #DOCKER_USE_HOSTNAME: true

  ## TODO: 初始注册时将成为管理员和开发人员的逗号分隔的电子邮件列表
  ## 示例：'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: '你的邮箱'

  ## TODO: 用于验证新帐户并发送通知的SMTP邮件服务器
  # SMTP地址、用户名和密码是必需的
  # 警告：SMTP密码中的字符 '#' 可能会引起问题！
  DISCOURSE_SMTP_ADDRESS: smtp.gmail.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: 你的邮箱
  DISCOURSE_SMTP_PASSWORD: "你邮箱的key"
  #DISCOURSE_SMTP_ENABLE_START_TLS: true # (可选，默认值为 true)
  DISCOURSE_SMTP_DOMAIN: gmail.com
  DISCOURSE_NOTIFICATION_EMAIL: 你的邮箱

  ## 如果您添加了 Let's Encrypt 模板，请取消下面的注释以获取免费的SSL证书
  LETSENCRYPT_ACCOUNT_EMAIL: 你的邮箱

  ## 此 Discourse 实例的 HTTP 或 HTTPS CDN 地址（配置为拉取）
  ## 详情请参阅 https://meta.discourse.org/t/14857
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com
  
  ## 用于 IP 地址查找的 MaxMind 地理位置 IP 地址密钥
  ## 详情请参阅 https://meta.discourse.org/t/-/137387/23
  #DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456

## Docker容器是无状态的；所有数据都存储在 /shared 目录中
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## 插件放在这里
## 详情请见 https://meta.discourse.org/t/19157
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git # (管理器)

    - exec:
        cd: $home/plugins/discourse-animated-avatars
        raise_on_fail: false
        cmd:
          - $home/plugins/discourse-animated-avatars/scripts/install.sh

## 构建后运行的任何自定义命令
run:
  - exec: echo "Beginning of custom commands"
  ## 如果您想为首次注册设置 "发件人 "电子邮件地址，请取消注释并更改:
  ## 收到第一封注册电子邮件后，重新注释该行。只需运行一次.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "End of custom commands"

```
