Leanote中文名字螞蟻筆記是一個(gè)將博客與筆記合為一體的云筆記客戶端,它完美支持ios、安卓、windows、mac和Linux系統(tǒng),可以同時(shí)滿足不同用戶的需求,支持寫(xiě)作和在線預(yù)覽功能,超級(jí)實(shí)用。
螞蟻筆記云協(xié)作功能
實(shí)時(shí)同步
你和好友共同編輯一個(gè)文檔, 你的任何修改都會(huì)實(shí)時(shí)在好友那顯示. 并且, 你們還可以聊天討論.
空間
你可以免費(fèi)擁有無(wú)限個(gè)空間, 也可以創(chuàng)建私有空間, 并可以將空間和文檔分享給你的好友.
文檔樹(shù)
在這里, 文檔不是單一的存在, 一個(gè)空間的所有文檔組成了一顆樹(shù), 這讓知識(shí)更易管理.
組織(企業(yè))賬戶
你可以創(chuàng)建多個(gè)組織賬戶, 在這個(gè)賬戶下可以管理團(tuán)隊(duì), 擁有豐富的權(quán)限管理.
螞蟻筆記快速部署指南
第一步、新建一個(gè)文件夾,在里面新建三個(gè)文件,分別是:
復(fù)制粘貼這里的內(nèi)容保存為 app.conf 文件。
復(fù)制粘貼這里的內(nèi)容保存為 docker-compose.yml 文件。
復(fù)制粘貼這里的內(nèi)容保存為 initdb.sh 文件。
第二步、初始化數(shù)據(jù)庫(kù),一條命令:
# docker network create leanote docker-compose run --rm initdb
第三步、啟動(dòng),一條命令:
docker-compose up -d leanote mongo
部署完成,F(xiàn)在你可以使用這個(gè)私人的云筆記工具,既能當(dāng)筆記工具又能當(dāng)博客用,還有全平臺(tái)客戶端同步。
所以全文總結(jié)起來(lái)就兩句話?!
下面是一邊寫(xiě)一邊記錄的內(nèi)容,不看也罷。
今天打開(kāi)螞蟻筆記發(fā)現(xiàn)螞蟻筆記也開(kāi)始收費(fèi)了(這年頭筆記工具都不好活。,嗯,不過(guò)螞蟻筆記是開(kāi)源的,我們可以自己部署到自己的服務(wù)器。
這一次邊操作邊寫(xiě)吧,廢話較多,快速部署的方法在最上面,就兩條命令。
一、整理信息
0. 官方文檔
在 Docker Hub 上看到官方的鏡像已經(jīng)不再維護(hù),所以從官方文檔入手,看看怎么安裝吧。
1. 下載螞蟻筆記二進(jìn)制版
wget https://jaist.dl.sourceforge.net/project/leanote-bin/2.3/leanote-linux-amd64-v2.3.bin.tar.gz
2. 安裝 mongodb
我們有現(xiàn)成的官方鏡像。
3. 導(dǎo)入初始數(shù)據(jù)
因?yàn)榍懊媸褂昧?Docker 鏡像,這里數(shù)據(jù)庫(kù)地址是 mongo,數(shù)據(jù)庫(kù)名稱為 leanote。
mongorestore -h mongo -d leanote --dir /leanote/mongodb_backup/leanote_install_data/
4. 配置螞蟻筆記
螞蟻筆記的配置存儲(chǔ)在文件 conf/app.conf 中。
修改app.secret一項(xiàng), 在若干個(gè)隨機(jī)位置處,將字符修改成一個(gè)其他的值, 否則會(huì)有安全隱患!
這里我們可以在 Dockerfile 中定義一個(gè)變量。
ENV APP_SECRET=V85ZzBeTnzpsHyjQX4zuKbQ8qqtJu9y2aDM55VWxAH1Q0p19poekx3xkcDVvrD0y
然后在 RUN 指令中添加 sed 命令修改。
sed -i '/app.secret/s/V85ZzBeTnzpsHyjQX4zukbQ8qqtju9y2aDM55VWxAH9Qop19poekx3xkcDVvrD0y/$APP_SECRET/g'
當(dāng)然使用 volume 直接掛載配置文件也許更好。
5. 運(yùn)行螞蟻筆記
運(yùn)行之前確保 mongodb 已在運(yùn)行。
/leanote/bin/run.sh
以上就是全部了。出現(xiàn)下面這行表示運(yùn)行成功。
Listening on :9000...
OK,官方文檔看完之后就這些信息,整合一下。
二、初步的 Dockerfile
根據(jù)上面的信息,我們可以初步寫(xiě)一份 Dockerfile 了。
Dockerfile
這里構(gòu)建運(yùn)行會(huì)遇到一個(gè)問(wèn)題,數(shù)據(jù)庫(kù)沒(méi)初始化。
MongoDB 運(yùn)行很簡(jiǎn)單。
docker run --name mongo -v /my/own/datadir:/data/db -d mongo
但是初始化就有點(diǎn)麻煩了,因?yàn)槌跏蓟瘮?shù)據(jù)庫(kù)文件在另一個(gè)容器里面。因此修改上面的 Dockerfile 中的 CMD,把 run.sh 放到數(shù)據(jù)庫(kù)初始化之后執(zhí)行。
也就是先寫(xiě)個(gè)腳本把數(shù)據(jù)庫(kù)初始化的工作干了。
initdb.sh
#! /bin/sh mongorestore -h mongo -d leanote --dir /leanote/mongodb_backup/leanote_install_data/
啊,等會(huì),好像不行,算了,先從安裝包里面摳出來(lái)用,看看后面我有沒(méi)辦法自動(dòng)化實(shí)現(xiàn)。
繼續(xù),現(xiàn)在有了初始化文件夾,所以直接靠 MongoDB 的鏡像就可以初始化了,到時(shí)候?qū)懭?docker-compose.yml 就可以自動(dòng)初始化了。
三、數(shù)據(jù)卷
現(xiàn)在的話基本運(yùn)行沒(méi)問(wèn)題了,但是數(shù)據(jù)持久化就麻煩了,容器一刪數(shù)據(jù)全沒(méi)那就沒(méi)意思了。
先來(lái)看看螞蟻筆記的目錄結(jié)構(gòu):
app bin conf messages mongodb_backup public
除了 conf/app.conf 這個(gè)文件比較容易看出來(lái)是需要掛載之外,其他的還真沒(méi)看出來(lái)啊。
不過(guò)因?yàn)槲覀兇蛩惆褦?shù)據(jù)庫(kù)初始化交給數(shù)據(jù)庫(kù)鏡像干,所以這里我們可以刪掉這個(gè) mongodb_backup 文件夾,減少體積。
在 public 文件夾中我們看到一些 README 文件,原來(lái)用戶資源統(tǒng)一在 public/upload 這個(gè)目錄,所以這里也是一個(gè)數(shù)據(jù)卷。
應(yīng)用鏡像一共兩個(gè)數(shù)據(jù)卷,分別是配置文件和 upload 目錄。
數(shù)據(jù)庫(kù)鏡像一共一個(gè)數(shù)據(jù)卷,用來(lái)備份。
四、Compose 文件
上面都沒(méi)有問(wèn)題了,那么接下來(lái)是 docker-compose.yml 文件的編寫(xiě)。
為了初始化數(shù)據(jù)庫(kù),我們需要單獨(dú)建立一個(gè)“一次性”的容器服務(wù)來(lái)初始化數(shù)據(jù)庫(kù),這樣可以避免干擾主數(shù)據(jù)庫(kù)的運(yùn)行。
docker-compose.yml
initdb.sh
好了,好像搞定了,接下來(lái)補(bǔ)充剛才的 Dockerfile 內(nèi)容。
Dockerfile
我去試下,看看有沒(méi)問(wèn)題。
先構(gòu)建鏡像:
docker build -t zuolan/leanote .
沒(méi)有問(wèn)題,那我們繼續(xù),初始化數(shù)據(jù)庫(kù):
docker-compose run initdb
初始化數(shù)據(jù)庫(kù)完成,接下來(lái)啟動(dòng)即可。
docker-compose up leanote mongo
部署成功
螞蟻筆記markdown模式下的快捷鍵
切換編輯狀態(tài):ctrl+e
查找:ctrl+f
替換:ctrl+ff
減少縮進(jìn):shift+tab
加粗:ctrl+b
斜體:ctrl+i
將文字變成代碼塊:輸入<br>,然后enter,選中文字后,ctrl+k
插入超鏈接:ctrl+l
引用:ctrl+q
插入圖片:ctrl+g
設(shè)置成幾級(jí)標(biāo)題:ctrl+h
水平線:html中的<hr>或ctrl+r
插入無(wú)序列表:ctrl+o
插入有序列表:crtl+u
撤銷undo:ctrl+z
重做redo:ctrl+y
富文本模式下的快捷鍵(和word的快捷鍵類似):
切換html與代碼:ctrl+shift+c(windows下用ctrl+k)
shift+enter:跳出代碼編輯區(qū)(使用Leanote富文本編輯的代碼編輯時(shí))
光標(biāo)在代碼編輯框內(nèi),我們想跳出代碼編輯框到下一行寫(xiě)正常的文本.
方法:在代碼編輯框內(nèi)按下ctrl+shift+enter即可跳出.
印象筆記做了個(gè)比較弱的代碼塊功能,壓根沒(méi)有代碼高亮...
接著隨我來(lái)看看EvernoteWindows最新版對(duì)markdown有哪些支持吧...
輸入下列Markdown語(yǔ)法,然后按下Enter回車(chē)鍵,體驗(yàn)印象筆記快捷鍵的用法。
快捷鍵:
創(chuàng)建數(shù)字列表:1.(或ctrl+shift+o)
創(chuàng)建項(xiàng)目符號(hào)列表:*(或ctrl+shift+b)
創(chuàng)建未勾選的復(fù)選框:[]或[](或ctrl+shift+c)
創(chuàng)建已勾選的復(fù)選框:[x]
添加一條水平分割線:***或—
創(chuàng)建一個(gè)3列的表格:[][][]
創(chuàng)建一個(gè)2行4列的表格:[][][][]x2
溫馨提示:請(qǐng)?jiān)诙问纵斎肷鲜隹旖萱I,并在輸入之后按下回車(chē)鍵,體驗(yàn)一下markdown效果。