记一次服务器翻新搭建过程

这次使用了Docker+Halo,一款现代化的开源博客/CMS系统,基于java

本次主要就是想简化维护流程,所以尽量避免源码安装

底层系统是Debian

前置部分

sudo apt update
sudo apt upgrade

docker部分

安装各种工具:

sudo apt install curl wget vim ca-certificates gnupg lsb-release

加key:

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装Docker Engine:

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

安装portainer:

docker volume create portainer_data
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

登录到9443端口来管理portainer。

在portainer中安装halo

port中添加映射,目录中也添加映射,根据自己需要选择

port部分在 Manual network port publishing

目录在 Volumes,主机目录映射到容器 /root/.halo

其他部分参考Halo-使用 Docker 部署 Halo

其他配置

  • nginx配置域名解析及反向代理
  • ssl跳转

吐槽

Halo的优势:

  • 原生支持MD语法
  • 方便的主题仓库
  • docker直接部署,且省去mysql配置
  • 官方文档足够使用

劣势:

  • 好像没插件?
  • 基于上,除了能提供的功能之外不知道怎么实现
  • 没有多用户(我挺想要例如WP的多用户的)