搭建memos

项目地址:https://github.com/usememos/memos

我使用的是宝塔docker部署,其实宝塔docker可以一键部署,我试了不管用。不过使用官方的教程也是非常简单。
首先保证安装了docker以及Docker Compose。

1、在宝塔面板-安全-系统防火墙,放行5230端口。
2、在终端输入以下代码

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

/.memos/ /var/opt/memos,该目录将用作本地计算机上的数据目录,而该目录是 Docker 中卷的目录,不应修改。
这时已经部署好了,访问http://IP地址:5230就可以了。

首次访问会显示注册,注册的账号密码就是你的管理员账号密码了。

接下来就可以进行你自己的操作了,可以选择方向代理。

升级memos

若要让你的memos显示到最新版本,可以进行以下操作。尽管很多博友说有未知风险,划不来更新。但我就是喜欢最新版本,不仅仅是memos。

首先,停止并移除旧容器:

docker stop memos && docker rm memos

虽然是可选的,但建议备份数据库:

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

接下来,拉取最新的备忘录图像:

docker pull neosmemo/memos:stable

按照启动 memos部分中概述的步骤启动 Memos。升级后的 Memos 实例现在将启动并运行,并具有最新的增强功能和功能。

搭建评论Twikoo评论系统

项目地址:https://github.com/twikoojs/twikoo

评论系统还有博友推荐的artalk,我不选择它的原因是我安装的最新版本的memos搭配artalk不显示,有可能是某项的类写错了。

还是使用的docker部署,主要是方便。

注意 私有部署的环境需配合 1.6.0 或以上版本的 twikoo.js 使用

打开终端
Docker

docker run --name twikoo -e TWIKOO_THROTTLE=1000 -p 8080:8080 -v ${PWD}/data:/app/data -d imaegoo/twikoo

Docker Compose

    version: '3'
services:
  twikoo:
    image: imaegoo/twikoo
    container_name: twikoo
    restart: unless-stopped
    ports:
      - 8080:8080
    environment:
      TWIKOO_THROTTLE: 1000
    volumes:
      - ./data:/app/data

默认端口 8080,如果遇到端口冲突问题,请修改命令中的 8080:8080 为 自定义端口:8080。(宝塔里肯定会冲突,所以还是修改吧)
访问http://IP地址:8080出现以下就证明成功了

{
"code": 100,
"message": "Twikoo 云函数运行正常,请参考 https://twikoo.js.org/frontend.html 完成前端的配置",
"version": "1.6.32"
}

最后,就是开启反向代理了。

memos和评论系统结合起来

登录你的memos,在设置-系统-自定义脚本里,插入以下代码,修改https://artalk.duanxiansen.com/为自己的twikoo地址即可

    var twikooENV = 'https://artalk.duanxiansen.com/'
function addTwikooJS() { 
  var memosTwikoo = document.createElement("script");
  memosTwikoo.src = `https://cdn.staticfile.org/twikoo/1.6.32/twikoo.all.min.js`;
  var tws = document.getElementsByTagName("script")[0];
  tws.parentNode.insertBefore(memosTwikoo, tws);
};
function startTwikoo() {
  startTW = setInterval(function(){
    var nowHref = window.location.href;
    var twikooDom = document.querySelector('#twikoo') || '';
    if( nowHref.replace(/^.*\/(m)\/.*$/,'$1') == "m"){
      if(!twikooDom){
        addTwikooJS()
        setTimeout(function() {
          var memoTw = document.querySelector('.gap-2') || '';
          memoTw.insertAdjacentHTML('afterend', '<div id="mtcomment"></div>');
          twikoo.init({
            envId: twikooENV,
            el: '#mtcomment',
            path: nowHref.replace(/^.*=?(http.*\/m\/[0-9]+).*$/,'$1'),
            onCommentLoaded: function () {
              startTwikoo();
            }
          })
        }, 1500)
      }else{
        clearInterval(startTW)
      }
    }
  }, 2000)
}
startTwikoo();

博客使用memos

在你博客的后台新建一个独立页面,插入以下代码就可以实现(代码来自浪子。Typecho以及WordPress亲测都可以)

 <div id="bber"></div>
<script type="module" src="https://immmmm.com/emaction.js?v=230811"></script>
<script src="https://fastly.jsdelivr.net/npm/marked/marked.min.js"></script>
<script src="https://fastly.jsdelivr.net/gh/Tokinx/ViewImage/view-image.min.js"></script>
<script src="https://fastly.jsdelivr.net/gh/Tokinx/Lately/lately.min.js"></script>
<script src="https://cdn.staticfile.org/twikoo/1.6.32/twikoo.all.min.js"></script>
<script type="text/javascript">
  var bbMemos = {
    memos : 'https://memos.duanxiansen.com/',//修改为自己部署 Memos 的网址,末尾有 / 斜杠
    limit : '',//默认每次显示 10 条
    creatorId:'' ,//早期默认为 101 用户,新安装是 1; https://demo.usememos.com/u/101
    domId: '',//默认为 bber
    twiEnv:'https://artalk.duanxiansen.com/',//启开 twikoo 评论,默认 https://artalk.duanxiansen.com/
  }
</script>
<script src="https://www.duanxiansen.com/memos/memos20.js"></script>

我的页面地址:https://www.duanxiansen.com/memos.html

没有css优化,大家可以进行优化显示,我这边只是简单显示

最后修改:2024 年 05 月 16 日
如果觉得我的文章对你有用,请随意赞赏