【Docker】搭建强大易用的个人博客 - Halo

【Docker】搭建强大易用的个人博客 - Halo

前言

本教程基于绿联的NAS设备DX4600 Prodocker功能进行搭建,采用Halo + MySQL实例作为演示。

简介

Halo [ˈheɪloʊ] 是一个简洁,现代,快速且非常灵活的建站工具,它是由一位中国开发者制作并开源,使用Java语言开发。Halo主要用于搭建博客网站,它开箱即用,同时又提供了丰富的配置选项,可以满足各种定制化需求。

主要特点如下:

  • 简洁现代:Halo的界面设计非常简洁、现代,给人一种非常舒适的使用体验。同时,其代码结构也非常清晰,方便开发者进行定制和开发。

  • 强大的编辑器:Halo提供了Markdown和富文本两种编辑器,可以满足不同用户的需求。同时,其Markdown编辑器支持实时预览,使写作更加方便。

  • 多主题支持:Halo支持多种主题,用户可以根据自己的喜好选择。同时,Halo还支持自定义主题,用户可以自由创造。

  • 自带统计功能:Halo内置了访问量统计功能,用户可以清晰看到自己的网站访问情况。

  • 多平台发布:Halo提供了多种发布方式,支持Docker、JAR包、一键部署到云服务器等。

  • 开源免费:Halo是完全开源的,用户可以免费使用,同时也可以参与到Halo的开发中来。

总的来说,Halo是一个非常优秀的建站工具,无论是对于个人博客,还是对于小型企业网站,Halo都是一个非常好的选择。

部署

  1. 在“本地镜像”中添加halohub/halo:2.11.1​​镜像。

    目前 Halo 2 并未更新 Docker 的 latest 标签镜像,主要因为 Halo 2 不兼容 1.x 版本,因此我们需要在“本地镜像”中添加固定版本的标签镜像。

    ​​

  2. 在“镜像管理”中的“本地镜像”找到刚添加的镜像halohub/halo:2.11.1​,点击“创建容器”。

  3. 勾选“创建后启动容器”,然后直接点击“下一步”。

    ​​

  4. 将“基础设置”中的重启策略配置成“容器退出时总是重启容器”

  5. 在“命令”中输入以下命令

    如忽略此步骤,则默认 H2 数据库,在生产环境我们不推荐使用 H2 数据库,这可能因为操作不当导致数据文件损坏。

    参数名

    描述

    spring.r2dbc.url​​

    数据库连接地址,请根据自己数据库的实际地址进行修改。

    spring.r2dbc.username​​

    数据库用户名

    spring.r2dbc.password​​

    数据库密码,请根据自己数据库的实际密码进行修改。

    spring.sql.init.platform​​

    数据库平台名称

    --spring.r2dbc.url=r2dbc:pool:mysql://{host}:{port}/{database}
    --spring.r2dbc.username=root
    --spring.r2dbc.password={password}
    --spring.sql.init.platform=mysql
    

    ​​

  6. 在NAS中创建一个目录,用于保存halo的配置和我们的数据,在“存储空间”内与容器的/root/.halo2​​装载路径建立映射,并配置为“读写”类型。

    /root/.halo2​​为固定路径,不可修改!

    ​​

  7. 在“端口设置”中进行端口配置,“本地端口”指的是我们实际访问时要用到的端口,可以根据自己喜好进行配置,只要不与其他服务的端口有冲突就行。

    此处演示时使用的“本地端口”是“8090”端口,如不清楚端口是否被占用则默认“自动”即可。

    ​​

  8. 在“环境”中,点击“添加”,增加一行,名称:MYSQL_ROOT_PASSWORD​,值:{password},然后直接点击“下一步”。

    此处演示时使用的密码是“o#DwN&JSa56”,需要根据自己实际使用情况进行修改。

    此处的密码需要与前面“命令”中spring.r2dbc.password​参数的值保持一致!

  9. 在浏览器中输入{IP}:{Port}​,即可访问。

    ​​​​

相关链接

  • 官网:https://halo.run

  • 文档:https://docs.halo.run

  • 社区:https://bbs.halo.run

  • 主题仓库:https://halo.run/themes.html

  • 开源地址:https://github.com/halo-dev/halo

文章出处:https://blog.uptoz.cn/archives/NBbHBfXH
作者原创:@小小笔记大大用处 https://blog.uptoz.cn

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/507166.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Web漏洞-深入WAF注入绕过

目录 简要其他测试绕过 方式一:白名单(实战中意义不大) 方式二:静态资源 方式三: url白名单 方式四:爬虫白名单 #阿里云盾防SQL注入简要分析 #安全狗云盾SQL注入插件脚本编写 在攻防实战中,往往需要掌握一些特性,比如服务…

AI人像超分解决方案解析

在数字化高速发展的今天,企业对于视觉内容的需求日益增长,特别是在人像处理方面,高清、细腻的画面质量已成为行业标配。美摄科技,作为业界领先的AI视觉技术提供商,凭借其强大的研发实力和深厚的行业经验,推…

九州金榜|孩子沉迷手机网络是什么原因?应该怎么办?

随着现在社会的发展进步,手机已经是每个家庭必不可少的物品,现在基本每个人都是人手一部手机,有些人会配置多部手机,很多家长在忙碌一天后,回到家中也是手机不离手,经常坐下就开始玩手机,这种行…

JAVA学习笔记21(访问修饰符)

1.访问修饰符 ​ *基本介绍 ​ java提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围) 1.公开级别:用public修饰,对外公开 2.受保护级别:用protected修饰,对子类和同一个包中的类公开 3.默…

