• 群晖上搭建Ghost博客


    在这里插入图片描述

    每次自己都没想起来的时候,运营商、航空公司、银行、券商却从不曾忘记,虽然只是短信,也让我感受到了你们的真诚,让我们携手共进,共创辉煌!😁😁😁


    本文是应网友 luffy 的要求重新折腾的,原文主框架完成于 20214 月,采用了 SQLite 作为数据库,本次应要求改为了 MySQL ,发布前对大部分图片进行了重新截取;

    什么是 Ghost ?

    Ghost 是一款个人博客系统,采用 Node.js 编写,同时支持 MariaDBSQLitePostgreSQL 数据库。前后台简洁,占用资源少,支持 Markdown,是一个现代化的,开源的博客发布平台。

    关于数据库

    老苏首先尝试了使用系统自带的 MariaDB,但 MariaDB 不是 Ghost 官方支持的数据库 ,在安装过程中遇到了各种数据库错误,似乎是 KnexMariaDB 的兼容问题。

    Ghost 5.0 开始,官方建议使用 MySQL8 ,所以接下来老苏采用了 MySQL 容器,但似乎 MySQL5.7 也可以正常工作。

    下面的安装,图形化安装方式和 docker cli 安装方式继续保留了之前采用的 SQLitedocker-compose 命令行方式则重新采用了 MySQL

    安装

    在群晖上以 Docker 方式安装。

    在注册表中搜索 ghost ,选择第一个 ghost,版本选择 latest

    在这里插入图片描述

    docker 文件夹中,创建一个新文件夹 ghost,并在其中建一个子文件夹 data

    文件夹装载路径说明
    docker/ghost/data/var/lib/ghost/content存放设置

    在这里插入图片描述

    端口

    直接用了默认的端口 2368

    本地端口容器端口
    23682368

    在这里插入图片描述

    环境

    因为采用了 SQLite ,所以不需要设置 database 相关的参数

    可变
    database__client数据库类型
    database__connection__host数据库主机IP
    database__connection__port数据库端口
    database__connection__user数据库用户
    database__connection__password数据库访问密码
    database__connection__database数据库名
    NODE_ENV默认为 production,必须修改为 development
    urlurl地址

    • 这个 url 会影响到主界面的菜单地址,不设置的时候,默认主菜单地址会是 http://localhost:2368
    • 老苏只是在局域网用,所以设的是局域网 IP
    • 如果在公网使用,请设置为公网 IP 或者域名;
    • 必须设置为 development,否则容器日志会显示 "Unknown database error"错误,导致不可访问

    在这里插入图片描述

    命令行安装

    如果你熟悉命令行,可能用 docker cli 更快捷

    # 新建文件夹 ghost 和 子目录
    mkdir -p /volume2/docker/ghost/data
    
    # 进入 ghost 目录
    cd /volume2/docker/ghost
    
    # 运行容器(采用 SQLite)
    docker run -d \
       --restart always \
       --name ghost \
       -p 2368:2368 \
       -v $(pwd)/data:/var/lib/ghost/content \
       -e NODE_ENV=development \
       -e url=http://192.168.0.197:2368 \
       ghost
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

    version: '3.1'
    
    services:
    
      ghost:
        image: ghost
        container_name: gh_ghost
        restart: always
        ports:
          - 2368:2368
        environment:
          #NODE_ENV: development
          NODE_ENV: production
          url: http://192.168.0.197:2368
          database__client: 'mysql'
          database__connection__host: 'db'
          database__connection__user: 'root'
          database__connection__password: '321.qwerty'
          database__connection__database: 'ghost'
    
      db:
        image: mysql:5.7
        container_name: gh_mysql
        volumes:
          - ./mysql:/var/lib/mysql
        restart: always
        environment:
          MYSQL_ROOT_PASSWORD: '321.qwerty'
          MYSQL_DATABASE: 'ghost'
          MYSQL_USER: 'ghost'
          MYSQL_PASSWORD: '123456'
        command: --character-set-server=utf8 --collation-server=utf8_unicode_ci
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    然后执行下面的命令

    # 新建文件夹 ghost 和 子目录
    mkdir -p /volume2/docker/ghost/{data,mysql}
    
    # 进入 ghost 目录
    cd /volume2/docker/ghost
    
    # 将 docker-compose.yml 放入当前目录
    
    # 一键启动
    docker-compose up -d
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    运行

    在浏览器中输入 http://群晖IP:2368,就能看到首界面了

    上面是老版本的,下面是现在新版本的,相比之下,现在的版本界面似乎更简洁

    在这里插入图片描述

    创建用户

    在浏览器中输入 http://群晖IP:2368/ghost

    在这里插入图片描述

    首先要创建账号

    进入主界面

    在这里插入图片描述

    发布帖子

    接下来你可以发第一个帖子

    发布完成后回到首页的效果

    在这里插入图片描述

    后台管理

    在浏览器中输入 http://群晖IP:2368/ghost,如果之前登陆过,会看到整个后台管理的 Dashboard 界面

    在这里插入图片描述

    可以做管理帖子、管理人员、装修站点等操作。

    参考文档

    TryGhost/Ghost: 👻 The #1 headless Node.js CMS for professional publishing
    地址:https://github.com/TryGhost/Ghost

    Ghost: Turn your audience into a business
    地址:https://ghost.org/

    Ghost Docs
    地址:https://ghost.org/docs/install/docker/

  • 相关阅读:
    Linux-杂七杂八
    es6 Set和Map方法
    ant target的depends属性
    2022年十月份钓鱼威胁情报
    QT4.8显示目录,和windows浏览一致的方法
    Spring中shutdown hook作用
    3.搭建增长模型-数据洞察
    LabVIEW如何才能得到共享变量的引用
    day41
    【校招VIP】java语言考点之反射
  • 原文地址:https://blog.csdn.net/wbsu2004/article/details/126617131