diff --git a/memos/readme.md b/memos/readme.md new file mode 100644 index 0000000..76a7189 --- /dev/null +++ b/memos/readme.md @@ -0,0 +1,67 @@ +# Memos 部署栈 + +[Memos](https://github.com/usememos/memos) 是一个轻量级的自托管备忘录服务,支持 Markdown,可用于日常笔记和知识管理。 + +## 目录结构 + +| 文件 | 说明 | +|------|------| +| `local.stack.yml` | 本地开发环境部署配置 | +| `prod.stack.yml` | 生产环境部署配置(多环境) | +| `env.cfg` | 公共环境变量(镜像版本、数据卷路径) | +| `db-184.cnf` | 数据库配置 - 184 环境 | +| `db-61.cnf` | 数据库配置 - 61 环境 | +| `env-lkc.cnf` | 数据库配置 - lkc 环境 | +| `pgloader.load` | SQLite → PostgreSQL 数据迁移脚本 | + +## 部署命令 + +### 本地环境 + +```bash +docker compose -p memos -f ./memos/local.stack.yml up -d +``` + +### 生产环境 + +根据目标数据库选择对应的配置文件: + +```bash +# 184 环境 +docker compose -p memos --env-file ./memos/env.cfg --env-file ./memos/db-184.cnf -f ./memos/prod.stack.yml up -d + +# 61 环境 +docker compose -p memos --env-file ./memos/env.cfg --env-file ./memos/db-61.cnf -f ./memos/prod.stack.yml up -d + +# lkc 环境 +docker compose -p memos --env-file ./memos/env.cfg --env-file ./memos/env-lkc.cnf -f ./memos/prod.stack.yml up -d +``` + +## 数据迁移 + +使用 [pgloader](https://github.com/dimitri/pgloader) 将 SQLite 数据迁移到 PostgreSQL: + +```bash +pgloader ./memos/pgloader.load +``` + +迁移脚本将 SQLite 数据库文件导入到 PostgreSQL,保留表结构和索引。 + +## 环境变量说明 + +| 变量 | 说明 | 示例 | +|------|------|------| +| `IMAGE_TAG_VER` | Memos 镜像版本 | `0.27.1` | +| `IMAGE_TAG` | 完整镜像标签 | `neosmemo/memos:0.27.1` | +| `Volumes_Path` | 数据卷宿主机路径 | `/data/volumes/memos` | +| `DB_DRIVER` | 数据库驱动 | `postgres` | +| `DB_USER` | 数据库用户名 | - | +| `DB_PASSWORD` | 数据库密码 | - | +| `DB_DATANAME` | 数据库名称 | `memos-db` | +| `DB_HOST` | 数据库主机地址 | - | +| `DB_POST` | 数据库端口 | `5432` | + +## 服务端口 + +- 本地环境:`8230` → 容器 `5230` +- 生产环境:`5230` → 容器 `5230`