群晖Docker部署博客halo

一直习惯用Wordpress,但halo研究下来也挺好玩的。于是乎想部署个halo版本博客,用于记录日常摘录文章。

halo的官方手册写的很全乎~在此就不做赘述,简单记录一下我的部署过程吧。

由于我的Docker compose出了点问题就用Docker cli模式吧。

系统部署

docker run -d \
  --name dsmhalo \
  --restart on-failure:3 \
  -v /volume1/docker/dsmhalo:/root/.halo2 \
  -e SPRING_R2DBC_URL=r2dbc:pool:mysql://MysqlServerIp:MysqlServerPort/halodb \
  -e SPRING_R2DBC_USERNAME=halouser \
  -e SPRING_R2DBC_PASSWORD=halopwd \
  -e SPRING_SQL_INIT_PLATFORM=mysql \
  -e HALO_EXTERNAL_URL=http://localhost:10086/ \
  -e SERVER_PORT=10086 \
  -p 10086:10086 \
  registry.fit2cloud.com/halo/halo:2.20

Tips:

  • Docker 镜像
    • 目前 Halo 2 并未更新 Docker 的 latest 标签镜像,主要因为 Halo 2 不兼容 1.x 版本,防止使用者误操作。
      • 推荐使用固定版本的标签,比如 2.20 或者 2.20.0
    • registry.fit2cloud.com/halo/halo:2:表示最新的 2.x 版本,即每次发布新版本都会更新此镜像。
    • registry.fit2cloud.com/halo/halo:2.20:表示最新的 2.20.x 版本,即每次发布 patch 版本都会同时更新此镜像。
    • registry.fit2cloud.com/halo/halo:2.20.0:表示一个具体的版本。
  • -v:工作目录映射。形式为:-v 宿主机路径:/root/.halo2,后者不能修改。
    • 在 Halo 运行的时候会在系统当前用户目录下产生一个 .halo2 的文件夹,绝对路径为 ~/.halo2
  • -p:端口映射,格式为 主机(宿主)端口:容器端口 ,可在 application.yaml 配置。
    • application.yaml:配置文件
  • spring.r2dbc.url :数据库连接地址
    • r2dbc:pool:postgresql://{HOST}:{PORT}/{DATABASE}
      • spring.sql.init.platform=postgresql
    • r2dbc:pool:mysql://{HOST}:{PORT}/{DATABASE}
      • spring.sql.init.platform=mysql
    • r2dbc:pool:mariadb://{HOST}:{PORT}/{DATABASE}
      • spring.sql.init.platform=mariadb
    • r2dbc:h2:file:///${halo.work-dir}/db/halo-next?MODE=MySQL&DB_CLOSE_ON_EXIT=FALSE
      • spring.sql.init.platform=h2

升级版本

1、备份数据(可选,但推荐备份)。

2、拉取新版本镜像

docker pull registry.fit2cloud.com/halo/halo:2.20

3、停止运行中的容器

docker stop dsmhalo
docker rm dsmhalo

4、更新 Halo

修改版本号后,按照最初安装的方式,重新创建容器即可。

 

THE END
分享
二维码
打赏
海报
群晖Docker部署博客halo
一直习惯用Wordpress,但halo研究下来也挺好玩的。于是乎想部署个halo版本博客,用于记录日常摘录文章。 halo的官方手册写的很全乎~在此就不做赘述,简单记录……
<<上一篇
下一篇>>