目 录CONTENT

文章目录

Halo系列——搭建与林汐小栈同款博客

林汐~
2023-06-17 / 0 评论 / 0 点赞 / 104 阅读 / 833 字 / 正在检测是否收录...

说明

数据存储

最好使用外置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一个文件夹,如下图所示

image

而data文件夹下只有一个文件application.yaml(其他文件都是会自动生成的)

image

修改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酷就是主题地址)

完事~

0

评论区