[Docker] 个人建站新选择 halo.run

简单图床 - EasyImage

前言

近日 halo.run 更新了 2.1.0 版本,整体系统区域完善,画风简洁,有新起之秀之意。博主进行了部署尝试,最方便的还是 docker compose ,官方给了教程,一起来看看吧。

准备工作

部署 halo

安装 aapanel

Putty 通过 SSH 连接到远程服务器。

输入以下命令(复制后在 Putty 窗口右键可以直接粘贴)

wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && bash install.sh aapanel

回车后,安装,不需要 SSL。

安装成功后,自动显示访问地址、登录账号、登录密码。复制留存备用。

浏览器打开访问地址 http://ip:7800 ,登录后点击侧边栏 Website,根据面板自动弹窗网站环境,保留 nginx,其他去掉选择后,点击安装。

安装 docker

通过 docker 对生产环境部署,可以方便进行迁移和升级。

wget -qO- https://get.docker.com/ | sh

回车后自动完成安装。

安装 halo 2.1.0 版本

新建网站数据文件夹:

mkdir /var/halo

访问网站文件夹

cd /var/halo

在文件夹内新建 docker compose 配置文件

nano docker-compose.yaml

复制以下内容粘贴至 SSH 界面。

version: "3"

services:
  halo:
    image: halohub/halo:2.1.0
    container_name: halo
    restart: on-failure:3
    depends_on:
      halodb:
        condition: service_healthy
    networks:
      halo_network:
    volumes:
      - ./:/root/.halo2
    ports:
      - "8090:8090"
    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
      # 初始化的超级管理员用户名
      - --halo.security.initializer.superadminusername=admin
      # 初始化的超级管理员密码
      - --halo.security.initializer.superadminpassword=P@88w0rd
  halodb:
    image: postgres:latest
    container_name: halodb
    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:

ctrl + o 确认,enter 确认文件名,ctrl + x 退出。

 

使用以下代码启动。

docker compose up -d

访问 halo

浏览器打开http://ip:8090 ,登录账号 admin ,登录密码 P@88w0rd ,登陆后进入网站管理界面。

修改主登录账号密码

cd /var/halo
nano docker-compose.yaml

修改以下部分内容

...
# 外部访问地址,请根据实际需要修改 
- --halo.external-url=https://www.sample.com/
# 初始化的超级管理员用户名 
- --halo.security.initializer.superadminusername=admin 
# 初始化的超级管理员密码 
- --halo.security.initializer.superadminpassword=P@88w0rd
...

修改完毕后 ctrl + o 确认,enter 确认文件名,ctrl + x 退出。

使用以下代码启动。

docker compose down && docker compose up

设置 nginx 反向代理

指定域名至 IP。

浏览器打开访问宝塔面板英文版地址 http://ip:7800 ,登录后点击侧边栏 Website,新建网站,勾选获取 SSL 和保持 SSL。确认后自动获取 SSL。

点开网站设置,找到 reverse proxy.

新建reverse proxy,名称 halo,地址 http://127.0.0.1:8090,确认后保存。

访问

访问域名即可。

 

 

阅读剩余
THE END