西西有點東西

我只是想找個地方記錄

在 iStoreOS 上安裝 memos 並利用 Nginx Proxy Manager 反向代理及簽證

該文章分享超過 1 年,隨時都會消失或變叉燒包,請聯繫管理員處理。

1. 安裝 memos

iStoreOS 已預先安裝 docker,並且將 memos 的 docker 模組化,直接在他們的商店點選安裝,然後在服務→memos→啟動即可。

2. 安裝 Docker-Compose

  1. 在首頁點選進入終端,輸入帳號密碼,接著輸入下方指令
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 才能正常取得,所以就乾脆直接將控制台的埠口更改,一勞永逸。方法如下:

  1. 從首頁終端輸入帳號密碼進入
  2. iStoreOS 中默認使用的 web 服務器是 uhttpd,進入配置文件路徑:cd etc/config/
  3. 使用 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 使用的網址上

埠口轉發.jpg

我安裝的時候虛擬網址為 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

Details

接著到 SSL 頁籤

設定 SSL

首頁顯示 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 反向代理及簽證

歡迎留言分享指教