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