gite官方地址:https://github.com/usememos/memos
官方主页:备忘录 – 轻松捕捉和分享您的精彩想法。开源,永久免费 (usememos.com)
官方文档:Database Driver – Memos (usememos.com)
docker仓库:neosmemo/memos – Docker Image
1、系统更新
1.1、Debian/Ubuntu系统更新
apt update -y && apt install -y curl && apt install -y wget && apt install -y sudo
1.2、CentOS系统更新
yum update -y && yum install -y curl && yum install -y wget && yum install -y sudo
2、安装docker
3、安装Memos
创建一下安装的目录:
mkdir -p /root/memos/
cd /root/memos/
运行
docker run -d --name memos -p 5230:5230 -v /root/data/docker_data/memos/.memos/:/var/opt/memos neosmemo/memos:latest
#增加自启动,修改memos存储地址
docker run -d --name memos --restart=always -p 5230:5230 -v D:/docker/memos/:/var/opt/memos neosmemo/memos:latest
或者使用docker-compose安装,docker-compose.yaml
可以用这个,
version: "3"
services:
memos:
image: neosmemo/memos:latest
container_name: memeos
hostname: memeos
ports:
- "5230:5230"
volumes:
- ./memos/:/var/opt/memos
restart: always
/.memos/这个可以换成你自己服务器的路径;
冒号左边的 5230 可以换成主机未被占用的端口;
其他不建议修改。
docker-compose up -d
4、memos升级
cd /root/memos/
docker-compose down #停止运行的docker
docker-compose pull #拉取新的镜像
docker-compose up -d #运行
docker image prune # prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像
官方升级文档:Self-Hosting – Memos
5、压缩memos文件夹
压缩
tar -czvf memos.tar.gz memos
这个命令将会创建一个名为memos.tar.gz
的压缩文件,其中:
c
表示创建新的压缩文件。z
表示使用gzip压缩。v
表示在终端显示压缩或解压缩的详细过程。f
表示接下来的参数是文件名。
以上步骤将把memos
文件夹及其所有内容压缩为一个名为memos.tar.gz
的文件。如果要从压缩文件中解压缩内容,可以使用tar
命令并指定-x
选项,例如:
解压
tar -xzvf memos.tar.gz
这将会解压缩memos.tar.gz
文件,将内容解压到当前目录的memos
文件夹中。
1、安装rsync
apt install rsync -y
要在Linux系统上使用rsync命令将文件从192.168.0.116发送到10.10.10.16,您可以使用以下命令:
rsync -avz /root/memos 10.10.10.16:/root
这里的-avz
选项表示以归档模式同步文件夹,并使用gzip压缩传输的数据。
请注意,目标IP地址是10.10.10.16
,目标路径是/root
。如果您要同步到不同的IP地址或路径,请相应地更改这些值。
数据存放位置
Memos 的数据存储在本地 /root/memos/
路径下名为 memos_prod.db
的文件,每次升级前请做好备份。
于图片或者文件在数据库的存储方式归纳
商品图片,用户上传的头像,其他方面的图片。目前业界存储图片有两种做法:
1、 把图片直接以二进制形式存储在数据库中一般数据库提供一个二进制字段来存储二进制数据。比如MySQL中有个blob字段。Oracle数据库中是blob或bfile类型。
2、 图片存储在磁盘上,数据库字段中保存的是图片的路径。
NavicatPremium 官方版
参考文章:
【好玩儿的Docker项目】10分钟搭建一个碎片化知识卡片管理工具——Memos (laoda.de)
二、MySQL 作为数据库驱动程序
官方指导:【点击打开】
你需要创建一个名为 docker-compose.yml 的文件,并在其中指定你的服务配置。以下是一个大致的转换:
您还可以通过环境变量进行设置:
version: "3"
services:
memos:
image: neosmemo/memos:latest
container_name: memeos
hostname: memeos
ports:
- "5230:5230"
volumes:
- ./memos/:/var/opt/memos
restart: always
environment:
MEMOS_DRIVER: mysql
MEMOS_DSN: root:password@tcp(localhost)/memos_prod
#用户名:密码@tcp(IP地址+端口)/memos_prod
Memos 时指定两个额外的参数:
- –-driver mysql :指定 Memos 应使用而不是默认的 。
mysql
sqlite
- –-dsn dbuser:dbpass@tcp(dbhost)/dbname:提供 MySQL 服务器的连接详细信息。
[password]
version: "3"
services:
memos:
image: neosmemo/memos:latest
container_name: memeos
hostname: memeos
ports:
- "5230:5230"
volumes:
- ./:/var/opt/memos
restart: always
environment:
MEMOS_DRIVER: mysql
MEMOS_DSN: root:admin888*@tcp(10.10.10.16:3306)/memos_prod
[/password]
三、数据迁移
要将 memos 数据从 SQLite 迁移到 MySQL,你可以按照以下步骤进行:
- 备份 SQLite 数据库: 首先,确保你已经备份了 SQLite 中的 memos 数据库,以防在迁移过程中出现任何问题。
- 导出 SQLite 数据: 使用 SQLite 命令行工具(或者第三方工具如 DB Browser for SQLite)导出 memos 表的数据为 SQL 脚本。例如:
sqlite3 /root/memos/memos_prod.db .dump memos > memos.sql
- /root/memos/memos_prod.db:数据库路径
- memos.sql:新数据名称
常见安装应用
- Moe Memos – 适用于 iOS 和 Android 的第三方客户端
- lmm214/memos-bber – Chrome 扩展程序
- Rabithua/memos_wmp – 微信小程序
- qazxcdswe123/telegramMemoBot – 电报机器人
- eallion/memos.top – 使用 Memos API 呈现的静态页面
- eindex/logseq-memos-sync – Logseq 插件
- quanru/obsidian-periodic-para – 黑曜石插件
- JakeLaoyu/memos-import-from-flomo – 导入数据。支持flomo,微信阅读
- 快速备忘录 – 快捷指令(iOS、iPadOS 或 macOS)
- Memos Raycast 扩展 – Raycast 扩展
- Memos Desktop – 适用于 MacOS 和 Windows 的第三方客户端
- MemosGallery – 使用 Memos API 呈现的静态库