跳转到主要内容

配置说明

如何快速定制化你的专属站点

本 CMS 的配置分为三层:数据库 informations 表内存储的 value、site.config.ts 内定义的字面量和 .env 内存放的环境变量。

数据库内存储的设置项已由后台的设置页承接,逐项说明见 设置,这里介绍后两项,详细的配置项说明请参见 site.config.ts 与 环境变量说明。

site.config.ts

site.config.ts 位于项目根目录,定义的值包括:CSP 策略、CDN 资源前缀、Redis 连接参数、功能开关、社交链接、SEO 默认文案。开发环境由 Nuxt 读取,并供项目各处使用,修改后会自动重启服务器;生产模式下,配置会被内联到 Nuxt 构建出的服务端与客户端产物中,因此每次修改后都需要重新构建。

本文件同时兼任兜底:站名、域名、描述、首页文案这些运行时设置实际存在 informations 表里,由后台管理。这里的同名值只在数据库没有值时生效。

由于本文件不存放敏感值、更新频率较低,且配置内容可供不同机器复用,因此将其纳入 Git 管理,未加入 .gitignore。

site.config.ts 的配置项说明请参见 配置说明。

.env

.env 用于存放环境变量和密钥,开发环境与生产环境共用同一模板 .env.example。

.env 内的配置项主要包含以下几种:

  • 数据库连接信息。本项目依赖 PostgreSQL,需要凭借这些值连接数据库,必须填写。
  • 安全相关。如 SSR 内部请求密钥、小程序 HMAC 密钥等,强烈建议在生产环境中填写,并定期修改。
  • scripts 相关。如部署脚本、构建脚本等,根据需要填写。

在开发环境中,.env 与 site.config.ts 一样,会被 app、server 和 nuxt.config.ts 读取。除 DB_* 五项外,其余变量留空也可以启动,但部分功能会受到限制。修改后必须重启 bun run dev 才会生效。

生产环境中,环境变量可从宝塔面板配置,其中数据库连接信息必填,安全相关的则强烈建议填写强随机值。

.env 的配置项说明请参见 环境变量说明。