Sign inSign up

slyak/hexo

By slyak

Updated over 5 years ago

hexo integrated with github

Image
0

245

slyak/hexo repository overview

Github English Document

架构

  1. 通过clone你的github站点进行初始化.
  2. 如果clone结果为空 , 我们会使用hexo init来进行默认的初始化.
  3. 推送初始化结果到你到github仓库.
  4. 使用hexo generate生成静态文件.
  5. 我们提交一些修改(比如换皮肤、写博客)到github.
  6. Github利用webhook进行通知.
  7. Webhook服务器接收到事件,从服务器拉取最新的修改.
  8. 使用hexo generate生成静态文件.
  9. 通过浏览器我们可以立刻看到修改结果.

综上,所有事情都会通过这个神奇的docker镜像,自动化完成。

逻辑架构

安装和运行步骤

准备工作
  1. 如果你已经有基于hexo的博客,直接用它的博客地址就OK了,否则需要创建一个空的博客(记住,什么都不要有,包括README).
  2. 添加webhook,包括payload url(服务器ip和端口号4001)和secret, 选择content type "application/json"

使用nginx作为你的web服务器

nginx的配置文件,请将命令行中的“your_domain_or_ip”,替换成你的域名或ip

curl -Ls https://raw.githubusercontent.com/stormning/env-tool-suite/master/software/hexo/hexo.conf \
    | sed "s|slyak.com|your_domain_or_ip|g" > /etc/nginx/conf.d/hexo.conf
service nginx restart

运行容器

docker run -idt -p 4001:4001 --name hexo \
    -e GIT_URL=your_blog_ssh_url \
    -e GIT_ACCOUNT=your_github_account \
    -e WEB_HOOK_SECRET=your_web_hook \
    -v /var/hexo:/var/hexo \
    slyak/hexo
或者用hexo自带的web服务器

运行容器

docker run -idt -p 4000:4000 -p 4001:4001 --name hexo \
    -e GIT_URL=your_blog_ssh_url \
    -e GIT_ACCOUNT=your_github_account \
    -e WEB_HOOK_SECRET=your_web_hook \
    -v /var/hexo:/var/hexo \
    slyak/hexo hexo server
设置SSH key
docker logs -f hexo

你将看到如下:

把key拷贝到github到设置里,不要忘了勾选"Allow write access", 这个配置完后, hexo会继续下一步的初始化工作.

环境变量和端口描述

Docker run 环境变量:

环境变量描述是否必须
GIT_URLgithub仓库的SSH地址,注意不是httpsY
GIT_ACCOUNT你的github账号(email)Y
WEB_HOOK_SECRETGithub webook 密码Y
HEXO_HOMEHexo 安装路径, 默认 /var/hexoN

端口:

端口号描述
4000Hexo web服务器的端口 (如果你使用hexo的服务器作为web服务器的话)
4001Webhook服务器的端口
有用的链接
  1. Hexo皮肤
Demo site

http://slyak.com

Tag summary

Content type

Image

Digest

Size

336.3 MB

Last updated

over 5 years ago

docker pull slyak/hexo