博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NAS搭建笔记软件Leanote,并实现外网访问
阅读量:5936 次
发布时间:2019-06-19

本文共 1864 字,大约阅读时间需要 6 分钟。

引言

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

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

笔记软件调研

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

self-hosted提供的笔记软件服务可行方案

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

此外,leanote的UI挺好看的,移动端适配也不错,作者的美学造诣不错哦。

leannote界面UI

搭建Leanote服务端

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

机智的我立马想到看看docker服务端,谷大哥搜了一下,排名第一的是官方出的docker文件,但点开后发现已经不提供技术支持了。

在这里插入图片描述
哔了个狗,难道是推出商业服务之后就不再维护docker版本?

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

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

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

在这里插入图片描述

最后初始化镜像

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地址即可登录。

leanote登录界面

登录完成后:

登录进去后,自动生成的中英文介绍笔记

于是,在内网已经可以愉快的玩耍了,但要想在地球的任何角落都可以访问笔记软件,就需要准备内网穿透。

内网穿透

内网穿透,我这里使用的是花生壳,毕竟花生壳作为十几年的内网穿透以及动态域名解析服务商,在产品优化方面和稳定性做得非常成熟了,简单易用。其中有免费的端口功能,如果有更多的端口转发和速度要求,可付费升级。毕竟公司有收入,才能持续提供服务。有经济能力的用户都会体面的选择为正版付费。

将内网9000端口映射到域名的80端口
在这里插入图片描述
即可使用域名登录
在这里插入图片描述

登录leanote之后,可以编辑笔记

在这里插入图片描述

总结

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

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

你可能感兴趣的文章
list泛型类型获取
查看>>
VIM一些用法
查看>>
Nginx 502错误原因与解决办法
查看>>
使用Django来处理对于静态文件的请求
查看>>
dom4j解析xml的简单实用
查看>>
批量进行One-hot-encoder且进行特征字段拼接,并完成模型训练demo
查看>>
MySQL数据库在Windows环境下安装配置
查看>>
由浅入深学习Apache httpd原理与配置
查看>>
用tiny project来激励自己入门
查看>>
制作同时支持armv7,armv7s,arm64,i386,x86_64的静态库.a
查看>>
Beyond Compare的几种实用功能
查看>>
旧工程适配iOS 6和iPhone 5的一些故事
查看>>
CentOS版本怎么安装python的pip及mycli的安装
查看>>
was安装
查看>>
Android Studio 使用艺术
查看>>
Android架构:第四部分-在Android上应用Clean架构,实践(包含源代码)(译)
查看>>
Jenkins打包参数输入多个Cherry-Pick
查看>>
java文件下载(二)
查看>>
查找目录中包含指定关键字的文件
查看>>
XCode升级后插件不能使用之VVDocument
查看>>