【开源】笔记知识库 - Memos

2023年9月13日 150点热度 0人点赞

Memos是一个基于SQLite db文件的知识库,它完全开源和免费。如果你对Flomo比较熟悉,那么你会发现Memos的界面太像Flomo了,Memos 可以算作开源版本的 Flomo,但是它有一个非常特别的地方——你可以随意将其部署在你自己的服务器上,并且官方也提供了API接口,目前已有众多第三方工具支持其跨平台的能力。

Memos

Memos可以把他部署到自己的服务器上,自己管理自己的Memo,可能你会说,网页使用不方便,但是它有小程序和APP,服务端都是可以用自己的,今天我就教大家搭建Memos的服务端和小程序。

我在使用Memos的时候,一开始使用的网页端,感觉平平无奇,但自从我部署小程序之后,那丝滑的多平台过度,随时可查阅的状态,归档,置顶,分享,这些功能真的是太香了。

Memos小程序效果图

Memos小程序

一、部署Memos服务端

  1. 购买服务器和域名

官网地址:阿里云ECS云服务器
首先要购买服务器和域名,我这里购买的是2C4G5M的服务器,大家也可以按需选购。
阿里云ECS云服务器

拥有了服务器和域名之后我们进行下一步操作。

  1. 安装宝塔
  • 首先,登录你购买服务器厂商的控制台。

  • 找到你的服务器之后点击右上角的登录按钮(如果不喜欢这种方式登录可以选择自己喜欢的方式:putty,xshell,terminal 等等)当然如果选用其他方式记得先重置密码还在在购买的时候就创建密码,不然无法登录。

输入管理员指令:

sudo -i

接下来输入命令安装宝塔

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

PS:如果没有宝塔账户先去注册一下,注册地址:https://www.bt.cn/register.html

安装成功后会看到下面的界面:
宝塔安装成功

  • 接下来我们去防火墙开一下宝塔面板的8888端口

  • 然后访问外网链接访问宝塔面板并输入账户密码登录,第一次登录会让你阅读协议并登录宝塔账户(就是刚才注册的)

  • 安装环境,选择LNMP一键安装,PHP版本可以选高一点。

  • 安装完成后来新建一个站点

这个域名要事先在域名控制台做解析哦。

  1. 使用docker安装Memos

    要使用 docker-compose部署备忘录,创建一个包含以下内容的调用文件:docker-compose.yml

version: "3.0"
services:
  memos:
    image: neosmemo/memos:latest
    container_name: memos
    volumes:
      - ~/.memos/:/var/opt/memos
    ports:
      - 5230:5230

现在,可以运行以开始Memos:

docker-compose up -d

根据需要编辑数据目录的端口和路径。但是,只更改第一个端口8081。第二个端口是备忘录在容器内侦听的端口,目录也是如此,第一个路径是主机系统上的路径,第二个路径是容器内的路径。然后,您可以使用 docker-compose up -d 运行Memos

  1. nginx反代

运行备忘录后,您可以使用 nginx 进行反向代{过}{滤}理,将域名连接到您的实例。

创建一个包含以下内容的调用文件:/etc/nginx/sites-available/your-domain-name.com

server {
    server_name your-domain-name.com;

    location / {
        proxy_pass http://localhost:5230;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

现在,您可以使用sudo ln -s /etc/nginx/sites-available/your-domain-name.com /etc/nginx/sites-enabled/your-domain-name.com 启用站点。然后重新启动 nginx。命令为:sudo systemctl restart nginx

如果你安装了宝塔,则可以在刚刚网站里面一键反向代{过}{滤}理。

  1. 安装证书SSL

应用 SSL 证书的最简单方法是使用 Let's Encrypt。可以使用 Certbot 获取证书。为此,请首安装 certbot。然后,您可以使用sudo apt install certbotsudo certbot --nginx -d your-domain-name.com获取证书。确保域名已指向您的服务器。Certbot将尝试创建证书并将其安装到您的nginx配置中。如果它已成功执行此操作,则如下所示的几行将添加到您的配置文件中:

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/your-domain-name.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/your-domain-name.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

使用 sudo systemctl restart nginx命令来运行

  1. 备忘录升级版本

要将备忘录升级到最新版本,您需要先停止并删除旧容器

docker stop memos && docker rm memos

建议备份数据库,但可以选择:

cp -r ~/.memos/memos_prod.db ~/.memos/memos_prod.db.bak

然后拉取最新镜像:

docker pull ghcr.io/usememos/memos:latest

最后,按照 Docker 运行部分中的步骤再次启动备忘录。

这样服务端就部署完毕了。接下来我们部署小程序端。

Memos小程序功能

  • 浏览 memos,支持解析部分 memos 语法,使用的是修改版的原 memos 解析方法
  • 发送 memo,支持多个语法快捷键
  • 编辑 memo,归档,删除,置顶
  • 切换用户
  • 内容缓存到手机,没有网络的环境也可以查看,后续可能考虑推出一个单机版?
  • 注册及登录
  • 搜索功能,按内容/TAG/日期(首页热点图)
  • sidebar 热点图,以及用户其他设置
  • 根据用户设置,自动切换语言
  • 完整 darkmode 支持
  • 分享单条 memo 页面
  • 资源库,上传图片,发布带文件的memo
  • 部署后端外挂后,开启自动注册登录与微信绑定的账号

部署Memos小程序

  1. 申请一个微信小程序,类目选择 工具-备忘录,开发-开发管理-服务器域名-request合法域名 填写你搭建 memos 的域名。

  2. 本地创建一个文件夹,拉取项目

    git clone https://github.com/Rabithua/memos_wmp
  3. 下载微信小程序开发者工具

  4. 导入当前文件夹,选择测试号或者使用你注册好的微信小程序的 appid ,不使用云开发。

  5. 在 app.js 中修改 globalData.url 为你自己的域名,globalData.ifWechatLogin 修改为false。

  6. 不出意外的话编译完毕你就可以看到麦默的欢迎界面了🎉

  7. 尝试输入用户名和密码,看是否登陆成功,如果没有注册按钮是因为没有开启公共注册。

项目地址

胖二十

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论