科技 2 分钟阅读

使用memos搭建独立微博,self-host三件套齐全了

一、

还是照例介绍下缘起,搭建和更新方式在后面。

和博客一样,也想有个self-host的微博,始终没有找到好的开源程序。前些天发现kam.space开发的wordpress朋友圈主题,瞬间爱上了,付费购买并搭建了moments,如下图。

wordpress朋友圈主题
wordpress朋友圈主题

但还是把它下线了,因为发现一个更轻量、更好用的memos

效果如下图所示,访问memos.skyue.com 在线查看。

memos效果
memos效果

去年找微博开源替代品的时候有发现这个项目,memos早期从UI到功能都是像素级模仿flomo(现在仍然有很强的影子),只是当时项目完成度不高,比如不支持图片。同时和flomo一样,不支持公开笔记,做不了微博。为此,我还在github上提了公开memo的feature request

现在完成很高了,甚至有移动客户端Chrome插件,用起来很方便。也支持公开笔记,完全可当独立微博使用。

至此,我的self-host三件套集齐了,如下。它们是各自方向上,非常不错的选择。喜欢self-host又有需求的,推荐试试。

需求开源项目自建地址
博客长文typechohttps://www.skyue.com
微博短文memoshttps://memos.skyue.com
书签收藏Shaarlihttps://pocket.skyue.com

留言区常有人问我Shaarli主题,统一分享在这里:

百度网盘: https://pan.baidu.com/s/162hp_vp9p_ua61mzL8XRWg 提取码: rp4h
注意:只在Sharrli 0.12.1上测试过,其它版本不确定是否有效。

二、

记录下搭建流程,备查。

1、按官网介绍,直接使用docker安装,命令如下:

docker run -d --name memos -p 5230:5230 -v ~/.memos/:/var/opt/memos neosmemo/memos:latest

上述命令安装后,memos就在本地127.0.0.1:5030运行。

2、配置Nginx

将域名(此处为memos.skyue.com)解析到服务器,利用Nginx代理请求127.0.0.1:5230

server {
    server_name memos.skyue.com;
    
    location / {
        proxy_pass http://127.0.0.1:5230;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        client_max_body_size 0;
        }
}

3、配置域名https

如果服务器已经有certbot,只需要:

sudo certbot --nginx -d memos.skyue.com

如果没有certbot,需要一些前置安装,参考这篇文章

4、升级memos

我觉得memos程序的每次更新总有些意外的bug,所以新版出来后,强烈建议大家观察一段时间其它用户的反馈再决定是否更新。可以在github的issuetelegram群中关注。

更新步骤也很简单:

Step 1:暂停memos程序

docker stop memos

Step 2:备份数据

暂停memos程序前,~/.memos目录下有如下三个文件:memos_prod.dbmemos_prod.db-shmmemos_prod.db-wal,后两个是临时文件,暂停后则只剩正式文件memos_prod.db,备份memos_prod.db即可。

cp ~/.memos/memos_prod.db ~/.memos_backup/

Step 3:移动旧的memos

docker rm memos 

Step4:拉取最新镜像(如果安装特定版本,stable改版本号)

docker pull neosmemo/memos:stable

Step5:安装最新镜像(如果安装特定版本,stable改版本号)

docker run -d --name memos -p 5230:5230 -v ~/.memos/:/var/opt/memos neosmemo/memos:stable

了解 拾月 的更多信息

订阅后即可通过电子邮件收到最新文章。

