該文章分享超過 1 年,隨時都會消失或變叉燒包,請聯繫管理員處理。
1. 安裝 memos
iStoreOS 已預先安裝 docker,並且將 memos 的 docker 模組化,直接在他們的商店點選安裝,然後在服務→memos→啟動即可。
2. 安裝 Docker-Compose
- 在首頁點選進入終端,輸入帳號密碼,接著輸入下方指令
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
docker compose version
最後出現 Docker-Compose 的版本即安裝成功
3. 修改 http 及 https 的監聽埠口
接著修改埠口,因 iStoreOS 預設由 uhttpd 監聽 80 跟 443 作為進入控制台的埠口,因控制台我不打算打開遠端操作,且 SSL 的證書通常默認埠口 80 跟 443 才能正常取得,所以就乾脆直接將控制台的埠口更改,一勞永逸。方法如下:
- 從首頁終端輸入帳號密碼進入
- iStoreOS 中默認使用的 web 服務器是 uhttpd,進入配置文件路徑:
cd etc/config/ -
使用 vim 編輯器修改 uhttpd 文件
vi uhttpd# HTTP listen addresses, multiple allowed #list listen_http 0.0.0.0:80 #list listen_http [::]:80 #修改為 80 及 443 以外的任意埠口,我是設定 480 list listen_http 0.0.0.0:480 list listen_http [::]:480 # HTTPS listen addresses, multiple allowed #list listen_https 0.0.0.0:443 #list listen_https [::]:443 #修改為 80 及 443 以外的任意埠口,我是設定 4443 list listen_https 0.0.0.0:4443 list listen_https [::]:4443
改完之後記得將軟路由重新開機,確保成功
4. 透過 docker-compse 安裝 Nginx Proxy Manager
建立資料夾
mkdir compose-nginx
cd compose-nginx
建立資料夾可以在任何地方,完全不受限制,只是建立之後會將所需的資料夾全部放在裡面就是,也方便管理,我是放在系統以外的磁區,免得重灌之後不見。
記錄時間:2023 年 06 月 13 日
建立docker-compose.yml
nano docker-compose.yml
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
Ctrl+O存檔之後,輸入指令啟動
docker compose up -d
即可安裝成功
4.1. 軟路由設定埠口轉發
因為安裝後 docker 的模式是採用橋接模式 (bridge),所以需要在防火牆→端口轉發,將 80 及 443 的埠口轉發到 docker→Nginx Proxy Manager 使用的網址上
我安裝的時候虛擬網址為 172.18.0.2,所以就指定過去即可,然後就能在 192.168.100.1(軟路由的設定網址,需要配合修改) 進入恭喜畫面

4.2. 設定 Nginx Proxy Manager
先進入設定畫面,輸入預設的帳號密碼
Email: admin@example.com
Password: changeme
點選 Hosts→Proxy Hosts→add Proxy Host

接著到 SSL 頁籤

首頁顯示 SSL 成功之後

再到 SSL 頁籤將 force SSL 打開即可
必要時可以自訂表頭,其自訂格式如下畫面所示

5. 更新
要將 memos 升級到最新版本,您需要先停止並刪除舊容器:
docker stop memos && docker rm memos
建議備份數據庫
#數據庫的路徑需要配合修正
`cp -r ~/.memos/memos_prod.db ~/.memos/memos_prod.db.bak`
然後拉取最新的鏡像:
docker pull ghcr.io/usememos/memos:latest
如果是透過商店安裝的話,應該是把容器直接停止刪除並把鏡像移除,再次透過商店自動安裝即可
6. 樣式變更
#新增樣式淡化
.text-white {
--tw-text-opacity: 1;
color: rgb(1 1 1 / var(--tw-text-opacity));
}
#新增樣式淡化
.bg-green-600 {
--tw-bg-opacity: 1;
background-color: rgb(250 250 250 / var(--tw-bg-opacity));
background-image: url();
}
#Tag樣式
.memo-content-wrapper>.memo-content-text .tag-span {
color: #5783f7;
cursor: pointer;
background-color: #eef3fe;
padding: 4px;
font-size: 1.1rem;
border-radius: 3px;
}
2 thoughts on “在 iStoreOS 上安裝 memos 並利用 Nginx Proxy Manager 反向代理及簽證”