Docker-Image für Hexo-Blog-Umgebungen — Keine Installation von Node.js / npm / Hexo erforderlich, sofort einsatzbereit.
Veröffentlicht auf Docker Hub:bloodstar/hexo
🇬🇧 English · 🇨🇳 简体中文 · 🇭🇰 繁體中文 · 🇯🇵 日本語 · 🇰🇷 한국어 🇪🇸 Español · 🇫🇷 Français · 🇩🇪 Deutsch · 🇵🇹 Português · 🇷🇺 Русский · 🇸🇦 العربية
Warum ein eigenes unabhängiges Blog erstellen?
- Eine persönliche Visitenkarte!
- Volle Meinungsfreiheit, ohne Zensur durch Außenstehende oder Unternehmen.
docker create --name=hexo \
-e HEXO_SERVER_PORT=4000 \
-e GIT_USER="yourname" \
-e GIT_EMAIL="you@example.com" \
-v /path/to/blog:/app \
-p 4000:4000 \
bloodstar/hexo
docker start hexoBeim ersten Start, wenn /app leer ist, führt der Container automatisch hexo init aus und installiert die gängigsten Plugins.
services:
hexo:
container_name: hexo
image: bloodstar/hexo:latest
hostname: hexo
ports:
- "7800:4000"
volumes:
- /path/to/blog:/app
environment:
- HEXO_SERVER_PORT=4000
- GIT_USER=yourname
- GIT_EMAIL=you@example.com
- TZ=Asia/Shanghai
restart: always| Variable | Standard | Beschreibung |
|---|---|---|
HEXO_SERVER_PORT |
4000 |
Hexo-Server-Port |
GIT_USER |
— | Git-Benutzername (global) |
GIT_EMAIL |
— | Git-E-Mail (global) |
Docker generiert automatisch SSH-Schlüssel in /app/.ssh. Fügen Sie den öffentlichen Schlüssel zu GitHub oder anderen Plattformen für die Bereitstellung hinzu.
# Öffentlichen Schlüssel anzeigen
docker exec hexo cat /app/.ssh/id_rsa.pubdocker exec -it hexo bashBetreten Sie den Container, um alle hexo-Befehle auszuführen.
Jeder hat einen anderen Geschmack. Hier sind einige empfohlene Themes:
Nach dem Herunterladen eines Themes konfigurieren Sie es gemäß den Anweisungen und führen Sie hexo g aus. Besuchen Sie http://[docker IP]:4000, um Ihre Seite zu sehen.
cd /app
git clone https://github.com/benutzer/hexo-theme-xxx.git themes/xxxBearbeiten Sie /app/_config.yml, setzen Sie theme: xxx, dann führen Sie hexo g zum Neugenerieren aus.
Fügen Sie Auto-Konfigurations- und Auto-Plugin-Installationsbefehle hinzu, die beim Docker-Start ausgeführt werden.
Bearbeiten Sie /app/userRun.sh:
#!/bin/bash
echo "add User CMD here!"
echo "=====User CMD Start!====="
# Schnelles GitHub-Login-Alias
alias github='eval "$(/usr/bin/ssh-agent -s)";/usr/bin/ssh-add ~/.ssh/id_rsa'
# Internen pm2-Server neustarten
alias repm2='pm2 restart /hexo_run.js'
#### Debian China-Mirror (auskommentieren, wenn Netzwerk schnell ist)
sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
#### npm-Konfiguration
npm config ls -l
mkdir -p /app/.cache/npm
npm config set cache "/app/.cache/npm"
npm config set registry https://registry.npmjs.org/
#### History-Persistenz
rm -rfv ~/.bash_history
ln -s /app/.bash_history ~/.bash_history
#### ssh-Konfiguration
chmod 600 /app/.ssh/id_rsa
chmod 644 /app/.ssh/id_rsa.pub
chmod 700 /app/.ssh
rm -rfv ~/.ssh
ln -s /app/.ssh ~/.ssh
#### npm-Plugin-Installation
npm install --save \
hexo-admin \
hexo-include-markdown \
hexo-douban-card-new \
hexo-github-card \
hexo-bilibili-card-new \
hexo-feed
echo "=====User CMD end!====="Bei langsamer Netzwerkverbindung konfigurieren Sie einen Proxy vor Netzwerkanfragen:
export http_proxy=http://192.168.0.100:1089;export https_proxy=http://192.168.0.100:1089
# Verwendung des Docker-Hostnamens für Proxy (empfohlen)
export http_proxy=http://xray:1089;export https_proxy=http://xray:1089Fügen Sie eine requirements.txt-Datei zu Ihrem Blog-Volume hinzu (ein npm-Paket pro Zeile). Die Pakete werden beim Start automatisch installiert:
hexo-generator-json-content
hexo-generator-feed| Aktion | Befehl |
|---|---|
| In Container einsteigen | docker exec -it hexo bash |
| Logs anzeigen | docker logs --follow hexo |
| pm2 neustarten | docker exec hexo pm2 restart /hexo_run.js |
| Container neustarten | docker restart hexo |
| Statische Dateien generieren | docker exec hexo hexo g |
| Remote bereitstellen | docker exec hexo hexo d |
| Neuen Beitrag erstellen | docker exec hexo hexo new post "Beitragstitel" |
| Neue Seite erstellen | docker exec hexo hexo new page "music" |
| Cache leeren | docker exec hexo hexo clean |
Fügen Sie diese Aliase zu Ihrer ~/.bashrc oder ~/.zshrc hinzu, um hexo-Befehle ohne docker exec auszuführen:
# hexo-Container-Verknüpfungen
alias hexo='docker exec -it hexo hexo'
alias hexo-shell='docker exec -it hexo bash'
alias hexo-logs='docker logs --follow hexo'
alias hexo-restart='docker exec hexo pm2 restart /hexo_run.js'
alias hexo-reboot='docker restart hexo'
# hexo new post "Mein Titel"
# hexo g
# hexo d
# hexo cleanFühren Sie source ~/.bashrc aus, um sie zu aktivieren, dann direkt verwenden:
hexo new post "Mein neuer Beitrag"
hexo g
hexo d
hexo-shellHexo unterstützt automatisches Neuladen bei Dateiänderungen. Nach Bearbeitung eines Beitrags oder Themes einfach den Browser aktualisieren.
Wenn Änderungen nicht wirken, ist der Node-Cache möglicherweise veraltet. Starten Sie den Webdienst neu:
# pm2 neustarten
pm2 restart /hexo_run.js
# Docker hexo neustarten
docker restart hexo- Hexo Docker環境與Hexo基礎配置篇
- hexo博客自定義修改篇
- hexo博客網絡優化篇
- hexo博客增強部署篇
- hexo博客個性定製篇
- hexo博客常見問題篇
- Hexo Markdown以及各種插件功能測試
- hexo博客博文撰寫篇之完美筆記大攻略終極完全版
- 在 Hexo 博客中插入 ECharts 動態圖表
- 使用nodeppt給hexo博客嵌入PPT演示
- Vercel部署高級用法教程
- Hexo-Dokumentation
- Hexo-API
- Hexo-Plugins
| Dokument | Beschreibung |
|---|---|
| AGENTS.md | KI-Konventionen, Befehle, Engineering-Standards |
| docs/ARCHITECTURE.md | Architektur, Komponenten, Datenfluss |
| docs/REQUIREMENTS.md | Funktionale und nicht-funktionale Anforderungen |
| docs/TESTING.md | Teststrategie, Docker-Build-Verifikation |
| docs/CHANGELOG.md | Versionsverlauf |
- Hexo-Dokumentation
- Docker Hub — bloodstar/hexo
- Upstream-Projekt:spurin/docker-hexo