Loading...

Leanote 蚂蚁笔记 Docker从零部署安装 2023

群晖教程1年前 (2024)发布 ypng
27 0 0
Leanote 蚂蚁笔记 Docker从零部署安装 2023

前言

时间紧任务重 今天只讲重点
蚂蚁笔记是一个开源的笔记软件

缺点是
版本老 官方已停止更新,如有新需求需要自行二次开发
优点是
开源、支持 Win/Linux/Mac/Android/IOS 5系统客户端
一键公开文章为博客 在web端提供公网访问H5 且自带多套主题

之前写过2篇分别是
1. 在物理机直接搭建蚂蚁笔记,基于蚂蚁笔记官方github凯源代码 https://leanote.zzzmh.cn/blog/post/admin/5cac524316199b2e40000046
2. 在Docker中搭建前辈已打包好环境的一条龙快速搭建方案 https://leanote.zzzmh.cn/blog/post/admin/60d2d9ce16199b501c026a96

今天的主题依旧是Docker搭建,区别是用前辈的Docker镜像的另一个分支,NODB版本,也就是镜像里不包含Mongodb,由用户自行另外提供Mongo环境,好处自然是只需要运行一个Mongo就可以提供多个程序使用,好过每个程序自己跑一个Mongo,并且后续的备份和修改数据也来的更容易。

参考
docker hub 地址
https://hub.docker.com/r/axboy/leanote
github地址
https://github.com/axboy/docker-leanote

折腾

MongoDB
首先安装数据库 这里选择docker作者axbox推荐的4.2.7
这里演示的是不设账号密码 任何人都能直连的方法 请勿在公网暴露端口

  1. # 先启动一次mongo
  2. docker run -d -p 27017:27017 \
  3. --name mongo \
  4. mongo:4.2.7
  5. # 宿主机提前准备一个Mongo文件夹,复制镜像data到宿主机
  6. docker cp mongo:data /root/docker/mongo/
  7. # 删除镜像
  8. docker stop mongo
  9. docker rm mongo
  10. # 启动完整镜像,并映射目录到宿主机data
  11. docker run -d -p 27017:27017 \
  12. -e "TZ=Asia/Shanghai" \
  13. -v /root/docker/mongo/data:/data \
  14. --restart=always \
  15. -m 200M \
  16. --oom-kill-disable \
  17. --memory-swap=-1 \
  18. --name mongo \
  19. mongo:4.2.7

根据Leanote Github教程 恢复初始化数据库
首先下载 leanote_install_data 文件夹
https://github.com/leanote/leanote/tree/master/mongodb_backup

然后放到物理机 mongo/data 目录下
再进入docker恢复备份

  1. # 进入容器
  2. docker exec -it mongo bash
  3. # 恢复备份文件到 leanote 数据库
  4. mongorestore -h localhost -d leanote --dir /data/leanote_install_data

恢复完成即初始化数据库成功

Leanote 无DB版
这里才是重点,也是最蛋疼的地方,我学艺不精,卡了2天才跑通,经供参考。

  1. # 先启动一次 这次必不成功 但不重要
  2. docker run -d -p 9000:9000 \
  3. --name leanote \
  4. axboy/leanote:nodb
  5. # 复制容器内data到宿主机
  6. docker cp leanote:/data/leanote /root/docker/
  7. # 先删除容器
  8. docker rm leanote

这里的重点是改配置文件,让leanote环境能连上mongo
修改配置文件 /root/docker/leanote/conf/app.conf

  1. # 内网访问地址 0.0.0.0 代表不限
  2. http.addr=0.0.0.0
  3. http.port=9000
  4. # 公网访问地址 如果你有域名 改成你的域名(后续需要配合nginx反向代理才能真正访问到)
  5. # 如果你没有域名 但有服务器 填http://ip地址 也可以用ip访问
  6. site.url=https://zzzmh.cn
  7. # admin username
  8. adminUsername=admin
  9. # mongdb配置
  10. # 这里要改成mongodb的docker容器名称
  11. db.host=mongo
  12. db.port=27017
  13. # 这里是你mongodb数据库名称
  14. db.dbname=leanote
  15. # 如果mongodb有密码 在这里配置 没有留空白即可
  16. db.username=
  17. db.password=
  18. # 改一个任意64位随机字符串
  19. app.secret=KsZpeVxJbcKJhqemv302JiyFpPJuxkSufclaOJP6r2qhKleCRMFzsyAKStuFEosq
  20. # 多语言改中文
  21. i18n.default_language=zh-cn
  22. # 后面省略 ...

改完配置文件以后,再次启动即可成功连上mongodb

  1. # 内存可以根据你的实际情况给 我给100M用来测试
  2. docker run -d -p 9000:9000 \
  3. --link mongo \
  4. -e "TZ=Asia/Shanghai" \
  5. -v /root/docker/leanote:/data/leanote \
  6. --restart=always \
  7. -m 100M --oom-kill-disable --memory-swap=-1 \
  8. --name leanote \
  9. axboy/leanote:nodb

检验是否已启动成功方法

  1. docker ps -a
  2. # 返回如下
  3. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  4. 78913c8skjwe axboy/leanote:nodb "/bin/sh -c 'sh /dat…" 40 seconds ago Up 39 seconds 0.0.0.0:9001->9000/tcp, :::9001->9000/tcp leanote
  5. 1230387fwq12 mongo:4.2.7 "docker-entrypoint.s…" 18 hours ago Up 18 hours 0.0.0.0:27017->27017/tcp, :::27017->27017/tcp mongo
  6. # 重点看 axboy/leanote:nodb 这一行 status 这一列
  7. # 如果是 UP xx secends 就是启动成功
  8. # 如果是 Exited (0) xx secends ago 就是启动失败 继续到配置文件和日志里找原因

至此 物理机的9000端口就可以访问蚂蚁服务了 再去 Nginx 反代到公网域名 就可以在公网使用了

修改 Nginx 配置文件
/etc/nginx/nginx.conf

  1. server {
  2. listen 443 ssl http2;
  3. # 域名这里填你自己的 我这里随便填了个占位
  4. server_name zzzmh.com;
  5. # 中间省略
  6. ...
  7. location / {
  8. proxy_pass http://localhost:9000/;
  9. proxy_set_header Host $host;
  10. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  11. proxy_set_header X-Forwarded-Proto https;
  12. proxy_connect_timeout 60;
  13. proxy_read_timeout 60;
  14. proxy_send_timeout 60;
  15. break;
  16. }
  17. }

测试并重新加载nginx

  1. nginx -t
  2. nginx -s reload

最后访问你的域名
https://域名

如果出现白屏 按F12 出现3个报错 找不到style.css
说明上文的 app.conf 你配置的外网访问域名 与nginx代理的域名不同
改成一样的以后,重启docker docker restart leanote

如果是这个绿色的界面 说明全部搞定 大功告成
Leanote 蚂蚁笔记 Docker从零部署安装 2023

END

防止有人不会,我再讲讲怎么用
首次使用先点 Sign in 登录
默认账号密码是 admin abc123
(如果登录出错 八成是mongo配置哪里不对)
登陆以后记得修改密码 (右上角点admin 然后在个人中心进行基本配置)

配置的问题以后再讲 这里只说客户端怎么登录自建服务器

客户端打开以后点登录自建服务器
Leanote 蚂蚁笔记 Docker从零部署安装 2023
然后第一行填域名比如 https://zzzmh.cn
第二三行填账号密码,就可以在客户端写笔记了

© 版权声明

相关文章

暂无评论

暂无评论...