meektion
推荐一个开源项目Moments - 极简朋友圈

推荐一个开源项目Moments - 极简朋友圈

🌟 Moments - 极简朋友圈

release
docker-release-status
docker-pull
telegram-group
discussion

💡 从 v0.2.1 开始,Moments 采用 Golang 重写服务端,包体积更小,功能更强!
🔍 仍需 v0.2.0 版本?点这里


🎯 功能亮点

👤 用户系统

  • 🏠 默认账号admin/a123456,登录后可在后台修改
  • 👥 支持多用户模式,可控制是否允许注册

📝 Memo 记录

  • 🔖 标签管理,让内容更清晰
  • 🖼️ 支持图片上传,可存储至本地或 S3
  • 🖼️ 自动生成缩略图(目前仅支持本地上传)
  • 📝 支持 Markdown 语法,后续增加更多标签支持
  • ❤️ 点赞 & 评论,可在后台控制评论功能
  • 🎵 支持网易云音乐、B 站视频、外部链接嵌入
  • 📖 支持豆瓣读书 & 豆瓣电影引用

🛠️ 其他功能

  • 📱 完美适配移动端
  • 🌙 支持暗黑模式
  • 回到顶部按钮
  • 🗄️ 数据库采用 SQLite,随时可备份
  • 🖼️ 支持自定义头图、头像、网站标题

🚀 快速上手

🛠️ 环境变量

Moments 支持以下 环境变量 进行配置:

变量名说明默认值
PORT监听端口3000
JWT_KEYJWT 密钥不填写则随机生成,重启后需重新登录
DBSQLite 数据库存放目录db.sqlite(默认 /app/data/db.sqlite
UPLOAD_DIR上传文件本地目录upload(默认 /app/data/upload
LOG_LEVEL日志级别info(可选 debug
ENABLE_SWAGGER启用 Swagger 文档false(可选 true,访问 /swagger/index.html

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

1
2
JWT_KEY=your_secret_key
LOG_LEVEL=info

🐳 使用 Docker

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

1
2
3
4
5
6
7
docker run -d \
-e PORT=3000 \
-e JWT_KEY=$JWT_KEY \
-p 3000:3000 \
-v /var/moments:/app/data \
--name moments \
kingwrcy/moments:latest

📌 持久化数据: /app/data 挂载至 /var/moments
📌 可选: latest(稳定版) 或 dev(开发版,功能前沿但相对不稳定)

📝 使用 Docker Compose

1
2
3
4
5
6
7
8
9
10
11
12
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.txtMD5 校验码,验证文件完整性

🔑 生成 JWT_KEY

📌 方法 1:OpenSSL

1
openssl rand -hex 32

📌 方法 2:SHA256

1
echo $RANDOM | sha256sum

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


🛠️ 开发

🔧 依赖环境

📌 后端: Go 1.22.5+
📌 前端: NodeJS 18+,推荐使用 PNPM
📌 VSCode 推荐插件:

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

🏗️ 启动

1️⃣ 使用 make(推荐)

后端:

1
2
cd moments
make backend-dev

前端(新终端):

1
2
3
cd moments
make frontend-install
make frontend-dev

2️⃣ 手动运行

后端:

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

前端:

1
2
3
cd moments/front
pnpm install
pnpm run dev

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


🌐 其他版本

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

❤️ 致谢 Contributors

感谢所有贡献者!🎉

kingwrcy
kingwrcy

Randall
Randall

jonny
jonny

akari
akari

yee
yee

Chef
Chef

小王先森
小王先森

Athurg Gooth
Athurg Gooth

xuewenG
xuewenG

Secretlovez
Secretlovez

浪子
浪子

lateautumn2
lateautumn2

Jinvic
Jinvic

DIANSO
DIANSO

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

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


⭐ Star History

Star History

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

Author:meektion
Link:https://myogg.hidns.co/2025/02/21/50_推荐一个开源项目Moments.-.极简朋友圈/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可