老婆是印象筆記的資深用戶,早在2016年就買了十年會員,當(dāng)時價格還比較優(yōu)惠,十年的會員費用也就幾百塊。會員現(xiàn)在還有兩年到期,對應(yīng)的高級賬戶現(xiàn)在的價格已經(jīng)到了14元/月,于是我開始尋找替代品。經(jīng)過一番搜索,鎖定了Joplin。

Joplin是一款開源的筆記應(yīng)用,支持同一賬戶多平臺的同步,包括Windows、macOS、Linux、Android和iOS,滿足了不同用戶的需求。他還支持Markdown格式,使得筆記排版更加靈活,同時支持插入圖片、附件等多種媒體類型,不斷更新的各種插件也能滿足各種個性化的需求。

在參考了什么值得買上的兩位大神的文章之后(文章1 文章2),我信心滿滿的準(zhǔn)備照貓畫虎,沒成想原本以為挺簡單的搭建過程折騰了好幾天(我太菜了),每一步都精準(zhǔn)的踩到坑里。所以這篇文章的步驟會寫得很詳細(xì),避免值友們繞路。

我的nas是威聯(lián)通的453Bmini,固件版本是5.1.7.2770,不同的設(shè)備和固件版本在設(shè)置上可能會有所區(qū)別。以我淺顯的理解,Joplin服務(wù)器的數(shù)據(jù)是存在另外一個數(shù)據(jù)庫里的,所以在nas上需要做的大概有3件事情:1. 安裝開源數(shù)據(jù)庫應(yīng)用程序PostgreSQL、2. 安裝Joplin Server、3. 設(shè)置反向代理。前兩個需要在docker中拉取應(yīng)用,后一個在nas控制臺設(shè)置。


拉取docker應(yīng)用

上一次在容器里安裝應(yīng)用大概是半年前,但這次按照之前的操作總是提示失敗。在網(wǎng)上搜索才知道6月初國內(nèi)就無法訪問dockerhub和所有的國內(nèi)鏡像站了。在網(wǎng)上了解到拉取docker應(yīng)用的兩種方法:一個是添加新的鏡像站,具體說明見這里;一個是在提取鏡像的時候在docker名稱欄開頭寫入dockerpull.com/,例如,要下載postgres和joplin兩個docker,可按照如下方法來提取鏡像:

在Container Station界面的右上角找到“瀏覽”按鈕,點擊這個按鈕右側(cè)的箭頭展開菜單,選擇“提取映像”

在NAS上搭建免費開源的個人云筆記Joplin服務(wù)器提取映像

在彈出的對話框中的“映像”一欄填入“dockerpull.com/joplin/server:latest”或“dockerpull.com/postgres:latest”來分別提取postgres和joplin server的映像,輸入后點擊“提取”按鈕等待下載完成。

在NAS上搭建免費開源的個人云筆記Joplin服務(wù)器提取joplin server映像
在NAS上搭建免費開源的個人云筆記Joplin服務(wù)器提取postgres映像


部署postgres數(shù)據(jù)庫容器

下載完畢后,在左側(cè)點擊“映像”,先來部署postgres數(shù)據(jù)庫,點擊postgres對應(yīng)的docker右側(cè)的三角箭頭按鈕:

在NAS上搭建免費開源的個人云筆記Joplin服務(wù)器部署postgres數(shù)據(jù)庫

在彈出的對話框中選擇“下一步”

在NAS上搭建免費開源的個人云筆記Joplin服務(wù)器創(chuàng)建容器

在“名稱”欄給這個docker起個名字,這里填入“postgres_joplin”,然后點擊“高級設(shè)置”

在NAS上搭建免費開源的個人云筆記Joplin服務(wù)器設(shè)置容器名稱

彈出高級設(shè)置對話框后,點擊左側(cè)“網(wǎng)絡(luò)”,在“主機(jī)”欄填入與容器端口相同的5432

在NAS上搭建免費開源的個人云筆記Joplin服務(wù)器網(wǎng)絡(luò)設(shè)置

點擊左側(cè)“環(huán)境”,點擊右上角“添加新變量”,這里需要添加4個環(huán)境變量:

變量:POSTGRES_DATABASE

值:joplin

變量:POSTGRES_USER

值:joplin

變量:POSTGRES_PASSWORD

值:joplin

變量:TZ

值:Asia/Shanghai

在NAS上搭建免費開源的個人云筆記Joplin服務(wù)器添加環(huán)境變量

點擊左側(cè)“存儲”,在這里設(shè)置數(shù)據(jù)庫存儲的位置,點擊右上角“添加卷”右側(cè)的箭頭,在展開的菜單中選擇“綁定裝在主機(jī)路徑”

在NAS上搭建免費開源的個人云筆記Joplin服務(wù)器設(shè)置存儲路徑1

點擊右側(cè)的文件夾圖標(biāo),選擇需要保存的路徑位置,然后把默認(rèn)值的容器路徑復(fù)制到新建的路徑中,最后刪除默認(rèn)的存儲映射

在NAS上搭建免費開源的個人云筆記Joplin服務(wù)器設(shè)置存儲路徑2

最后點擊“應(yīng)用”、下一步“”、“完成”,即完成了postgres容器的創(chuàng)建。


部署Joplin Server容器

與postgres相同,在Container Station中的左側(cè)點擊“映像”,找到之前下載的joplin server,點擊對應(yīng)右側(cè)的三角按鈕

在NAS上搭建免費開源的個人云筆記Joplin服務(wù)器部署joplin server

點擊“下一步”

