如何搭建自己的笔记系统

简介

现在市面上有很多笔记系统,比如印象笔记,有道笔记,为知笔记等,他们功能很多也很不错。但因为笔记数据是存在别的的服务器上,始终不太放心。于是找到了leanote开源的笔记系统。
leanote与别的笔记系统相比优势:

  • 有vim功能,编辑起来很方便快捷
  • 客户端的笔记方便的导入导出,服务器笔记数据由自己控制
  • 开源,可以按自己需要进行小修改

对数据隐私要求比较高的人群,可以尝试。

搭建方案

其实官网上有详细的说明,如这里
我只是做一个总结和简化处理

方案一:纯docker化

官方的教程参见Run leanote by docker
但官方的教程有点疏漏,要把初始化数据库的数据导入之后,才能成功运行。
我把相关的软件安装及运行脚本整理到这个仓库,在Ubuntu16.04上验证是通过的
需要按下面命令执行。

1
2
3
4
git clone https://github.com/finghine/run-leanote-by-docker.git
cd run-leanote-by-docker
bash run_docker_compose.sh
bash restore.sh

这个方案严重依赖机器所在网络环境。
自己在本地虚拟要上安装很花时间。
时间主要花在下载上。

主要操作:

  • 安装docker
  • 安装docker-compose
  • 生成镜象
  • 运行镜象
  • 安装mongodb客户端
  • 解压初始化数据
  • 初始化数据库

方案二:直接安装

这个wiki 有详细介绍。
比上一个方法好点的是安装包独立
但要加环境变量

leanote 下载地址 http://leanote.org/#download
mongodb 下载地址 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.1.tgz

为leanote客户端定制多开

客户端是不让多开的,所以只能打开一个客户端。
按下面方法,可以做成多开。

  1. 把安装文件复制两份
  2. 每份中修改main.js,把makeSingleInstance这段注释,这个是限制多开的关键
  3. 修改app/public/lang/zh-cn.js中的205行,修改这个是标题,来区别两这个窗口
  4. 修改node_modules/evt.js中的getBasePath,修改一个工程就行,另一个按原路径

关于开机启动

直接编辑/etc/rc.local文件,写入脚本

关于数据的备份

图片是放在leanote/fils目录下
目前是直接定时拷贝整鼐leanote文件目录。

关于数据的备份与恢复

数据备份
mongodump -h ${DB_HOST} -d leanote -o ${BACK_DIR}

数据还原
mongorestore -h localhost -d leanote –dir /home/user1/leanote/mongodb_backup/leanote_install_data/

结束语

在最后感谢下leanote团队,leanote项目地址

补充说明

初始化后,管理员默认密码为abc123

在db中可以查用户的密码,存储方式为md5

1
2
3
4
5
6
7
8
mongo $DB_IP
show dbs
use leanote
show tables
db.users.count()
db.users.find()
# db.users.help()

docker 的方式,配置文件在/usr/local/leanote/conf/app.conf
docker exec -it <ID> /bin/sh 可进去
配置文件中app.secret是需要修改的。
i18n.default_language=en-us 这项配置建议也修改zh-cn


如何搭建自己的笔记系统
https://blog.fengcl.com/2017/05/23/how-to-create-notebook-system-for-myself/
作者
frank
发布于
2017年5月23日
许可协议