Skip to content

axboy/docker-leanote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Oct 10, 2022
f21a45f · Oct 10, 2022

History

32 Commits
Nov 22, 2020
Nov 22, 2020
Jun 3, 2020
Apr 19, 2018
Aug 22, 2022
Jan 18, 2022
Oct 10, 2022
Aug 4, 2018
Aug 4, 2018
Jun 3, 2020

Repository files navigation

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

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版使用)

初始化数据库看这里

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

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

数据目录简介

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

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

运行

docker run -d --name leanote \
    -v `pwd`/db:/data/db \
    -v `pwd`/conf/:/data/leanote/conf \
    -v `pwd`/files:/data/leanote/files \
    -v `pwd`/upload:/data/leanote/public/upload \
    -p 9000:9000 \
    axboy/leanote

备份数据

  • 方案一

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

  • 方案二

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

  • 方案三

自行通过mongodump备份

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

修改时区

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

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo "Asia/Shanghai" > /etc/timezone
  • 2.6版启动后不能访问

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

http.addr=0.0.0.0 # listen on all ip addresses

重启Leanote

其它

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

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

server { 
    # 省略部分

    location / {
        proxy_pass              http://172.17.0.1:9000;
        proxy_set_header        Host            $host;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-For $remote_addr;
    }
    location /demo {
        deny all;
    }
}

  • 修改site.url

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

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

mongodb升级

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

# 将下载的文件拷贝到新容器
docker cp ~/download/backup_leanote_1602120903 new_leanote:/

# 进入容器
docker exec -it new_leanote bash

# 恢复备份的数据库
mongorestore -h localhost -d leanote --dir /backup_leanote_1602120903/  --drop

补充