在NAS上搭建免費開源的個人云筆記Joplin服務(wù)器創(chuàng)建joplin容器

輸入一個名稱,這里輸入“joplin”,然后點擊“高級設(shè)置”

在NAS上搭建免費開源的個人云筆記Joplin服務(wù)器設(shè)置容器名稱

點擊左側(cè)“網(wǎng)絡(luò)”,點擊“新發(fā)布端口”,“主機(jī)”和“容器”欄都填入22300

在NAS上搭建免費開源的個人云筆記Joplin服務(wù)器設(shè)置網(wǎng)絡(luò)

點擊左側(cè)“環(huán)境”,點擊右上角“添加新變量”,這里需要添加9個環(huán)境變量:

變量:APP_BASE_URL

值:https://你的域名:訪問端口

變量:APP_PORT

值:22300

變量:DB_CLIENT

值:pg

變量:POSTGRES_DATABASE

值:joplin

變量:POSTGRES_USER

值:joplin

變量:POSTGRES_PASSWORD

值:joplin

變量:POSTGRES_PORT

值:5432

變量:POSTGRES_HOST

值:nas的ip地址

變量:TZ

值:Asia/Shanghai

在NAS上搭建免費開源的個人云筆記Joplin服務(wù)器添加環(huán)境變量

最后點擊“應(yīng)用”、下一步“”、“完成”,即完成了joplin server容器的創(chuàng)建。


設(shè)置反向代理

前面設(shè)置的端口都是指容器端口,設(shè)置反向代理的作用是:當(dāng)從指定域名訪問nas的指定端口時,轉(zhuǎn)發(fā)到對應(yīng)的容器端口上,具體操作如下:

在“控制臺”——“網(wǎng)絡(luò)和文件服務(wù)”——“網(wǎng)絡(luò)訪問”中,找到“反向代理”標(biāo)簽,點擊“添加”

在NAS上搭建免費開源的個人云筆記Joplin服務(wù)器設(shè)置反向代理

隨便取一個規(guī)則名稱,自己能分辨就好,這里填入“joplinserver”,來源部分的協(xié)議選擇https,域名寫自己的域名,注意不要“https://”部分,只寫www.xxx.com即可,端口號寫你從外網(wǎng)連接joplin server時的端口號

在NAS上搭建免費開源的個人云筆記Joplin服務(wù)器反向代理規(guī)則1

目標(biāo)協(xié)議默認(rèn)http,主機(jī)名寫“l(fā)ocalhost”,端口號填之前設(shè)置的joplin server端口號:22300

在NAS上搭建免費開源的個人云筆記Joplin服務(wù)器反向代理規(guī)則2

最后點擊“應(yīng)用”完成反向代理規(guī)則的添加。

在路由器或者光貓上設(shè)置好端口轉(zhuǎn)發(fā),就可以通過外網(wǎng)連接joplin服務(wù)器了。首次登陸默認(rèn)賬號密碼分別為:admin@localhostadmin,登錄后按照提示修改密碼。


  • 如果joplin server的日志提示無法連接到database,先停止joplin server和postgres,然后先啟動postgres,等數(shù)據(jù)庫啟動完畢后再啟動joplin server。
  • 如果joplin server提示time drift too large,可在“控制臺”——“常規(guī)設(shè)置”——“時間”中將默認(rèn)的服務(wù)器改為國內(nèi)的時間服務(wù)器,然后點擊“更新”、“應(yīng)用”即可,例如:ntp.aliyun.com(阿里云時間服務(wù)器)、ntp.tencent.com(騰訊云時間服務(wù)器)等。

通過客戶端連接Joplin

PC、Mac和安卓手機(jī)端的應(yīng)用可以在這里下載,iOS端在AppStore中搜索下載。這里以PC端為例,其他類型的客戶端設(shè)置相同。

首次運行PC端時會彈出同步向?qū)?,這里選擇底部的自托管選項。如果不小心關(guān)閉了這個窗口也不用擔(dān)心,在軟件頂部的“工具”——“選項”——“同步”中也可以進(jìn)入同步設(shè)置頁面。

在NAS上搭建免費開源的個人云筆記Joplin服務(wù)器點擊這里選擇自托管

在彈出的同步設(shè)置中,同步目標(biāo)選擇“Joplin服務(wù)器”,依次填入服務(wù)器地址(含端口)、登錄賬戶的郵箱、密碼,點擊“應(yīng)用”即可完成同步設(shè)置。

在NAS上搭建免費開源的個人云筆記Joplin服務(wù)器PC端同步設(shè)置

以上就是使用postgres作為數(shù)據(jù)庫的自托管joplin服務(wù)器設(shè)置的全部過程,希望能對計劃搭建個人云筆記的值友們有所幫助。


存在的問題

  • 在PC、安卓、iOS端同步時,如果在PC端建立了一個筆記,安卓和iOS端可以同步看到該筆記,但如果安卓端刪除該筆記到回收站,則PC和iOS端不會出現(xiàn)刪除動作,而在清空回收站后才會同步刪除,反之亦然。
  • 在iOS端刪除空筆記本時(即筆記本中沒有筆記),會直接徹底刪除而不會出現(xiàn)在回收站中。安卓和PC端會先到回收站,清空回收站時才徹底刪除。

    .

    .

  • 希望有大神可以幫忙解決上面的問題在NAS上搭建免費開源的個人云筆記Joplin服務(wù)器

作者聲明本文無利益相關(guān),歡迎值友理性交流,和諧討論~

,

聲明:本站所有文章,如無特殊說明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時,禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。