docker實戰(zhàn):輕松搭建Xnote筆記系統(tǒng)!
- 1.1 Xnote簡介
- 1.2 Xnote特點
- 1.3 Xnote使用場景
- 2.1 本地環(huán)境規(guī)劃
- 2.2 本次實踐介紹
- 3.1 檢查Docker服務(wù)狀態(tài)
- 3.2 檢查Docker版本
- 3.3 檢查docker compose 版本
- 5.1 創(chuàng)建部署目錄
- 5.2 編輯boot.properties文件
- 5.3 編輯docker-compose.yml文件
- 5.3 創(chuàng)建Xnote容器
- 5.4 檢查Xnote容器狀態(tài)
- 5.5 檢查Xnote容器日志
- 6.1 進入Xnote初始頁
- 6.2 登錄Xnote
- 6.3 新建筆記標簽
- 6.4 編輯筆記內(nèi)容
一、Xnote介紹
1.1 Xnote簡介
- Xnote簡介
xnote是一款面向個人的輕量級筆記系統(tǒng),提供多種維度的數(shù)據(jù)管理功能,致力于把個人從信息過載中解放出來。
1.2 Xnote特點
- 擁有豐富的數(shù)據(jù)管理能力,支持多種筆記格式以及文件管理功能
- 默認提供了一些常用的工具,同時提供擴展能力,用戶可以編寫各種插件滿足自己的需求
- 跨平臺,支持Windows、Mac、Linux三大平臺,可以在云服務(wù)上部署,也可以在本地運行
- 100%自由的數(shù)據(jù)控制權(quán),可以運行在多種數(shù)據(jù)庫環(huán)境中
- 支持小規(guī)模的多用戶,面向多用戶的商業(yè)場景使用請謹慎
1.3 Xnote使用場景
- 個人筆記管理:xnote可以幫助個人快速記錄和整理各種類型的筆記,包括文本、圖片、鏈接等。用戶可以根據(jù)需求創(chuàng)建不同的筆記本,將相關(guān)的筆記整理在一起,并且可以通過標簽、分類等方式進行細致的管理。
- 項目管理:xnote提供了任務(wù)和標簽的功能,可以用于個人或小團隊的項目管理。用戶可以創(chuàng)建任務(wù),在任務(wù)中添加子任務(wù)、設(shè)置截止日期和優(yōu)先級,還可以給任務(wù)打上標簽,方便快速篩選和查找。
- 知識管理:xnote支持富文本編輯,用戶可以靈活地創(chuàng)建和編輯自己的知識庫。可以將學(xué)習(xí)筆記、技術(shù)文檔、網(wǎng)頁鏈接等都整理到xnote中,方便自己查閱和復(fù)習(xí)。
- 時間管理:xnote提供了提醒功能,用戶可以設(shè)置提醒時間,讓自己不會錯過重要的事項。同時,用戶還可以將待辦事項與日歷同步,更加高效地安排和管理時間。
- 團隊協(xié)作:xnote支持多人協(xié)作,團隊成員可以共享筆記本和任務(wù),方便團隊成員之間的溝通和合作。而且,xnote還提供評論和反饋的功能,讓團隊成員可以及時交流和討論。
二、本地環(huán)境介紹
2.1 本地環(huán)境規(guī)劃
本次實踐為個人測試環(huán)境,操作系統(tǒng)版本為centos7.6。
2.2 本次實踐介紹
1.本次實踐部署環(huán)境為個人測試環(huán)境,生產(chǎn)環(huán)境請謹慎; 2.使用Docker部Xnote輕量級筆記系統(tǒng)。
三、本地環(huán)境檢查
3.1 檢查Docker服務(wù)狀態(tài)
檢查Docker服務(wù)是否正常運行,確保Docker正常運行。
[root@jeven ~]# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2024-03-21 18:42:13 CST; 3min 53s ago Main PID: 43305 (dockerd) Tasks: 82 Memory: 103.6M CGroup: /system.slice/docker.service
3.2 檢查Docker版本
檢查Docker版本
[root@jeven ~]# docker -v Docker version 20.10.17, build 100c701
3.3 檢查docker compose 版本
檢查Docker compose版本,確保2.0以上版本。
[root@jeven ~]# docker compose version Docker Compose version v2.6.0
四、下載Xnote鏡像
在華為云鏡像倉庫中拉取Xnote鏡像
[root@jeven xnote]# docker pull swr.cn-north-4.myhuaweicloud.com/jeven/xnote Using default tag: latest latest: Pulling from jeven/xnote Digest: sha256:10a511df294788bcb8fa9f2c98bdd3a66b48ef65222347d55c1af030e131dbdf Status: Image is up to date for swr.cn-north-4.myhuaweicloud.com/jeven/xnote:latest swr.cn-north-4.myhuaweicloud.com/jeven/xnote:latest
五、部署署Xnote應(yīng)用
5.1 創(chuàng)建部署目錄
創(chuàng)建部署目錄
mkdir -p /data/xnote/data && cd /data/xnote
目錄授權(quán)
chmod -R 777 /data/xnote/
5.2 編輯boot.properties文件
編輯boot.properties文件,主要修改db_driver = sqlite部分,定義數(shù)據(jù)庫類型,這里直接使用sqlite數(shù)據(jù)庫。
vim boot.properties
# 這是系統(tǒng)默認配置,請不要編輯 # 配置項使用下劃線(_)劃分模塊和單詞,除了最后一個(.type),其他地方不要使用(.) # 關(guān)于數(shù)字的說明 # kb/mb/gb/tb/pb的進位是1024, k/m的進位是1000 # 例如: 1kb = 1024, 1k = 1000 # 數(shù)據(jù)存儲的根目錄 data = ./data # HTTP服務(wù)的端口號 port = 1234 # 服務(wù)器根目錄,默認是空(根路徑) server_home = # 最小線程數(shù) min_threads = 15 min_threads.type = int # 是否開啟調(diào)試模式 debug = false debug.type = bool # 啟動后是否自動打開瀏覽器(在桌面運行的選項) open_browser = false open_browser.type = bool # 啟動后是否播放語音提示 ringtone = false ringtone.type = bool # 是否強制跳轉(zhuǎn)https force_https = false force_https.type = bool # 是否快速重載(開發(fā)模式使用) fast_reload = false fast_reload.type = bool # TODO 重啟的內(nèi)存閾值 -1表示不重啟 reload_mem_threshold = -1 reload_mem_threshold.type = int # 定時任務(wù)開關(guān) cron_enabled = true cron_enabled.type = bool # 是否開啟WEBDAV webdav = false webdav.type = bool # 數(shù)據(jù)庫驅(qū)動 {leveldb, leveldbpy, sqlite, mysql} db_driver = sqlite # 緩存驅(qū)動 {memory, db, redis} db_driver_cache = memory # 是否開啟數(shù)據(jù)庫備份 db_backup = true db_backup.type = bool # 是否開啟數(shù)據(jù)庫debug日志 db_log_debug = false db_log_debug.type = bool # 數(shù)據(jù)庫備份失效時間(天) db_backup_expire_days = 5 db_backup_expire_days.type = int # 是否開啟數(shù)據(jù)庫調(diào)試 db_debug = false db_debug.type = bool # 分析table_proxy性能(臨時) db_profile_table_proxy = false db_profile_table_proxy.type = bool # 系統(tǒng)日志最大長度 db_sys_log_max_size = 10000 db_sys_log_max_size.type = int # leveldb緩存配置 block_cache_size = 16777216 # 16M block_cache_size.type = int # leveldb的寫入緩沖配置(MemTable的大小) write_buffer_size = 4194304 # 4M write_buffer_size.type = int # leveldb最大打開的文件數(shù) max_open_files = 1000 max_open_files.type = int # lmdb配置 lmdb_map_size = 1GB lmdb_map_size.type = int # 主從同步配置 # leader: 主節(jié)點 # follower: 從節(jié)點 node_role = leader # 節(jié)點ID node_id = my_node_id # 是否構(gòu)建文件同步索引 build_fs_sync_index = false build_fs_sync_index.type = bool # 是否開啟binlog binlog = false binlog.type = bool # binlog最大值 binlog_max_size = 1M binlog_max_size.type = int # 是否同步文件 sync_files_from_leader = false sync_files_from_leader.type = bool # 是否同步數(shù)據(jù)庫 sync_db_from_leader = false sync_db_from_leader.type = bool # 同步的輪詢時間 sync_interval_seconds = 3 sync_interval_seconds.type = int # 筆記本配置,筆記本的最大深度 max_book_depth = 2 max_book_depth.type = int # sqlite的journal模式,默認DELETE,改成WAL可以提高并發(fā)性能,但是兼容性比較差 sqlite_journal_mode = DELETE # mysql配置(還不穩(wěn)定,試驗中) mysql_database = xnote mysql_host = mysql_user = mysql_password = mysql_cloud_type = mysql_pool_size = 10 mysql_pool_size.type = int mysql_port = 3306 mysql_port.type = int # 權(quán)限配置 auth_max_session_size = 20 # 單個用戶最大會話數(shù)量 auth_max_session_size.type = int # UI配置 ui_show_footer = true ui_show_footer.type = bool
5.3 編輯docker-compose.yml文件
編輯docker-compose.yml文件
version: "3" services: server: image: swr.cn-north-4.myhuaweicloud.com/jeven/xnote:latest container_name: xnote volumes: - /data/xnote/data:/xnote/data - /data/xnote/boot.properties:/config/boot/boot.sae.properties ports: - 5238:1234
5.3 創(chuàng)建Xnote容器
- 使用docker-compose.yaml文件創(chuàng)建Xnote容器
[root@jeven xnote]# docker compose up -d [+] Running 2/2 ? Network xnote_default Created 0.1s ? Container xnote Started 1.7s
5.4 檢查Xnote容器狀態(tài)
檢查Xnote容器狀態(tài),確保Xnote容器正常啟動。
[root@jeven xnote]# docker compose ps NAME COMMAND SERVICE STATUS PORTS xnote "python sentinel.py …" server running 0.0.0.0:5238->1234/tcp, :::5238->1234/tcp
5.5 檢查Xnote容器日志
檢查Xnote容器運行日志,確保Xnote服務(wù)正常運行。
docker compose logs
六、訪問Xnote首頁
6.1 進入Xnote初始頁
訪問地址:http://192.168.3.166:5238,將IP替換為自己服務(wù)器IP地址,進入到Xnote初始頁。如果無法訪問,則檢查服務(wù)器防火墻是否設(shè)置,云服務(wù)器的安全組端口是否放行等。
6.2 登錄Xnote
默認登錄賬號密碼為admin/123456,進入Xnote首頁。
6.3 新建筆記標簽
首頁——管理筆記本——新建筆記本,輸入筆記本名稱。
6.4 編輯筆記內(nèi)容
點擊創(chuàng)建筆記,編輯筆記標題。
編輯筆記內(nèi)容,保存即可。
查看筆記效果
七、總結(jié)
Xnote是一款輕量級的筆記系統(tǒng),可以使用Docker快速部署。它有簡潔高效的頁面,適合新手上手操作。在我的初步體驗中,我發(fā)現(xiàn)Xnote頁面流暢,沒有卡頓現(xiàn)象,響應(yīng)速度很快。它還提供了很好的筆記分類功能,方便我們整理和查找筆記。另外,Xnote還支持markdown筆記,這對于記錄技術(shù)內(nèi)容非常有幫助。如果你需要一個簡單而實用的筆記系統(tǒng),可以嘗試使用體驗一下Xnote。
作者聲明本文無利益相關(guān),歡迎值友理性交流,和諧討論~
,