百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
M

moments

> 编程语言
开源

极简朋友圈

1.9K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

极简朋友圈

Moments - 极简朋友圈

从 v0.2.1 开始,Moments 采用 Golang 重写服务端,包体积更小,功能更强!

仍需 v0.2.0 版本?点这里


功能说明

用户系统

  • 默认管理员:admin/a123456,登录后可在后台修改密码
  • 多用户模式:可以在后台设置是否允许用户注册

Memo

  • 支持使用 Markdown 语法编写
  • 支持修改发布时间,若发布时间晚于当前时间,则对游客不可见
  • 支持添加标签,方便分类查找
  • 支持上传图片、视频
  • 支持引用外部音乐、外部视频、外部链接
  • 支持引用豆瓣读书、豆瓣电影
  • 支持点赞、评论,可在后台开启/关闭评论功能

文件上传

上传到服务器时:

  • 支持上传到服务器的 $UPLOAD_DIR 目录下
  • 上传文件时,会先通过 SHA256 检查文件是否被上传过,若上传过则可以“秒传”
  • 上传图片时,会自动创建图片的缩略图,在浏览 Memo 时默认加载缩略图
  • 上传文件时,会和 Memo 产生关联,可以在设置中清理无用的文件,无用的文件将会被整理到 $UPLOAD_DIR/removed 目录下

上传到 S3 时:

  • 支持上传到兼容 S3 的存储服务
  • 开启 S3 时,可以设置图片压缩后缀,在浏览 Memo 时,会默认请求带后缀的图片加载缩略图

其他功能

以下功能没有详细介绍,请自行探索:

  • 友情链接
  • 邮件通知
  • RSS 订阅
  • 暗黑模式
  • 数据库自动备份,当检测到启动的版本发生变化时,自动备份数据库文件到 $DB 目录下

快速上手

应用配置

支持通过环境变量进行配置:

变量名 说明 默认值
PORT 监听端口 3000
CORS_ORIGIN 允许的跨域 Origin 列表 空,多个 Origin 可以使用英文逗号分隔,如 http://127.0.0.1,http://10.10.10.10
JWT_KEY JWT 密钥 空,不填写则随机生成,重启后需重新登录
DB SQLite 数据库存放目录 /app/data/db.sqlite
UPLOAD_DIR 上传文件本地目录 /app/data/upload
LOG_LEVEL 日志级别 info,可选 debug
ENABLE_SWAGGER 启用 Swagger 文档 false,可选 true,通过 /swagger/index.html 访问
ENABLE_SQL_OUTPUT 启用 SQL 输出 false,可选 true

支持 .env 文件加载环境变量,示例:

env
JWT_KEY=your_secret_key
LOG_LEVEL=info

使用 Docker Cli 启动

启动容器(需替换 $JWT_KEY):

bash
docker run -d \
  -e PORT=3000 \
  -e JWT_KEY=$JWT_KEY \
  -p 3000:3000 \
  -v /var/moments:/app/data \
  --name moments \
  kingwrcy/moments:latest

镜像标签可选:

  • latest:稳定版
  • dev:开发版,功能前沿但相对不稳定

使用 Docker Compose 启动

yaml
services:
  moments:
    image: kingwrcy/moments:latest
    container_name: moments
    restart: always
    environment:
      PORT: 3000
      JWT_KEY: $JWT_KEY
    ports:
      - 3000:3000
    volumes:
      - /var/moments:/app/data # 持久化数据到主机的 /var/moments 目录,可以按需修改

使用可执行文件启动

下载最新版本

示例(Windows 版):

文件名 说明
moments-windows-amd64-x.x.x.exe.zip 压缩包,解压后可直接运行
moments-windows-amd64-x.x.x.exe-checksum.txt MD5 校验码,验证文件完整性

JWT_KEY 生成方式

方法 1:OpenSSL

bash
openssl rand -hex 32

方法 2:SHA256

bash
echo $RANDOM | sha256sum

方法 3:在线生成(点这里 生成 UUID)


开发

依赖环境

后端:Go 1.23.3+ 前端:NodeJS 18+,使用 PNPM 管理依赖

VSCode 推荐插件:

  • gitlens:Git 扩展
  • prettier:代码格式化
  • eslint:代码规范检查
  • golang:Go 语言支持

启动

使用 make(推荐)

后端:

bash
cd moments
make backend-dev

前端(新终端):

bash
cd moments
make frontend-install
make frontend-dev

手动运行

后端:

bash
cd moments/backend
go build -ldflags="-X main.version=local -X main.commitId=local" -o ./dist/moments
./dist/moments

前端:

bash
cd moments/front
pnpm install
pnpm run dev

启动后访问 http://localhost:3000


其他版本

项目 演示地址
RandallAnjie/moments https://moments.randallanjie.com

致谢 Contributors

感谢所有贡献者!


kingwrcy


Randall


jonny


akari


yee


Chef


小王先森


Athurg Gooth


xuewenG


Secretlovez


浪子


lateautumn2


Jinvic


DIANSO

This project follows the all-contributors specification. Contributions of any kind welcome!

欢迎贡献!详情见 all-contributors 规范。


Star History

如果你觉得 Moments 还不错,欢迎点个 Star!

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Go

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言