背景
上班查资料的时候~~摸鱼🐟~~读到别人的博客文章,博客搭建的又美观又有意思,让我的心痒痒的。
博客选型
打开AI一问,给我推荐了一些现有方案
| 工具 |
技术栈 |
特点 |
适合谁 |
| Astro |
Node.js |
默认零 JS,页面极快,支持组件级按需水合,内置图片优化管线,SEO 友好 |
追求极致性能的前端开发者 |
| Hexo |
Node.js |
中文社区最活跃,主题和插件生态丰富,上手简单 |
想快速搭建、喜欢自定义交互的开发者 |
| Hugo |
Go |
构建速度最快,千篇文章秒级编译 |
文章量大、追求编译速度的开发者 |
| VitePress |
Node.js/Vite |
开发服务器超快,默认主题简洁优雅,Markdown 支持开箱即用 |
偏文档风格博客,Vue 技术栈 |
然后我都看了一下,都比较适合前端程序员,而我只是一个java crud仔。我上手都不太顺利,而且我想先写一段时间,养成习惯后再对外开放分享自己的想法。
然后我又在飞牛商城里找到halo,以前用1panel装过还申请了域名,备案等等。给全网开放,那时候又有了流量焦虑,删库弃坑
回到正题
优点
国人开源的项目,对国人优化,插件商城齐全,安装方便
缺点
后台没有夜间模式,后台没有夜间模式,后台没有夜间模式,我前两年就在社区提了意见,至今没有添加(还是笔者没找到开启按钮)
装了个后台美化插件,又编写了css,终于不那么刺眼了
内存占用较大(毕竟是java写的还得开个数据库)
总结
缺点我基本上能接受,不用飞牛商店里面的halo是因为笔者更喜欢compose管理docker项目
开始安装
1、打开飞牛的docker应用->选择compose
2、选择一个路径、起个项目名称


3、选择创建docker-compose文件
#services:
halo:
# 后续升级改这里的版本号并重建 我这里用的是社区版2.25.4
image: registry.fit2cloud.com/halo/halo:2.25.4
restart: on-failure:3
depends_on:
h**b:
condition: service_healthy
networks:
halo_network:
volumes:
- ./halo2:/root/.halo2
ports:
#开放端口 左边选个未被占用的端口
- "3090:8090"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
interval: 30s
timeout: 5s
retries: 5
start_period: 30s
environment:
# JVM 参数,默认为 -Xmx256m -Xms256m,可以根据实际情况做调整,置空表示不添加 JVM 参数
- JVM_OPTS=-Xmx256m -Xms256m
command:
# 下面是些数据库配置 可以用自己的,也可以用官方提供的
- --spring.r2dbc.url=r2dbc:pool:postgresql://h**b/halo
- --spring.r2dbc.username=halo
# PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。
- --spring.r2dbc.password=openpostgresql
- --spring.sql.init.platform=postgresql
# 外部访问地址,请根据实际需要修改
# 初始化时可以改
- --halo.external-url=http://localhost:3090/
# 如果用自己的数据库,参照下面的配置 创建对应的数据库
h**b:
image: postgres:15.4
restart: on-failure:3
networks:
halo_network:
volumes:
- ./db:/var/lib/postgresql/data
# 当然也可以将这个数据库端**露出来使用
# ports:
- "5432:5432"
healthcheck:
test: [ "CMD", "pg_isready" ]
interval: 10s
timeout: 5s
retries: 5
environment:
- POSTGRES_PASSWORD=openpostgresql
- POSTGRES_USER=halo
- POSTGRES_DB=halo
- PGUSER=halo
networks:
halo_network:
4、根据自己实际情况修改配置
启动并访问


然后访问ip:port就能访问并初始化