说明
数据存储
最好使用外置mysql库,按照官方文档中配置command是无效的,只能在./data目录中添加application.yaml文件来强行修改后台配置
有了外置mysql库之后,就可以很方便的改时间数据或者拓展相关数据结构了
Halo源码
查看了Halo的源码发现,原来就是SpringBoot,好家伙,这不是我的强项?
后续会持续更新,比如多动态类型、个人oauth2集成以及多用户编辑等功能,敬请期待
源码我从官方那里Fork了一份用于拓展,一共有三个项目,包括Halo、halo-consle(Halo的后台管理界面)、joe2主题。
感兴趣的同学可以自己去看提交记录 -> 放个Gitee地址
安装
前提
- halo容器必须可以访问到mysql,这边直接创建了一个docker公用网络——basenetwork,这个网络中基本包含了所有基础服务,我们只要将mysql固定ip即可。之后会出个docker安装mysql主从库的教程
目录创建
docker-compose.yml同级下只有data一个文件夹,如下图所示
而data文件夹下只有一个文件application.yaml(其他文件都是会自动生成的)
修改application.yaml配置文件
将下面的数据库地址和用户名密码替换成自己的
然后为了安全起见,建议修改admin-path,这个参数是后台管理地址根路径
可以复制一下yaml语句,然后搜索“这里”字符串,有三处地方都是要改的
server:
port: 8090
forward-headers-strategy: native
error:
include-message: always
spring:
devtools:
restart:
enabled: false
mvc:
pathmatch:
use-suffix-pattern: true
jackson:
date-format: yyyy-MM-dd HH:mm:ss
output:
ansi:
enabled: always
datasource:
type: com.zaxxer.hikari.HikariDataSource
# H2 database configuration.
driver-class-name: com.mysql.cj.jdbc.Driver
url: 这里需要改jdbc:mysql://172.16.0.101:3306/halo15?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: root
password: 这里填自己的密码
jpa:
hibernate:
ddl-auto: update
open-in-view: false
flyway:
enabled: false
servlet:
multipart:
max-file-size: 10240MB
max-request-size: 10240MB
resolve-lazily: true
freemarker:
suffix: .ftl
settings:
auto_import: /common/macro/global_macro.ftl as global
template-loader-path:
- file:///${halo.work-dir}/templates/
- classpath:/templates/
expose-spring-macro-helpers: false
data:
redis:
repositories:
enabled: false
# H2 database console configuration.
h2:
console:
settings:
web-allow-others: false
path: /h2-console
enabled: false
management:
endpoints:
web:
base-path: /api/admin/actuator
exposure:
include: [ 'httptrace', 'metrics', 'env', 'logfile', 'health' ]
health:
redis:
enabled: false
logging:
level:
run.halo.app: INFO
org.eclipse.jetty.server.HttpChannel: ERROR
file:
path: ${halo.work-dir}/logs
springfox:
documentation:
enabled: false
halo:
admin-path: 建议修改这里admin
download-timeout: 5m
cache: memory
work-dir: ${user.home}/.halo/
生效application.yaml文件
将application.yaml文件上传至data文件夹中
docker-compose安装
我们直接用docker-compose安装
version: "3"
services:
halo:
image: halohub/halo:1.5.5
container_name: halo15
restart: on-failure:3
volumes:
- ./data:/root/.halo
ports:
- "8090:8090"
networks:
- basenetwork
networks:
basenetwork:
external: true
在docker-compose.yml目录下,运行sudo docker-compose up -d
即可
初始化数据
等待一分钟左右,访问IP:8090
地址即可进入配置
填入初始化需要的数据即可
进入后台就可以个性化配置了,推荐joe2主题(最最最底下,那个M酷就是主题地址)
完事~
评论区