[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下載本專案
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結尾
再刪除container
與image
後重新執行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的套件