配置说明
在前面的部署文档中,为了保证部署流程的简洁,只说明了运行所必须的配置,但除了运行之外,Halo 还提供了不少其他的配置以及我们所使用的 Web 框架的配置,这个文档我们将详细介绍 Halo 的完整配置。
配置方式
Halo 支持通过多种方式进行配置,目前 Docker Compose 部署文档 的示例是通过运行参数配置,JAR 文件部署方式 是通过配置文件进行配置。
通过运行参数
通常我们在使用 Docker Compose 部署的时候推荐使用这种方式进行配置,配置方式为在 Docker Compose 配置文件 的 command
添加对应的配置条目即可,比如:
services:
halo:
image: registry.fit2cloud.com/halo/halo:2.20
...
command:
- --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo
- --spring.r2dbc.username=halo
- --spring.r2dbc.password=openpostgresql
- --spring.sql.init.platform=postgresql
- --halo.external-url=http://localhost:8090/
通过配置文件
通常我们在使用 JAR 文件部署的时候更推荐使用这种方式进行配置,配置文件名称为 application.yaml
,并且需要在运行的时候通过 --spring.config.additional-location
参数指定配置文件存放的目录,运行示例:
java -jar halo.jar --spring.config.additional-location=optional:file:$HOME/.halo2/
配置示例:
~/.halo2/application.yaml
spring:
r2dbc:
url: r2dbc:h2:file:///${halo.work-dir}/db/halo-next?MODE=MySQL&DB_CLOSE_ON_EXIT=FALSE
username: admin
password: 123456
sql:
init:
mode: always
platform: h2
信息
完整的 JAR 文件部署文档可查阅:使用 JAR 文件部署
当然,使用 Docker Compose 部署同样支持通过这种方式配置,只需要将 application.yaml
放在工作目录的挂载目录即可,示例:
❯ tree
.
├── docker-compose.yaml
└── halo2
└── application.yaml
2 directories, 2 files
其中,docker-compose.yaml
的 Halo 服务的 volumes
应该包含 ./halo2:/root/.halo2
。