NAS搭建笔记软件Leanote,并实现外网访问

引言

这是NAS系列文章之一,因闲来无事,搭建了一个NAS,现在决定搭建一个笔记软件,类似某道云笔记、某知笔记、onenote等等,能够实现90%的商业方案的功能,同时免除广告的痛苦(这些笔记软件的年费是真的贵)。工作中有挺多资料需要整理,以前用了挺长时间的evernote、某道云笔记,没有办法完全保证数据安全,更有这样或那样的权限限制,感觉十分糟心。

废话不多说,Let's do it.

笔记软件调研

从awesome-selfhosted上看到,目前的可行方案还挺多的,

NAS搭建笔记软件Leanote,并实现外网访问_第1张图片

经过一番调查,选择了leanote这款,主要是项目的star够多,支持markdown,并且用go语言写的,常规使用性能绝对足够了,目前还没有停止维护的迹象。作者大概是个中国人,因为官网的搭建方法有中文和英文两个版本,对于我这种英语渣渣来说挺友好的。官方也提供了中文版的商业服务,在 http://leanote.com 可以看到,定价不算离谱。

此外,leanote的UI挺好看的,移动端适配也不错,作者的美学造诣不错哦。
NAS搭建笔记软件Leanote,并实现外网访问_第2张图片

搭建Leanote服务端

leanote是go语言写的服务端,搭建起来应该不复杂,奈何数据库使用了MongoDB,这有点麻烦。linux服务器普遍搭建的mysql、mariadb都无法使用,还需要另外搭建MongoDB。

机智的我立马想到看看docker服务端,谷大哥搜了一下,排名第一的是官方出的docker文件,但点开后发现已经不提供技术支持了。
NAS搭建笔记软件Leanote,并实现外网访问_第3张图片
哔了个狗,难道是推出商业服务之后就不再维护docker版本?

万能的互联网也有其他人制作了docker镜像,随意选了下方的链接

https://github.com/mariusv/docker-leanote

使用下面的命令创建所需的目录

mkdir -p ./leanote/data/{files,mongodb_backup,public/upload}

创建一个名字叫docker-compose.yml的文件

内容写:

version: '2'

services:
  db:
    restart: always
    container_name: mongodb_server
    image: mongo:3.2.3
    volumes:
      - ./leanote_data:/data/db

  server:
    image: mariusv/leanote
    environment:
      - SITE_URL="http://localhost:9000"
    depends_on:
      - db
    restart: always
    ports:
      - 9000:9000
    links:
      - db:mongodb
    container_name: leanote_server

    volumes:
      - ./leanote/data:/leanote/data

使用docker-compose构建镜像

docker-compose up -d

NAS搭建笔记软件Leanote,并实现外网访问_第4张图片
最后初始化镜像

docker exec -it leanote_server  mongorestore -h db -d leanote --dir /leanote/leanote_install_data

如此,leanote的服务已经运行起来了,内网是可以访问的。

使用默认用户名和密码登录:

用户名:admin

密码:abc123

记得登录之后要改密码

现在登录http://192.168.x.x:9000/login 将192.168.x.x 换为你的内网NAS的ip地址即可登录。

NAS搭建笔记软件Leanote,并实现外网访问_第5张图片

登录完成后:

NAS搭建笔记软件Leanote,并实现外网访问_第6张图片
于是,在内网已经可以愉快的玩耍了,但要想在地球的任何角落都可以访问笔记软件,就需要准备内网穿透。

内网穿透

内网穿透,我这里使用的是花生壳,毕竟花生壳作为十几年的内网穿透以及动态域名解析服务商,在产品优化方面和稳定性做得非常成熟了,简单易用。其中有免费的端口功能,如果有更多的端口转发和速度要求,可付费升级。毕竟公司有收入,才能持续提供服务。有经济能力的用户都会体面的选择为正版付费。
将内网9000端口映射到域名的80端口
NAS搭建笔记软件Leanote,并实现外网访问_第7张图片
即可使用域名登录
NAS搭建笔记软件Leanote,并实现外网访问_第8张图片

登录leanote之后,可以编辑笔记
NAS搭建笔记软件Leanote,并实现外网访问_第9张图片

总结

我们使用docker搭建了leanote的笔记服务,并使用内网穿透实现公网访问笔记服务,也许可以省掉一笔买云笔记会员的钱,o( ̄︶ ̄)o。欢迎在评论区留言!

转载于:https://blog.51cto.com/14362062/2401881

你可能感兴趣的:(NAS搭建笔记软件Leanote,并实现外网访问)