收起左侧

使用飞牛fnos的Docker Compose 部署Halo博客

0
回复
19
查看
[ 复制链接 ]

7

主题

18

回帖

0

牛值

系统先锋体验团🛩️

背景

上班查资料的时候~~摸鱼🐟~~读到别人的博客文章,博客搭建的又美观又有意思,让我的心痒痒的。

博客选型

打开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、选择一个路径、起个项目名称

image.png

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、根据自己实际情况修改配置

启动并访问

image-xFTD.png

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

收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则