我是技术小白,安装Halo有一定的门槛,给同样是小白的同学分享一点经验!
因为不是很懂Docker的机制,出了问题也不会修复!
在这个前提下建议没有修改能力的同学,尽量只在Docker里面启动一个Halo的容器,并记好容器存储在宿主机文件里路径!
其次就是数据库尽量不要用Docker的,因为我也没有备份数据库的习惯,并且数据库容器一单出现问题无法启动,那就面临无法找回的风险!
所以我们可以选择外部数据库或者云数据库,这样不管是halo更新,还是halo容器因为各种奇奇怪怪的问题挂掉,可以重装Halo容器恢复到最后的状态!!
docker-compose.yml借鉴了论坛里不知道哪个提问帖子!需要的兄弟自取!每一行需要写什么都做了注释!
version: "3"
services:
halo:
#升级改下面halo:2.2.0这个版本号就OK!
image: halohub/halo:2.2.0
container_name: halo
restart: on-failure:3
volumes:
#修改/XXX/XXX/halo/.halo2的路径为本地你找的到的路径。里面会存主题、插件、好像还有文章具体我不是很懂,你能找到的位置就好。
#切记冒号后面的不要动!!!
- /XXX/XXX/halo/.halo2:/root/.halo2
ports:
- "8090:8090"
command:
#修改ysql://XXX.XXX.XXX.XXX:3306/halodb,这是你外部数据库Mysql的地址,替换数据库IP或者域名都可以!端口号(3306)后面的是数据库名。
#嘿!兄弟记住这一行!一会儿下面说数据库的时候!记得回来看!!!我给这行起了个名字叫老六!!!
- --spring.r2dbc.url=r2dbc:pool:mysql://XXX.XXX.XXX.XXX:3306/halodb
#下面sqlroot是数据库用户名,去你数据库里找。
- --spring.r2dbc.username=sqlroot
#下面是数据库密码,不用我多BB了吧!
- --spring.r2dbc.password=xxxxxxxxxxxx
#这是你用的数据库类型,用的啥就写啥!
- --spring.sql.init.platform=mysql
#域名总有吧,最后用啥域名就在这填啥!要不进后台会有警告!别问我咋知道的!
- --halo.external-url=https://www.XXXXXXX.com/
#下面两个是初始管理员账号和密码!!写完记住!
- --halo.security.initializer.superadminusername=halo
- --halo.security.initializer.superadminpassword=halo
另外还有就是大家如果云服务器需要宿主机搭建Mysql,容器链接不上的可以看我博客
https://www.pmbear.com/archives/1676139108419
我也是小白正在慢慢摸索,大家有什么需要可以留言交流!!
博客昨天刚弄好!!哈哈!以后慢慢写!