项目作者: axboy

项目描述 :
Docker run leanote.
高级语言: Dockerfile
项目地址: git://github.com/axboy/docker-leanote.git
创建时间: 2017-09-23T10:19:09Z
项目社区:https://github.com/axboy/docker-leanote

开源协议:

下载


注意:本仓库已删除大文件并强制提交。

Attention: this repo has removed big file and force commited.


Docker运行蚂蚁笔记

Screen shot

镜像提供内置数据库和无数据库版,内置数据库基于mongo:4.2构建,蚂蚁笔记所需数据都已初始化完毕,非内置数据库启动后需修改数据配置再重启。

内置数据库,容器内多进程非Docker推荐做法,只为方便。

有问题加QQ 1123300322,回复会更及时些,提issue不知道要什么时候才看。

版本选择

full: 完整功能,内置数据库

nodb: 完整功能,不包含数据库

lite: 仅有leanote程序,网页版不支持导出pdf和备份数据库,供客户端用户使用

具体如下

数据库配置(nodb版使用)

初始化数据库看这里

导入数据库后,以下配置根据实际环境修改

  1. # mongdb
  2. db.host=192.168.1.20
  3. db.port=27017
  4. db.dbname=leanote # required
  5. db.username= # if not exists, please leave it blank
  6. db.password= # if not exists, please leave it blank
  7. # or you can set the mongodb url for more complex needs the format is:
  8. # mongodb://myuser:mypass@localhost:40001,otherhost:40001/mydb
  9. # db.url=mongodb://root:root123@localhost:27017/leanote
  10. # db.urlEnv=${MONGODB_URL} # set url from env. eg. mongodb://root:root123@localhost:27017/leanote

数据目录简介

为方便修改配置和迁移数据,建议映射如下文件夹。

  1. /data/db # 内置mongodb的数据目录,nodb版无此目录
  2. /data/leanote/conf # 笔记的配置文件目录
  3. /data/leanote/files # 笔记内上传的图片、文件存放目录
  4. /data/leanote/public/upload # 头像上传路径

运行

  1. docker run -d --name leanote \
  2. -v `pwd`/db:/data/db \
  3. -v `pwd`/conf/:/data/leanote/conf \
  4. -v `pwd`/files:/data/leanote/files \
  5. -v `pwd`/upload:/data/leanote/public/upload \
  6. -p 9000:9000 \
  7. axboy/leanote

备份数据

  • 方案一

通过备份文件来备份数据,数据库版本大更时不兼容,比如mongo:3.2到mongo:3.4

  • 方案二

使用admin账号到管理后台备份,lite版不支持

  • 方案三

自行通过mongodump备份

个人更倾向于方案一,因为数据库不包含上传的文件,不是仅仅备份数据库就行

修改时区

默认为北京时间,如需修改,参考如下命令。

  1. ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  2. echo "Asia/Shanghai" > /etc/timezone

常见问题

  • 2.6版启动后不能访问

2.6版默认绑定localhost, 不能通过ip访问Leanote,
请修改 app.conf

  1. http.addr=0.0.0.0 # listen on all ip addresses

重启Leanote

其它

  • 初始用户
  1. user1 username: admin, password: abc123 (管理员, 只有该用户才有权管理后台, 请及时修改密码)
  2. user2 username: demo@leanote.com, password: demo@leanote.com (仅供体验使用)
  • 禁用demo用户

demo用户就是一个普通用户,能随意操作,建议禁掉,nginx禁用 /demo 路径

  1. server {
  2. # 省略部分
  3. location / {
  4. proxy_pass http://172.17.0.1:9000;
  5. proxy_set_header Host $host;
  6. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  7. proxy_set_header X-Forwarded-For $remote_addr;
  8. }
  9. location /demo {
  10. deny all;
  11. }
  12. }
  • 修改site.url

文件conf/app.conf内,修改site.url为你对应的访问路径,否则在个人主页无法退出登录,博客页面的部分资源无法加载

  1. http.ssl=true
  2. http.sslcert=/data/leanote/conf/xxxxx.pem
  3. http.sslkey=/data/leanote/conf/xxxxx.key

mongodb升级

原有2.6.1的版本,mongodb为3.2,现有的latest的mongodb版本为4.2.7,直接映射文件会导致启动失败。
可使用浏览器登录管理账号,在后台备份数据库,下载到本地并启动一个新版本容器,参考命令如下

  1. # 将下载的文件拷贝到新容器
  2. docker cp ~/download/backup_leanote_1602120903 new_leanote:/
  3. # 进入容器
  4. docker exec -it new_leanote bash
  5. # 恢复备份的数据库
  6. mongorestore -h localhost -d leanote --dir /backup_leanote_1602120903/ --drop

补充