Sign inSign up

hczjl/halo

By hczjl

•Updated over 3 years ago

halo1.6官方镜像备份

Image
0

235

hczjl/halo repository overview

⁠Halo1.6 官方镜像备份

段落引用Halo [ˈheɪloʊ],一款现代化的开源博客/CMS系统,值得一试。

官网:https://halo.run/⁠ 官方文档:https://docs.halo.run/⁠

⁠使用 Docker部署 Halo博客

1.创建工作目录

mkdir ~/docker/halo && cd ~/docker/halo

2.下载示例配置文件到工作目录

wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml

3.编辑配置文件,配置数据库或者端口等,默认即可,如需配置请参考官方文档⁠

vim application.yaml
server:
  port: 8090

  # Response data gzip.
  compression:
    enabled: false
spring:
  datasource:

    # H2 database configuration.
    driver-class-name: org.h2.Driver
    url: jdbc:h2:file:~/.halo/db/halo
    username: admin
    password: 123456

    # MySQL database configuration.
#    driver-class-name: com.mysql.cj.jdbc.Driver
#    url: jdbc:mysql://127.0.0.1:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
#    username: root
#    password: 123456

  # H2 database console configuration.
  h2:
    console:
      settings:
        web-allow-others: false
      path: /h2-console
      enabled: false

halo:

  # Your admin client path is https://your-domain/{admin-path}
  admin-path: admin

  # memory or level
  cache: memory

4.拉取最新的 Halo 镜像

docker pull hczjl/halo:1.6

5.创建容器

docker run -it -d --name halo -p 8090:8090 -v ~/docker/halo:/root/.halo --restart=unless-stopped hczjl/halo:1.6
  • -it: 开启输入功能并连接伪终端
  • -d: 后台运行容器
  • --name: 为容器指定一个名称
  • -p: 端口映射,格式为 主机(宿主)端口:容器端口 ,可在 application.yaml 配置。
  • -v: 工作目录映射。形式为:-v 宿主机路径:/root/.halo,后者不能修改。
  • --restart: 建议设置为 unless-stopped,在 Docker 启动的时候自动启动 Halo 容器。

6.打开 http://ip:8090 即可看到安装引导界面。

按照提示填写相关信息,点击安装即可。

⁠使用 Docker Compose 部署 Halo

1.创建工作目录

mkdir ~/docker/halo && cd ~/docker/halo

2.创建docker-compose.yaml

此文档提供三种场景的 Docker Compose 配置文件,请根据你的需要选择一种。需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 环境变量代替,所以无需创建 application.yaml 文件。

i.仅创建 Halo 实例(使用默认的 H2 数据库):

version: "3"

services:
  halo:
    image: hczjl/halo:1.6
    container_name: halo
    restart: always
    volumes:
      - ./:/root/.halo
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "8090:8090"
    environment:
      - SERVER_PORT=8090
      - SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.h2.Driver
      - SPRING_DATASOURCE_URL=jdbc:h2:file:~/.halo/db/halo
      - SPRING_DATASOURCE_USERNAME=admin
      - SPRING_DATASOURCE_PASSWORD=o#DwN&JSa56
      - HALO_ADMIN_PATH=admin
      - HALO_CACHE=memory

ii.创建 Halo + MySQL 的实例:

version: "3"

services:
  halo_server:
    image: hczjl/halo:1.6
    container_name: halo_server
    restart: always
    depends_on:
      - halo_mysql
    networks:
      network:
    volumes:
      - ./:/root/.halo
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "8090:8090"
    environment:
      - SERVER_PORT=8090
      - SPRING_DATASOURCE_DRIVER_CLASS_NAME=com.mysql.cj.jdbc.Driver
      - SPRING_DATASOURCE_URL=jdbc:mysql://halo_mysql:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
      - SPRING_DATASOURCE_USERNAME=root
      - SPRING_DATASOURCE_PASSWORD=o#DwN&JSa56
      - HALO_ADMIN_PATH=admin
      - HALO_CACHE=memory

  halo_mysql:
    image: mysql:8.0.32
    container_name: halo_mysql
    restart: always
    networks:
      network:
    command: --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./mysql:/var/lib/mysql
      - ./mysqlBackup:/data/mysqlBackup
    ports:
      - "3306:3306"
    environment:
      # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_DATASOURCE_PASSWORD 变量值
      - MYSQL_ROOT_PASSWORD=o#DwN&JSa56
      - MYSQL_DATABASE=halodb

networks:
  network:

iii.创建 Halo + MySQL + Redis 的实例:

version: "3"

services:
  halo_server:
    image: hczjl/halo:1.6
    container_name: halo_server
    restart: always
    depends_on:
      - halo_mysql
      - halo_redis
    networks:
      network:
    volumes:
      - ./:/root/.halo
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "8090:8090"
    environment:
      - SERVER_PORT=8090
      - SPRING_DATASOURCE_DRIVER_CLASS_NAME=com.mysql.cj.jdbc.Driver
      - SPRING_DATASOURCE_URL=jdbc:mysql://halo_mysql:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
      - SPRING_DATASOURCE_USERNAME=root
      - SPRING_DATASOURCE_PASSWORD=o#DwN&JSa56
      - HALO_ADMIN_PATH=admin
      - HALO_CACHE=redis
      - SPRING_REDIS_PORT=6379
      - SPRING_REDIS_DATABASE=0
      - SPRING_REDIS_HOST=halo_redis
      - SPRING_REDIS_PASSWORD=dm5fD%rvPtq

  halo_mysql:
    image: mysql:8.0.32
    container_name: halo_mysql
    restart: always
    networks:
      network:
    command: --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./mysql:/var/lib/mysql
      - ./mysqlBackup:/data/mysqlBackup
    ports:
      - "3306:3306"
    environment:
      # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_DATASOURCE_PASSWORD 变量值
      - MYSQL_ROOT_PASSWORD=o#DwN&JSa56
      - MYSQL_DATABASE=halodb

  halo_redis:
    image: redis
    container_name: halo_redis
    restart: always
    networks:
      halo_network:
    volumes:
      - ./redis/data:/data
      - ./redis/logs:/logs
    # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_REDIS_PASSWORD 变量值
    command: redis-server --requirepass dm5fD%rvPtq
    ports:
      - "6379:6379"
networks:
  network:

3.启动 Halo 服务

docker-compose up -d

4.打开 http://ip:端口号 即可看到安装引导界面。

Tag summary

Content type

Image

Digest

sha256:2e18d8678…

Size

168.6 MB

Last updated

over 3 years ago

docker pull hczjl/halo:1.6