2024.4.1每日一题

LeetCode 故障键盘 题目链接:2810. 故障键盘 - 力扣(LeetCode) 题目描述 你的笔记本键盘存在故障,每当你在上面输入字符 i 时,它会反转你所写的字符串。而输入其他字符则可以正常工作。 给你一个下标从 0 开始的字…

4个文案写作神器,高效一键生成原创文案!

4个文案写作神器,高效一键生成原创文案!在当今数字化时代,内容创作已成为企业营销的关键环节之一。然而,许多营销人员面临着文案创作的挑战,他们需要快速、高效地生成原创文案来吸引受众。幸运的是,现在有四…

刷题之动态规划-路径问题

前言 大家好,我是jiantaoyab,开始刷动态规划的题目了,要特别注意初始化的时候给什么值。 动态规划5个步骤 状态表示 :dp数组中每一个下标对应值的含义是什么->dp[i]表示什么状态转移方程: dp[i] 等于什么1 和 2 是…

鹰眼降尘系统的维护成本高吗(已解答)

一、鹰眼降尘系统的维护成本高吗? 鹰眼降尘系统的维护成本会受到多种因素的影响,包括系统的规模、使用频率、设备质量、维护计划等。一般来说,合理的维护可以降低成本并延长系统的使用寿命。 以下是一些影响鹰眼降尘系统维护成本的因素: 设…

Codigger开发者篇:开启全新的开发体验(三)

Codigger,作为一个集开发、运营与使用私人应用于一体的分布式操作系统,以其独特的魅力与优势,为开发者们打开了全新的世界大门,引领他们迈向了一个前所未有的开发体验之旅。在之前的篇章中,我们已经深入探讨了Codigger…

实时监控iOS应用程序运行日志的工具分享

目录 一、设备连接 二、使用克魔助手查看日志 三、过滤我们自己App的日志 📝 摘要: 本文介绍了如何在iOS iPhone设备上实时查看输出在console控制台的日志。通过克魔助手工具,我们可以连接手机并方便地筛选我们自己App的日志。 &#x1f4…

智慧公厕:改变城市生活的革命性基础设施

在现代城市的高品质生活要求背景下,公共厕所成为了不可或缺的基础设施。然而,传统的公厕在服务质量、管理效率方面存在一定的问题。为了提供更好的公厕服务,智慧公厕应运而生。通过智能化的管理模式,智慧公厕实现了公厕使用与管理…

C++11标准 - 声明(auto,decltype,nullptr)

C11标准 - 声明(auto,decltype,nullptr) 前言1. auto2. decltype3. nullptr 前言 c11提供了多种简化声明的方式,尤其是在使用模板时。 1. auto 在C98中auto是一个存储类型的说明符,表明变量是局部自动存…

[蓝桥杯 2019 省赛 AB] 完全二叉树的权值

# [蓝桥杯 2019 省 AB] 完全二叉树的权值 ## 题目描述 给定一棵包含 $N$ 个节点的完全二叉树,树上每个节点都有一个权值,按从上到下、从左到右的顺序依次是 $A_1,A_2, \cdots A_N$,如下图所示: 现在小明要把相同深度的节点的权值…

移动硬盘怎么加密?移动硬盘加密软件有哪些?

移动硬盘是我们在工作中最常用的移动存储设备,为了保护数据安全,需要使用专业的移动硬盘加密软件加密保护。那么,移动硬盘加密软件有哪些? ​BitLocker BitLocker是Windows的磁盘加锁功能,可以用于加密保护移动硬盘中…

Devin、OpenDevin

文章目录 关于 DevinCognition 公司Devin 的能力 关于 OpenDevin⭐️ Research Strategy🛠 Technology Stack 使用 OpenDevin安装选择一个 Model在命令行运行 关于 Devin Cognition 发布了世界上第一个完全自主的人工智能软件工程师 Devin,在 SWE-bench…

Bert基础(九)--Bert变体之ALBERT

在接下来的几篇,我们将了解BERT的不同变体,包括ALBERT、RoBERTa、ELECTRA和SpanBERT。我们将首先了解ALBERT。ALBERT的英文全称为A Lite version of BERT,意思是BERT模型的精简版。ALBERT模型对BERT的架构做了一些改变,以尽量缩短…

【C++】vector系列力扣刷题日志(136.只出现一次的数字,118.杨辉三角,26.删除有序数组中的重复项,260.只出现一次的数字 |||)

目录 136.只出现一次的数字 118.杨辉三角 26.删除有序数组中的重复项 260.只出现一次的数字 ||| vector的详细介绍及用法这里就不过多赘述了,可以参考上一篇博客:vector的介绍及使用说明 136.只出现一次的数字 题目: 给你一个 非空 整数…

深入理解鸿蒙生命周期:从应用到组件

在开发鸿蒙(HarmonyOS)应用时,理解生命周期的概念至关重要。生命周期不仅关乎应用的性能优化,还涉及到资源管理和用户体验等多个方面。本文将详细解析鸿蒙操作系统中应用、页面和组件的生命周期,帮助开发者更好地掌握这…

炸裂,PG的FDW又进化了!

📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜😜😜 中国DBA联盟(ACD…

Python 用pygame简简单单实现一个打砖块

# -*- coding: utf-8 -*- # # # Copyright (C) 2024 , Inc. All Rights Reserved # # # Time : 2024/3/30 14:34 # Author : 赫凯 # Email : hekaiiii163.com # File : ballgame.py # Software: PyCharm import math import randomimport pygame import sys#…