63

  1. memos挺好用的,简洁,适合写短记事。不过访客评论不方便,没有博客这样方便留言的~

    1. 是的,我也想要个评论功能,感觉官方未来可能会支持评论。
      如果不支持,打算改下模板文件,加上disqus之类的第三方评论。

  2. 目测不错,好像只支持Docker 安装?抽空下载来玩玩

    1. 对,第一次用docker,发现挺方便的。虽然不知道执行的那些脚本是啥意思,哈哈。

  3. 数据在自己手里是真舒服!

    1. 对,要的就是这种感觉。
      当初用过你的BB系统,现在又用上了你的「霞鹜文楷」字体和随机Memo脚本,感谢大佬👍👍

  4. 看着挺不错的

    1. 搞一个。

  5. 搞一个玩玩看看。

  6. 博主,你网站浏览速度飞快,点击就开。是用了又拍云CDN吗?

    1. 是的,不过只是图片用了CDN。
      可能是本身也用了国内的服务器。

  7. 但是官方没有写API文档诶,你这个数据是怎么获取的?

      1. 搞定了,已经加上了:https://darmau.design/memo

  8. 你好,请问你的memos里面的字体是怎么设置的?

    1. 这里:https://github.com/orgs/usememos/discussions/977

      1. 可以了,谢谢

  9. 顺便借楼打个广告,内容创意研报,分享个人收集感兴趣的资讯,欢迎订阅,博客地址:baigebg.com(白歌的小站)😱

    1. 发错位置了,orz

  10. 我就不是不想安装docker,一直在找memos其它的安装教程。

    1. 我之前也尝试找过,没找到不用docker安装的教程。
      第一次用docker,用完就爱上了,真方便。然后artalk也直接用docker安装了。
      但我还是非常更喜欢php程序的安装方法,最容易理解。

  11. 感谢作者分享,这下我有的折腾了~

  12. 先码住,后续用得到~

  13. hi,请问memos你是怎么存储文字和图片这些数据的?

  14. hi,请问memos你是怎么存储文字和图片这些数据的?

    1. 文字就是memos自带的sqlite存储。
      图片,memos支持不同存储方式,可以存sqlite中,也可以存服务器目录,也可以自己配置云存储,比如我是存阿里云oss的。

      1. 好哒,那你一般多久备份呀,数据应该不容易丢失吧

        1. memos支持自动备份sqlite数据库文件,安全性还不错吧,目前我没出过问题。
          我自己也会不定期导出数据备份,时间不固定,想到就去导出一次。

          1. 好的,谢谢回复哈!

  15. 手机端软,安卓安装memos的app后,提示not found
    楼主有遇到过吗?手机端似乎不友好啊

    1. 我用得ios,也碰到过。
      1、可能是app版本问题,memos服务端一直在迭代升级,要看app版本是否支持memos版本
      2、app有多个登录方式,我现在账号密码登录依然报错,但换Access Token是可以的

      1. access token,看教程不是很明白怎么弄。您那里有具体的操作步骤吗?小白用

        1. 先到memos网页版的设置后台生成一个access token
          然后在app登录界面,选择access token登录方式,有两个文本框,分别填写:
          1、你的memos网址,必须以https开头。比如我的是https://memos.skyue.com
          2、memos后台生成的access token。
          这样就能登录了。

          1. 感谢楼主的回复。百度都是说open api的,你说的这个是符合现在我docker版本的。谢谢。可以分享一下安装APP的安装包吗?我找到的安装包没有access token登录,只有open api选项。

          2. 官网在这里: https://memos.moe/
            官方只支持部分应用商店,如果不行,可以去github下载apk包。apk包下载: https://github.com/mudkipme/MoeMemosAndroid/releases

          3. 非常感谢,问题已经全部解决。非常感谢您的耐心回复

  16. 不知道为啥,我搭建之后如果用IP+端口的方式访问速度很快,只要加上反向代理用域名访问速度就很慢了

    1. 这个我不太懂,我的速度还行。

      1. 我发现不是这个问题,是我只要上传我自己的图片,任何需要加载我上传的图片的页面都很慢,不管什么图片。。

  17. 大佬,为啥我配置对象存储之后,在资源库上传小的文件就可以,上传大的(3M)文件就会一直转圈然后上传失败呢😭

    1. 我知道的可能的两个原因:
      1、memos的「设置->系统」中有个设置项:最大上传大小。是不是设置了3M
      2、你是不是用的Nginx接收请求,Nginx也有最大文件上传大小的限制,可以通过Nginx的配置文件修改。

      我不确定docker以及其它环节是不是也有相关设置,得你自己一个个排查下。

      1. 这些设置我看过了都远远大于我上传的文件大小,奇怪的是前一天还好好的,啥也没动,第二天就上传不了了,看了一下日志报错
        {“time”:”2023-11-28T16:03:48Z”,”latency”:”10.140269536s”,”method”:”POST”,”uri”:”/api/v1/resource/blob”,”status”:500,”error”:”code=500, message=Failed to get uploading file, internal=unexpected EOF”}

        1. 之前好的,现在不行,一个粗暴的方法:重装试试。

          另外,报错代码有点专业了,我目前没碰到类似问题。
          建议到github上发个issue问问,也许有碰到类似问题的人能解答。

          1. 真是奇了怪了,重装了一遍也不行

          2. emmmm,我发现是nginx反代的问题,我用的宝塔面板,只要不用反代就没问题,用反代只要上传文件超过10s就会报错,不过奇怪的是我相关的配置设置的时间都不止10s了

          3. 恭喜恭喜,找到了问题所在。

          4. nginx里把上传文件的最大值改一下就好了。

  18. 拾月shaarlin书签的主题可以分享一下嘛,好实用但是我找不到类似的 TVT😭

    1. 邮件发给你了。

      1. 谢谢大大,成功配置上了!升级到了12.2有了中文翻译,很奈斯
        好像这个书签的RSS只支持订阅公开书签的feed
        私有标签有法子订阅嘛?🙏

        1. 这个没研究过,估计不行

      2. 你好啊,能否把你这个主题分享下?比官方默认的好看太多了。这个主题确实已经很难找到了。😂🙏

        1. 邮件发给你了。

          1. 您好呀,这个 shaarlin 书签的主题可以分享一下嘛😎

          2. 百度网盘: https://pan.baidu.com/s/162hp_vp9p_ua61mzL8XRWg 提取码: rp4h

  19. 我试试看~

  20. memos要支持activitypub了,https://github.com/usememos/memos/issues/878,期待

    1. 对activitypub吧,有点纠结,即喜欢它的开放性,又顾虑它的复杂。

  21. 博主你好~请问下,个人网站备案麻烦不,备案备注怎么填写容易过呀~

    1. 我10年前备案的,印象中很麻烦,现在没有参考价值。

  22. 这个Memos好像一直没解决nginx二级目录反代配置问题,有点恼火。

    1. 我已经不烦恼了,哈哈哈哈

  23. 搞一个试试看看,哈哈

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注