openwrt系統(tǒng)docker安裝Typecho和寶塔
前言
原本我的Typecho是搭建在阿里云服務(wù)器上的,后來想了想,我的typecho大部分時間是作為個人筆記使用的,本地網(wǎng)絡(luò)能夠訪問就夠了,就萌生了本地搭建的想法。
Typecho作為幾大博客平臺之一,雖然使用人數(shù)比較多,但是容器化卻是在今年年初才獲得官方支持。官方?jīng)]出教程,網(wǎng)上已有的教程要么是直接在debian、centos上安裝,要么已經(jīng)過時。
我使用的配置是N4500,固件版本OpenWrt R22.7.7 (2022-07-16) / LuCI Master (git-22.196.12585-0f5cc90)。4G內(nèi)存,128GSSD(docker分配30G)。
安裝之前
docker環(huán)境的配置此處不再贅述,如果拉取鏡像總是報錯,自己配置一下鏡像加速器。本文所有鏡像集成lnmp環(huán)境,無需提前配置,但在安裝前請注意空間內(nèi)存足夠。
docker安裝第三方typecho:80x86/typecho
優(yōu)點:簡單快捷,占用資源少
缺點:版本老舊,我沒找到升級辦法,疑似是魔改版
地址:https://hub.docker.com/r/80x86/typecho
拉取鏡像:80x86/typecho
創(chuàng)建docker容器--命令行(直接復(fù)制于上面地址中的命令):
然后在瀏覽器輸入:本地ip:90????????就能進入typecho的初始化頁面了。
下面顯示的版本是1.20……但是后面括號里面還是19年的版本,由于我常用的主題不支持1.1,所以我還是嘗試給他進行升級。我就當(dāng)他不是1.20版本,winscp連接進行升級。

理論上只需要把左邊的幾個文件覆蓋到右邊就行了,但是他這幾個文件實際上是左邊usr里面的,作者在github上也沒解釋,遂放棄。理論上應(yīng)該是會有升級方法,但是我自己沒有折騰。
docker安裝typecho官方鏡像:joyqi/typecho
優(yōu)點:官方支持,版本較新,占用資源少
缺點:沒找到方法支持MySQL(數(shù)據(jù)庫不好管理)
地址:https://hub.docker.com/r/joyqi/typecho
拉取鏡像:joyqi/typecho:1.2.0-php7.4-apache
如果直接拉取鏡像joyqi/typecho,他會直接拉取nightly也就是latest版本,相當(dāng)于是測試版,可能不穩(wěn)定,而且我不知道為什么一直拉取失敗,所以這里需要直接拉取特定版本的鏡像,具體版本可以自己在tag里面選。由于我使用的主題推薦使用php7.4,因此我以php7.4-apache版本為例進行演示。
創(chuàng)建docker容器--命令行:
然后在瀏覽器輸入:本地ip:90????????就能進入typecho的初始化頁面了。
這里一定要注意,數(shù)據(jù)庫選擇Sqlite。理論上這個鏡像是內(nèi)置MySQL的,但是我折騰了半天也沒成功,一直顯示連接不到數(shù)據(jù)庫,如果有成功的大佬還請賜教
此外,在官方所述的環(huán)境變量里面,有這么一項

還可以直接設(shè)置數(shù)據(jù)庫、用戶名、密碼等,理論上應(yīng)該是可以直接一鍵部署的,但是我也沒成功。
docker安裝寶塔面板,在面板中安裝typecho:pch18/baota
優(yōu)點:便于管理,寶塔面板安裝環(huán)境
缺點:占用資源很多
地址:https://hub.docker.com/r/pch18/baota
拉取鏡像:pch18/baota
作者給的命令行是這個:
但是openwrt占用80端口,這樣寶塔里面的nginx和ftp都會不工作,建立的站點也連接不到。
這里解決方法來源是https://www.bilibili.com/read/cv14147134專欄下熱心網(wǎng)友的評論:

但是這樣只能建立一個端口為80的站點,如此一來,只要預(yù)先把所有想要用到的端口全部映射進去即可:
我這里格外映射了50000~50004端口,如果有需要的朋友可以自己再加。
啟動容器后,就可以在瀏覽器輸入:本地ip:8888? ? ? ? 進入寶塔登錄頁面了
默認賬戶密碼是:username?password
但是輸入進去會密碼錯誤,解決方法是:
ssh連接后,docker exec -it baota bash
輸入bt,修改密碼即可登錄
進入寶塔后的設(shè)置本文不再贅述,網(wǎng)上已經(jīng)有很多教程,唯一需要注意的點是,域名只可以填寫上面綁定過的,以本文的設(shè)置為例,域名只可以填寫如下六個:
在訪問時,除第一個(默認80端口)需要使用映射的8280端口訪問以外,其他的直接輸入瀏覽器即可。對應(yīng)輸入瀏覽器的訪問地址:
總結(jié)
至此,在openwrt上通過docker已經(jīng)成功安裝typecho,我選擇的是寶塔安裝,管理起來方便一些。此外,解決方法還有很多,比如docker一個debian,在debian里面再安裝typecho;或者干脆直接安linux雙系統(tǒng)。但是我的需求已經(jīng)滿足了,我就不再去折騰了。
聲明:
本文部分引用他人成果,已在文章中標(biāo)明,如有侵權(quán),盡快通知我刪除相關(guān)內(nèi)容。