Memos 搭建依然是从拾月那里得到的灵感, 拾月微博, Memos是一个数据都属于自己的开源备忘录平台, 之前因为需要从Docker安装, 对此一窍不通暂时搁置, 这次就先从Docker入手.DockerChatGPTDocker是一个容器平台，让开发者能够轻松地打包、交付和运行应用程序。这些容器是轻量级的、可移植的虚拟化解决方案，它们提供了一个隔离的环境，其中应用程序可以在任何地方以相同的方式运行，无论是开发机、测试环境还是生产环境。容器(Container)是 Docker 中最基本的单位。它是一个独立、轻量级、可执行的软件包，包含了应用程序及其所有运行时需要的依赖项，如代码、运行时、系统工具、系统库等。容器化技术使得应用程序能够在相同的容器中在不同的环境中运行。粗略看了一些视频教程, 简单的可以把Docker理解为把安装好的程序文件直接打包, 其中包含运行环境文件, 可以在任何场景下独立运行, 省去多次配置的麻烦.对于Docker的多种命令及其逻辑关系, 黑马这幅图说得很明白:Windows平台安装在Install Docker Desktop on Windows下载Window桌面应用, 安装成功后直接在命令提示符中运行docker run -d --name memos -p 5230:5230 -v ~/.memos/:/var/opt/memos neosmemo/memos:latest安装后可以在本地的 http://<local_ip>:5230上运行, 把<local_ip>替换为自己电脑的本地IPV4地址即可, 或者直接输入localhost:5230也可以. 当然, 为了防止访问被拒绝, 可以去防火墙里面设置把5230的端口打开. 这样就可以在电脑开着的时候在运行服务. 中途电脑死机重启后又无法访问, 应该是需要手动启动Docker服务, 不过本来目标就是部署在云服务器上的, 本地的这些设置就不多做探究了.云服务器部署这部分主要参考【好玩儿的Docker项目】10分钟搭建一个碎片化知识卡片管理工具——Memos宝塔平台直接点击左侧Docker, 就可以安装Docker, 非常方便.依然在终端运行这段代码:docker run -d --name memos -p 5230:5230 -v ~/.memos/:/var/opt/memos neosmemo/memos:latest在云服务器的控制台里把5230端口打开, 这样用自己的http://公网ip:5230即可访问.通过IP端口访问还是不够优雅, 而自己的域名ambre.top既然已经与公网IP完成解析, 何不进一步再把这个域名利用起来呢, 这时也发现拾月的域名也是 memos.skyue.com 这种形式, 文章里解释这种操作需要添加反向代理. 这样其实也更新了自己的观念, 即一个域名可以通过这种设置, 在前面自由添加内容, 实现多种服务.参考文章中重点介绍了利用Nginx Proxy Manager来设置反向代理, 但我为了方便还是继续用了宝塔面板来设置.新建站点: memos.ambre.top, 并在云服务器控制台的域名解析页面, 再添加一条*.ambre.top, 可以再域名前添加任何内容;打开新建网站的配置文件, 按照参考文章中注释掉相应内容后, 再添加以下代码: location / { proxy_pass http://127.0.0.1:5230/; rewrite ^/(.*)$ /$1 break; proxy_redirect off; 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; proxy_set_header Upgrade-Insecure-Requests 1; proxy_set_header X-Forwarded-Proto https; }其中http://127.0.0.1:5230/需要调整, 按照以下命令来确认.ip addr show docker0与之前一样设置SSL和Https, 即可通过 memos.ambre.top 来访问memos服务.Memos使用界面上基本承袭自Flomo, 但因为开源可以玩的花样更多一点, 目前我把界面字体改成霞鹜文楷, 背景从Bing获取.手机端有Moe memos, 我多次用IP地址访问未果, 上述设置完成后直接用域名访问其他使用中值得一提的点有:部分支持Markdown格式, 图片直接用markdown格式即可直接加载, 那就不用再占用本地空间了.可以添加代码块, 勾选框, 但奇怪的是我在Web端无法直接勾选, 已反馈.标签可以实现Flomo中多层效果, 四到五层都可以, 但是删掉博文后标签还是存在, 从手机客户端删除比较方便这里介绍了memos支持的特殊格式, 甚至支持LaTex!Memos更新上面提到的勾选框无法直接勾选的Bug很快被开发者修正, 我也想马上修正, 一开始尝试按照最新的commit直接找到文件修改代码, 幸亏一开始没有找到文件位置才停止这种做法, 其实并不需要这样, 更不需要等待开发者发布下一个正式版本, 而是直接重新拉取最新版本即可. 当然重要的是把之前的数据做好备份. 我的步骤如下:暂停memos程序docker stop memos备份数据暂停memos后, 相应目录下会只有正式数据文件memos_prod.db, 我的文件位置为/root/data/docker_data/memos/.memos, 由于不熟悉Linux命令, 我直接在宝塔面板里把这个文件剪切到别的位置.移除旧版本的memosdocker rm memos拉取最新镜像docker pull neosmemo/memos:latest运行最新镜像docker run -it -d \ --name memos \ --publish 5230:5230 \ --volume /root/data/docker_data/memos/.memos/:/var/opt/memos \ neosmemo/memos:latest \ --mode prod \ --port 5230把之前的备份文件覆盖掉新形成的数据文件, 并且启动服务docker start memos这样就完成了更新, 目前勾选框也可以征程直接勾选. 今后Typecho要更新的时候也要注意备份的问题, 搞清楚数据主要在那些文件中.