【好玩儿的Docker项目】10分钟搭建一个碎片化知识卡片管理工具——Memos  笔记 日记
【好玩儿的Docker项目】10分钟搭建一个碎片化知识卡片管理工具——Memos 笔记 日记

【好玩儿的Docker项目】10分钟搭建一个碎片化知识卡片管理工具——Memos 笔记 日记

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

安装Docker 常用命令 (yuebao.pro)

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 应使用而不是默认的 。mysqlsqlite
  • --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,你可以按照以下步骤进行:

  1. 备份 SQLite 数据库: 首先,确保你已经备份了 SQLite 中的 memos 数据库,以防在迁移过程中出现任何问题。
  2. 导出 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:新数据名称

常见安装应用

发表回复

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