注意:本仓库已删除大文件并强制提交。
Attention: this repo has removed big file and force commited.
Docker运行蚂蚁笔记
镜像提供内置数据库和无数据库版,内置数据库基于mongo:3.2构建,蚂蚁笔记所需数据都已初始化完毕,非内置数据库启动后需修改数据配置再重启。
内置数据库,容器内多进程非Docker推荐做法,只为方便。
full: 完整功能,内置数据库
nodb: 完整功能,不包含数据库
lite: 仅有leanote程序,网页版不支持导出pdf和备份数据库,供客户端用户使用
具体如下
- latest(Dockerfile)
- nodb(Dockerfile)
- lite(Dockerfile)
- lite-arm(Dockerfile)
2.5(Dockerfile)2.6(Dockerfile)2.6.1(Dockerfile)
导入数据库后,以下配置根据实际环境修改
# 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
原有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
- 关于自定义数据库的,可参考布宝的慕课手记