[Hexo] 使用Docker Compose快速架設Hexo環境

本文最後更新於:2024年5月2日 晚上

前言

因為我希望可以在我平常會使用的不同設備中,輕鬆的使用Hexo撰寫部落格,而不用擔心環境設定的問題。

自然而然的我就想要利用Docker來免去環境建置的煩惱,而且只要在我需要的設備上下載這個Docker Compose並執行,就可以簡單地開始撰寫Hexo Blog,這樣剛好出現的靈感就可以馬上記錄下來,相當方便。

使用了一段時間之後,感覺這個Docker Compose使用上也逐漸穩定,剛好朋友也想要玩玩看Hexo,於是我就將這個寫好的Docker Compose給分享出來。

如果有需要的人盡量拿去使用,當然如果有發現問題,或是有甚麼希望我改善的地方,也歡迎透過我的GitHub中的Issues功能提出。

該專案的靈感來自 spurin/docker-hexo,並對其功能進行了調整。

一、安裝

只要電腦有安裝Docker Compose的環境下載就可以直接使用,

GitHub下載

您可以直接透過GitHub下載本專案
image

git clone取得

也可以透過git clone取得

git clone https://github.com/hankz1108/hexo-docker-compose.git my-hexo
cd my-hexo

二、配置

複製根目錄中的.env.example並重新命名為.env,並填寫其中的選項

#=========== 必須的設定 ==========#
# hexo要對到本地主機的port
SITE_PORT=
# 時區(ex:Asia/Taipei)
TIME_ZONE=

#========= 發布需要的設定 =========#
# git使用者名稱
GIT_USER=
# git使用者email
GIT_EMAIL=
# github token(發佈到github pages需要)
GITHUB_TOKEN=

三、啟動

需要在根目錄建立一個空的app資料夾,或是將現有的hexo目錄放進來,結構應該是這樣的

app
├── _config.yml
├── package.json
├── scaffolds
├── source
|   ├── _drafts
|   └── _posts
└── themes

接下來打開終端機,執行docker compose建立&啟動容器

docker compose up -d

啟動成功後就可以在http://localhost:<your_prot>看到你的hexo了

如果docker啟動失敗,且出現以下錯誤訊息:

/init/init.sh: 9: Syntax error: "fi" unexpected (expecting "then")

有可能是windows系統與Linux換行符號不同導致的
嘗試將hexo\init\init.sh與其他需要在container執行的文字檔全部改為LF結尾
再刪除containerimage後重新執行docker compose up -d

四、發布設定

如果你要使用hexo-deployer-git進行網站發布,以下是github pages設定範例。

deploy:
  type: git
  repo:
    github:
    url: https://github.com/username/github_page.github.io.git
    branch: master
    token: $GITHUB_TOKEN
  name: $GIT_USER
  email: $GIT_EMAIL

五、自訂啟動腳本

您可以在hexo\init\scripts底下建立任意名稱的*.sh檔案
腳本會自動執行該資料夾底下以.sh結尾的檔案
讓您可以在hexo伺服器執行前先執行您想要的腳本

延伸閱讀

建置完畢後,也可以來看看我推薦的外掛(plugin)
裡面包含方便部屬與各種強化SEO的套件


[Hexo] 使用Docker Compose快速架設Hexo環境
https://hankz1108.github.io/posts/20240116-hexo-docker-compose/
作者
Hankz
發布於
2024年1月16日
更新於
2024年5月2日
許可協議