配置说明
如何快速定制化你的专属站点
本 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 的配置项说明请参见 环境变量说明。