Go Memos:极简、高效的个人备忘录系统
项目概述
Go Memos 是一个用 Go 语言开发的开源自托管备忘录系统,旨在为用户提供一个简单、高效、隐私友好的笔记记录解决方案。该项目采用现代化的技术栈,支持 Docker 一键部署,非常适合个人或小团队使用。
核心特性
1. 极简设计哲学
- 干净直观的用户界面,专注于内容创作
- 无复杂功能干扰,回归笔记本质
- 响应式设计,支持多设备访问
2. 强大的技术栈
- 后端:Go + Gin 框架
- 前端:React + TypeScript
- 数据库:SQLite(默认)或 PostgreSQL
- 部署:Docker 容器化支持
3. 丰富的功能集
- Markdown 编辑器支持
- 标签分类系统
- 内容搜索功能
- 多用户支持
- API 接口开放
- 数据导入导出
快速开始
Docker 部署示例
text
# 使用 SQLite 数据库 docker run -d \ --name memos \ --publish 5230:5230 \ --volume ~/.memos/:/var/opt/memos \ ghcr.io/usememos/memos:latest # 使用 PostgreSQL docker run -d \ --name memos \ --publish 5230:5230 \ --env DB_HOST=postgres \ --env DB_PORT=5432 \ --env DB_USER=memos \ --env DB_PASSWORD=your_password \ --env DB_NAME=memos \ ghcr.io/usememos/memos:latest
源码编译部署
text
# 克隆项目 git clone https://github.com/usememos/memos.git cd memos # 后端编译 go build -o memos ./main.go # 前端构建 cd web npm install npm run build # 运行 ./memos --mode prod --port 5230
使用实例
1. 创建备忘录
text
# 项目会议记录 **日期**: 2024-01-15 **参会人员**: 张三、李四、王五 ## 讨论要点 1. 项目进度回顾 2. 技术难点分析 3. 下一步计划 ## 行动项 - [ ] 完成 API 设计文档 - [ ] 准备测试环境 - [ ] 安排代码审查 标签: #会议 #项目 #待办
2. 使用标签分类
text
# 学习笔记 #编程 #Go
今天学习了 Go 并发编程:
```go
package main
import (
"fmt"
"sync"
)
func main() {
var wg sync.WaitGroup
for i := 0; i < 5; i++ {
wg.Add(1)
go func(id int) {
defer wg.Done()
fmt.Printf("Goroutine %d\n", id)
}(i)
}
wg.Wait()
}
#想法 #灵感
突然想到一个产品改进点子: - 添加夜间模式 - 支持快捷键操作 - 增加数据统计功能
text
### 3. API 使用示例
```go
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
type Memo struct {
Content string `json:"content"`
Tags []string `json:"tags"`
}
func main() {
// 创建备忘录
memo := Memo{
Content: "API 测试备忘录",
Tags: []string{"测试", "API"},
}
jsonData, _ := json.Marshal(memo)
resp, err := http.Post(
"http://localhost:5230/api/memo",
"application/json",
bytes.NewBuffer(jsonData),
)
if err != nil {
fmt.Println("请求失败:", err)
return
}
defer resp.Body.Close()
fmt.Println("创建成功,状态码:", resp.StatusCode)
}
配置文件示例
text
# config.yaml
mode: "prod"
port: 5230
data: "/var/opt/memos"
database:
driver: "sqlite"
dsn: "/var/opt/memos/memos.db"
storage:
type: "local"
path: "/var/opt/memos/storage"
server:
frontend_url: "https://memos.example.com"
allowed_origins:
- "https://memos.example.com"
项目优势
1. 性能优异
- Go 语言编译为静态二进制,启动速度快
- 内存占用低,资源消耗小
- 并发处理能力强
2. 部署简单
- 单一可执行文件
- Docker 镜像支持
- 无需复杂依赖
3. 数据安全
- 自托管,数据完全自主控制
- 支持数据加密
- 定期备份功能
4. 社区活跃
- 开源免费,MIT 许可证
- 持续更新维护
- 活跃的社区贡献
适用场景
- 个人知识管理:记录学习笔记、灵感想法
- 团队协作:小团队的简单文档共享
- 项目管理:任务跟踪、会议记录
- 代码片段管理:保存常用的代码示例
- 日记记录:私密的个人日记
总结
Go Memos 作为一个轻量级的备忘录系统,在简洁性和功能性之间取得了很好的平衡。它的 Go 语言实现保证了高性能和低资源消耗,现代化的前端提供了优秀的用户体验。无论是作为个人笔记工具,还是小团队的协作平台,Go Memos 都是一个值得尝试的选择。
项目持续更新中,社区友好,文档完善,对于想要学习 Go 语言实际应用或寻找一个简单自托管笔记解决方案的开发者来说,Go Memos 都是一个不错的起点。
项目地址: https://github.com/usememos/memos
在线演示: https://demo.usememos.com
文档地址: https://usememos.com/docs
memos_20260204163146.zip
类型:压缩文件|已下载:0|下载方式:免费下载
立即下载




还没有评论,来说两句吧...