Halo开源博客
服务器
1.个人搭建
家中自组电脑,安装对应系统,多为Nas系统或各类Linux系统,向宽带运营商要求开启公网IP,则可开始外网访问家中服务器
缺点:需24小时开机,且家庭宽带通常封锁80、443端口,需另外设置端口访问
2.云服务器
各类云服务器提供商,例如阿里云、腾讯云、华为云、京东云、百度智能云、天翼云、亚马逊AWS等等。虽有更多价格上更低的小厂云服务提供商,但在数据安全、设备安全、运维管理等方面考虑,更推荐大厂商。
缺点:要钱,推荐嫖新人优惠或节假日优惠再购买
系统
使用Docker容器管理,只要可以安装Docker环境的系统均可,本人使用CentOS 7.6(个人习惯),家中Nas采用Truenas系统,Nas相关可查看另一篇文章。
环境
1.安装Docker
当前各大云服务器一般默认会安装Docker环境,此处也简单介绍相关教程
(1)Windows与Mac可直接访问官方桌面端下载地址下载对应客户端开始安装
(2)Linux系统则根据不同系统的安装工具使用不同的命令操作,举例如下:
Ubuntu:
sudo apt-get update
sudo apt-get install ./docker-desktop--.deb
Debian:
sudo apt-get update
sudo apt-get install ./docker-desktop-<version>-<arch>.deb
CentOS:
下载官方安装包后上传服务器执行
sudo pacman -U ./docker-desktop-<version>-<arch>.pkg.tar.zst
结果测试
docker version
2.安装docker-compose
Windows与Mac客户端包含docker-compose,无需另外安装
Linux可于GitHub地址下载对应文件至服务器 /usr/bin
目录下
docker-compose version
开始部署
Halo开源博客+Postgres数据库
# docker-compose.yaml配置文件
version: "3"
services:
halo:
image: halohub/halo:2.13
restart: on-failure:3
depends_on:
halodb:
condition: service_healthy
networks:
halo_network:
volumes:
- ./halo2:/root/.halo2
ports:
- "8090:8090"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
interval: 30s
timeout: 5s
retries: 5
start_period: 30s
command:
- --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo
- --spring.r2dbc.username=halo
# PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。
- --spring.r2dbc.password=openpostgresql
- --spring.sql.init.platform=postgresql
# 外部访问地址,请根据实际需要修改
- --halo.external-url=http://localhost:8090/
halodb:
image: postgres:15.4
restart: on-failure:3
networks:
halo_network:
volumes:
- ./db:/var/lib/postgresql/data
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:
启动容器
docker-compose up -d
初始化配置
跟随网页提示完成初始化配置
评论区